ロボットの排除
GoogleやBeingなどの検索エンジンは、世界中のWebページを巡回してデータベースに登録しています。このような自動巡回ソフトをロボットといいます。Webサーバの管理者やWebサイトの運営者は、Webサイト全体や特定のWebページを検索エンジンに登録されないように、ロボット排除の設定を行うことができます。HTMLの仕様にはロボット排除の方法に関する記述はありますが、実行可能な詳細な仕様とはなっていません。robotstxt.orgというWebサイトで示されている定義がデファクトスタンダードになっており、ほとんどのロボットはこの定義に従っています。
Webサイト全体の設定
Webサイト全体に対してロボットからの排除を設定するには、Webサイトのルートにrobots.txtというファイルを置き、ファイルにどのページをロボットから排除するかを記述します。以下に、robots.txtの記述例をあげます。
全てのロボットがWebサイト全体を訪問するようにする
User-agent: * | |
Disallow: |
ここで、
- User-agentには、対象となるロボット名を記述します。
- Disallowには、ロボットに訪問させたくないURLを指定します。
次に代表的な検索エンジンのロボット名を示しておきます。
検索エンジン | ロボット名 |
---|---|
Googlebot | |
Google画像検索 | Googlebot-image |
Yahoo! | Yahoo! Slurp |
Yahoo!画像検索 | Yahoo-MMCrawler |
Being | Beingbot |
今の場合、User-agentの値は*となっており、これは全てのロボットを対象とすることを意味します。また、Disallowの値は指定していないので、ロボットの訪問に何も制限をしていません。
全てのロボットがWebサイト全体を訪問しないようにする
User-agent: * | |
Disallow: / |
ここで、/はWebサイトのルートをあらわしており、これによって全てのロボットがWebサイト全体を訪問しないようになります。
特定のロボットに対して訪問しないようにするには、次のようにUser-agentにロボット名を指定します。
User-agent: Googlebot | |
Disallow: / |
全てのロボットが特定のフォルダやファイルを訪問しないようにする
User-agent: * | |
Disallow: /cgi-bin/ | |
Disallow: /photo/myphoto.html |
これにより、全てのロボットはcgi-binフォルダの中及び/photo/myphoto.htmlというファイルを訪問しなくなります。
Webサイト全体をGoogleのロボットのみが訪問するようにする
User-agent: * | |
Disallow: / | |
User-agent: Googlebot | |
Disallow: |
最初に全てのロボットに対してWebサイト全体を訪問しないように設定し、次にGooleのロボットがWebサイト全体を訪問するように設定しています。
特定のファイル形式のファイルを登録しないようにする
User-agent: * | |
Disallow: /*.gif$ |
これにより、全てのロボットは拡張子に.gifの付くファイルを登録しないようになります。
特定の名前で始まるサブフォルダを訪問しないようにする
User-agent: * | |
Disallow: /private*/ |
これにより、privateで始まる任意のフォルダ名のフォルダに訪問しなくなります。
Webページ単位での設定
特定のWebページに対してロボットの制御を行う場合は、head要素内に次のようなmeta要素を記述します。
<meta name="robots" content="noindex,follow"> |
ここで、content属性の値は次の値をとり、複数の値をカンマ(,)で区切って記述することができます。
content属性の値 | 意味 |
---|---|
index | ページの情報を登録することを許す |
noindex | ページの情報を登録することを許さない |
follow | ページに記述されているリンクを辿ることを許す |
nofollow | ページに記述されているリンクを辿ることを許さない |
all | index,followと同じ |
none | noindex,nofollowと同じ |
検索エンジンによっては、次の値を用いることができます。
content属性の値 | 意味 |
---|---|
noarchive | 検索結果に表示されるキャッシュへの登録を許さない |
但し、robots.txtに従っても、meta要素での記述には従わないロボットがありますので注意してください。