All in One SEO Packを使わないでnoindexを設定する方法【function.php】

All in One SEO Packを使わず、function.phpにちょっとした記述を追加することでタグページ、アーカイブ等の2ページ目以降、日付や年別のアーカイブ、検索と404ページ等に「noindex」を設定する方法の備忘録。

SEO対策で「noindex」を設定するためにAll in One SEO Packを使う人は多いと思うが、プラグインを使わずに特定のページだけnoindexに設定したい人向けの記事。

なぜnoindexのページを設定するべきなのか

Googleが2012年頃日本に導入したパンダアップデート(低品質なコンテンツの評価を下げるGoogle検索アルゴリズム・アップデートの呼称)への対策。「noindex」という仕組みを使って検索エンジン上にインデックスしたくないページを指定することができる。

サイトの構成にもよるが、タグやアーカイブ、検索結果や404等のページ、場合によってはカテゴリーページなどは「コンテンツ量が少ない」「他ページと重複した内容になりがち」「そもそも訪問者が見ない」といった状態になりやすく、検索エンジン上にインデックスしておくとサイト自体の価値が下がる要因となってしまう。

パンダアップデートが導入されてからは上記のようなページをnoindexに設定するサイト運営者が激増し、一定の効果があることが検証されている。

All in One SEO Packを使わずにnoindexを設定する手順

ワードプレスのテーマ内にある「function.php」に以下のPHPコードを追記するだけ。簡単。コードを少し足すだけなので、プラグインを入れずに対策したい人はぜひ。


function copePanda()
{
	if ( is_tag() || is_paged() || is_date() || is_year() || is_author() || is_search() || is_404() ) {
		echo '<meta name="robots" content="noindex,follow">';
	}
}
add_action('wp_head','copePanda');

追記コードの補足説明

  • 「is_tag()」→タグページ
  • 「is_paged()」→アーカイブ等の2ページ目以降
  • 「is_date()」→日付別アーカイブページ
  • 「is_year()」 →年別アーカイブページ
  • 「is_author()」 →投稿者アーカイブページ
  • 「is_search()」→検索結果ページ
  • 「is_404() 」→404ページ
  • 「noindex,follow」→検索エンジンにインデックスしないけどリンクは辿る

ブロガーの場合は年別アーカイブページはインデックスしたほうがいいケースはあると思うし、投稿者が複数いて記事がたくさんあるようなメディアなら投稿者アーカイブもインデックスしたほうがいい。何をnoindexとするかは好みで。

まとめ

「検索エンジンのロボットから見て価値が低いページ」は、検索結果に表示しているとサイト全体の評価が下がる恐れがある。noindexを適切なページに使用することでマイナス評価を回避しよう。

何も対策をしていない人やAll in One SEO Packとかよくわからない、あれは使いたくないという人はfunction.phpにペタっと貼り付けてみて。