Важно: множество обращений о некорректной работе плагина WT Geotargeting связано с кэшированием страниц — как на стороне браузера, так и на стороне сервера.
Настройка геотаргетинга предполагает динамическую подстановку геозависимого контента (города, телефоны, адреса, тексты для региона и т.п.) на стороне backend — ещё до отправки HTML в браузер пользователя.
По этой причине HTML с геозависимым контентом нельзя кэшировать, если предполагаются различия контента в зависимости от геолокации посетителя.
Разрешено
- Кэшировать статические блоки (общие тексты, изображения, неизменяемые части шаблона)
- Использовать фрагментное кэширование или исключения из кэша для отдельных частей страницы
Запрещено
- Полностью кэшировать HTML-страницы, где меняется город и другой геозависимый контент (если страница одна для всех регионов)
- Кэшировать блоки шаблона, содержащие вызовы функций или шорткодов WT Geotargeting
Кэширование при использовании региональных ссылок
Если геотаргетинг реализован через региональные ссылки (поддомены или директории в URL), в ряде случаев допустимо полное кэширование HTML-страниц.
Это возможно, если плагин кэширования сохраняет кэш с привязкой к полному URL, а не к ID записи/страницы в WordPress.
В этом случае каждая региональная страница (например, city1.domain.ru/pagename/ и city2.domain.ru/pagename/ или /city1/pagename/ и /city2/pagename/) получает свой собственный HTML-кэш, и геозависимый контент не «смешивается» между регионами.
W3 Total Cache корректно кэширует страницы с региональными ссылками, формируя отдельный кэш для каждого уникального URL.
При использовании других плагинов кэширования проверьте в их документации:
- как формируется ключ кэша (по URL, по ID записи, по домену/поддомену)
- поддерживается ли раздельный кэш для региональных поддоменов и директорий
Совместная работа с W3 Total Cache
Ранние версии W3 Total Cache поддерживали изменение шаблонов темы с помощью специальных конструкций кода (механизмы фрагментного кэширования и исключения динамических блоков). Актуальность и синтаксис уточняйте в официальной документации W3 Total Cache.
Рекомендуется:
- Изучить разделы Page Cache, Fragment Cache и исключения из кэширования
- Кэшировать только то, что не зависит от геолокации; блоки с геозависимым контентом выводить динамически
Пример шаблона для совместной работы с W3 Total Cache — Примеры шаблонов.
Взаимодействие с другими плагинами кэширования
Настройки кэширования (время жизни, исключения по URL, кукам, типам устройств и т.п.) уточняйте в документации конкретного плагина.
Для каждого плагина (W3 Total Cache, WP Fastest Cache, LiteSpeed Cache и т.п.) — свои механизмы формирования ключа кэша и исключения страниц/блоков.
Общие рекомендации:
- Изучить разделы Cache / Page Cache / HTML Cache в документации плагина
- Исключить из кэша страницы или фрагменты с геозависимым контентом (или настроить фрагментное кэширование)
- После изменения настроек — очистить кэш и проверить работу для разных регионов (VPN, прокси, тестовые поддомены)
Переадресации и кэширование
Если настроены переадресации на региональные страницы по IP посетителя, необходимо тщательно проверить работу кэша.
Некоторые плагины кэшируют не только HTML, но и HTTP-редиректы. Один раз сработавшая переадресация для региона может закэшироваться и применяться ко всем посетителям независимо от геолокации.
Рекомендуется: исключить из кэша страницы и правила, участвующие в переадресации, либо использовать механизмы, учитывающие IP/регион при формировании ключа кэша.
После настройки проверьте:
- Поведение сайта для разных IP и регионов (VPN, прокси)
- Корректность редиректов при включённом кэшировании и после очистки кэша
Мета-теги для отключения кэша в браузере
Добавьте внутрь тега <head>:
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
WP Fastest Cache
Внимание: замечены проблемы — HTML кэшируется без учёта поддоменов. В результате города и другой геозависимый контент отображаются некорректно.
См. также
- Примеры шаблонов — пример с W3 Total Cache
- Настройка URL — поддомены, домены, директории
- Настройка поддоменов
- URL, домены и поддомены