---
name: is-cited
description: 用 Is Cited（https://madeinred.com）检查并提升一个网站被 ChatGPT / AI 搜索引用的就绪度。适用于用户问"为什么 ChatGPT 不引用我的站"、"robots 有没有封 OAI-SearchBot"、"Cloudflare 是否拦了 AI 爬虫"、"怎么让内容更容易被 AI 摘录"。
---

# 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。
