カテゴリページのnoindexメタタグを細かく制御

WordPressのカテゴリーページを一部だけnoindex化する

カテゴリをnoindex化する方法

SEOにおける重複コンテンツ対策の一環でカテゴリーやアーカイブページをnoindex化する方法が有効とされている。

noindexメタタグを設定するポピュラーな方法は、

  • All in One SEOで設定
  • header.phpに直接記述

という2つの方法がある。

All in One SEOでnoindex化

All in One SEOの場合は、

General Settings → Noindex Settings

のチェックボックスを有効にすることで、各ページタイプでnoindex化を有効にするか調整することが可能。

noindex-settings

上の画像の例は、カテゴリページ以外のオプションをチェックしnoindexメタタグを追加する設定にしてある。ここでチェックを付けておけば、そのページタイプに関してはすべてnoindexとなる。

header.phpでnoindex化

WordPressのテーマ構成ファイルheader.phpをに直接メタタグを追加することで、検索エンジンのインデックス化を制御することもできる。具体的には、header.phpのheadタグの先頭に

<meta name="robots" content="noindex, follow">

を追加すればnoindex化される。カテゴリページだけをnoindexにする場合には、

<?php if( is_category() ): ?>
    <meta name="robots" content="noindex, follow">
<?php endif; ?>

上の設定でカテゴリページのすべてにメタタグを設定することが出来る。

サイトに自信があるならカテゴリページもインデックスさせた方がSEOに効果的

サイトやブログに力を入れている場合には、特別カテゴリページのnoindex化に拘る必要は無いと考えている。カテゴリとアーカイブで明確な重複が生じている場合などは別だが、サイトにはカテゴリ分けされたまとめページ的な存在があったほうが有利だと考えている。

そのため、コンテンツの内容に自信があるならnoindexメタタグに執着する必要はない。

本ブログを例にあげるなら、

カテゴリをSEOに強くする

のエントリーでカテゴリページの記事の表示件数を5件から30件に増やしたところ、ウェブマスターツールの検索クエリにおける

  • 表示件数
  • クリック数

にプラスの効果があったと書いた。表示件数を増やすだけでなく、情報が集約されたカテゴリページを閲覧しやすいまとめページとすることで、より大きな効果が得られると考えている。

すでにカテゴリをnoindex化している場合には、徐々にインデックス設定を行いつつ、ウェブマスターツールで効果を確認しながら、インデックスの度合いを大きくしていくという方法が有効。

is_pagedで2ページ名以降をnoindex

WordPressのis_paged()関数を利用してページネートされたコンテンツの2ページ目以降にnoindexメタタグを追加することができる。

<?php if( is_category() and is_paged() ): ?>
	<meta name="robots" content="noindex, follow">
<?php endif; ?>

上の設定では、2ページ名以降にメタタグが追加されるので、カテゴリトップはインデックスされることになる。トップだけをインデックスして効果を測定することができる。

2ページ名以降もインデックスするが最後のページは例外

下のコードは2ページ目以降もインデックスするが、最後のページについては記事数が10件以上ならインデックスするというコードになる。10件に満たない場合はnoindex化する設定ともいえる。

<?php if( is_category() and $post_num < 10 ): ?>
	<meta name="robots" content="noindex, follow">
<?php endif; ?>

条件式の$post_numにはページネートされた各ページの記事数で以下のPHPで値を取得可能。

global $wp_query;
$post_num = $wp_query->post_count;

header.phpを利用すれば、既にnoindex化されたカテゴリを段階的にインデックス化していくことができる。

WordPressのカテゴリーについての記事