複数ページの関連性を示すrel=prev/nextとwordpressの問題

Googleが、複数ページにまたがる記事の関連性を知らせるためのHTMLタグをサポートしました。

rel=”next”およびrel=”prev”を使った

<link rel='prev' href='前のページのURL' />
<link rel='next' href='次のページのURL' />

というものですが、この表記、どこかで見たことがあるというかたも多いのではないでしょうか。

早速、どのような場合にこのタグを使うべきなのか、また、wordpressで発生しうる問題について書いていきたいと思います。

検索エンジンが認識する複数ページとすべてを表示するページ

rel=”prev”およびrel=”next”を使うべき複数ページにまたがるコンテンツは、ひとつの記事が複数ページに分割されている場合や、ひとつのカテゴリの中で複数ページが存在するような場合です。

rel="next"およびrel="prev"を使ったページ区切り

例外として、これら個別のページを繋げたすべてを表示するページがある場合は、そのページの存在をcanonicalを使ってGoogleに通知することで、すべてを表示するページが優先的に検索結果に表示されます。
ユーザーは検索をするときに「すべて表示」ページを好む傾向にあるため、このような仕組みになっているとのことで、Googleウェブマスター向け公式ブログで検索結果に「すべて表示」ページを優先的に表示する方法として詳しく記載されています。

検索結果に「すべて表示」ページを優先的に表示する方法

rel=”next”とrel=”prev”を使用した場合は、個々のページが検索結果に表示される可能性が高くなるとのことです。
複数ページ区切りの詳細は、Googleウェブマスター向け公式ブログの複数ページにまたがる記事やコンテンツをお持ちの方へ。rel=”next” と rel=”prev” を使用したページネーションのご紹介をご参照ください。

WordPressでの問題

WordPressでは、wp_head()の呼び出しにより、rel=”next”およびrel=”prev”という表記が一つの記事のページ区切りではなく、前の記事と次の記事を示すタグとして使われてしまっています。

今回Googleが発表した内容と使われ方が違うため、当然良い方向に働くわけがありません。
まずは取り急ぎ、WordPressが出力するこれらのタグを削除しておくことが好ましいでしょう。

具体的な方法ですが、テンプレート編集でwp_head()呼び出し前に以下の記述を追加します。
(もちろんfunctions.php内でもOKです)

remove_action('wp_head','index_rel_link'); // rel="index"を出さない
remove_action('wp_head','parent_post_rel_link'); // rel="up"を出さない
remove_action('wp_head','start_post_rel_link'); // rel="start"を出さない
remove_action('wp_head','adjacent_posts_rel_link_wp_head'); // rel="prev"とrel="next"を出さない

複数ページの関連性を示すrel=prev/nextとwordpressの問題へのコメント

[…] 参考サイト 複数ページの関連性を示すrel=prev/nextとwordpressの問題:APPOFIThttps://o-84.com/article/569/ […]

複数ページの関連性を示すrel=prev/nextとwordpressの問題にコメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です