WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

Почему происходит редирект в Polylang на другую версию языка?

Вынуждена обратиться за помощью. Мониторила вопрос в нете и у многих разработчиков возникает такая проблема.

Сайт Landing WordPress, мультиязычность реализована Polylang.

site.ru автоматически редиректит на site.ru/en. А если включаешь какой-то плагин кеширования то вообще не работают переключатели языков. Google Page Speed при запросе site.ru пишет что "Запрашиваемый URL выполняет переадресацию на следующий URL: site.ru/en/.

На одном из форумов предлагали решение - отключить “Detect browser language” в Polylang. Пробовала, переключатели языков работают, но переадресация остается. К тому же эта функция важна. Хотя может есть способ как это сделать без плагина.

Всем буду благодарна за помощь.

Заметки к вопросу:
el-lable 1.7 года назад

Мультиязычный сайт на вордпрессе - это извращение.

chomovva 1.7 года назад

"Мультиязычный сайт на вордпрессе - это извращение."
Значит вы не умеете с ним работать

chomovva 1.7 года назад

Вам нужно убрать переадресацию для Google Page Speed? Какой адреса сайта?

elena-olefir 1.7 года назад

Не то чтобы для Google page speed, эта ошибка заметна и без него если включить на сайте плагин кеширования. avrora-trading.ru

chomovva 1.6 года назад

Напоминает несовместимость плагинов. С такими проблемами с polylang не доводилось сталкиваться, но вот нормальный плагин для кеширования, который бы был совмести с мультисайтом когда-то пришлось поискать. Я на вашем места попробовал бы подобрать другой плагин для кеширования, благо их хватает, к примеру Comet Cache. Но лучше экспериментировать на копии сайта или хотя бы сделать бекап.

0
elena-olefir
1.7 года назад
  • 0

    Это механика полилэнга, ничего с этим не сделать. Он всегда ставит редирект, вне зависимости от включения/отключения определения языка браузера. Теоретически это исправить можно. Но на практике проще другой плагин попробовать, если для вас это критично.

    Василий 1 месяц назад

    Мне удалось решить проблему этими настройками в Polylang.

    Комментировать
  • 0
    AppleOskar uplan.com.ua

    Нашел решение проблемы на GitHub
    Заходим в polylang/frontend/frontend-static-pages.php
    ищем текст

    /**
     * Prevents canonical redirection if we are on a static front page
     *
     * @since 1.8
     *
     * @param string $redirect_url
     * @return bool|string
     */
    public function pll_check_canonical_url( $redirect_url ) {

    и меняем то что начинается public на

    public function pll_check_canonical_url( $redirect_url ) {
    	return $this->options['redirect_lang'] 
    			&& ! empty( $this->curlang->page_on_front ) 
    			&& ( is_page( $this->curlang->page_on_front ) ? false : $redirect_url );
    }

    Проверено, работает!

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация