跳转到内容
搜索文档

面向 AI 训练的重定向 (Redirects for AI Training)

最后更新 查看 MarkdownAgent 设置

面向 AI 训练的重定向 (Redirects for AI Training) 将您现有的 <link rel="canonical"> 标签作为 301 重定向强制应用于已验证的 AI 训练爬虫。当属于 AI 爬虫类别 (AI Crawler category) 的已验证 Bot 请求一个规范化标签指向不同的同源 URL 的页面时,Cloudflare 将向该规范化 URL 返回 301 Moved Permanently。所有其他访问者 —— 浏览器、搜索引擎、AI 助手 (AI Assistants) —— 将原封不动地接收原始页面。

若要了解为什么此功能非常有用,请参阅公告博客文章 ↗。

启用面向 AI 训练的重定向

面向 AI 训练的重定向可在 AI Crawl Control(AI 爬网控制)> **Quick Actions(快速操作)**中作为一个开关使用,与 Markdown for Agents(面向 Agent 的 Markdown)和 托管的 robots.txt 并列。

要在仪表板中为您的区域启用面向 AI 训练的重定向:

  1. 登录 Cloudflare 仪表板 ↗ 并选择您的账户(您需要 Pro 或 Business 计划)。
  2. 选择您要配置的区域 (zone)。
  3. 访问 AI Crawl Control ↗ 部分。
  4. 启用 Redirects for AI Training(面向 AI 训练的重定向)。

为特定子域或路径启用

要为特定的子域或路径而不是整个区域启用面向 AI 训练的重定向,请创建一个配置规则 (configuration rule):

  1. 登录 Cloudflare 仪表板 ↗ 并选择您的账户。
  2. 选择您要配置的区域。
  3. 前往 Rules(规则)> Overview(概述),然后选择 Create rule(创建规则)> Configuration Rules(配置规则)。
  4. 在 **When incoming requests match(当传入请求匹配时)**下,构建一个匹配您的子域(例如,http.host eq "docs.example.com")或路径的表达式。
  5. 在 **Then the settings are(则设置为)**下,选择 Add setting(添加设置)> **Redirects for AI Training(面向 AI 训练的重定向)**并将其设置为 On(开)。
  6. 选择 Deploy(部署)。

要使用 API 为您的区域启用面向 AI 训练的重定向,请向 Cloudflare API 发送一个 PATCH 请求至 /client/v4/zones/{zone_tag}/settings/redirects_for_ai_training,负载为 {"value": "on"}。

您需要创建一个启用了“区域设置 (Zone Settings)”编辑权限的 API 令牌。

示例:

启用面向 AI 训练的重定向bash
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"}'

为特定子域或路径启用

要为特定的子域或路径而不是整个区域启用面向 AI 训练的重定向,请创建一个配置规则 (configuration rule):

为子域启用面向 AI 训练的重定向bash
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/")。有关构建表达式的更多信息,请参阅规则语言。

如果您正在使用 Cloudflare for SaaS 并希望为您的自定义主机名启用面向 AI 训练的重定向,您有两种选择:

为所有自定义主机名启用

要在您的 SaaS 区域上为所有自定义主机名启用面向 AI 训练的重定向:

  1. 登录 Cloudflare 仪表板 ↗ 并选择您的账户。
  2. 选择您的 SaaS 区域。
  3. 寻找 Quick Actions(快速操作)。
  4. 切换 **Redirects for AI Training(面向 AI 训练的重定向)**按钮以启用。

为特定自定义主机名启用

为特定自定义主机名启用面向 AI 训练的重定向需要高级订阅,该订阅需要具有访问自定义元数据的权限。

步骤 1:在自定义主机名上设置自定义元数据

当通过 API 创建或更新自定义主机名时,将 redirects_for_ai_training 添加到 custom_metadata 对象中:

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"
    }
  }'

步骤 2:创建配置规则 (Configuration Rule)

在您的 SaaS 区域上创建一个匹配具有该元数据的自定义主机名并启用该功能的配置规则:

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 响应,并且:

  1. 对源站响应的 <head> 进行流式解析,以提取 <link rel="canonical" href="...">
  2. 根据请求 URL 解析相对规范化 URL
  3. 验证规范化 URL 是否为同源且与当前 URL 不同
  4. 向该规范化 URL 返回 301 重定向

如果未找到规范化标签、规范化 URL 是跨域的,或者页面是自规范的,则源站响应原封不动地通过。

规范化标签解析

该功能会解析源站响应中 <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 -->
<link rel="canonical" href="https://example.com/page">

<!-- 相对 URL(根据请求 URL 解析) -->
<link rel="canonical" href="/current-page">

与其他重定向功能的交互

面向 AI 训练的重定向运行在与 单次重定向 (Single Redirects) 和 批量重定向 (Bulk Redirects) 不同的层级。那些重定向规则在与源站建立联系之前执行。面向 AI 训练的重定向在源站响应后执行,因为它需要从源站 HTML 中读取规范化标签。

如果单次重定向或批量重定向首先匹配,则请求会在面向 AI 训练的重定向有机会对其进行评估之前被重定向。

可用性

在 Pro、Business 和 Enterprise 计划中免费提供。

限制

  • 仅评估来自源站的 HTML 响应(content-type: text/html)。其他内容类型将原封不动地通过。
  • 规范化标签必须出现在未压缩 HTML 响应正文的前 256 KB 内。
  • 仅同源规范化 URL 会触发重定向。跨域规范化 URL 将被忽略。
  • 仅重定向带有 AI 爬虫类别 (AI Crawler category) 的 已验证 Bot。AI 助手和 AI 搜索 Bot 不受影响。
  • 自规范页面(规范化 URL 与请求 URL 匹配的页面)不会被重定向。
  • 尽力而为的循环检测使用 Referer 标头。如果爬虫刚刚从规范化 URL 被重定向回当前页面,则将提供源站 HTML,而不是再次重定向。这可以处理常见的双页面规范化配置错误(页面 A 的规范化指向页面 B,页面 B 的规范化指向页面 A)。

日志记录

当发出重定向时,Cloudflare 会通过 redirects_for_ai_training_target 字段在您的 HTTP 请求日志中记录规范的目标 URL。您可以使用 GraphQL Analytics API 或 Logpush 来查询此数据。

相关

这篇文档对您有帮助吗?