TL;DR

geovis.py 是一个单文件、零依赖的 Python 脚本。一行命令检查你的网站对 15 个 AI 爬虫的可见度,打出 0-100 的 AI Visibility Score。GitHub 开源,MIT 协议,拿过去就能用。

python geovis.py promptmin.cn

输出一个完整的 AI 可见度报告:哪些 AI 爬虫能访问你、哪些被挡在门外、有没有 JSON-LD 结构化数据、AI 发现文件是否存在、评分多少。

为什么要写这个

给客户做 AI 可见度诊断的时候,我第一个动作永远是开终端敲 curl。三个命令:

curl -s https://客户域名 | wc -c
curl -s https://客户域名 | grep 'ld+json'
curl -s https://客户域名/robots.txt

第一条看 AI 能读到多少字,第二条看有没有结构化数据,第三条看 AI 爬虫能不能进来。

做了几十家之后发现每次都要手动敲、手动对比 15 个爬虫、手动算分。不如写个脚本一次跑完。于是有了 geovis.py

它能做什么

1. 检查 15 个 AI 爬虫的访问权限

自动抓取并解析 robots.txt,判断每个 AI 爬虫是被放行、被拦截、还是未提及。覆盖三个层级:

  • Tier 1 — AI Search:GPTBot、OAI-SearchBot、ChatGPT-User、ClaudeBot、PerplexityBot。这五个直接关系到你的内容能不能出现在 ChatGPT、Claude、Perplexity 的搜索结果里。
  • Tier 2 — 中国 AI 平台:Bytespider(豆包)、DeepSeekBot、MoonshotBot(Kimi)、YuanbaoBot(元宝)、Baiduspider(文心一言)。中国市场的 AI 搜索入口。
  • Tier 3 — 更广泛的生态:GoogleOther(Gemini)、Google-Extended、Applebot-Extended(Apple Intelligence)、Amazonbot(Alexa)、FacebookBot(Meta AI)。

2. 检查 AI 发现文件

四个对 AI 爬虫关键的文件是否存在:

  • /robots.txt — 爬虫访问规则
  • /llms.txt — AI 专用内容索引
  • /sitemap.xml — 站点地图
  • /.well-known/ai.txt — AI 权限声明

3. 解析 JSON-LD 结构化数据

自动提取首页的所有 JSON-LD 类型(Organization、FAQPage、Article 等),告诉你有还是没有、有哪些。

4. 内容基础质量

统计首页的中文字数、是否有 H1 标题、是否有 RSS feed。这些都是 AI 判断页面质量的基础信号。

5. 综合评分

0-100 的 AI Visibility Score,把爬虫访问、发现文件、结构化数据、内容质量加权计算。一眼看出自己网站在 AI 眼里的健康度。

安装和使用

零依赖,Python 3.8+ 自带标准库就够了。不需要 pip install 任何东西。

# 克隆
git clone https://github.com/huang871015/geo-optimization-guide.git
cd geo-optimization-guide

# 跑一次
python geovis.py your-domain.com

# 输出 JSON(适合 CI / 监控)
python geovis.py your-domain.com --json

文本输出示例

  promptmin.cn AI Crawler Visibility Report
  ──────────────────────────────────────────────────

  Tier 1 — AI Search (visibility-critical)
  ✅ GPTBot                 OpenAI       ChatGPT Search + training
  ✅ OAI-SearchBot          OpenAI       ChatGPT Search (no training)
  ✅ ChatGPT-User           OpenAI       User-initiated browsing
  ✅ ClaudeBot              Anthropic    Claude web search
  ✅ PerplexityBot          Perplexity   Perplexity search + citations

  Tier 2 — Chinese AI Platforms
  ✅ Bytespider             ByteDance    Doubao / 豆包
  ✅ DeepSeekBot            DeepSeek     DeepSeek Chat
  ✅ MoonshotBot            Moonshot AI  Kimi
  ✅ YuanbaoBot             Tencent      元宝 / Yuanbao
  ✅ Baiduspider            Baidu        文心一言 / ERNIE Bot

  Tier 3 — Broader Ecosystem
  ✅ GoogleOther            Google       Gemini + AI Overviews
  ✅ Google-Extended        Google       Gemini training
  ✅ Applebot-Extended      Apple        Apple Intelligence
  ✅ Amazonbot              Amazon       Alexa + Amazon AI
  ✅ FacebookBot            Meta         Meta AI

  Discovery Files
  ✅ /robots.txt                 found
  ✅ /llms.txt                   found
  ✅ /sitemap.xml                found
  ❌ /.well-known/ai.txt         HTTP 404

  JSON-LD Types: Organization, WebSite, FAQPage, Article, BreadcrumbList

  Content
  Chinese chars: 3847
  H1: ✅
  RSS: ❌

  AI Visibility Score: 85/100  ████████████████░░░░  Good

JSON 输出(适合写进 CI)

python geovis.py promptmin.cn --json

返回完整 JSON,包括每个爬虫的访问状态、发现文件列表、JSON-LD 类型、内容元数据、评分。可以直接 pipe 进监控系统,或者挂在 GitHub Actions 里当回归检查——每次部署完跑一遍,确保 AI 可见度没有因为配置改动而降级。

三个使用场景

场景一:开发者自检

网站上线前跑一遍,确认 robots.txt 没有误伤 AI 爬虫、JSON-LD 没被 minify 干掉。花 3 秒,避免在 AI 搜索里隐形。

场景二:挂在 CI 里当回归测试

# .github/workflows/geo-check.yml
- name: GEO visibility check
  run: |
    SCORE=$(python geovis.py my-site.com --json | jq .score)
    if [ "$SCORE" -lt 70 ]; then
      echo "AI visibility score dropped to $SCORE!"
      exit 1
    fi

每次部署自动跑,分数低于阈值就报错。GEO 优化不是一次性的——改个 nginx 配置、升级个框架、加个新的第三方脚本,都可能意外挡住 AI 爬虫。

场景三:竞品对比

python geovis.py 竞争对手A.com
python geovis.py 竞争对手B.com
python geovis.py 竞争对手C.com

三份报告往那一摆,谁在意 AI 搜索、谁完全没做,一清二楚。

局限和诚实说明

这个脚本检查的是 AI 爬虫的可访问性(能不能进、能不能读),不检查 AI 的引用情况(豆包/DeepSeek/Kimi 有没有真的推荐你)。可访问性是引用的前提条件——但前提条件及格了,不代表引用就自动发生。

另外,爬虫名单是我根据当前 AI 平台的重要性手工整理的,会随时间变化。如果你发现漏了重要的 AI 爬虫,欢迎提 Issue 或 PR。

获取

GitHub: geo-optimization-guide

MIT 协议,拿去用,拿去改,拿去挂在 CI 里。如果能帮到你,点个 star 让更多开发者看到——很多网站的 AI 可见度是零,但他们还不知道。


相关阅读