SEO·AEO 给开发者

工具箱 · 9 个脚本

工具

仅用标准库的 Python,无需 pip install。每个都带一个离线 --demo 自检和一份写明用法的 docstring。课讲“为什么”,工具是“怎么做”。

全部位于仓库的 tools/ 目录。每个都把网络/界面这层边界与一个离线、可测的核心拆开—— 因此逻辑无需联网即可验证。

crawl_audit.py 来自第 0002 课 →

一个 URL 既可被 crawl(抓取)又可被 index(索引)吗?检查 robots.txt、状态码、noindex、title、canonical——排名前的两道门。

$ python3 tools/crawl_audit.py https://example.com/page
schema_tool.py 来自第 0003 课 →

JSON-LD 结构化数据(structured data)linter。校验 schema.org 的 required 与 recommended 属性,并对线上页面的 JSON-LD 做检查。

$ python3 tools/schema_tool.py --demo
geo_lint.py 来自第 0004 课 →

GEO / 为 retrieval 而写的 linter。标记被埋没的答案和不自足的 chunk(段落块);奖励“答案先行”的写法。

$ python3 tools/geo_lint.py --demo
citation_share.py 来自第 0005 课 →

从一组 answer-engine(答案引擎)回复中测量 AI citation(引用)的 coverage 与 share of voice(声量占比)——每个 AEO 追踪工具都在搭的那个 proxy(代理指标)。

$ python3 tools/citation_share.py --demo
build_prompts.py 来自第 0005 课 →

把买家问题组装成一个 prompt 库(来自 LLM 扇出或 Search Console 行数据),格式正好是 citation_share.py 所需的。

$ python3 tools/build_prompts.py --demo
render_gap.py 来自第 0006 课 →

对比原始 HTML 与渲染后 DOM,标记只在 JavaScript 执行后才出现的内容/链接/JSON-LD——也就是不跑 JS 的 bot 会漏掉的东西。

$ python3 tools/render_gap.py --demo
sitemap_ping.py 来自第 0007 课 →

生成并校验符合规范的 sitemap.xml,并构造一个经验证的 IndexNow 推送 payload。即“发布并通知”这一步。

$ python3 tools/sitemap_ping.py --demo
eeat_audit.py 来自第 0008 课 →

审查一个页面上机器可检测的 E-E-A-T proxy 信号(author、sameAs、日期、publisher、引用来源)。它不是打分——而是找差距。

$ python3 tools/eeat_audit.py --demo
site_audit.py 来自第 0009 课 →

集大成之作:从一个种子 URL 起按 BFS(广度优先)crawl(抓取)整个站点,对每个页面跑 0002–0008 的所有 gate(关卡),再把结果汇总成一份带优先级的报告(某项检查在全站失败 = 模板 bug)。

$ python3 tools/site_audit.py --demo