意外に知らない、robots meta タグの7つの正しい使い方

[レベル:初級]

今日は、検索エンジンのロボットの動きを制御する「robots meta タグ」の記述の仕方について説明します。

robots meta タグにはいくつか種類がありますが、一般的によく使われる、noindex・nofollow・noarchiveの3つのrobots meta タグに関しては以前に詳しく説明しています。

十分に理解していないと思えば、併せて読んでください。

ちなみに日本のYahoo!では、noydir の robots meta タグはサポートが終了しています。

なお原則的にGooglebotを対象にした話なので、他の検索エンジンのロボットでは違う動きをするかもしれません。

1. 複数の属性値はまとめられる

属性値が複数あるときは、ひとまとめにできます。

<meta name="robots" content="noindex" />
<meta name="robots" content="nofollow" />

上記の2つのrobots meta タグを併用する場合は「,」(カンマ)で区切って以下のように記述できます。

<meta name="robots" content="noindex, nofollow" />

この時、カンマのあとのスペースはあってもなくてもどちらでもいいです。

上の例は半角スペースを入れていますが、下の例のようにくっつけて記述しても大丈夫です。

<meta name="robots" content="noindex,nofollow" />

2. 制限の厳しい方に従う

バッティングした、下のような記述が同時に現れるときは制限の厳しい方に従います。

<meta name="robots" content="noindex" />
<meta name="robots" content="index" />

インデックスを、1行目では拒否していますが、2行目では許可しています。

1行目の「拒否」に従います。

3. 拒否しないなら記述不要

<meta name="robots" content="index, follow" />

上の記述を書いているサイトをよく見かけますが、不要です。
noindex・nofollowのrobots meta タグが存在しなければ、検索エンジンは通常インデックスするしリンク先をたどります。

わざわざ書く必要はなくて、書く分ファイルサイズが大きくなるだけです(ほんのチョットだけど)。

ただ、インデックスはさせたくないけどリンク先ページにPageRankを渡したいときは明示的に指示して下のように書くと安心かもしれません。

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

4. 大文字・小文字の区別なし

属性値の大文字、小文字を区別しません。

<meta name="robots" content="noindex" />
<meta name="ROBOTS" content="NOINDEX" />
<meta name="RoBoTs" content="NOindex" />

上の3つはどれも同じように解釈されます。
※要素名と属性名は、XHTMLでは小文字で書くのが決まりなのかな。

5. Googlebotの指定

属性値に、“robots”ではなくGoogleのクローラのユーザーエージェント名を指定することで命令の対象を限定できます。

たとえばパンダ・アップデートに備えて、質が低いとみなされるかもしれないコンテンツをGoogleだけには見せたくない、Bingには見てもらってOKなんていういうときには、次のように記述します。

<meta name="Googlebot" content="noindex" />

6. robots.txtのブロックと併用しない

robots.txtでブロックしたページにrobots meta タグを書いても無意味です。
Googlebotはそのページの中身を見ることができないのですから、robots meta タグの存在すら分かりません。

robots.txtでブロックしたページが検索結果に出てくることがありますが、それは中身を読んでいるからではありません(詳しくはこちらの記事を)。

robots meta タグでGooglebotを制御するときはそのページをrobots.txtでブロックしないように注意してください。

7. “NONE”属性値

nofollowとnoindexの両方を指定するときは、NONEで代用可能です。

<meta name="robots" content="none" />

上は下と同じ意味です。

<meta name="robots" content="noindex, nofollow" />

ロボットを制御し“ない”ではなく、両方とも許可し“ない”の、NONEです。
インデックスもリンクをたどるのも許可するのに間違って記述しないようにしてください。

と言っても、NONEを知らない人が大半かもしれませんね。
僕は数日前に知りました。(汗

SEOに取り組んでいると、robots meta タグが必要な場面に必ず遭遇します。
この記事を読んで解けた、些細な疑問もあったのではないでしょうか。