記事一覧の2ページ目以降やアーカイブページなどをnoindexにする
公開日:2014年2月17日
最終更新日:2014年7月13日
WordPressのページネーションにおいては、記事数が多いと2ページ目以降を自動で生成します。それらはコンテンツが重複したページですので、アーカイブページなどとともに、検索エンジンにはインデックスさせないようにします。
検索エンジンにindexさせないようにするためには、metaタグ robotsでnoindexを指定します。
WordPressでは、ページの種類や記事により、個別にrobotsの内容を出力できるプラグインも存在します。
※代表的なのは、「ALL in One SEO Pack」「WordPress SEO by Yoast」
プラグインを使うほど細かく設定する必要がない場合は、WordPressの条件分岐タグを使ってページを判定し、metaタグを出力することができますので、その方法を解説します。
【記事執筆時の環境】
WordPress 3.8.1
metaタグ robotsの記述
検索エンジンにインデックスさせないようにするためには、<head>セクション内に以下のように記述します。
1 |
<meta name="robots" content="noindex,follow" /> |
'follow'を、'nofollow'にすると、ページ内のリンク先をたどることも禁止します。
このコードを出力する条件を追加すればいいわけです。
WordPressの条件分岐タグ
noindexにしたほうが良いと思われるページを判定する条件分岐タグには、以下のものがあります。
is_paged()
記事一覧ページの2ページ目以降かどうかを判定します。
is_archive()
アーカイブページかどうかを判定します。
アーカイブページとは、カテゴリー、タグ、投稿者、日時のいずれかに基づいて投稿記事を集めたページのことです。
is_page()
固定ページかどうかを判定します。
例えば、問い合わせ用のメールフォームページをインデックスさせたくないので判定するとします。
メールフォームのページスラッグが'contact'だとすると、
is_page('contact')でメールフォームかどうか判定できます。
metaタグ robotsの出力コード
記事一覧ページの2ページ目以降、アーカイブページ、メールフォームのいずれかであったならば、"noindex,follow"を出力するコードは以下になります。
これを<head>内に記述します。
1 2 3 |
<?php if (is_paged() || is_archive() || is_page('contact')) { ?> <meta name="robots" content="noindex,follow" /> <?php } ?> |
スポンサーリンク