rendering.score 是副本包含的页面比例。CDN 发出副本后,收到副本的代理就能读到这么多。
工作方式
- 连接网站。 网站密钥只显示一次。它只能读取你网站的副本。
- 发布页面。 发送页面 URL,querying.ai 从网站所在国家渲染页面并保存副本,之后每
refreshDays天(默认 28 天)重新渲染。 - 同步副本。 你的 CDN 每 10 分钟用网站密钥读取副本列表,下载新副本,删除列表里已没有的副本。
- 回应 AI 代理。 AI 代理发来 GET 时,CDN 用保存的副本回应。没有副本的页面、过期的副本和任何错误都交给源站。
连接网站
key:只有这个响应里有它,CDN 会发送它。POST /v1/ai-rendering/sites/{id}/key 会给出新密钥,并立即停用旧密钥。
之后可用
PATCH /v1/ai-rendering/sites/{id} 修改。
发布页面
GET /v1/async/task/{taskId} 跟踪,或从 GET /v1/ai-rendering/sites/{id} 读取页面的 status:
ready:副本在副本列表里。copy是它的 HTML 文件。rendering:正在生成第一个副本。failed:第一次渲染失败。页面会在refreshAt重新渲染。expired:副本已过期,在下次渲染前不在列表里。
utm_*、gclid 等追踪参数。
DELETE /v1/ai-rendering/sites/{id}/pages/{pageId} 下线页面。
要不重新渲染就发布 GEO Score 生成的副本,请发送它的 task id:{ "taskId": "0b6c1f7e-…" }。它必须是你账户里
已完成的 GEO Score,并且在网站所在国家测量。
设置 CDN
把下面的代码保存为 CDN 代码旁边的ai-rendering.mjs。syncCopies 让存储与副本列表一致,copyFor 用存储里的副本回应 AI 代理的 GET:
- Cloudflare Worker
- 其他 CDN 和服务器
Worker 把副本放在 Workers KV 中,并通过 cron 每 10 分钟同步一次。每个副本在 KV 中与副本文件同时过期。Workers 免费计划的 KV 每天只能写入 1,000 次,大型网站的首次同步可能超过一天。
wrangler.toml:cloudflare-worker.mjs:X-Querying-Rendering: HIT:
副本列表
CDN 在X-Querying-Site-Key 中放入网站密钥,读取 GET https://api.querying.ai/v1/ai-rendering/copies:
copy 无需密钥即可下载。页面重新渲染后 renderedAt 会改变,所以只在 renderedAt 是新的时候
下载。删除列表中已没有的页面的副本。列表和下载都免费。
代理
模块中的AGENTS 决定谁能拿到副本,按 User-Agent 中任意位置的标记匹配,不区分大小写。
- 默认: 人在提问时发往页面的代理(
chatgpt-user、codex、claude-user、claude-code、perplexity-user、gemini-deep-research、duckassistbot、amzn-user、mistralai-user),以及 ChatGPT 搜索的爬虫oai-searchbot。ChatGPT 搜索根据这个爬虫保存的页面回答,GEO Score 的score衡量的就是这个页面。OpenAI 重新抓取页面后,它的索引才会变化。 - 按需添加:
claude-searchbot和perplexitybot。 - 不要加入: 训练爬虫(GPTBot、ClaudeBot)和网页搜索爬虫(Googlebot、Bingbot)。Googlebot 会自己运行脚本。
遵守搜索引擎规则
给机器人发送与人不同的内容就是伪装(cloaking)。Google 只要内容相近,就不把为机器人渲染的页面视为伪装 (Dynamic rendering)。OpenAI 没有公开伪装政策, 因此让副本符合 Google 的规则:- 副本就是人的浏览器绘制的页面。querying.ai 去掉脚本,只把图片里的文字加进该图片的 alt 文本,alt 正是放图片文字的地方。
- 副本只在页面自己的 URL 上发出。
- 副本保持最新。querying.ai 每
refreshDays重新渲染一次,模块不会发送过期的副本。 - 如果编辑副本,只做删除或更正:改正识别错的字、去掉弹窗都可以。不要加入人看不到的说法、价格或链接。
副本的内容
副本是人的浏览器把页面滚动到底后绘制的 HTML:包含脚本加载的文字和嵌在原位的框架页面,除结构化数据(JSON-LD)外的脚本全部去掉, 每张大图的文字加进它的 alt 文本。链接和图片地址保持绝对地址,副本读起来就像页面本身。副本是最后一次渲染时的页面:价格或库存的变化要到 下一次渲染(最多refreshDays 天后)再加上 CDN 同步的时间才会到达代理。图片文字按识别结果写入,识别错的字也会照样发出。
计费
每次渲染 5 积分,每张读取文字的图片 5 积分,你的账户过去 90 天读过的图片(同一文件、同一读取方式)每张 2 积分,最多 12 张。提交时预留 65 积分,完成时按实际用量扣除。失败的渲染不扣费。刷新按同样规则向网站所属账户计费,积分不足的账户 1 小时后重试。连接网站、发布 GEO Score 的副本、副本列表和下载副本都免费。副本由你的 CDN 发出,所以代理流量在 querying.ai 不产生费用。参见 积分与限制。错误
端点见 API reference。