Василий Наумкин

Василий Наумкин

Был в сети 10 июня 2026, 17:44
Заказы не принимаю
Немного почитал еще маны и вот итоговая команда:
wget -m -np -nv --spider -l 10 http://sitename.ru/
Здесь wget работает в режиме «паука» и просто дёргает страницы, не загружая их.

Еще можно еще придумать скрипт, который будет одновременно запускать несколько копий wget, направленных на разные разделы сайта для ускоренной генерации кэша.

Полезный параметр -l 10 ограничивает глубину выборки ссылок, его можно уменьшить, для скорости.
Лично у меня только один вариант — консольный скрипт с wget, который пробежит по всем страницам и закачает их, генерируя тем самым кэш.
wget -m -np -nv -A .html http://sitename.ru/ > /dev/null

Это не быстро, но гарантированно загонит в кэш ВСЕ страницы, которые доступны по ссылкам. То есть, даже динамические, типа вывода каталога с разбивкой на страницы.
Не нужно так делать. Для логики нужно писать сниппеты, а не программировать на фильтрах.

switch ($modx->context->key) {
	case 'en' : $chunk = 'en-company-name'; break;
	case 'de' : $chunk = 'de-company-name'; break;
	default: $chunk = 'company-name'; break;
}
return $modx->getChunk($chunk);

И выглядит понятнее, и работает быстрее, и добавить еще 10 условий\проверок — не вопрос.
Прочитай еще раз, что такое Ajax.

Это фоновый запрос от тебя, который возвращает браузеру ответ от сервера. При этом та страница, на которой ты находишься, ничего не делает, просто ждёт.

Отсюда вывод — твоя задача решается только через javascript.

Но не нужно расстраиваться, ведь любое перенаправление юзера — это просто команда браузеру перейти на другу страницу. Что через javascript, что через заголовки от php.

То есть, тут вообще нет «серверного решения», если вдуматься.