Почему происходит редирект в Polylang на другую версию языка?
Вынуждена обратиться за помощью. Мониторила вопрос в нете и у многих разработчиков возникает такая проблема.
Сайт Landing WordPress, мультиязычность реализована Polylang.
example.com автоматически редиректит на example.com/en
. А если включаешь какой-то плагин кеширования то вообще не работают переключатели языков. Google Page Speed при запросе example.com
пишет что "Запрашиваемый URL выполняет переадресацию на следующий URL: example.com/en/
.
На одном из форумов предлагали решение - отключить “Detect browser language” в Polylang. Пробовала, переключатели языков работают, но переадресация остается. К тому же эта функция важна. Хотя может есть способ как это сделать без плагина.
Всем буду благодарна за помощь.
Мультиязычный сайт на вордпрессе - это извращение.
"Мультиязычный сайт на вордпрессе - это извращение."
Значит вы не умеете с ним работать
Вам нужно убрать переадресацию для Google Page Speed? Какой адреса сайта?
Не то чтобы для Google page speed, эта ошибка заметна и без него если включить на сайте плагин кеширования. avrora-trading.ru
Напоминает несовместимость плагинов. С такими проблемами с polylang не доводилось сталкиваться, но вот нормальный плагин для кеширования, который бы был совмести с мультисайтом когда-то пришлось поискать. Я на вашем места попробовал бы подобрать другой плагин для кеширования, благо их хватает, к примеру Comet Cache. Но лучше экспериментировать на копии сайта или хотя бы сделать бекап.
Это механика полилэнга, ничего с этим не сделать. Он всегда ставит редирект, вне зависимости от включения/отключения определения языка браузера. Теоретически это исправить можно. Но на практике проще другой плагин попробовать, если для вас это критично.
Мне удалось решить проблему этими настройками в Polylang.
Нашел решение проблемы на GitHub
Заходим в polylang/frontend/frontend-static-pages.php
ищем текст
и меняем то что начинается public на
Проверено, работает!