SEMリサーチ

企業で働くウェブマスター向けに、インターネット検索やSEOの専門的な話題を扱います

robots.txt による登録拒否

 ページ登録拒否をするもう1つの方法として、robots.txt のサーバへの設置があります。robots.txt による登録拒否はほぼ全てのロボット型検索エンジンがサポートしていますので、確実に登録を拒否するためにはこの方法がおすすめです。

 robots.txt は、必ずサーバのルートディレクトリ(第1階層)に設置します。例えば、Webのドメインが www.travelagencyjapan.net であれば、robots.txt は

www.travelagencyjapan.net/robots.txt

という場所に置きます。

ロボット型検索エンジンは、各Webサイト内のページをクロールする際に、まず robots.txt を参照します。従って、このファイルに登録を希望しない旨を記述しておくことで登録を拒否する事ができるのです。

では次に、robots.txt ファイルの作り方について説明します。

○robots.txt の記述方法

 robots.txt はテキストファイルですので、Windows標準でついてくるメモ帳などで作成できます。まず新規のテキストファイルを作成して、そのファイルを robots.txt としておきましょう。

 さて、robots.txt ですが記述する内容は次の2つです。

(1) User-agent・・・登録を拒否したい検索エンジンの User-Agent 名を記述する項目です。

(2) Disallow・・・ 登録拒否したいディレクトリやファイル名を記述する項目です。

META タグによる登録拒否と比較して robots.txt が優れているのは、検索エンジン別に登録拒否するディレクトリやファイルを指定できる点です。

具体的な記述例を見ていきましょう。

○ User-agent

User-agent とは Webファイルにアクセスしているソフトウェアの総称を指します。例えば読者の多くの方は Internet Explorer というブラウザでWebを閲覧していると思いますが、このブラウザの User-Agent は例えば Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) といった具合です。同じようにクローラーも User-agent を持っていますので、その名称を指定する事でどのクローラーに対して登録拒否をするのかを指定できるのです。

例1

User-agent: *

例1のように、User-agent の欄に * (アスタリスク)とワイルドカード指定した場合は、いかなる User-agent も指示の対象とする - つまり、全てのクローラーに対しての指示となります。全ての検索エンジンからの登録を拒否する場合は * とすればいいわけです。

例2

User-agent: googlebot

例2は googlebot と記述しました。googlebot とは Googleクローラーの User-agent 名です。従って例2は googlebot に対して指示を出すことになります。

googlebot の部分を他のクローラー User-agent に置き換えることで、他の検索エンジンに対しても同様の指示が可能です。他の検索エンジンの User-agent は次の通りです。

▼ ここは表でお願いします

検索エンジン User-agent

Ah-ha ah-ha.com

Alexa ia_archiver

Altavista Scooter

Ask Jeeves Jeeves askjeeves

Inktomi slurp

infoseek Sidewinder

Naver.com NaverRobot, dloader, dumrobo

Google googlebot

おまけ:米Microsoft開発中の新検索エンジン MSNBOT

○Disallow

Diallow は「禁止」という意味です。ここに登録拒否をしたいページを記述します。例えば、

例3

Disallow: web.html

この例では、web.html というページの登録を拒否するように指示しています。

例4

Disallow: /cgi-bin/

この例では、cgi-bin という名称のディレクトリ内の全ページの登録を拒否すように指示しています。cgi-bin で始まる全てのディレクトリが拒否されます。

● robots.txt の記述例

User-agent と Disallow の項目の意味を理解したところで、具体的な記述方法について例を用いながら説明をしていきます。

例5

User-agent: *

Disallow:

この例は、Disallow について何の指示もありませんので、全ての検索エンジンが全てのファイルを登録することを許可しています。(つまり、検索エンジンに登録したいということだから、あえてこのような robots.txt を用意する必要はありません)

例6

User-agent: *

Disallow: /

この例は、Disallow に / と記述されています。これは全てのディレクトリを対象とする、という意味です。従って上記例は、全てのクローラーに対してWebサイト内全てのファイルの登録を拒否すると指示をしています。

例7

User-agent: slurp

Disallow: /cgi-bin/

Disallow: /tmp/

Disallow: /private/

この例は、Inktomi の検索エンジンは、次の文字列 (1) cgi-bin (2) tmp (3) private で始まるディレクトリ内のファイルを登録しないように指示しています。

例8

User-agent: slurp

Disallow: /asia/

Disallow: /japan/

Disallow: /us/sanfrancisco.html

User-agent: *

Disallow: /asia/

Disallow: /japan/

この例は、User-agent に slurp (=Inktomi) を持つクローラーに対して、asia または japan という名称で始まるディレクトリ内の全てのページの登録拒否、及び ディレクトリ us 内の sanfrancisco.html というファイルの登録拒否を指示する一方、他のクローラー (*) については asia または japan という名称で始まるディレクトリ以外は登録をしても良い、という指示を出しています。

○ もっと複雑な記述例は?

robots.txt のもっと複雑な記述例を参考に見たい方は、大手サイトの robots.txt を見て下さい。例えば CNN や asahi.com などが参考になります。

CNN

http://www.cnn.com/robots.txt

User-agent: *

Disallow: /cgi-bin

Disallow: /TRANSCRIPTS

Disallow: /development

Disallow: /third

Disallow: /beta

Disallow: /java

Disallow: /shockwave

Disallow: /JOBS

Disallow: /pr

Disallow: /Interactive

Disallow: /alt_index.html

Disallow: /webmaster_logs

Disallow: /newscenter

Disallow: /virtual

Disallow: /DIGEST

Disallow: /QUICKNEWS

Disallow: /SEARCH

User-agent: Mozilla/3.01 (hotwired-test/0.1)

Disallow: /cgi-bin

Disallow: /TRANSCRIPTS

Disallow: /development

Disallow: /third

Disallow: /beta

Disallow: /java

Disallow: /shockwave

Disallow: /JOBS

Disallow: /pr

Disallow: /Interactive

Disallow: /alt_index.html

Disallow: /webmaster_logs

Disallow: /newscenter

Disallow: /virtual

Disallow: /DIGEST

Disallow: /QUICKNEWS

Disallow: /SEARCH

User-agent: Slurp

Disallow: /cgi-bin

Disallow: /TRANSCRIPTS

Disallow: /development

Disallow: /third

Disallow: /beta

Disallow: /java

Disallow: /shockwave

Disallow: /JOBS

Disallow: /pr

Disallow: /Interactive

Disallow: /alt_index.html

Disallow: /webmaster_logs

Disallow: /newscenter

Disallow: /virtual

Disallow: /DIGEST

Disallow: /QUICKNEWS

Disallow: /SEARCH

User-agent: Scooter

Disallow: /cgi-bin

Disallow: /TRANSCRIPTS

Disallow: /development

Disallow: /third

Disallow: /beta

Disallow: /java

Disallow: /shockwave

Disallow: /JOBS

Disallow: /pr

Disallow: /Interactive

Disallow: /alt_index.html

Disallow: /webmaster_logs

Disallow: /newscenter

Disallow: /virtual

Disallow: /DIGEST

Disallow: /QUICKNEWS

Disallow: /SEARCH

User-agent: Ultraseek

Disallow: /cgi-bin

#Disallow: /TRANSCRIPTS

Disallow: /development

Disallow: /third

Disallow: /beta

Disallow: /java

Disallow: /shockwave

Disallow: /JOBS

Disallow: /pr

Disallow: /Interactive

Disallow: /alt_index.html

Disallow: /webmaster_logs

Disallow: /newscenter

Disallow: /virtual

Disallow: /DIGEST

Disallow: /QUICKNEWS

Disallow: /SEARCH

User-agent: smallbear

Disallow: /cgi-bin

Disallow: /java

Disallow: /images

Disallow: /development

Disallow: /third

Disallow: /beta

Disallow: /webmaster_logs

Disallow: /virtual

Disallow: /shockwave

Disallow: /TRANSCRIPTS

Disallow: /newscenter

Disallow: /virtual

Disallow: /DIGEST

Disallow: /QUICKNEWS

Disallow: /SEARCH

Disallow: /alt_index.html

User-agent: GoogleBot

Disallow: /cgi-bin

Disallow: /java

Disallow: /images

Disallow: /development

Disallow: /third

Disallow: /beta

Disallow: /webmaster_logs

Disallow: /virtual

Disallow: /shockwave

Disallow: /TRANSCRIPTS

Disallow: /newscenter

Disallow: /virtual

Disallow: /DIGEST

Disallow: /QUICKNEWS

Disallow: /SEARCH

Disallow: /alt_index.html

○ robots.txt 記述の確認方法

サーバにアップロードした robots.txt が正しく記述されているかどうかを確認するには、Robots.txt Validator が便利です。

Robots.txt Validator

http://www.searchengineworld.com/cgi-bin/robotcheck.cgi

robots.txt ファイルを設置した URL を入力して check It ボタンを押すと、robots.txt ファイルの記述に文法的な間違いがないかどうかを検査してくれます。

COPYRIGHT © 1997-2020 渡辺隆広(わたなべ たかひろ) ALL RIGHTS RESERVED.

SEMリサーチ(www.sem-r.com)に掲載している文章及び図版の無断使用及び転載を禁じます。著作権侵害行為には厳正に対処します。

免責事項:SEMリサーチは、本記事中で触れている企業、商品、サービスの全て(情報)について、有用性、適合性、正確性、安全性、最新性、真実性に関する一切の保証をしておりません。各自の判断でご利用下さい。