HTML

nofollowについて

今日はSEOというか、逆SEO的な話です。
ちょっとおさらいすると、SEOとはSearch Engine Optimizationの略で、Googleなどのサーチエンジンの検索結果のページで、自分のサイトを上の方に表示してもらうための工夫です。
このサーチエンジンに覚えてもらう事をインデックスと呼びますが、今日は逆にインデックスされないための話題です。
インデックスされたくない場面というのは、例えば顧客情報などセンシティブな情報を表示しているページや、SEO価値が低すぎてランクを下げそうなページなどです。
これを失敗した例としては、昔メッセサンオーでエロゲ購入者情報が流出するなどの事件がありました。
洒落になりませんね。
メッセサンオー、PCゲーム通販の顧客情報がネットで流出

さて。
インデックスされたくない場合に使う属性をnofollowと呼びますが、
サイト制作においてnofollowというと3つあります。

  1. metaタグでインデックスを拒否する
  2. ルートディレクトリのテキストファイルで検索ボット制御を設置する
  3. リンクタグの要素にrel=”nofollow”属性をつける

metaタグでインデックスを拒否する

head タグ内に次のように記述すると、そのページはインデックスされず、かつすべてのリンクは検索ボットにフォローされないリンクになります。(情報の収集はされます)

<meta name=”robots” content=”noindex,nofollow”>

これはページごとに変えられるので、例えばトップページだけ検索に載せてもらい、その他のページを下に扱ってもらうのに使ったりします。
noindexはインデックスの拒否、nofollowはリンクのフォローの拒否なので、片方だけ使う場面もあります。

ちょっと違う話題になりますが、種類の違うmetaで、

<meta name=”robots” content=”noarchive”>

という指定もあります。

Googleのキャッシュ

GoogleはWebサイトの過去の状態を保管していて、キャッシュとして見る事ができるのですが、これを拒否する事ができます。

ルートディレクトリのテキストファイルで検索ボット制御を設置する

ルートディレクトリ(サーバの一番上の階層)で1と同じように拒否の命令を置くと、ロボットが検索に載せないでくれる、という方法。
特定の人に見せたい掲示板などに使いうかなと思います。
robots.txt」というテキストファイルを置き、以下の内容だけを記述します。

User-Agent:*
Disallow : /
Sitemap:http://example.com/sitemap

上記はすべての種類のボットで全てのページを拒否する例です。

User-Agent

どういうボットに対しての記載しているのかを明示します。
「*」は全て。そうでない場合は「Googlebot」「Baiduspider」のように指定しますが、Googleにだけ読ませたくないページというのは思いつかないので、とりあえず全て「*」でいいのではと思います。
Baiduspiderは百度ですが、正直彼らがこの指定を受け入れてくれるかは知りません。

Disallow

上のユーザーエージェントに対し「許可しない」という意味になります。逆にAllowと書けば「許可」ですが、何もしなくても同じ状態なのでAllowを書く場面はあまり無いんじゃないかなと思います。
上記の「/」の場合はサイト内の全てになります。特定のページだけに適用したい場合は「/aaa/」「/aaa/bbb.html」のようにルートパスで記述します。
もし「/aaa/」ディレクトリ内の特定のページだけインデックスさせたい場合は

Disallow : /aaa/
Allow : /aaa/bbb.html

と続けて記述します。

特定のページのみインデックス拒否(許可)したい場合は「$」を使う事もできます。これは「完全一致」になるので

Disallow : /aaa/$
(/aaa/と完全に一致する場合のみ拒否。よって/aaa/bbb.htmlは許可)
Disallow :/aaa/bbb.html$
(/aaa/bbb.htmlと完全一致の場合のみ拒否)

というような書き方もできます。

Sitemap

これは書いても書かなくてもよいものですが、サイトマップのパスを書いておくとボットに読み込まれるので、インデックス許可したいページへのSEO効果としては効果があるかと思います。

リンクタグの要素にrel=”nofollow”という属性をつける

これはページ自体ではなく「そのリンクがクリックされた事に対するSEO評価を付けない」という属性になります。

昔2ちゃんコピペサイトなどで以前見かけましたが、スパム的なコメント、トラックバックなどで特定のページに誘導しているものがあります。
これらのリンク、まあ架空請求などに繋がったりもするのかも知れないですが、ともかく被リンクされた事になり、貼られたページのSEO的評価を一つ上げてしまう事になります。
ここでGoogleより「スパムにまで評価つけてやる事なくね?」として推奨されていたのがrel=”nofollow”属性です。

例えばブログの設定で、コメント欄のリンクをrel=”nofollow”属性にすると、まあリンク自体は生きていますが、SEO的な価値は付与されない、という事になります。
逆に、自分からリンクに付けておくと、「このリンクはスパムじゃないですよー」という意思表示にもなります。
この方法は以前はインデックス拒否となっていましたが、現在は「クロールはされるが検索順位には出さない」という事になっているようです。
「収集しない」から「収集しているけど、あえて人前には出さない」になったと思えばいいんじゃないかと思います。

気をつける事

これらのボット制御は、絶対的な「命令」ではなく、各社のボットへの「お願い」なので、必ずしも守られるかはわかりませんし、検索エンジンの方でルールが変わる事もあります。
センシティブなページはサーバの方でブロックするのをお勧めします。

梅木千世でした。

コメントを残す

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