Redirects for AI Training は、既存の <link rel="canonical"> タグを、検証済み AI トレーニングクローラー に対する 301 リダイレクトとして適用します。AI Crawler カテゴリ の検証済みボットが、canonical タグが同一オリジンの別 URL を指すページをリクエストすると、Cloudflare はその canonical へ 301 Moved Permanently を返します。ブラウザー、検索エンジン、AI Assistants など、それ以外の訪問者には元のページがそのまま返ります。
この機能が役立つ理由は、発表ブログ記事 ↗ を参照してください。
Redirects for AI Training は、AI Crawl Control > Quick Actions のトグルとして使えます。Markdown for Agents と Managed robots.txt と同じ場所にあります。
ダッシュボードでゾーンの Redirects for AI Training を有効にするには、次の手順を実行します。
- Cloudflare ダッシュボード ↗ にログインし、アカウントを選択します(Pro または Business プランが必要です)。
- 設定するゾーンを選択します。
- AI Crawl Control ↗ セクションを開きます。
- Redirects for AI Training を有効にします。
ゾーン全体ではなく、特定のサブドメインまたはパスだけ Redirects for AI Training を有効にするには、Configuration Rule を作成します。
- Cloudflare ダッシュボード ↗ にログインし、アカウントを選択します。
- 設定するゾーンを選択します。
- Rules > Overview を開き、Create rule > Configuration Rules を選択します。
- When incoming requests match で、サブドメイン(例:
http.host eq "docs.example.com")またはパスに一致する式を作ります。 - Then the settings are で Add setting > Redirects for AI Training を選択し、On に設定します。
- Deploy を選択します。
API でゾーンの Redirects for AI Training を有効にするには、Cloudflare API の /client/v4/zones/{zone_tag}/settings/redirects_for_ai_training へ、ペイロード {"value": "on"} 付きの PATCH を送ります。
Zone Settings の編集権限を有効にした API トークンを作成する必要があります。
例:
curl -X PATCH 'https://api.cloudflare.com/client/v4/zones/{zone_tag}/settings/redirects_for_ai_training' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer {api_token}" --data-raw '{"value": "on"}'ゾーン全体ではなく、特定のサブドメインまたはパスだけ Redirects for AI Training を有効にするには、Configuration Rule を作成します。
curl --request PUT \
--url "https://api.cloudflare.com/client/v4/zones/{zone_id}/rulesets/phases/http_config_settings/entrypoint" \
--header "Authorization: Bearer {api_token}" \
--header "Content-Type: application/json" \
--data '{
"rules": [{
"expression": "http.host eq \"docs.example.com\"",
"action": "set_config",
"action_parameters": {
"redirects_for_ai_training": true
},
"description": "Enable Redirects for AI Training for docs subdomain"
}]
}'starts_with(http.request.uri.path, "/docs/") のようなパスベースの式も使えます。式の作り方は Rules language を参照してください。
Cloudflare for SaaS を使っていて、カスタムホスト名 に Redirects for AI Training を有効にしたい場合は、次の 2 つの方法があります。
SaaS ゾーン上のすべてのカスタムホスト名で Redirects for AI Training を有効にするには、次の手順を実行します。
- Cloudflare ダッシュボード ↗ にログインし、アカウントを選択します。
- SaaS ゾーンを選択します。
- Quick Actions を探します。
- Redirects for AI Training ボタンを切り替えて有効にします。
特定のカスタムホスト名だけ Redirects for AI Training を有効にするには、カスタムメタデータ にアクセスできる 上位プラン が必要です。
API でカスタムホスト名を作成または更新するとき、custom_metadata オブジェクトに redirects_for_ai_training を追加します。
curl --request PATCH \
--url "https://api.cloudflare.com/client/v4/zones/{zone_id}/custom_hostnames/{custom_hostname_id}" \
--header "Authorization: Bearer {api_token}" \
--header "Content-Type: application/json" \
--data '{
"custom_metadata": {
"redirects_for_ai_training": "enabled"
}
}'SaaS ゾーン上に、そのメタデータを持つカスタムホスト名に一致し、機能を有効にする Configuration Rule を作成します。
curl --request PUT \
--url "https://api.cloudflare.com/client/v4/zones/{zone_id}/rulesets/phases/http_config_settings/entrypoint" \
--header "Authorization: Bearer {api_token}" \
--header "Content-Type: application/json" \
--data '{
"rules": [{
"expression": "lookup_json_string(cf.hostname.metadata, \"redirects_for_ai_training\") eq \"enabled\"",
"action": "set_config",
"action_parameters": {
"redirects_for_ai_training": true
},
"description": "Enable Redirects for AI Training for opted-in custom hostnames"
}]
}'これで、redirects_for_ai_training カスタムメタデータタグが付いたカスタムホスト名で機能が有効になります。
Cloudflare は、検証済み AI トレーニングクローラー向けのオリジン HTML レスポンスを検査し、次を行います。
- オリジンレスポンスの
<head>をストリーム解析し、<link rel="canonical" href="...">を抽出します - 相対 canonical URL をリクエスト URL を基準に解決します
- canonical URL が同一オリジンで、現在の URL と異なることを検証します
- canonical URL へ
301リダイレクトを返します
canonical タグがない、canonical がクロスオリジン、またはページが自己参照の canonical の場合、オリジンレスポンスはそのまま通過します。
この機能は、オリジンレスポンスの <head> セクションから <link rel="canonical"> タグを解析します。
<!DOCTYPE html>
<html>
<head>
<link rel="canonical" href="https://example.com/current-version">
</head>
<body>
<!-- Page content -->
</body>
</html>絶対 URL と相対 URL の両方に対応しています。
<!-- Absolute URL -->
<link rel="canonical" href="https://example.com/page">
<!-- Relative URL (resolved against request URL) -->
<link rel="canonical" href="/current-page">Redirects for AI Training は、Single Redirects や Bulk Redirects とは別のレイヤーで動作します。それらのリダイレクトルールは、オリジンへ接続する前に実行されます。Redirects for AI Training は、オリジンの HTML から canonical タグを読む必要があるため、オリジンが応答したあとに実行されます。
Single Redirect または Bulk Redirect が先に一致すると、Redirects for AI Training が評価する前にリクエストはリダイレクトされます。
Pro、Business、Enterprise プランで追加料金なしで使えます。
- 評価対象は、オリジンからの HTML レスポンス(
content-type: text/html)だけです。ほかのコンテンツタイプはそのまま通過します。 - canonical タグは、非圧縮 HTML レスポンス本文の先頭 256 KB 以内に存在する必要があります。
- リダイレクトの対象は同一オリジンの canonical URL だけです。クロスオリジンの canonical は無視されます。
- リダイレクトされるのは、AI Crawler カテゴリ の 検証済みボット だけです。AI Assistants と AI Search ボット には影響しません。
- 自己参照の canonical ページ(canonical URL がリクエスト URL と一致する場合)はリダイレクトされません。
- ループ検出は
Refererヘッダーを使う最善努力です。クローラーが直前に canonical URL から現在のページへリダイレクトされた場合は、リダイレクトせずオリジン HTML を返します。よくある 2 ページ間の canonical 誤設定(ページ A の canonical がページ B を指し、ページ B の canonical がページ A を指す)に対応します。
リダイレクトを発行すると、Cloudflare は HTTP リクエストログの redirects_for_ai_training_target フィールドに canonical のターゲット URL を記録します。GraphQL Analytics API または Logpush でこのデータを照会できます。
- AI クローラーを管理する - クローラーごとに許可またはブロックのルールを設定します
- AI トラフィックを分析する - クローラー、運用者、コンテンツタイプ別のリクエスト指標を確認します
- Markdown for Agents - コンテンツネゴシエーションで HTML を Markdown として配信します
- Content Signals Policy ↗ -
robots.txtでアクセス後のコンテンツ利用方針を示します - Directives -
robots.txtの遵守状況を監視し、Agent Readiness を確認します - Single Redirects - オリジン到達前に実行される、ルールベースの URL リダイレクトです
- 検証済みボット - AI Crawler、AI Assistant、AI Search を含むボットカテゴリです