jianruntech/geo-score
Can AI engines cite your site, and do they? Free 0–100 readiness score on an open GEO rubric, plus ask and weekly citation tracking via OpenAI, Perplexity, Gemini, Anthropic and OpenRouter with your own keys. Zero dependencies; CLI, GitHub Action and MCP server.
Geo‑Score – 审计网站被 AI 引用的就绪度
项目功能
geo‑score 是一个轻量级、仅依赖 Python 3.8+ 的命令行工具,用于评估大型语言模型答案引擎(如 ChatGPT / Perplexity / Gemini / Claude / OpenRouter)从给定网站发现、解析并引用内容的难易程度。它实现了一套开放、带版本号的评分标准(21 项检查,100 分 + 加分项),衡量以下方面:
- 可达性 – 爬虫能否获取页面(robots.txt、服务端渲染的 HTML、AI 用户代理)?
- 可理解性 – 网站是否暴露结构化数据(JSON‑LD、
llms.txt、schema.org、站点地图、面包屑导航)? - 内容可引用性 – 是否有自包含的答案段落、相关标题、新鲜数据、有来源的统计数据、可验证的作者?
- 品牌可信度 – 知识图谱实体、第三方列表、
sameAs链接、视频/多模态资源。 - 答案匹配度 – 内容是否适合被 LLM 提取?
该工具返回 0‑100 分(级别 1),并可选择:
- 提问(级别 2):向选定的 AI 提供商提出单个问题,查看网站是否实际出现在生成的答案引用中。
- 监控(级别 3):每周运行一组问题,存储结果并生成差异报告,用于长期监测。
所有检查均为确定性检查,针对公开 URL 运行,评分标准版本会嵌入报告中。
工作原理(高层概述)
- 获取目标 URL(或页面样本),仅使用 Python 标准库。
- 检查 robots.txt、HTTP 头、HTML 源码以及任何 JSON‑LD 块。
- 应用评分标准:每项检查都有分级阈值(例如,“5 个抽样页面中有 3 个包含站点地图”)。
- 评分每个支柱,汇总总分,并将总分映射到等级(未开始 → 领先)。
- (级别 2/3)调用外部 LLM API(使用用户提供的密钥),提出给定问题,并解析答案中的引用。
- 报告 – 人类可读的表格、JSON 模式或可嵌入的 SVG 徽章。
CLI 是单个脚本(cli/geo_score.py),无第三方依赖;可选的监控功能位于 cli/geo_watch.py。一个兼容 MCP 的服务器(geo-score-mcp)封装了相同的逻辑,供 IDE 集成的代理(Claude、Cursor、VS Code、LM Studio 等)使用。
适用人群
| 受众 | 重要性 |
|---|---|
| 网站所有者 / 产品团队 | 了解其内容是否会被 AI 答案引擎引用,以及哪些技术修复(robots.txt、schema、新标题)能提高分数。 |
| SEO / 内容策略师 | 通过关注引用而非排名来补充传统 SEO;帮助优先实施“AI 就绪”改进。 |
| LLM 驱动的搜索平台 | 提供可复现的源适用性审计(用于检索和引用),对源排名算法有用。 |
| AI 代理开发者 | MCP 服务器允许代理以编程方式请求分数、提问或运行每周监控。 |
优势与局限
优势
- 零安装核心 – 单个 Python 文件可在任何装有 Python 3.8+ 的系统上运行。
- 透明评分标准 – 完全版本化、公开可见,并附有证据表解释每项检查的经验依据。
- 开源且可复现 – 生成公开排行榜的同一命令可在本地运行;结果稳定(约 96% 的运行在 ±5 分以内)。
- 通过 MCP 可扩展 – 代理可以编程方式调用三个级别,工具在安全敏感环境中支持只读模式。
局限
- 启发式语言处理 – 非英语页面(尤其是中文)的评分更保守;工具可能遗漏人类审计员能看到的某些引用。
- 引用检查是间接的 – 级别 2 仅对每个引擎提出单个问题;不保证覆盖所有可能的查询。
- 依赖公共 API – 级别 2/3 需要有效的 API 密钥并产生费用;工具本身不提供免费引用服务。
- 专注于网页内容 – 不评估公共爬虫无法获取的其他媒体(PDF、认证后的 PDF、私有文档)。
快速开始示例
# 级别 1 – 免费评分(无需密钥)
curl -sL https://raw.githubusercontent.com/jianruntech/geo-score/v1.8.0/cli/geo_score.py \
| python3 - stripe.com --brief
# → "72 / 100 Solid"
# 级别 2 – 提问(例如需要 OpenAI 密钥)
export OPENAI_API_KEY=sk-…
python3 cli/geo_score.py stripe.com \
--ask "best payments API for marketplaces"
# 级别 3 – 启动每周监控(需要包含问题列表的配置文件)
python3 cli/geo_watch.py run --dry_run # 显示计划中的 API 调用而不产生费用
更多信息
- 评分标准 –
rubric/v1.1.md(完整规范)和rubric/evidence-v1.1.md(经验依据)。 - 排行榜 – 324 个网站的实时分数:https://www.jianruntech.com/leaderboard。
- 安装 –
uvx geo-score@1.8.0、pipx install geo-score==1.8.0或一行命令curl | python3。 - MCP 集成 – 参见
guide/mcp.md和 README 中自动生成的工具表。 - 贡献 – 欢迎提交 PR;仓库包含基准测试、可复现性文档和测试套件。
Geo‑Score 是一个真正的开源工具,用于衡量网站被生成式 AI 答案引擎引用的就绪度,弥合了传统 SEO 与新兴的生成式引擎优化(GEO)领域之间的差距。
相关
- 项目
- 项目
- 项目
- 项目
- 项目