Как указать каноничной страницей первую страницу категории при использовании Yoast SEO

24.05.2022

Суть задачи – разрешить поисковикам посещать все страницы категории, но при этом указывать, что для страниц пагинации (2-ая, 3-яя и т. д.) каноничной является только первая страница.

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

Я сторонник такого решения, чтобы для поисковиков открывать первую страницу категории, и закрывать от индексации страницы пагинации с помощью параметров noindex, follow. Если вы хотите открыть для поисковиков страницы пагинации, тогда ответьте на такой вопрос – по какому поисковому запросу вы хотите, чтобы в поисковике выдавалась 3-я страница категории или 15-ая?

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

/* Filters the canonical URL. */
function prefix_filter_canonical_example( $canonical ) {
    if ( is_paged() && is_category() ) {
        $canonical = get_category_link( get_query_var( 'cat' ) );
    } elseif ( is_paged() && is_home() ) {
        $canonical = get_permalink( get_option( 'page_for_posts' ) );
    }

    return $canonical;
}

add_filter( 'wpseo_canonical', 'prefix_filter_canonical_example' );

Рекомендую к прочтению:

Оставить комментарий