HCDコンサルティング(旧・中川勉社会保険労務士事務所FPウェブシュフ)のブログ

rel nextとrel prevは設定しましたか?WordPressでSEO friendlyなpagingを実現するのに必須!

WordPressなどのCMSでサイトを作ると、TOPページやカテゴリーアーカイブはページネーション(ページ送り)を使って表示されることになります。これらのページをSEO friendlyにするために、rel nextとrel prevを設定します。

rel nextとrel prevって何?

と思う方は、海外SEO情報ブログの下記のページをご覧ください。
[img-link url=”http://www.suzukikenichi.com/blog/google-supports-rel-next-and-rel-prev/” title=”Google、ページネーション問題を解決するrel=“next”タグとrel=“prev”タグをサポート開始 | 海外SEO情報ブログ”]
いつものことながら、とてもわかりやすいです。

ページ送りで生成されたページには、title要素の末尾にページ数を付けるようにしていましたが、それだけでは不十分なんですね。

header.phpのカスタマイズ

rel nextとrel prevが適切に出力されるようカスタマイズしてみました。

以下を、head要素内に記述します。

<?php 
global $paged, $wp_query;
if ( !$max_page )
$max_page = $wp_query->max_num_pages;
if ( !$paged )
$paged = 1;
$nextpage = intval($paged) + 1;
if ( null === $label )
$label = __( 'Next Page &raquo;' );
if ( !is_singular() && ( $nextpage <= $max_page ) ) 
{
?>
<link rel="next" href="<?php echo next_posts( $max_page, false ); ?>" />
<?php       
}
global $paged;
if ( null === $label )
$label = __( '&laquo; Previous Page' );
if ( !is_singular() && $paged> 1  ) 
{
?>
<link rel="prev" href="<?php echo previous_posts( false ); ?>" />
<?php       
}
?>

これで、以下の3条件(上記サムネイルの記事から引用)を満たす適切な出力が出来るようになりました。

1ページ目には、rel=“next”だけを記述する。rel=“prev”は不要。

(※前のページがないからですね。)

2ページ目から最後から2番目のページまでは、rel=“next”とrel=“prev”の両方を記述する。

(※前後にページがありますね。)

最後のページには、rel=“prev”だけを記述する。rel=“next”は不要。

(※次のページがないからですね。)


投稿日

カテゴリー:

投稿者:

 最終更新日:

タグ: