Переадресация обнаружения языка 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. Вы сделали.
и он перезагрузится после любого обновления полиланга