タグ「robots」が付けられているもの

robots.txtのsitemap.xmlの書き間違えに注意」の記事で書いたように、robots.txtに書いたsitemapのurlを最初の投稿時から書き間違えたまま運営していた。

その間、検索エンジンが全くインデックスしてくれなかった。
間違いに気づいて修正した直後から検索エンジンはきちんとクロールしてインデックスしてくれた。

この間違いで実感したのは、「sitemap.xml」がサイトやブログの存在を検索エンジンに知らせるためには必須になっているということです。

ブログというシステムが普及する前はこんな効率的な方法はなかったし、素人に近い自分には簡単に出来るので有難い機能です。

sitemap.xmlを書いたら、これを必ずrobots.txtに書いて存在を検索エンジンに伝える。
これで十分インデックスはしてくれます。
(ただし、サーバーなど各ブログの置かれる環境はそれぞれ違うので100%ではないです。)

しかし、sitemapはそのブログの記事のurlや更新日時を検索エンジンに知らせるための重要な手段の一つになっています。

robots.txtでsitemapsのURLを指定するには:Yahoo

sitemap.xmlを書いたら、検索エンジンに知らせるためにrobots.txtに正しいサイトマップのurlが書き込んであれば、それを検知した検索エンジンが追加された記事をクロールしてインデックスしてくれる。
このときのsitemapとはxml形式のものです。

例えばこんな感じ。

User-agent: *
Sitemap: http://sample.com/sitemap.xml

Disallow: /iyan/


この流れは分かっていたのですが...やってしまった...
通常はSitemapのとなりに作成しているブログの url内の
http://sample.com/sitemap.xml
となるのが正解だが、
http://間違い.com/sitemap.xml
とやってしまった。

すると、最近の検索エンジンはおりこうさんで見事に反応していなかった。
「これ、運営しているブログのurlじゃないよねえ?」
って認識して、トップページにはクローラーがやってきたが、新しく記事を書いてもその記事にはクロールさえしてない。
当然、インデックスは論外。

異変に気づいたのは、まだブログも新しくアクセスがないに等しいため確認が楽な生ログをチェックしてのこと。
間違ったurlを書きっぱなしだった時間帯だけクローラーが全くきてなかった。

そして、googleのウェブマスターツールの「クローラのアクセス」の「robots.txt のテスト」タブの解析結果にサイトマップが認識されていなかったこと。

正しく記載されていれば記載されたサイトマップがそのまま以下のように表示されている。

行 1: Sitemap: http://sample.com/sitemap.xml


間違っていれば今回のように認識されずウェブマスターツールの画面には表示されない。
これを間違ったままだとインデックスされることは一生ないかもしれない。

やっぱり検索エンジンによって動きが違う
でもヤフーのブログ検索は関係ないのかなあ?
atomやRSSで拾ってインデックスしていたようだ。
百度やgooブログなどもろもろのサービスも同様。

通常のウェブ検索のystやmsnbotはクローラーはきている。
忘れた頃にインデックスされる可能性はある。

googleはブログ検索でもインデックスどころかクローラーさえきてない。
間違っていることに気づいて修正してからはちゃんとインデックスしてくれた。
むしろブログ検索、ウェブ検索両方ともgoogleはどの検索エンジンよりも早くインデックス(最速で10数分前後)されるようになった。

だが、robots.txtでsitemap.xmlの記載が間違っていたとき、実はこのブログを書いた初めから修正するまでにアップした記事はgoogleのブログ検索にはインデックスされないまま。
ウェブ検索の方は修正後、殆ど全ての記事がインデックスされ出した。



robots.txt ファイルで検索エンジンのクローラーの巡回頻度を調整できます。
精度は検索エンジンによってマチマチといってもいいと思うが、大体支持した通りに巡回してくれる。

記入例
User-agent: *
Crawl-delay: 30
Disallow: /iyan/

Crawl-delayで設定する数字は検索エンジンによって秒単位、分単位と分かれている。

分単位
YST

秒単位
Microsoft Bing / Live Search (msnbot)
百度/Baidu (Baiduspider/Baiduspider+)
NAVER (Yetibot)

ただし、巡回頻度は更新をあまりしていなかったり、バックリンクがあまりない状態では巡回頻度を増やそうと思っても反応してくれない場合がある。

googleはrobots.txt で調整せず、「ウェブマスターツール」の「サイト設定」→「設定」の「カスタム クロール頻度を設定」で調整できる。

新規にサイトを作ったときは効果があり、アクセスが上がってきたら巡回頻度を下げたほうがサーバーへの負担を軽減する意味でも効果がある。。

クローラーの巡回頻度の調整


robots.txtを設置して特定のフォルダの巡回拒否やアクセス頻度など検索エンジンを誘導することが出来る。

これは結構効き目があるが、100%ではなく無視されてしまうこともあるが日々精度が上がっていることは実感している。

作成したページが数ページしかない場合でも検索エンジンを案内する役目を持つので設置しておいた方がいい。
ページ数やフォルダ数が多数存在する時は、許可と拒否を明示するために必ず必要。

robots.txtはサイトマップへの誘導する役目も持っていて、普段は触れることはないファイルだが初期設定として重要。

全ての検索エンジンに参照させる場合
User-agent: *
Allow: /

User-agentの横に*(アスタリスク)をつけることで全ての検索エンジンを誘導することになる。
Allowは許可するという意味で、全ての検索エンジンに対して/(トップディレクトリ)以下全てのフォルダに巡回許可を出したことになる。
許可する時にはAllowは書かなくても巡回してくれる。

特定の検索エンジンを指定する時は*の部分を以下の該当するものに変更する。

YST→Slurp
Live Search→msnbot
百度→Baiduspider

拒否する時には以下のように書く。

全ての検索エンジンに参照させ、サイト全体を巡回拒否する場合

User-agent: *
Disallow: /


特定のフォルダを巡回拒否する時は、

全ての検索エンジンに参照させ、特定のフォルダを巡回拒否する場合

User-agent: *
Disallow: /iyan/


複数のフォルダに拒否の指示を出す場合は下に一行ずつ書いていく。
ファイル単位の拒否は、
Disallow: /iyan/arara.html
Disallow: /iyan/koryarya.html
のように書く。

サイト単位、ディレクトリ単位での巡回の拒否設定 1:yst
robots.txt ファイルの作成
Robots.txtとは:百度

1

バナー

過去に書かれたものはアーカイブのページで見られます。
月別アーカイブ
SEO
loading