T

Text Machine

強力なテキストツールを、ブラウザで

Robots.txtジェネレーター

ウェブサイトURL(任意)
ルール

1

User-agent

ディレクティブ

パス

サイトマップURL(1行に1つ)

クロール遅延(秒)

Robots.txtジェネレーター の使い方

  1. 1

    クロールルールを追加する

    「Add Rule」をクリックして User-agent を設定し、Allow か Disallow を選んで、各ルールを適用するパスを入力します。

  2. 2

    任意のディレクティブを設定する

    サイトマップの URL を(1行に1つ)追加し、検索エンジンのクロールを制御するため、任意で crawl-delay を秒単位で設定します。

  3. 3

    ファイルを生成する

    「Generate robots.txt」をクリックして、ルールとディレクティブから正しく整形されたファイルを作成します。

  4. 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 ファイルは何のためにありますか?
robots.txt ファイルは、サイトのどの部分にアクセスしてよいか・いけないかを検索エンジンのクローラーに伝えます。User-agent、Allow、Disallow のディレクティブを使い、ボットがクロール前に読むよう、ドメインのルートに置きます。
Allow ルールと Disallow ルールはどう機能しますか?
Disallow はクローラーを特定のパスからブロックし、Allow は明示的に1つを許可します。これは、ブロックされたディレクトリ内のサブフォルダーを開放するのに便利です。すべてのロボット向けの User-agent ですべてのボットを対象にしたり、Googlebot のような特定のクローラー向けに別々のルールを書いたりできます。
crawl-delay は何をしますか?
crawl-delay は、クローラーがリクエストの間に待つべき秒数を提案し、サーバーの負荷を軽減できます。ただし、すべての検索エンジンがこれを尊重するわけではありません。たとえば Google は crawl-delay を無視し、Search Console のクロール頻度設定を優先します。
サイトマップの行を追加するのはなぜですか?
Sitemap ディレクティブを含めると、クローラーに XML サイトマップを示せるため、ページをより効率的に発見できます。ツールでは複数のサイトマップ URL を1行に1つずつ列挙でき、それらをファイルに書き込みます。
robots.txt はページが Google に表示されないことを保証しますか?
いいえ。Disallow はクロールを防ぎますが、他のページからリンクされていれば、ブロックされた URL もインデックスされることがあります。ページを検索結果から確実に除外するには、robots.txt だけに頼らず、クロール可能なページで noindex メタタグやヘッダーを使ってください。

関連ツール

こちらの便利なツールもどうぞ

メタタグジェネレーター

URLリダイレクトチェーンチェッカー

Open Graph Previewer

HTML エンティティ エンコーダー/デコーダー

HTTPヘッダービューア

サイトマップURL抽出ツール