WordPressで特定カテゴリーの投稿のみGoogle検索結果から除外する方法

更新


習慣化の会に入会して以来、その日の習慣化タスク消化状況についての投稿を書くようになった@web_shufuです。当然、毎日似通った内容を書くことになるのですが、それはSEO的に良くないので、対策してみました。

  1. 似た投稿は複製コンテンツに近い
  2. 習慣化投稿はどうしても似てくる
  3. meta name=”robots”とは?
  4. 検索結果に敢えて載せないというSEO
  5. コード

似た投稿は複製コンテンツに近い

Googleさんは、複製コンテンツ(コピーコンテンツ)がとても嫌いです。

まるっきり同一のコンテンツでなくても、似ている部分が多ければ、複製コンテンツのように取り扱われ、Googleさんから嫌われてしまいます。

2011年から始まった「パンダアップデート」というGoogle検索の大規模アップデートによって、この傾向はますます強まっています。

習慣化投稿はどうしても似てくる

一方、習慣化タスクの消化状況についての投稿は、毎日かなりの程度似通ってきてしまいます。

習慣として毎日同じことをこなしてそれを投稿するのですから、習慣化がうまくいけばいくほど似てしまうのは当然です。

しかし、習慣化がうまくいって投稿が全てそっくりになった結果、ブログ全体がGoogle様から嫌われては元も子もありません。

そこで、Google様から嫌われないように、meta name=”robots”でGoogle対策をしました。

meta name=”robots”とは?

Googleなどの検索エンジンは、検索結果を作るために、世の中に星の数ほどあるウェブページ一つ一つの情報を、ネット上を動き回るロボットを使って収集しています。

meta name=”robots”は、このロボットの動きを制御します。

色んな制御の仕方があるのですが、次のページに良くまとまっているので、目を通してみてください。

検索結果に敢えて載せないというSEO

それで、上のサイトにこんな記述があります。

ユーザーにとっては必要だが、検索エンジンに評価されない内容の薄いページ

ユーザービリティを考慮すると残しておいたほうが良いと考えられるが、インデックスさせる必要はないページ。

例えばメールフォームをインデックスしても、検索ユーザーの役には立たないと考えられますのでnoindex,followにしておくといいでしょう。

習慣化カテゴリーの似た投稿たちは、習慣化の会のページに貼り付けているので少なくとも@web_shufuには必要です。一方で、似ている投稿というのは、検索エンジンには評価されないのです。

まさに、今回はnoindex,followを使って、検索エンジンから習慣化カテゴリーの投稿を抹殺します。

ただし、follow(リンク先を辿ってください)はデフォルトの状態なので、敢えて書かなくもいいのです。

したがって、習慣化カテゴリの各投稿に<head>~</head>に<meta name=”robots” content=”noindex”>と書きます。

コード

ところで、@web_shufuは以前から、自ブログ内のページの種類ごとに、noindexとindexを使い分けていました。

このときの設定にプラスして、習慣化カテゴリ(カテゴリID=41)またはその子カテゴリに属する投稿について、<meta name=”robots” content=”noindex”>と出力されるようにしました。

以下のコードをheader.phpの</head>の直前に入れると設定完了です。

<?php 
if( $paged >= 2 || $page >= 2){
$robots="noindex";
}
else if(is_attachment()) 
{
$robots="noindex";
}
else if(is_single()) 
{
$cates = get_the_category(); $cat = $cates[0];
$ancestors=get_ancestors($cat->cat_ID, 'category' );
$kosu=count($ancestors);
if($ancestors[$kosu-1]==41||$cat->cat_ID==41)
{
$robots="noindex";
}
else
{
$robots="index";
}
}
else if(is_home() ||is_page() || is_category()||is_post_type_archive()) 
{
$robots="index";
}
else if(is_archive()||is_search()||is_404()) 
{ 
$robots="noindex";
}
?>
<meta name="robots" content="<?php echo $robots; ?>" />

最後に

SEOのことばかり考えるのもアレですが、Googleさんに嫌われるよりは、嫌われないほうがいいです。

打てる手は打ってみました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です