ページ登録拒否をするもう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
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 ファイルの記述に文法的な間違いがないかどうかを検査してくれます。