Robots.txtジェネレーター
1
User-agent
ディレクティブ
パス
クロール遅延(秒)
Robots.txtジェネレーター の使い方
- 1
クロールルールを追加する
「Add Rule」をクリックして User-agent を設定し、Allow か Disallow を選んで、各ルールを適用するパスを入力します。
- 2
任意のディレクティブを設定する
サイトマップの URL を(1行に1つ)追加し、検索エンジンのクロールを制御するため、任意で crawl-delay を秒単位で設定します。
- 3
ファイルを生成する
「Generate robots.txt」をクリックして、ルールとディレクティブから正しく整形されたファイルを作成します。
- 4
コピーまたはダウンロードする
「Copy to Clipboard」または「Download robots.txt」を使い、ファイルをドメインのルート (yoursite.com/robots.txt) にアップロードします。
robots.txt の本当の仕組み:実践ガイド
robots.txt とは何か、そしてどこに置くべきか
robots.txt は、Robots Exclusion Protocol を実装したプレーンテキストファイルです。これは、サイトのどの部分をリクエストすべきでないかをウェブクローラーに伝える任意の標準規格です。robots.txt は、ただ1つの正確な場所、つまりドメインのルートである yoursite.com/robots.txt から配信されなければなりません。yoursite.com/blog/robots.txt のようにサブディレクトリに置かれた robots.txt は、単に無視されます。サブドメインとプロトコルはそれぞれ独自のスコープを持つため、blog.yoursite.com には yoursite.com のファイルとは別に、専用のファイルが必要です。
遵守は良心に委ねられています。Googlebot、Bingbot、その他の主要なクローラーは robots.txt に従いますが、悪意のあるスクレイパーや多くの AI ボットは従わないことがあります。robots.txt を決してセキュリティ対策として扱わないでください。これは行儀のよいクローラーに対する礼儀上の仕組みであり、非公開コンテンツを守る鍵ではありません。本当に機密性の高いものには、Disallow の行ではなく認証が必要です。
実際に使う4つのディレクティブ
robots.txt はグループ単位で構成されます。各グループは、ルールを適用するクローラーを指定する1つ以上の User-agent 行で始まり、その後に Allow ルールと Disallow ルールが続きます。User-agent: * は、より具体的なグループを持たないすべてのクローラーを対象とします。Disallow: /admin/ はパスをブロックし、空の Disallow(後ろに何も続かない Disallow:)はすべてを許可することを意味します。Allow は、より広範なブロックの中に例外を設けるために使い、たとえば、禁止されたフォルダー内の1つのファイルだけを許可するといった用途に使います。
Sitemap ディレクティブは特別です。これはどの User-agent グループからも独立しており、ファイル内のどこにでも記述できますが、慣例的には先頭か末尾に置きます。https://yoursite.com/sitemap.xml のように、XML サイトマップの完全な絶対 URL を指す必要があり、複数ある場合は Sitemap の行をいくつも列挙できます。これは、すべての URL を検索エンジンに発見してもらうための、最も手軽な方法です。
重要な区別:クロールとインデックス登録の違い
これは robots.txt に関して最も誤解されている点であり、間違えると実害をもたらします。robots.txt が制御するのはクロールであって、インデックス登録ではありません。URL を Disallow するとクローラーはその内容を取得しなくなりますが、その URL が検索結果から削除されるわけではありません。他のページがブロック済みの URL にリンクしている場合でも、Google はそれを URL だけのリンクとしてインデックスすることがあり、多くの場合、ページが robots.txt によってブロックされているため説明文を表示できないという、あまり役に立たない注記とともに表示されます。
さらに悪いことに、robots.txt でページをブロックすると、Google はそのページをクロールしてタグを読み取れなくなるため、ページ上の noindex タグを一切認識できなくなります。したがって、ページを検索から削除する正しい方法は、多くの人が思い込んでいることとは逆です。ページをクロール可能なままにして、noindex メタタグまたは X-Robots-Tag ヘッダーを追加するのです。robots.txt でブロックするのは、ページをインデックスから隠すためではなく、クロールバジェットを節約することが目的のときだけにしてください。
ワイルドカードとパターンマッチング
最近のクローラーは2つのパターン文字をサポートしています。アスタリスク(*)は任意の文字列に一致し、ドル記号($)は URL の末尾に一致を固定します。したがって Disallow: /*.pdf$ は .pdf で終わるすべての URL をブロックし、Disallow: /*?sort= は sort クエリパラメーターを含むすべての URL をブロックします。これは、ファセットナビゲーションによる重複をクロールから除外する一般的な方法です。パスは前方一致で照合されるため、Disallow: /private は /private、/private/、/private-files のいずれもブロックします。
パターンは強力ですが、適用しすぎてしまいがちです。少しでも複雑なルールは、本番に反映する前にテストしてください。アスタリスクを1つ置き間違えるだけで、意図したよりもはるかに多くの URL をブロックしてしまうことがあります。Google Search Console には、指定した URL が自分のルールで許可されているかブロックされているかを示す robots.txt テスターが用意されており、最も単純なファイル以外では使う価値があります。
Crawl-delay とクロール頻度
Crawl-delay ディレクティブは、連続するリクエストの間に一定の秒数だけ待つようクローラーに求めるもので、小規模なサーバーや脆弱なサーバーの負荷を和らげられます。問題は、サポート状況が一貫していないことです。Bing と Yandex は Crawl-delay を尊重しますが、Google はこれを完全に無視します。代わりに Google はクロール頻度を自動的に決定し、かつては Search Console で手動による上書きを提供していました。Googlebot がとくにサーバーに負荷をかけていることが心配なのであれば、Crawl-delay では何の効果もありません。代わりにサーバー側のレート制限や Search Console の設定が必要です。
ほとんどのサイトでは、クロール遅延をまったく設定すべきではありません。クローラーの速度を落とすと、新しいコンテンツや更新されたコンテンツが発見・インデックスされる速さも遅くなります。クロール遅延は本当に処理能力に問題があるときのためにとっておき、値も控えめに保ってください。
SEO を静かに台無しにするよくある間違い
最も壊滅的な間違いは、User-agent: * の下に Disallow: / を含むステージング用のファイルをそのまま公開してしまうことです。このたった1行が、サイト全体をすべてのクローラーからブロックしてしまいます。これは、サイトを公開する際に、誰も開発用の robots.txt を差し替えなかったときに日常的に起こります。公開や移行を行った後に最初に確認すべきことは、本番の robots.txt に全面的な Disallow が含まれていないかどうかです。
2つ目の典型的な間違いは、CSS や JavaScript のディレクトリをブロックすることです。Google はブラウザと同じようにページをレンダリングするため、スタイルシートやスクリプトを取得できないと、崩れたスタイルのないページを見てしまい、モバイルでの使い勝手が悪い、あるいはコンテンツが薄いと判断するおそれがあります。クローラーがアセットに到達できるようにしてください。その他のよくある失敗には、robots.txt を使ってページをインデックスから削除しようとすること(代わりに noindex を使ってください)、ファイルのパスが大文字と小文字を区別することを忘れること、そしてファイルをドメインのルート以外の場所に置くことなどがあります。
ほとんどのウェブサイトに適した妥当なデフォルト
多くのサイトにとって最適なのは、あえて寛容にした robots.txt です。つまり、すべてをクロール可能にするために空の Disallow を備えた User-agent: * の単一グループに、XML サイトマップを指す Sitemap の行を加えたものです。この開かれた基本形を出発点として、サイト内の検索結果ページ、管理エリア、カートや決済の URL、パラメーター付きの重複 URL など、本当にクロールすべきでないものに対してだけ、限定的な Disallow ルールを追加していきます。
作り込みすぎたくなる誘惑には抵抗してください。自分が完全に理解している短く正しい robots.txt は、説明できないルールを含んだ、どこかからコピーしてきた長いものよりもはるかに安全です。自分の robots.txt を生成したら、ブラウザで取得して、ルートでプレーンテキストとして配信されていることを確認し、それに頼る前に、重要なパスをテスターで検証してください。
よくある質問
robots.txt ファイルは何のためにありますか?
Allow ルールと Disallow ルールはどう機能しますか?
crawl-delay は何をしますか?
サイトマップの行を追加するのはなぜですか?
robots.txt はページが Google に表示されないことを保証しますか?
関連ツール
こちらの便利なツールもどうぞ