Skip to content

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

パースタイプ

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

パースタイプは、ウェブサイトデータソース 上で AI Search がインデックス対象のページを見つける方法を制御します。AI Search は 2 つのパースタイプをサポートします。

パースタイプ ページ検出 使うタイミング
sitemap(デフォルト) robots.txt で宣言された XML サイトマップ、または設定したサイトマップ URL を読みます。リンクはたどりません。 サイトが完全で最新のサイトマップを公開しているとき。
discover ソース URL から開始し、デフォルトではサイトマップと、クロールしたページ上のリンクの両方を使います。 サイトにサイトマップがない、またはインデックスしたいすべてのページをカバーしていないとき。

パースタイプは source_params.web_crawler.parse_type で設定します。設定しない場合、AI Search は sitemap を使います。

どちらのパースタイプも、同じ Cloudflare アカウントにオンボード済みのドメイン上のソース URL が必要です。ドメインがまだ Cloudflare にない場合は ドメインをオンボードする を参照してください。

使うパースタイプ

どちらのパースタイプもサイトマップを読めるため、選択は単なる「サイトマップかリンクか」ではありません。discover のデフォルトの 検出ソースall で、サイトマップを読み かつ リンクをたどります。違いは、それぞれがサイトマップをどれだけ徹底して使うかです。

インデックスしたいページをカバーするサイトマップをサイトが公開しているなら、sitemap を選んでください。次の理由で、2 つのうち信頼性が高いです。

  • 更新はサイトマップが駆動します。 sitemap<lastmod> 日付が変わったときにページを再クロールするため、次回同期で編集が取り込まれます。discover<lastmod><changefreq> を完全に無視し、代わりに固定の キャッシュ期間 で再取得します。
  • 途中で切れません。 discover は設定した ページ上限と深さ で止まるため、リンクグラフの深い位置や上限を超えたページはスキップされることがあります。sitemap はサイトマップに載っているすべてをインデックスします。
  • 順序を制御できます。 sitemap<priority> 値でページをインデックスするため、インスタンス上限に達しても重要なページから先にインデックスされます。
  • クロール範囲を狭められます。 特定のサイトマップdiscover ではサポートされません。

サイトマップがない、不完全、または古い場合は discover を選びます。

Sitemap

sitemap パースタイプがデフォルトです。AI Search はサイトが公開する XML サイトマップを読んでインデックス対象ページを決め、<lastmod> 日付が変わったときにページを再クロールします。

ページの見つけ方

ドメインを接続すると、クローラーはウェブサイトのサイトマップを探し、訪問するページを決めます。

  1. dashboard の Parser options > Specific sitemap で 1 つ以上のカスタムサイトマップ URL を設定している場合、AI Search はそのサイトマップ URL だけをクロールします。
  2. それ以外の場合、クローラーは robots.txt に列挙されたサイトマップを確認します。
  3. robots.txt が見つからない場合、クローラーは /sitemap.xml のサイトマップを確認します。
  4. サイトマップがない場合、そのドメインは sitemap パースタイプではクロールできません。代わりに discover を使います。

インデックス順

サイトマップに <priority> 属性がある場合、AI Search はすべてのサイトマップを読み、ページがどのサイトマップにあっても、各ページの優先度値に基づいてインデックスします。

<priority> が指定されていない場合、ページはサイトマップの提供順でインデックスされます。設定したカスタムサイトマップ URL、または robots.txt の上から下です。

AI Search は .gz 圧縮サイトマップをサポートします。robots.txt とサイトマップの両方で部分 URL を使えます。

同期と更新

スケジュール済みまたは手動の 同期ジョブ 中、クローラーはサイトマップの <lastmod> 属性の変更を確認します。前回同期日より後の日付に変わっていれば、そのページをクロールし、更新版を保存し、自動的に再インデックスします。検索結果が常に最新コンテンツを反映するようにするためです。

<lastmod> 属性が定義されていない場合、AI Search は <changefreq> 属性で再クロール頻度を決めます。<lastmod><changefreq> も定義されていない場合、AI Search は各リンクを 1 日 1 回自動クロールします。

特定のサイトマップ

デフォルトでは、AI Search は robots.txt に列挙されたすべてのサイトマップを、上から下の順でクロールします。クローラーにすべてをインデックスさせたくない場合、またはサイトマップが標準以外のパスにある場合は、dashboard の Parser options > Specific sitemap でカスタムサイトマップ URL を設定できます。

カスタムサイトマップ URL を設定すると、AI Search は robots.txt/sitemap.xml からの自動検出ではなく、それらのサイトマップ URL を使います。サイトマップ URL は最大 5 件まで追加できます。

robots.txt

AI Search クローラーはユーザーエージェント Cloudflare-AI-Search を使います。robots.txt ファイルはサイトマップを参照し、クローラーを許可してください。

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
Sitemap: https://example.com/sitemap.xml.gz

他のすべてのクローラーをブロックし、AI Search だけを許可するには:

robots.txttxt
User-agent: *
Disallow: /

User-agent: Cloudflare-AI-Search
Allow: /

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

サイトマップの構造

サイトマップを構造化し、AI Search が効率よくクロールできる情報を与えます。

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>2026-01-15</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://example.com/other-page</loc>
    <lastmod>2026-01-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
</urlset>

これらの属性でクロール動作を制御します。

属性 目的 推奨
<loc> ページの URL 必須です。完全 URL または部分 URL を使います。
<lastmod> 最終更新日 変更検出を有効にするには含めます。AI Search はこの日付が変わるとページを再クロールします。
<changefreq> 想定される変更頻度 <lastmod> がないときに使います。値: alwayshourlydailyweeklymonthlyyearlynever
<priority> 相対的な重要度(0.0-1.0) 重要なページには高い値を設定します。AI Search は優先度順にページをインデックスします。

Sitemap Index を使って、ドメイン固有の他のサイトマップをまとめることもできます。

sitemap-index.xmlxml
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://www.example.com/sitemap-blog.xml</loc>
    <lastmod>2024-08-15T10:00:00+00:00</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://www.example.com/sitemap-docs.xml</loc>
    <lastmod>2024-08-10T12:00:00+00:00</lastmod>
  </sitemap>
</sitemapindex>

Sitemap Index を解析するとき、AI Search はすべての子サイトマップを集め、再帰的にクロールし、サイトマップ内の関連 URL をすべて収集します。

サイトマップの推奨事項

  • すべての URL に <lastmod> を含め、同期中の効率的な変更検出を有効にします。
  • <priority> を設定してインデックス順を制御します。優先度の高いページが先にインデックスされます。
  • <lastmod> がないときはフォールバックとして <changefreq> を使います。
  • 複数サイトマップがある大規模サイトでは、サイトマップインデックスファイルを使います。
  • 大きなサイトマップは .gz 形式で圧縮し、帯域を減らします。
  • サイトマップはファイルあたり 50MB、50,000 URL 未満に保ちます(標準的なサイトマップ制限)。

Discover

discover パースタイプは、ページ検出を Browser Run の /crawl エンドポイント に委任します。AI Search はソース URL でクロールジョブを開始し、取得したすべてのページを 組み込みストレージ に保存します。

デフォルトでは、discover はサイトマップと、クロールしたページ上のリンクの両方から候補 URL を集めます。検出ソース オプションで、どちらか一方に制限できます。

discover はサイトマップに依存しないため、サイトマップが省略したページにも到達します。

検出のしくみ

  1. AI Search はソース URL でクロールジョブを開始します。
  2. クローラーは、検出ソースに応じて、サイトマップ、クロールしたページ上のリンク、またはその両方から候補 URL を集めます。
  3. クローラーは設定した深さまでリンクをたどり、ページ上限に達したら停止します。
  4. 取得した各ページは組み込みストレージに保存され、Markdown に変換され、チャンク化され、インデックスされます。

クローラーは、Cloudflare アカウント内のドメインでは Cloudflare-AI-Search として識別します。外部リンクまたはサブドメイン を有効にし、クロールがアカウント外のドメインに到達した場合は、Cloudflare-AI-Search-External として識別します。robots.txt が禁止するページは、インデックスされず、blocked_by_robots_txtインデックスエラーコード で記録されます。

dashboard で設定する

  1. Cloudflare dashboard で AI Search ページを開きます。

    AI Search を開く ↗
  2. Create を選択し、データソースとして Website を選択します。

  3. Crawl target にウェブサイト URL を入力します。

  4. Parse typeDiscover を選択します。

  5. Crawl options で、Crawl sourcePage limitCrawl depthMax cache ageInclude external linksInclude subdomains を調整します。

  6. セットアップを完了し、インスタンスを作成します。

あとからこれらのオプションを変更するには、インスタンスを選択し、Settings タブを開き、Parser optionsCrawl options を編集します。変更を保存すると、すべてのアイテムを再インデックスする新しいインデックスジョブが始まります。

API で設定する

parse_typediscover に設定し、デフォルト以外の設定を discover_options に渡します。

curl -X POST "https://api.cloudflare.com/client/v4/accounts/<ACCOUNT_ID>/ai-search/namespaces/default/instances" \
  -H "Authorization: Bearer <API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "my-ai-search",
    "type": "web-crawler",
    "source": "example.com",
    "source_params": {
      "web_crawler": {
        "parse_type": "discover",
        "discover_options": {
          "source": "links",
          "limit": 5000,
          "depth": 3,
          "max_age": 86400,
          "include_subdomains": true
        }
      }
    }
  }'

Discover オプション

次のオプションは parse_typediscover の場合にのみ適用されます。すべて任意です。

オプション デフォルト 範囲または値 説明
source string all allsitemapslinks クローラーが候補 URL を探す場所です。
limit number 100000 1 から 100,000 クロールするページの最大数です。
depth number 5 1 から 100,000 ソース URL からたどるリンクホップの最大数です。
max_age number 86400 0 から 604,800 秒 クローラーがキャッシュ済みページコンテンツを再利用してから再取得するまでの時間です。
include_external_links boolean false truefalse 他ドメインを指すリンクをたどるかどうかです。
include_subdomains boolean false truefalse ソース URL のサブドメインを指すリンクをたどるかどうかです。

検出ソース

source オプションは、候補 URL の取得元を選びます。

  • all: サイトマップと、クロールしたページ上のリンクの両方を使います。
  • sitemaps: サイトマップに列挙された URL のみを使います。
  • links: クロールしたページ上のリンクのみを使います。

サイトマップがない、または信頼できないときは links を使います。ページ内リンクをたどらずサイトマップのカバー範囲だけが欲しいときは sitemaps を使います。

ページ上限と深さ

limit オプションは、クローラーがインデックスするページ数を最大 100000 まで制限します。この最大を超える値は、インスタンスの作成時または更新時に拒否されます。インスタンスのオブジェクト上限 も適用されるため、実効上限は低い方の値です。

depth オプションは、クローラーがソース URL からどれだけ遠くまで進むかを制限します。深さが 1 の場合、ソース URL から直接リンクされたページだけをクロールします。

キャッシュ期間

max_age オプションは、クローラーがオリジンからページを再取得する前に受け入れるキャッシュ済みページコンテンツの最大経過時間(秒)です。常にオリジンから取得するには 0 にします。

dashboard の Max cache ageNo cache1 hour1 day3 days7 days を提供します。

外部リンクとサブドメイン

デフォルトでは、クローラーはソース URL のホスト上に留まります。サブドメインへのリンクをたどるには include_subdomains を有効にし、他ドメインへのリンクをたどるには include_external_links を有効にします。

同期の動作

同期ジョブ は新しいクロールジョブを開始します。AI Search はクロールが返したページを再インデックスし、到達できなくなったページを削除します。

クロールが完了しない、またはページ上限で止まった場合、AI Search は到達できなかったページを削除せず、以前インデックスしたページを保持します。

discover はサイトマップの <lastmod><changefreq> 属性を読みません。クローラーがオリジンへ戻る頻度は max_age で制御します。

非対応のオプション

parse_options.specific_sitemapsparse_typesitemap のときだけ有効です。discover と一緒に送ると検証エラーになります。

両方のパースタイプに適用されるオプション

次のウェブサイト設定は、選んだパースタイプに関係なく適用されます。

制限

discover クロールは最大 100,000 ページをインデックスし、ソース URL から最大 100,000 リンクホップをたどります。limitdepth で設定します。

インスタンスあたりのファイル数 の制限も適用されるため、実効上限は低い方の値です。ウェブサイトデータソースに適用されるすべての制限は Website を参照してください。

役に立ちましたか?