检查什么
site_audit 扫描你的静态构建产物(Astro dist/、Next.js out/、Hugo public/——任何含 HTML 文件的目录),按四组报告问题:
技术 SEO
- 孤儿页(在 sitemap 里但没有任何内链)
- 断链和缺尾斜杠导致的 301
- 缺失/重复/长度异常的标题和 meta 描述
- 缺 H1、多 H1、标题层级跳跃(H1→H3)
- canonical 冲突、超大图片、缺 alt 和宽高
- robots.txt sitemap 声明、Open Graph、viewport、html lang、favicon
GEO / AI 可见度
- llms.txt 和 llms-full.txt 的存在与深度
- Q&A 内容缺 FAQPage/HowTo schema、商业页缺 Product/Offer schema
- robots.txt 内容信号(ai-input / search)
- BLUF(结论前置)检测、内容结构(H2、列表、表格)
- 抓取阻断(内容页 noindex、robots 全禁)
Agent readiness(v1.4.4)
- llms.txt 必须有 When to use 段落——没有它,agent 判断不出你的站适合什么任务
- llms.txt 需要一行 how-to-call(安装命令 / 端点 / MCP 入口)
i18n 与性能
- hreflang 交替链接和 x-default 兜底
- 页面体积(抓取预算)、staging 子域泄漏、sitemap URL 清单、JSON-LD 字段校验
用法
# 基础——指向构建产物和 sitemap
python3 -m zens_ink.site_audit --dist dist --sitemap dist/sitemap.xml
# JSON 报告,用于 CI
python3 -m zens_ink.site_audit --dist dist --sitemap dist/sitemap.xml --format json --output audit.json
# 只审计某个语言子树
python3 -m zens_ink.site_audit --dist dist --sitemap dist/sitemap.xml --base /zh
读报告
问题按类型分组,带严重级别(error / warning / info)和受影响路径。每组末尾附修复提示。汇总行显示去重后的问题数,方便快速扫描。
零依赖 —— 纯 Python 标准库。离线跑任何构建产物;不需要 API 密钥,不爬线上站点。
CI 集成
错误超过阈值时让构建失败:
python3 -m zens_ink.site_audit --dist dist --sitemap dist/sitemap.xml --format json --output audit.json
python3 -c "
import json
r = json.load(open('audit.json'))
errors = [i for i in r['issues'] if i['severity'] == 'error']
exit(1 if len(errors) > 0 else 0)
"