Поэтому я пытаюсь удалить каноническую ссылку в заголовке WordPress для разбитых на страницы страниц, но все предложенные мной варианты не работают.
Вот мой код, который находится в моем файле functions.php:
function my_add_noindex_tags(){
$paged = intval( get_query_var( 'paged' ) );
if(is_search() || is_404() ) :
echo '<meta name="robots" content="noindex,follow">';
endif;
if ($paged >= 2) :
add_filter( 'wpseo_canonical', '__return_false', 10, 1 );
remove_action('wp_head', 'rel_canonical');
echo '<meta name="robots" content="noindex,follow">';
endif;
}
add_action('wp_head','my_add_noindex_tags', 4 );
Я знаю код внутри if ($paged >= 2) :
работает, потому что этот тег <meta name="robots" content="noindex,follow">
находится в разделе головы.
Кто-нибудь знает, где я могу пойти не так.
Проблема здесь — каноническая ссылка, добавленная Yoast SEO не удаляются должным образом, как ожидалось.
ура
После прохождения Yoast SEO коды, кажется, что каноническое действие добавлено к wpseo_head
действие.
Вы должны либо использовать приоритет 1 при добавлении своей функции для запуска в wp_head
чтобы заставить это выполнить должным образом, или сделайте это с соответствующим методом ниже, т.е. с помощью wpseo_head
действие.
function remove_canonical() {
$paged = intval( get_query_var( 'paged' ) );
if ($paged >= 2) {
add_filter( 'wpseo_canonical', '__return_false', 10 );
}
}
add_action( 'wpseo_head', 'remove_canonical', 4);
Других решений пока нет …