個の記事では、サーチエンジンのロボット(クローラ)の動きを制御するmetaタグについて解説します。
取り上げるのは、次の3つのmeta Robotsタグです。
- noindex
- nofollow
- noarchive
順に説明します。
Meta robots noindex タグ
noindexタグは、HTMLのheadセクションに次のコードを記述します。
<meta name="robots" content="noindex">
※XHTMLで記述するときは、最後を「/>」で終了します。
noindexタグは、ウェブページをインデックスさせたくない、言い換えると検索結果に表示させたくないときに使います。
検索結果に出したくないページがあるときは、noindexタグが使えます。
他によくある使い道としては、まったく同じウェブページを複数公開する場合があります。
いわゆるミラーページを準備するときですね。
同じページが複数あるときは、複製コンテンツとしていずれかのページが検索結果から消えることが予測されます。
検索結果に残すメインページ以外のページにnoindexタグを記述しておけば、複製コンテンツ扱いされる心配もありません。
noindexタグによってインデックス拒否されていないメインページだけが、検索結果に現れます。
なお、noindexタグが記述されていても、ロボットによるクローリングは実行されます。
つまりロボットのアクセスをブロックするわけではありません。
検索結果に出ないだけです。
したがって、noindexタグが記述されたページにもPageRankが付くことがあります。
ロボットのアクセスを拒否したいときは、robots.txtを利用します。
また、ロボットはnoindexが記述されていても、ページ内のリンクをたどって別ページ(別サイト)へ移動します。
当然、PageRankも渡します。
ロボットにページ内のリンクをたどらせたくないときは、次に説明するMeta Robots nofollowタグを使います。
Meta robots nofollow タグ
nofollowタグは、HTMLのheadセクションに次のコードを記述します。
<meta name="robots" content="nofollow">
nofollowタグを記述すると、ロボットはページ内にあるリンク先(aタグで指定された別ページ)へアクセスしません。
出口がない状態ですね。
使い道は、リンク先ページをキャッシュさせたくないときやPageRankを渡したくないときですかね。
ただしリンク先のページに他のページからリンクが張られていれば、キャッシュされる可能性があるし、PageRankも付きます。
先日公開されたGoogle Sitesには、Meta robots nofollowタグが自動的に埋め込まれています。
任意のGoogle Siteのウェブページのソースを見ると分かります。
これは、SEO対策の一手段としてGoogle提供のサイトがバックリンクサイトとして悪用されるのを防ぐ目的もあるはずです。
相互リンクページで、nofollowタグを決して使ってはいけません。
それは詐欺ですから。(笑)
Meta robotsのnofollowタグはページ内のすべてのリンクに対するアクセス制御(とPageRank供給の拒否)ですが、個別のリンクに対して使うのが、aタグにつけるrel=”nofollow”属性になります。
Meta Robots nofollowタグと、1つ前に説明したMeta Robots noindexはセットで使われることが多いです。
「,(カンマ)」で区切って、2つまとめて記述できます。
<meta name="robots" content="noindex,nofollow">
拒否ではなく、インデックスさせる・リンクをたどらせるという許可の指示で次のような記述もできますが、
<meta name="robots" content="index,follow">
何も書いてなければ、普通にインデックスしてリンク先にアクセスするので、あえて明示的に記述する必要はありません。
Meta robots noarchive タグ
最後はMeta Robots noarchiveタグです。
日本語では「ノーアーカイブ」と発音します。
Archiveは「書庫、文書の保管場所」という意味です
noarchiveタグは「文書(=ウェブページ)を保管(=キャッシュ)してほしくない」ときに使います。
noarchiveタグは、HTMLのheadセクションに次のコードを記述します。
<meta name="robots" content="noarchive">
noarchiveを記述すると、サーチエンジンがウェブページをデータベースに保存するのを拒否できます。
したがってキャッシュリンクをクリックしても、直近にキャッシュされたページを閲覧することはできません。
現在のウェブページしか見れないということですね。
僕自身は使ったことはないのですが、ネットショップで商品やサービスの値段が変わることがあるときや(キャッシュデータの値段と現在の値段が異なるから)、メンバーシップ制のサイト(登録ユーザーしか閲覧できない)で用いるようです。
そして最近WebmasterWorldで議論になったのが、noarchiveタグのコンテンツ盗作への防御策としての使い道です。
コンテンツを盗む行為、英語では「Content Theft(コンテント・セフト)」や「Content Scraping(コンテント・スクレイピング)」と言ったりもしますが、キャッシュに残っているコンテンツを無許可で使われるケースがあるらしいです。
キャッシュデータがないとしても、一般ユーザーが困ることはないでしょう。
キャッシュの意味や、キャッシュリンクの存在すら知らないユーザーが大半のはずです。
キャッシュをチェックするのは、多少なりとも知識と経験のあるサイト運営者でしょう。
キャッシュを拒否するということは、悪意のあるウェブ管理者から自分のサイトを守ることに使えるということですね。
あとは、検索エンジンに勝手にデータを保存されるのは著作権違反だと主張する人にも、noarchiveタグは役に立つでしょう。
最後にいくつか補足です。
ここで解説したのは、既定の動きになります。
状況によっては、異なる動きをする場合もあることを念頭に入れておいてください。
noindexを記述しているのに、キャッシュされたという経験があります。
Yahoo!幹部の話によれば、Yahoo!はnoindexが記述されたページでも、たくさんの被リンクを集めていて検索結果に表示したほうがユーザーに役立つと判断したときは、命令を無視することがあるそうです。
name属性の値に「robots」を指定しました。
「robots」にするとすべての検索エンジンに対しての指示になりますが、ロボットの名前を明示すると、個別の検索エンジンに対する指示にすることができます。
<meta name="robots" content="noindex">
を
<meta name="googlebot" content="noindex">
にすると、Googleに対してだけインデックスを拒否するように指定できます。
Googleのロボットは「googlebot(グーグルボット)」、Yahooのロボットは「slurp(スラープ)」、Live Search(MSN)のロボットは「msnbot(エムエスエヌボット)」です。
知っておくと便利なMeta robots no… タグについて解説しました。
SEOに取り組んでいるなら、この3つは覚えておきましょう。