MadeInRed
GEO Skills

被 AI 引用体检

检查网站能不能被 ChatGPT 等 AI 抓取和引用。

MadeInRed 原创站长、开发者、Agent1 个已核验 Skill 文件

需要提供什么

公开 URL 或域名

你会得到什么

0-100 分、实抓证据、修复提示词

Is Cited · 被 AI 引用体检

这是什么

免费、只读、无需凭据的扫描器。对一个公开 URL 做约 14 个 HTTP 请求,按三层 pin 模型打 0–100 分:

  • 抓取许可 45 分:robots.txt 放行 OAI-SearchBot / ChatGPT-User / Bingbot;以这三个 UA 实抓,识别 WAF 拦截、挑战页、内容降级;noindex / nosnippet;Content-Signal。
  • 推送就绪 25 分:sitemap 与 lastmod、Bing Webmaster Tools 验证痕迹、canonical、hreflang、订阅源、http→https。
  • 引用形态 30 分:服务端正文、唯一 H1、问句式 H2、H2 后 40–80 词直接结论、日期作者、JSON-LD、Organization+sameAs、列表/表格、外部来源。
  • 新兴信号 +5:llms.txt、Markdown 协商、FAQ schema 等,缺失不扣分。

硬门槛:页面非 200 → 封顶 29;noindex / robots 封 OAI-SearchBot / Content-Signal 禁止 AI 输入 → 39;WAF 实测拦 OAI-SearchBot → 49;robots 封 Bingbot → 59。

怎么用

  1. 读取已有报告:GET https://madeinred.com/api/v1/report?url=<url>(404 = 尚无报告)。
  2. 生成或刷新报告:POST https://madeinred.com/api/v1/scan,JSON 体 {"url":"<url>","force":true};5–20 秒返回完整报告。每 IP 每分钟 6 次。
  3. MCP 客户端:连接 https://madeinred.com/mcp(Streamable HTTP,无鉴权),工具 is_cited_get_report、is_cited_scan、is_cited_get_methodology。
  4. 人类可读:https://madeinred.com/scan/<host>[/path];加 Accept: text/markdown 得 Markdown。

怎么读报告

  • 先看 gate.capped:为 true 时只修 gate.reason 那一条,其它都是后话。
  • 再按 findings 中 layer 的顺序 crawl → push → shape 处理 result 为 failed / partial 的项;每项有 details(证据)与 recommendation(含验证命令)。
  • fetches 是各 UA 的实测:verdict 为 blocked / challenged 时,问题在 WAF 而不在 robots。
  • not_applicable 与 informational 不计分,不要当作问题去修。

修复原则

  • robots.txt 只放行检索身份(OAI-SearchBot、ChatGPT-User、Bingbot);GPTBot(训练)由站长自行决定,不影响被引用。
  • Cloudflare 站点:WAF 自定义规则 Skip 这些 UA,AI Crawl Control 中设为 Allow;改完用 curl -A "<UA>" -s -o /dev/null -w "%{http_code}" <url> 复验,必须 200 且无 cf-mitigated 头。
  • 内容改写:H2 改成用户会问的问题或对比句,紧跟 40–80 词的一句结论 + 依据;补 dateModified、author、Organization(sameAs)。
  • 修复后 POST /api/v1/scan 带 force:true 重扫,对比 GET /api/v1/history?url= 的分数变化。

错误处理

所有错误为 RFC 9457 application/problem+json,含 code 与 resolution:invalid_url、missing_url、private_target、report_not_found、rate_limit_exceeded(看 Retry-After)、target_unreachable、scan_failed。