SEO対策|ページ分割時の2ページ目以降のcanonicalタグの設定値に注意
SEO SIMPLE PACKを使っていて、canonicalタグの設定値を見ていたら、ahrefの記事で指摘されている非推奨な値になっていました。
ページ分割した2ページ目以降のcanonicalタグの値はどう設定する?
Googleの見解
Mistake #4: Canonicalizing all paginated pages to the root page
Paginated pages should not be canonicalized to the first paginated page in the series. Instead, self-referencing canonicals should be used on all paginated pages.
Why? As Google’s John Mueller stated on Reddit, this is improper use the rel=canonical.
https://ahrefs.com/blog/canonical-tags/The main thing to avoid, since this post is about canonicalization, is to use the rel=canonical on page 2 pointing to page 1. Page 2 isn’t equivalent to page 1, so the rel=canonical like that would be incorrect.
John Mueller, Webmaster Trends Analyst Google
ページ分割されている時の2ページ目以降のcanonicalタグの値をpage 1に正規化するのはNGだそうです。
理由は、page1とpage2の内容が違うから同じものと伝えるのは間違いということです。
SEO専門家の見解
ページ分割したコンテンツの場合
まず、長いコンテンツを複数のページに分割した場合、先ほどの公式ブログによると「すべて表示」ページを用意して、そこに向けたcanonicalタグを各ページに記述するといった方法が考えられます。(長いコンテンツページへの正規化)
※分割した1ページ目にcanonicalを指定するわけではなく、全てまとまった長いコンテンツを用意して、そこに正規化するということです。ブログのカテゴリページなどの場合
次に、ブログのトップページ含めディレクトリなどページャーによってページ分割されたコンテンツの場合、そもそも2ページ目、3ページ目で内容が重複しているわけではないので、トップへ正規化するのではなくパス指定は各ページとなります。(自己参照による正規化)
https://keywordfinder.jp/blog/seo/prev-next/
ページネーションした、2 ページ目、3ページ目のページは、それぞれ独立したページとして扱われます。
https://www.suzukikenichi.com/blog/google-no-longer-supports-rel-prev-or-rel-next/
rel=”prev/next” によって、一連のページとして他のページと繋がっていると Google が認識したり、評価を統合したりことはありません。
Yoast SEOプラグインの見解
ページ分割されたページの2ページ目以降をnoindexにするのが一時期話題になりました。
しかし、今回のcanonicalタグの件と合わせて考えると分割されたページの内容はそれぞれ独立しているので、意味があるページであるということになります。
Yoast SEOプラグインでも、サブページのnoindex機能は削除されましたが、その背景は同じ理由によるものです。
なので、サブページはnoindex,follow
よりも、index,follow
の初期設定の方が良いと思いますし、canonicalタグはページ分割のページを指定する方が自然だと思います。
The “noindex subpages” feature is also gone
Since Google has gotten much better at working with paginated series, we’ve removed the feature that allows noindexing subpages of archives. According to Joost de Valk, the reasoning behind this is simple: “
rel="next"
andrel="prev"
make sure Google sends people to the first page in a paginated series. There is one catch: sometimes it will send people to a specific page in the series, but that’s when that page is the best match for their query. This, therefore, should be better for the searcher. Noindexing all these pages leads to a lower amount of crawls for them (source), which subsequently leads to lower amounts of crawls for older articles, which is not a good idea on most sites.”Googleはページ分割されたシリーズを扱うのがずっと上手になったので、アーカイブのサブページをnoindexにする機能を削除しました。Joost de Valk氏によると、その理由は単純です。「rel=”next “とrel=”prev “は、Googleがページ分割されたシリーズの最初のページに人々を送ることを確認するものです。しかし、そのページがクエリに最もマッチしている場合にのみ、特定のページが表示されます。したがって、これは検索者にとってより良いはずです。これらのページをすべてNoindex化すると、それら(ソース)のクロール量が少なくなり、その後、古い記事のクロール量が少なくなり、ほとんどのサイトでは良いアイデアとは言えません。”
https://yoast.com/yoast-seo-6-3/
SEO SIMPLE PACKでページ分割のcanonicalタグ値は?
SEO SIMPLE PACKは、タームアーカイブページのcanonicalタグの設定値をタームへのリンクを常に設定するようになっています。
つまり、2ページ目以降も常にpage1のURLが設定されています。
case is_tax() || is_tag() || is_category():
$term = self::$obj;
if ( ! isset( $term->term_id ) ) break;
$meta_canonical = get_term_meta( $term->term_id, SSP_MetaBox::TERM_META_KEYS['canonical'], true );
$canonical = $meta_canonical ?: get_term_link( $term, $term->taxonomy );
// get_term_link() がエラーだった場合
if ( is_wp_error( $canonical ) ) {
$canonical = '';
}
break;
canonicalタグの値はフックで書き換えられます。
ページ分割時の2ページ目以降のcanonicalタグの対応
他のSEOプラグインの例
他のSEOプラグインでも同じ問題があったようで、その時の対応は意外なものでした。
ページ分割されている場合は、そもそも指定しないというのが正解だそうです。
add_filter( 'the_seo_framework_rel_canonical_output', function( $url, $id ) {
if ( is_paged() )
return '';
return $url;
}, 10, 2 );
SEO SIMPLE PACKでページ分割のcanonicalタグ値を書き換える
このスニペットは、SEO SIMPLE PACKのAPIに変更して適用することができます。
2ページ目以降はcanonicalタグを出力しない
<?php
add_filter( 'ssp_output_canonical', function($canonical){
if ( is_paged() )
return '';
return $canonical;
});
2ページ目以降はページを含むcanonicalタグを出力
<?php
add_filter( 'ssp_output_canonical', function($canonical){
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
if($paged>1) $canonical = get_pagenum_link($paged);
return $canonical;
});
まとめ
アーカイブページの2ページ目以降はnoindex、nofollowというのが常識になっていてSEO的にはインデックスさせないのが常識になっています。
canonicalタグについてもページ分割されている場合のページでは、1ページ目に正規化するのではなく、各ページのURLを指定するか、そもそもcanonicalタグを出力しないというのが正解のようです。
そもそも、canonicalタグはGoogleが補助的に使うモノなので、あった方が良さそうだと考える人は多いと思いますが、少なくとも自分自身を指して正規化するためのcanonicalタグについては正直なくてもいいのかな?と思います。
コメント