SEO Tools

Robots.txtファイルジェネレーター — 概要と作成方法

robots.txtファイルの役割、クロールルールの仕組み、そしてコードを書かずにWebサイト用の正しいrobots.txtを生成する方法を解説します。

8分で読めます

Robots.txtファイルジェネレーター — Webクローラーとシーオー

インターネット上のすべてのWebサイトは、Googlebot、Bingbot、AIクローラーなど数十種類のボットから訪問を受けます。robots.txtファイルは、それらのボットに対してインデックスしてよいページとそうでないページを伝える手段です。正しく設定すれば検索結果に表示されるコンテンツをコントロールできますが、誤って設定するとサイト全体をGoogleからブロックしてしまう可能性があります。

robots.txtファイルとは?

robots.txtファイルは、Webサイトのルートに設置するプレーンテキストファイルで、Webクローラーに対してどのページやセクションをクロールすべきか、またスキップすべきかを指示します。これはRobots Exclusion Protocol(ロボット排除プロトコル)に従っており、主要なクローラーのほぼすべてが尊重する非公式な標準です。

GooglebotがWebサイトを訪問する際、最初にリクエストするURLは次のとおりです:

https://yourdomain.com/robots.txt

このファイルが存在する場合、ボットはルールを読み取り、それに従ってクロールを調整します。ファイルが存在しない場合、ボットはすべてのページがクロール可能であると判断します。

重要: robots.txtはあくまでも指示であり、セキュリティ対策ではありません。行儀のよいボットに対してクロールしないよう伝えるものであり、アクセスそのものを防ぐものではありません。悪意あるボットやスクレイパーは完全に無視する場合があります。機密コンテンツを隠す手段としてrobots.txtに頼らないでください。


robots.txtファイルの構造

robots.txtファイルは1つ以上のレコードで構成されます。各レコードは次の要素からなります:

  1. User-agent行 — ルールを適用するボットの指定
  2. 1つ以上のDisallowまたはAllow行 — クロールルール
  3. オプションのCrawl-delayディレクティブ
  4. オプションのSitemapディレクティブ(ファイルレベル)
User-agent: Googlebot
Disallow: /admin/
Allow: /admin/public/

User-agent: *
Disallow: /private/
Crawl-delay: 10

Sitemap: https://yourdomain.com/sitemap.xml

主なディレクティブの説明

ディレクティブ 役割
User-agent 以降のルールを適用するクローラーを指定します。*はすべてのボットを意味します。
Disallow 指定したパスのクロールをブロックします。
Allow ブロックされた親ディレクトリ内であっても、特定のパスを明示的に許可します。
Crawl-delay リクエスト間にN秒待つようボットに要求します(Googleはサポートしていません)。
Sitemap クローラーにXML sitemapの場所を示します。

User-agentの値 — 誰に向けて話しているのか?

各クローラーには固有のUser-agent文字列があります。主な一覧:

User-agent クローラー エンジン
* すべてのクローラー
Googlebot GoogleのWebクローラー Google Search
Googlebot-Image Google画像クローラー Google Images
Googlebot-Video Google動画クローラー Google Video
Bingbot Microsoft Bingクローラー Bing Search
Slurp Yahoo!クローラー Yahoo Search
DuckDuckBot DuckDuckGoクローラー DuckDuckGo
Baiduspider Baiduクローラー Baidu Search
YandexBot Yandexクローラー Yandex Search
GPTBot OpenAI学習用クローラー ChatGPT
ClaudeBot Anthropic学習用クローラー Claude
CCBot Common Crawlボット 各種AIデータセット

ルールはUser-agentごとに適用されます。ボットが特定のUser-agentレコードに一致する場合、そのルールが適用されます。該当するレコードが存在しない場合は、*(ワイルドカード)のルールが適用されます。


DisallowとAllow — パスマッチングの仕組み

Disallow

Disallow: /path/は、そのパスとその配下のすべてをブロックします。

Disallow: /admin/       # /admin/、/admin/users、/admin/login などをブロック
Disallow: /private.html # そのファイルのみをブロック
Disallow: /             # サイト全体をブロック
Disallow:               # 空の値 = すべてを許可(制限なし)

Allow

Allowは、より具体的なパスに対してDisallowを上書きします。より具体的なルールが優先されます。

User-agent: Googlebot
Disallow: /products/
Allow: /products/featured/   # 上記のDisallowにもかかわらず、Googlebotは/products/featured/をクロール可能

ワイルドカード

ほとんどのクローラー(Googleを含む)は2種類のワイルドカード文字をサポートしています:

パターン 意味
* 任意の文字列に一致 Disallow: /*.pdf$
$ URLの末尾に一致 Disallow: /*.pdf$.pdfで終わるURLをブロック
Disallow: /*?           # クエリ文字列を含むすべてのURLをブロック
Disallow: /*.pdf$       # すべてのPDFファイルをブロック
Disallow: /tag/*/page/  # ページネーションされたタグアーカイブページをブロック

robots.txtの一般的なパターン

すべてを許可(デフォルトの動作)

User-agent: *
Disallow:

Disallowが空の場合、制限はありません。これはrobots.txtを設置しない場合と同等ですが、後でルールを追加できるよう、ファイル自体を用意しておくことがベストプラクティスです。

サイト全体をブロック(例:ステージング環境)

User-agent: *
Disallow: /

開発環境、ステージング環境、またはプレビュー環境でインデックスされないようにする場合に使用します。

特定のディレクトリをブロック

User-agent: *
Disallow: /admin/
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /checkout/
Disallow: /cart/
Disallow: /account/

AIトレーニング用クローラーをブロック

User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: Google-Extended
Disallow: /

ECサイト — インデックス不要なページをブロック

User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /account/
Disallow: /wishlist/
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /*?ref=
Allow: /products/
Allow: /collections/

Sitemap: https://yourdomain.com/sitemap.xml

WordPressサイト

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /wp-includes/
Disallow: /?s=
Disallow: /search/
Disallow: /trackback/

Sitemap: https://yourdomain.com/sitemap.xml

コードを書かずにrobots.txtファイルを生成する方法

robots.txtを手書きするとミスが発生しやすく、タイプミス一つで許可するつもりだったページをブロックしてしまうことがあります。Robots.txt Generatorを使えば、以下の操作が簡単にできます:

  1. 対象とするボットを選択
  2. シンプルなフォームからallowおよびdisallowルールを追加
  3. 必要に応じてcrawl delayを設定
  4. sitemapのURLを追加
  5. 完成したファイルを即座にコピーまたはダウンロード

生成後は、Robots.txt Testerを使ってデプロイ前にルールが意図どおりに機能するか確認してください。


robots.txtファイルの設置場所

ファイルはドメインのルートに設置する必要があります

https://yourdomain.com/robots.txt    ✓ 正しい
https://yourdomain.com/robots/robots.txt    ✗ 誤り
https://subdomain.yourdomain.com/robots.txt    ✓ 正しい(サブドメインの場合)

サブドメインごとに独自のrobots.txtが必要です。www.yourdomain.com/robots.txtのファイルはblog.yourdomain.comには適用されません。

robots.txtのデプロイ方法

静的サイト(HTML): Webサーバーのパブリックディレクトリのルートにのルートにrobots.txtをアップロードします(/public_html//dist//public/など)。

WordPress: WordPressインストールのルートに設置します。多くのSEOプラグイン(Yoast、RankMath)は管理パネルから自動的に管理します。

Next.js: /publicフォルダにrobots.txtを設置するか、Next.js 13以降では/app内のrobots.jsファイルを使ってプログラムで生成します。

Vercel / Netlify: /publicに設置すると、デプロイ時に自動的にルートから配信されます。


robots.txtとSEO — 押さえておくべきポイント

CSSとJavaScriptをブロックしない

過去には、クロールバジェットを節約するために/wp-content//assets/をブロックする手法が一般的でした。しかしこれは逆効果です。GoogleはページをレンダリングしてWebサイトを理解する必要があり、CSS/JSをブロックするとそれが妨げられます。本当にインデックスさせたくないものだけをブロックしてください。

robots.txtはインデックスを防がない — noindexが必要

DisallowはGoogleがURLをクロールすることを防ぎますが、他のサイトからリンクされている場合にGoogleがそのURLをインデックスすることは防げません。インデックスを防ぐには、ページ自体にnoindexメタタグまたはX-Robots-Tag HTTPヘッダーを使用してください。

sitemapの宣言

robots.txtには必ずsitemapのURLを記載してください。クローラーに確実に見つけてもらう最も信頼性の高い方法です:

Sitemap: https://yourdomain.com/sitemap.xml
Sitemap: https://yourdomain.com/sitemap-images.xml

複数のsitemapを記載することもできます。

クロールバジェット

大規模サイト(数千ページ)はrobots.txtの最適化から最も大きな恩恵を受けます。低価値なページ(フィルタリングされたURL、サイト内検索結果、重複した薄いコンテンツ)をブロックすることで、Googleが本当に重要なページにクロールバジェットを使えるようになります。


robots.txtファイルの検証

ファイルを作成したら、デプロイ前に必ず確認してください:

  1. Robots.txt Tester — ファイルを貼り付けて特定のURLをテストし、allow/disallowの動作を確認
  2. Google Search Console — クロール統計レポートでGoogleがどのようにサイトをクロールしているか確認;URLインスペクションツールで特定のページがブロックされているかを確認
  3. 手動確認 — デプロイ後にhttps://yourdomain.com/robots.txtにアクセスし、ファイルが正しく公開・配信されているかを確認

よくある質問

GoogleはrobotS.txtを必ず従いますか? Googleはクロールに関してDisallowディレクティブを尊重します。ただし、ブロックされたURLへのリンクが見つかった場合、そのURLをインデックスすることがあります。Disallowはクロールをブロックするものであり、インデックスのエントリーをブロックするものではありません。インデックスを防ぐにはページ自体にnoindexを使用してください。

同じボットに対して複数のUser-agentブロックを設定できますか? いいえ。各User-agentは1つのブロックにのみ記載してください。複数のブロックに同じボットに対する競合するルールがある場合、動作は未定義となります。特定のUser-agentに対するすべてのルールを1つのレコードにまとめてください。

robots.txtに構文エラーがある場合はどうなりますか? ほとんどのクローラーは、不正なルールを無視するか、エラーが発生した時点でパースを停止します。Googleは通常、エラーより前に正常にパースできたルールを引き続き適用します。デプロイ前にファイルをテストしてください。

Googlebot-Imageをブロックすべきですか? 画像をGoogle Imagesの検索結果に表示させたくない場合のみブロックしてください。写真販売サイトや画像が多いサイトの場合、Googlebot-Imageをブロックするとトラフィックが大幅に減少する可能性があります。

クローラーはrobots.txtをどのくらいの頻度で再読み込みしますか? Googleは通常、robots.txtを最大24時間キャッシュします。ファイルを更新しても、Googleのクロール動作への反映には最大1日かかる場合があります。

robots.txtはページの読み込み速度やCore Web Vitalsに影響しますか? いいえ。robots.txtはクロールの動作にのみ影響し、実際のユーザーに対するページの読み込みやパフォーマンスには影響しません。


robots.txtファイルのサイズと制限

  • Googleはサイズが500 KB以内のrobots.txtファイルをサポートしています
  • 500 KBを超えるファイルは切り捨てられ、それ以降のルールは無視されます
  • ルール数に公式な上限はありませんが、ファイルは整理された簡潔な状態に保ってください
  • UTF-8エンコーディングを推奨します。ASCIIも使用可能です

関連ツール