Переадресация обнаружения языка Polylang с 301

Я использую плагин Polylang для многоязычного сайта WordPress. Согласно рекомендациям SEO, домашняя страница http://www.myweb.com/ должна перенаправлять на http://www.myweb.com/en со статусом 301. В настоящее время его перенаправление со статусом 302. функция home_requested() делает это, но мы не можем касаться основных функций плагина. Я попытался, добавив фильтр для этой функции. Также попытался добавить фильтр для функции wp_redirect, но не работает. Есть ли другой способ разобраться в этом. Спасибо.

3 ответа

Я протестировал приведенный ниже код, работающий нормально.

Добавьте приведенный ниже код в файл functions.php

      add_filter('pll_redirect_home', 'my_pll_redirect_home' );
function my_pll_redirect_home( $redirect ) 
{
    header( 'Vary: Accept-Language' );
    wp_safe_redirect( $redirect, 301, POLYLANG );
    exit;
}

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

Решил, отредактировав файл select-lang.php в плагине

wp-content->plugins->polylang->frontend->choose-lang.php:277 или нажмите ctrl + f для 302 и замените это на 301.

я тестировал functions.php, у меня не работает.

nano /polylang/frontend/choose-lang.php (строка +265)

изменить 302 на 301. Вы сделали.

и он перезагрузится после любого обновления полиланга

Другие вопросы по тегам