Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

robots.txt とサイトマップ

最終更新 Markdown で表示Agent セットアップ

このページでは、Browser Run でアクセスする予定の Web サイト向けに、robots.txt とサイトマップを設定する一般的な指針を示します。

Browser Run リクエストの識別

リクエストは、Cloudflare が付ける 自動ヘッダー で識別できます。

  • User-Agent: Browser Run のメソッドごとに既定の User-Agent が異なり、対象を絞った robots.txt ルールを書けます
  • cf-brapi-request-id: Quick Actions リクエストの一意な識別子
  • Signature-agent: Cloudflare のボット検証鍵へのポインター

robots.txt ではなく WAF ルールで Browser Run トラフィックを許可またはブロックするには、自動リクエストヘッダーのページにある ボット検出 ID を使います。

robots.txt のベストプラクティス

適切に設定した robots.txt は、クローラーがサイトのどの部分にアクセスできるかを把握するのに役立ちます。

サイトマップを参照する

robots.txt にサイトマップへの参照を含め、クローラーが URL を発見できるようにします。

robots.txttxt
User-agent: *
Allow: /

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

サイトマップは複数列挙できます。

robots.txttxt
User-agent: *
Allow: /

Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/blog-sitemap.xml

クロール間隔を設定する

crawl-delay で、クローラーがサーバーへページを要求する頻度を制御します。

robots.txttxt
User-agent: *
Crawl-delay: 2
Allow: /

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

値の単位は秒です。crawl-delay が 2 の場合、クローラーはリクエストのあいだに 2 秒待ちます。

robots.txt でクローラーをブロックする

Browser Run(またはほかのクローラー)にサイトへアクセスさせたくない場合は、robots.txt でアクセスを制限できます。

サイト全体ですべてのボットをブロックする

すべてのクローラーがサイト上のどのページにもアクセスできないようにするには、次のようにします。

robots.txttxt
User-agent: *
Disallow: /

これは最も厳しい設定で、Browser Run だけでなく、ルールに従うすべてのボットをブロックします。

/crawl エンドポイントだけをブロックする

/crawl エンドポイント は、User-Agent CloudflareBrowserRenderingCrawler/1.0 で自身を識別します。/crawl エンドポイントをブロックし、ほかのトラフィック(別の User-Agent を使うほかの Browser Run Quick Actions エンドポイントを含む)は許可するには、次のようにします。

robots.txttxt
User-agent: CloudflareBrowserRenderingCrawler
Disallow: /

User-agent: *
Allow: /

特定パスで /crawl エンドポイントをブロックする

/crawl エンドポイント にサイトへのアクセスは許可しつつ、特定セクションだけブロックするには、次のようにします。

robots.txttxt
User-agent: CloudflareBrowserRenderingCrawler
Disallow: /admin/
Disallow: /private/
Allow: /

User-agent: *
Allow: /

サイトマップのベストプラクティス

クローラーがサイトを効率よく処理できるよう、サイトマップを構成します。

sitemap.xmlxml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/important-page</loc>
    <lastmod>2025-01-15T00:00:00+00:00</lastmod>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://example.com/other-page</loc>
    <lastmod>2025-01-10T00:00:00+00:00</lastmod>
    <priority>0.5</priority>
  </url>
</urlset>
属性 目的 推奨
<loc> ページの URL 必須です。完全な URL を使います。
<lastmod> 最終更新日 クローラーが更新コンテンツを特定しやすくするため含めます。ISO 8601 形式を使います。
<priority> 相対的な重要度(0.0-1.0) 重要なページには高い値を設定します。クローラーは優先度の順にページを処理します。

サイトマップインデックスファイル

サイトマップが複数ある大規模サイトでは、サイトマップインデックスファイルを使います。Browser Run は depth パラメーターで、入れ子のサイトマップを何階層までクロールするかを制御します。

sitemap.xmlxml
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  ...
</urlset>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   <sitemap>
      <loc>https://www.example.com/sitemap-products.xml</loc>
   </sitemap>
   <sitemap>
      <loc>https://www.example.com/sitemap-blog.xml</loc>
   </sitemap>
</sitemapindex>

キャッシュヘッダー

Browser Run はコンテンツを新しく保つため、サイトマップを定期的に再取得します。Last-Modified または ETag レスポンスヘッダーを付けてサイトマップを配信すると、クローラーは前回の取得以降にサイトマップが変わったかを判断できます。

推奨事項

  • どの URL にも <lastmod> を含め、変更されたページを特定しやすくします。ISO 8601 形式を使います(例: 2025-01-15T00:00:00+00:00)。
  • サイトマップが複数ある大規模サイトでは、サイトマップインデックスファイルを使います。
  • 大きなサイトマップは .gz 形式で圧縮し、帯域を減らします。
  • サイトマップはファイルあたり 50 MB、50,000 URL 未満にします(標準のサイトマップ制限です)。

関連リソース

役に立ちましたか?