robots.txtがないとグーグルのインデックスから消えるかも
2008年06月20日
検索エンジンのロボットのアクセスを制御して、特定のページをインデックスさせないようにする手段の一つとして、robots.txtを用いる方法があります。
通常、特にロボットからブロックしたいコンテンツがないときは、robots.txtは不要です。
robots.txtが存在しなければ、すべてのファイルにアクセスしてインデックス(しようと)します。
ところが、robots.txtが存在しないと、Goolgebotにクローリングされず、「サイト全体」がGoogleのインデックスから消えてしまうことがあるという恐ろしい事実がGoogle Groupsのスレッドで、明らかになりました。
ウェブページを閲覧するときは、Internet ExplorerやFirefoxのようなブラウザと、ApacheやIISというウェブサーバーの間でHTTPと規格に従った通信が行われます。
HTTP通信の状態として、HTTP Status Code(HTTPステータスコード)という情報がやりとりされます(詳しくは、こちらを)
存在しないファイルにアクセスしたときは、「404: Not Found」というステータスコードが返されます。
ロボットは、サイトにアクセスしたときにまず最初にrobots.txtを確認するように設計されています。
robots.txtが存在しなければ、サーバーは404エラーを返し、ロボットはそのままクローリングを開始します。
ところが、robots.txtがないにもかかわらず、サーバーが404エラーを返さないで、タイムアウトしたり不適切なリダイレクトを実行したりしていると、ロボットがクローリングできなくなってしまうらしいのです。
Google Groupsのスレッドの投稿者は、導入したシステムが原因でロボットがrobots.txtにアクセスを試みたときに、おかしなリダイレクトが発生していました。
これが、原因でGoogleのインデックスから完全に消滅してしまったのです。
普通に運用していれば、robots.txtがないことでインデックスから消えるということは、まずなさそうですが、気には留めておきたいですね。
存在しないrobots.txtにアクセスしようとしたら、404エラーが返るかどうか確認するにはHTTP Statusを調べるツールを利用するといいでしょう。
どれがいいということは、ないのですが、ググッたらこんなツールがありました。
● HTTP Status Codes Checker
英語です。
日本語で使えるツールがあれば、教えてください。
また、ロリポップやチカッパのようなGMO系のレンタルサーバーでは、存在しないrobots.txtファイルにアクセスすると、なにやら他のレンタルサーバー業者が使っていないような方法でエラーページへ転送するとのことです(404エラーを返さず、302リダイレクトをかけている)。
詳しくはSEO塾さんのこちらのエントリを参照してください。
以下のように記述したrobots.txtをアップしておくという、手もあります。
User-Agent: *
Allow: /
robots.txtは、普通ロボットのアクセスを禁止(Disallow)するために使います。
ですが、すべてのファイルにアクセスしてよいという許可の指示(Allow)を、あえて明示的に与えておくわけですね。
P.S.
この海外SEO情報ブログの読者さんには、初級から上級までいろんなレベルのウェブマスターがいると思います。
今日のエントリは、少し難しめでしたかね?
【追記】
日本語で使えるツールがあれば、教えてください。
読者のjakkさんが、ソッコーで日本語ツールを作ってくれました。
コメントをご覧ください。
Sponsored Links
この記事を読んだ人は次のエントリも読んでいます。




>● HTTP Status Codes Checker
>
>英語です。
>日本語で使えるツールがあれば、教えてください。
作ってみました?(ただステータスコード出すだけですが。。)
http://neoinspire.net/archives/97
*** Reply from Suzuki Kenichi ***
即席とはいえ、すぐにこんなのが作れるとはスゴイ。
ありがとうございます。
いつもこちらのブログを拝読させて頂いております。
SEO”超”初心者のものです。
>今日のエントリは、少し難しめでしたかね?
はい、難しかったですが、
「アレ!これって私に起こったこと?!」
と思ったので、
こちらに書き込みをさせていただきました。
私事ですが、
最近ブログ(無料のやつです)でネットショップはじめました。
(徐々にHPを作成する予定ですが)
「(商品名) 通販」でググルと、、
3ページに記載されていたブログが、
今日、完全に消えてしまいました。
グーグルの検索ボックスに「(ショップ名)」をいれても、
アドレスをいれても….
「一致する情報がない」とつれない答えが返ってきてしまいます。
(yahooでは問題ないです)
ブログでもHTMLソース(テンプレートの?)に、
>User-Agent: *
>Allow: /
が必要なのでしょうか?
追加する必要があるのであれば、
具体的にどこに書き加えればよろしいのでしょうか?
長々と書いてしまいました。
お忙しいとは思いますが、
アドバイスをいただけるとありがたいです。
よろしくお願いいたします。
P.S.
jakkさんのチェッカーを使わせていただきました。
status:200でした。
*** Reply from Suzuki Kenichi ***
下のコメントで、ホームページ制作のDESIGN Oilさんが補足してくださっているように、robots.txtはHTMLに書き込むものではありません。
こちらをご覧ください。
⇒ http://www.suzukikenichi.com/blog/how-to-create-robotstxt/
HTTPステータスコードに関しても、DESIGN Oilがご指摘のとおりで、
http://www.sample.com/robots.txtで試行して、「200」なら正常にrobots.txtにアクセスでき、「404」ならrobots.txtが存在しないことになります。
横やりですが・・・
>ブログでもHTMLソース(テンプレートの?)に、
>>User-Agent: *
>>Allow: /
>が必要なのでしょうか?
robots.txtとファイル名のTXTファイルに記述して、サイトのトップの階層にアップロードする必要があります。
(テンプレート・html内ではありません)
『robots.txt』でググれば、親切・丁寧に解説しているサイトを多数見つけられると思います。
>status:200でした。
今回の使い方としては
http://ほにゃらら(サイトurl)/robots.txt
というURLでチェックしないといけないと思います。
以上、横やり失礼しました。
*** Reply from Suzuki Kenichi ***
フォローありがとうございます。
DESIGN Oilさんのご指摘のとおりです。
Suzuki Kenichiさん、
DESIGN Oilさん、
解説有難うございました。
感謝いたします!
“robots.txtの書き方(保存版)”のエントリ、
プラス、
お二人の解説を熟読して、
理解ができました。
だいたい”txt”っていう拡張子自体に注意を払わず、
とんちんかんな質問をしていたことにも気づきました。
お恥ずかしいです。
早速今回のこと、
参考にさせていただきます。
お二方、アドバイス有難うございました。
(ところで私のブログサイトは、
いつの間にかグーグルに復活していました。
が3→13ページ目に落ちていました…
今後もこちらのサイトを読んで、
SEO情報の勉強をさせていただきます!!)
ふたたびお邪魔します。
“ルートディレクトリにファイルをアップロードできない無料ブログでは、robots.txtは利用できません。”
ということでしたが、
fc2の無料ブログをお使いの方のサイトurl+robots.txtを、
jakkさんのチェッカーでチェックしたところ、
status:200がでたサイトがありました。
こういう例もあるのかと、
びっくり。
なにか技があるのかと、
只今ググってみております。
*** Reply from Suzuki Kenichi ***
それは大発見ですね。
ブラウザで開いてみて、どんな記述がされているのか見てみたいです。w
robot.txtをルートに設置できない場合はhtmlファイルのHead部分にrobots?metaタグを挿入すればOKみたいです。
上記の「status:200がでた無料ブログ」も、
ソースをみるとの部分に、
が加えてありました。
これで下の階層ページの巡回を許可をだし、
“Allow”と同じ働きをさせているようでした。
これはSuzuki Kenichiiさんからみて、
make senseでしょうか?
*** Reply from Suzuki Kenichi ***
いえ、それは違います。
たしかに、metaタグでrobot.txtのようにキャッシュさせない指定はできますが、それと今回の話は関係ありません。
metaタグで、robots.txtの場所の指定はできません。
robots.txtはルートディレクトリに配置する仕様になっています。
そうでした。
meta tagとrobots.txtとは別物でした。
また、
珍しいケース(上記)を発見したのかと思っていましたが、
よくよく調べていくと、
違っていました。
私はfc2のブログサーバー”blog50.fc2.com”を使用してます。
“blog50.fc2.com”には、
“robots.txt”は存在しません。
しかし、
その以外のサーバー(blog10.fc2.comやblog30.fc2.comなど)には、
“robots.txt”が存在する。
ただそれだけのことでした・・・
お騒がせして、失礼いたしました。
*** Reply from Suzuki Kenichi ***
FC2ブログは、サーバーによってrobots.txtがあったりなかったりするんですね。
調査結果のご報告ありがとうございました。