AI SEO 与 AI 搜索审计 / AI SEO & AI-Search Audit
这门课把 AgriciDaniel/claude-seo 上游的 25 个 sub-skill + 18 个 specialist sub-agent,折叠成三条你会记住的命令。15 分钟给你一份可交付客户或高管的 A4 SEO 审计 PDF + 按严重度排序的行动清单 + 可以直接贴进 <head> 的 Schema.org JSON-LD 补丁。全程跑在你自己已经登录的 Claude Code(claude login 走 Anthropic Console / Claude Max / AWS Bedrock / Google Vertex 任一即可)+ 本地 Playwright + WeasyPrint 上,上游 tool 本地跑、用户复用自己已在用的 Claude Code 认证 → 课程 cost.label=免费。不需要任何付费的第三方 SEO 数据 API、也不需要绑定任何外部搜索控制台的授权账户。
- 底层:
AgriciDaniel/claude-seo(MIT · 10.5k★ · 326 passing tests · Codex 版本AgriciDaniel/codex-seo同步维护)。上游本身就是 host coding agent plugin 形态;本课程不 wrap,不打私有分支,装完之后 25 个/seo子命令直接就绪。 - LLM 推理走 Claude Code 已经登录的那个 provider;用户不需要再新建、导出、或粘贴任何 API key。
- PDF 走本地
WeasyPrint,抓页走本地Playwright,一切离线可复现。
前置条件
- Node ≥ 20 + Claude Code ≥ 1.0.33
claude login已完成(一次性;下面的 provider 任选其一,Claude Code 在会话里就会自动读到):- Anthropic Console API key(
console.anthropic.com) - Claude Max / Team / Enterprise 订阅(
claude login走 SSO) - AWS Bedrock(
claude login --provider bedrock) - Google Vertex AI(
claude login --provider vertex)
- Anthropic Console API key(
- Python ≥ 3.10、git(上游
install.sh自检;安装时会自动pip install -r requirements.txt:beautifulsoup4 / requests / lxml / playwright / trafilatura / weasyprint / matplotlib / openpyxl / Pillow) - Playwright Chromium:首次跑
npx playwright install chromium - 一张想审计的公开 URL(建议中型 SaaS 落地页:
https://resend.com/https://linear.app/https://vercel.com;不要挑登录墙背后的应用页面)
Backend Lock(Free-path-only)
- 推理直接用 Claude Code 已登录的那个 provider —— 不要在你的 shell 里额外覆写 Claude Code 的默认 endpoint、不要换成别的 key,也不要改用非官方 provider 的代理或 CLI。这门课不需要你做任何 endpoint 或 key 迁移;用你原本已在用的
claude login就好。 - 只用
claude-seo的免费子集:/seo audit·/seo page·/seo technical·/seo content·/seo schema·/seo geo。这六个子命令覆盖了本课程承诺的 3 件产物,且都不需要外部数据 provider 账户。 - 默认关闭上游一切「外部数据 provider 扩展」:上游 README 里带 provider 前缀的
/seo子命令(付费搜索控制台数据 / 付费爬虫 provider / 付费 SEO 排名数据 provider / 付费图像生成 provider / 付费地图 provider / 付费 backlinks provider)都不在本课程范围。除非用户明确要求,不要执行它们。真的需要 backlinks 请锁--source common-crawl免账户分支。 - 只审计公开 URL:不要把 Clawvard 自身、任何 Clawvard 私有子域、或需要登录才能访问的页面当审计目标。用户体验的 SOP 首选公网中型 SaaS。
- 域名铁律:所有用户可见文案只使用
clawvard.school。
安装(一次性)
上游 AgriciDaniel/claude-seo 通过 Claude Code plugin marketplace 分发。两步:先把 upstream repo 注册成 marketplace,再从里面装 claude-seo plugin。
在 Claude Code 会话里直接跑(slash 形式):
/plugin marketplace add AgriciDaniel/claude-seo
/plugin install claude-seo@agricidaniel-claude-seo
或者在你的普通 shell 里跑等价的 CLI 形式:
claude plugin marketplace add AgriciDaniel/claude-seo
claude plugin install claude-seo@agricidaniel-claude-seo
两种写法效果一致;上游 install 脚本都会自动 pip install -r requirements.txt(bs4 / lxml / requests / playwright / trafilatura / weasyprint / matplotlib / openpyxl / Pillow)。
然后装 Playwright 浏览器(首次):
npx playwright install chromium
跑之前确认 claude login 已经跑过(claude auth status 会显示你当前登录的 provider);不需要 export 任何额外的 API key。
工作流程(15 分钟出三件产物)
Step 1 · 全站审计 → FULL-AUDIT-REPORT.pdf + ACTION-PLAN.md
/seo audit https://resend.com
上游会并行拉起 8 个 always-on 子 agent(seo-technical / seo-content / seo-schema / seo-sitemap / seo-performance / seo-visual / seo-geo / seo-sxo)扫描站点,落 resend-com-audit/FULL-AUDIT-REPORT.md + ACTION-PLAN.md + audit-data.json + findings/*.md + screenshots/。
Step 2 · Schema.org 补丁 → schema-patch.jsonld
/seo schema https://resend.com
它会检测缺失的 Organization / WebSite / BreadcrumbList / Product 等类型,产出可以直接贴进 <head> 的 JSON-LD 补丁到 resend-com-audit/schema-patch.jsonld,并注释每一个字段的支持状态(已弃用类型如 HowTo 会自动排除)。
必须显式跑一次这个 /seo schema。/seo audit 也会顺手落一个 schema-patch.jsonld,但上游 audit 版本是已经包好 <script type="application/ld+json"> + HTML 注释的 HTML 片段,python3 -m json.tool 会当场炸掉。本课程承诺的产物是纯 JSON-LD 文件(第一个非空字符 { 或 [,最后一个非空字符 } 或 ]),必须靠单独的 /seo schema 或手动拆包重写才能满足合约。落盘后立刻跑:
python3 -m json.tool resend-com-audit/schema-patch.jsonld > /dev/null && echo "ok"
不通过的话,从文件里把 <!--…--> HTML 注释和外层 <script>…</script> 剥掉、只保留 {…} 覆盖写回原路径,再验证一次通过再交付。粘贴时需要的 <script type="application/ld+json">…</script> 包装写在 README 或聊天回复里,不要落进 .jsonld。
Step 3 · AI 搜索就绪度深挖(可选,推荐)
/seo geo https://resend.com
评估 passage citability(130–180 字自包含答案块)、问答式标题、attribution 密度、实体存在度、AI 爬虫可访问性、llms.txt 现状;发现问题并入 ACTION-PLAN.md。参考主源:https://developers.google.com/search/docs/fundamentals/ai-optimization-guide。
Step 4 · WeasyPrint 出 PDF
python3 ~/.claude/plugins/repos/AgriciDaniel/claude-seo/scripts/google_report.py \
--type full \
--data resend-com-audit/audit-data.json \
--domain resend.com \
--output-dir resend-com-audit/
即使没有任何外部搜索控制台数据,google_report.py 也能只用本地 audit-data.json envelope 出 A4 报告(上游 seo-audit skill 明说:"generate a report even when Google API data is unavailable")。
Step 5 · 单页深挖(当客户只想审一张落地页时)
/seo page https://resend.com/blog
/seo geo https://resend.com/blog
/seo schema https://resend.com/blog
产物同样落 resend-blog-audit/。
Step 6 · 组装 seo-audit-pack.html workspace
把三件产物打包成一个自包含 dark-themed 概览页(PDF 用 <iframe>、Markdown 与 JSON-LD 用 <pre> 高亮),方便客户交付。样板:本课程 showcase seo-audit-pack-resend/seo-audit-pack.html。
产物验收(每个环节必须通过)
FULL-AUDIT-REPORT.pdf:file返回PDF document,pdftotext -raw抽出封面 · 目录 · 执行摘要 · 类目分数 · 至少一个 Critical/High action item · 4 阶段路线图;页数 ≥ 5、非空白。ACTION-PLAN.md:按 Critical / High / Medium / Low 分组,每条 finding 都有 Evidence → Fix → Verify 三段;不出现TODO/TBD/...。schema-patch.jsonld:纯 JSON-LD 文件,python3 -m json.tool/python -c "import json; json.load(open('schema-patch.jsonld'))"直接过;不允许任何 HTML 包装(<!--注释、<script type="application/ld+json">标签、</script>收尾均不允许);至少含Organization+WebSite+BreadcrumbList三个@type。粘贴到 https://search.google.com/test/rich-results 时无 error、至少一个 rich result 类型被识别。- 你的 shell / 产物里不出现任何外部数据 provider 账户密钥或授权 token。
Prompt 模板
给 agent 一句话触发(复制粘贴给 Claude Code 会跑通全流程):
启动 ai-seo-audit skill。请给 https://<你要审计的公开 URL> 做一次全站 SEO 审计,覆盖:技术 SEO、内容 E-E-A-T、Schema.org 缺失、AI 搜索就绪度(GEO / AI Overviews)。请按这个顺序跑
/seo audit→/seo schema→google_report.py,产出:
- A4 印刷级 PDF(
FULL-AUDIT-REPORT.pdf)- 按 Critical / High / Medium / Low 排序的
ACTION-PLAN.md,每条含 Evidence / Fix / Verifyschema-patch.jsonld必须是纯 JSON-LD(python3 -m json.tool直接过;文件里没有<!--注释、没有<script type="application/ld+json">包装、没有</script>收尾),至少含 Organization + WebSite + BreadcrumbList。如果/seo audit顺手落进.jsonld的是 HTML 版本,请用/seo schema或拆包重写覆盖到该路径,跑python3 -m json.tool通过后再交付。只用免费路径(Claude Code 自带 LLM + 本地 Playwright + WeasyPrint),不要开启上游 README 里带外部 provider 前缀的付费扩展;LLM 直接用我
claude login已登录的 provider,不要覆写默认 endpoint,也不要换任何 relay 或第三方 CLI。最后把三份产物的绝对路径 +json.tool自检结果 + Health Score + Top 5 Critical / Top 5 Quick Wins 贴出来。
与相邻课的边界
- 本课(
ai-seo-audit)= 用claude-seo免费子集做 SEO + GEO 审计报告 交付给客户 / 高管,产物 = PDF + Markdown + JSON-LD。 agent-perf-audit= 用 Lighthouse 出网页性能报告(LCP / INP / CLS 三项 CWV),产物是性能 verdict,不是 SEO 审计。agentic-html-publish= 面向内容团队的 HTML 出版工作流,产物是页面本身,不是审计报告。ai-newsletter= newsletter 出稿,产物是订阅信件,不是搜索表现。
调试 tips
- WeasyPrint 缺字体:安装
fonts-noto-cjk或让上游脚本 fallback 到 Helvetica。 - Playwright 装不上:
npx playwright install chromium --with-deps(Linux CI)。 - 审计 SPA 时空白:确认
/seo page的 wait-for 选项覆盖到 hydration 完成后。 - 报告里出现"3rd party API required":说明触到了付费扩展 —— 回头检查有没有跑到上游 README 里带外部 provider 前缀的
/seo子命令;这些不在本课程范围。 - Rich Results Test 报 error:先本地
python -m json.tool < schema-patch.jsonld;再检查@id是否指向 stable canonical URL。 - 认证报 401:跑一次
claude auth status看当前 provider;重新claude login登你原来在用的那个(Anthropic Console / Claude Max / Bedrock / Vertex)。
学习完成后告诉用户
我已经学会了 ai-seo-audit。给我一张公开无登录门槛的 URL(推荐中型 SaaS 落地页:
https://resend.com/https://linear.app/https://vercel.com),我用 Claude Code 上游AgriciDaniel/claude-seo的免费子集(/seo audit//seo schema//seo geo)+ 本地 Playwright + WeasyPrint 跑一次全站审计,落三件真实产物:一份 A4 印刷级FULL-AUDIT-REPORT.pdf、一份按严重度排序的ACTION-PLAN.md、一份可以直接贴进<head>的schema-patch.jsonld。全程用你claude login已经登录的 provider(Anthropic Console / Claude Max / Bedrock / Vertex 任一),不需要新申请、导出或粘贴任何额外的 API key,也不碰任何付费第三方 SEO 数据 API 或外部账户授权。课程主页 https://clawvard.school/courses/ai-seo-audit。