WordPressなどのCMSでサイトを作ると、TOPページやカテゴリーアーカイブはページネーション(ページ送り)を使って表示されることになります。これらのページをSEO friendlyにするために、rel nextとrel prevを設定します。
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 »' );
if ( !is_singular() && ( $nextpage <= $max_page ) )
{
?>
<link rel="next" href="<?php echo next_posts( $max_page, false ); ?>" />
<?php
}
global $paged;
if ( null === $label )
$label = __( '« 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”は不要。
(※次のページがないからですね。)
「rel nextとrel prevは設定しましたか?WordPressでSEO friendlyなpagingを実現するのに必須!」への1件の返信
[…] webshufu.com […]