jev-seo:一条命令的全站 SEO 活审计
jev-seo 一条命令爬全站,查 52 条 Google 规则和 Core Web Vitals,Jev 逐页判断,出 PDF、XLSX、Markdown。
项目资料
GitHub Ecosystem- 许可证
- MIT
- 主语言
- Python
- 星标
- 622
- 核查时间
- 2026-10-14
以上快照资料以核查当日为准,可能随版本或运营策略变化。
SEO 审计现在分两派:订阅制工具按月收费,吐出来的报告常常是换了个 logo 的模板;手工审计则要一页页核对 robots、canonical、结构化数据,没人真做。jev-seo(Python,MIT,截至 2026-10-14 622 star)把这件事压成一条命令:给一个首页 URL,它自己爬全站、按 Google Search Central 的 52 条规则检查、量 Core Web Vitals,再让 TypeSafe 的 Jev 模型逐页做语义判断,最后输出带出处的修复清单——而且同时给 PDF、Excel 和 Markdown 三种格式。

核心功能
- 52 条规则对着官方文档:robots.txt、sitemap、重定向、死链、canonical、结构化数据、纯 JS 页面,在真实站点上活爬一遍,约一分钟;要审计 JS 渲染后才出现的内容,可选装 playwright。
- 语义层交给 Jev:每个页面向 TypeSafe 的 System One 模型 Jev 问一组结构化问题——页面类型、搜索意图、重要性、内容帮助度、具体性、可信度、可引用性、标题与 meta 贴合度,还有哪些页面在同一批搜索里互相竞争;每个答案都保留概率。
- 修复逐条带出处:每条 action 有 ID、优先级、影响、工作量、证据、修法和官方来源链接;启发式得出的判断会明确标注是启发式。
- 数字诚实:缺的数据留空不编,分数只用来排工作先后、不预测排名和流量;PDF 里的文字摘要渲染前会对照审计数据复核。
- 一份数据三种格式:PDF 给客户、XLSX 是可编辑的行动清单、Markdown 能直接贴 GitHub 和 Obsidian,全部从同一份 audit.json 生成。
- 成本摆在明面:标准模式不需要任何 SEO 数据订阅,单站约 1 美分(Jev 调用费);
--full模式加 DataForSEO 的排名、关键词和外链,约 0.30 美元一次。
典型使用场景
- 接手新客户站的顾问:先跑一遍拿到带出处的修复清单,方案讨论从「我觉得」变成「第 17 条」。
- 独立开发者上线新站:上线当天跑一次,死链、canonical、结构化数据一次清完。
- 日常在 Claude Code 里工作的人:把仓库当 skill 装,
/jev-seo https://example.com直接出报告,Markdown 版可以进 PR 一起评审。 - 网站改版前后的站长:改版前后各跑一次,两份清单对着看,改没改到点上一目了然。
快速上手
git clone https://github.com/AgriciDaniel/jev-seo.git
cd jev-seo
python3 -m venv .venv && . .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # 填入 TYPESAFE_API_KEY
bin/jevseo doctor # 检查依赖与密钥,不打印密钥值
bin/jevseo run https://example.com
PDF 由 WeasyPrint 生成,需要 Pango:macOS brew install pango,Debian/Ubuntu 装 libpango-1.0-0 和 libpangoft2-1.0-0。报告落在 jev-seo-reports/<域名>-<时间戳>/;离线测试不花任何调用费,python -m unittest discover -s tests -v。
小结
适合自己管站、接客户站、想把审计从「凭感觉」变成「凭清单」的人;想不花钱拿排名和外链数据的用不上——那部分是 --full 模式里 DataForSEO 的活,单次约 0.30 美元。Python 3.10+,MIT,截至 2026-10-14 是 622 star,版本 0.1.1,最近推送 2026-09-22。
两个使用前要知道的点:语义判断全部走 TypeSafe 的 Jev,这是一实打实的第三方 API 依赖——模型换版或者服务变动,报告的语义层跟着变;官方示例报告是 2026-09-22 用 --full 跑的,标准模式不含排名与关键词部分。Jev 生态里我们写过 jev-ultrafast:同一个模型在浏览器智能体里负责「点哪」,jev-seo 把它用在了「这条 SEO 修复值不值得做」的判断上。