rebuildfmの@kosamariさん回で、Quoraのrobots.txtについての話題がありました。
Rebuild: 227: Your Request Doesn't Spark Joy (kosamari)
そんなにすごいのかと気になったので、調べてみることにしました。実際のQuoraのrobots.txtがこちらです。
https://www.quora.com/robots.txt
User-agent: Googlebot
Disallow: /ajax/
Disallow: /@async
Disallow: /*/@async
Disallow: /log/
Disallow: /*/log
...長いので省略...
User-agent: *
Allow: /$
Allow: /about$
Allow: /about/
Allow: /challenges$
Allow: /press$
Allow: /login/
Allow: /signup$
Disallow: /
Disallow: /ajax/
...
なんとこの記事を書いた時点で、1233行もあります!
1行ずつ解説することはできませんが、備忘録として内容を共有いたします。
以下の「とある社会学屋の唯物論」様のページがとても参考になります。
ERROR: The request could not be satisfied
robots.txtのUser-agentでは、主に検索ボットを指定します。Quoraでは、きめ細やかに以下のサイトについて設定が書いてあります。
調べるのに疲れたので、以下は割愛いたします。
Disallowには、ボットやクローラーがアクセスしてほしくないページを記載します。たとえば以下のケースでは、Googlebotは「/ajax/」の下にアクセスしないでくださいという設定になります。
User-agent: Googlebot
Disallow: /ajax/
Disallow: /*/log
アスタリスク(*)はワイルドカードで、正規表現のワイルドカードをイメージしてもらえると理解が進みます。
Allowには、Disallowで拒否されているけれども、その中でボットやクローラーがアクセスしても良いページを記載します。以下のケースは、ドメイントップと/aboutページはアクセスしても良い設定です。
User-agent: *
Allow: /$
Allow: /about$
Allow: /about/
「User-agent: *」は、すべてのクローラーに対して発動する条件です。注意してほしいのは、これはあくまで検索ボットやクローラーに対する設定であり、ユーザーのアクセスをブロックするわけではありません。
また、行儀の悪いボットやクローラーは設定を無視する可能性があるため、100%アクセスされないことを保証するわけではない点はご注意ください。
QuoraのサイトにはAllowが書いてありますが、実際にAllowを書くことは少ないです。Disallowされていないページ(ディレクトリ)は、自動的にクロールの対象になります。
つまり、Disallowだけ書いておけば基本的には十分です。
たとえばログインユーザーしかアクセスできないマイページは、検索インデックスに登録しないでくださいといった設定を書きます。
User-agent: *
Disallow: /mypage
サイト内のページ数が増えれば増えるほど、ボットやクローラーによるアクセスは増えます。私が以前担当していたとあるECサイトでは、ページ数が100万ページ以上ありました。
1日のアクセスの1/3が、検索ボットだった日もあるくらいです。
ボットからのアクセスは、適切にコントロールすると負荷を軽減することができます。それが「Crawl-Delay」です。
[https://ameblo.jp/ca-seo/entry-10140889442.html:embed:cite]
ただし、ここまでチューニングが必要はケースは多くありません。さらに「Crawl-Delay」に書いてある数値の解釈の仕方によって、ムラが発生する場合があります。
基本的には、行儀の悪いボットに対して決め打ちで指定するような使い方になるかと思います。
私のブログは「はてなブログ」で運営してますが、robots.txtを見るとサイトマップがあります。
https://www.konosumi.net/robots.txt
Sitemap: https://www.konosumi.net/sitemap_index.xml
サイトマップには、サイト内にあるページの一覧を記載します。目的は検索インデックスの促進です。検索ボットがページを見つけやすくするお手伝いをすることで、検索エンジンからのサイト流入を増やす狙いがあります。
ただし実際のSEOでは、robots.txtのサイトマップに加えて、検索エンジンが用意している検索順位の改善ツールを併用することが多いです。
Google Search Consoleでも、サイトマップを登録することができます。
https://search.google.com/search-console/about
robots.txtは公開されてますので、自由に見ることができます。興味がある方は、色々なサイトのrobots.txtを開いてみると参考になるかと思います。
ERROR: The request could not be satisfied
WEBエンジニアであれば、robots.txtについて知っておくことをオススメします。たとえば、サービスの管理画面は検索エンジンに登録する必要はありませんし、また登録されたくもありません。
検索エンジンに登録されたくないページがインデックスされてしまうトラブルを、未然に防ぐことができるからです。
言うなれば、robots.txtは検索ボットやクローラーに対して、指示出しを行なうためのツールです。ぜひともこの機会に、robots.txtの設定を見直してみませんか?
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント