SEO 快速审计技能(seo-audit)
给一个 URL,跑一遍站点级和页面级基础 SEO 检查,输出一份结构化 HTML 审计报告。
脚本只读抓取公开页面,无写入、无外发数据、无凭据收集;所有抓取脚本实现了SSRF保护(阻断私网/回环/保留IP),输出保存到本地reports/目录,数据流向透明。扣分项:SSRF保护存在DNS重绑定绕过窗口(先gethostbyname再requests自行解析),使用伪装浏览器UA抓取未要求用户确认,出站请求行为仅部分披露;未达满分。
脚本结构清晰:JSON结构化输出、退出码约定、超时/重定向/SSL/连接错误均有可读的错误信息,llm_review_required标志实现了脚本与LLM的职责分层,设计自洽。扣分项:仓库证据中无测试用例、无CI覆盖关键路径;check-page.py源码在slug重复词检查处被截断,无法静态确认完整性;规则与模板一致性(如check-site.py未提供404/canonicalization检查,需agent手动执行)依赖LLM正确遵循,失败反馈虽好但不可静态验证。
触发词、输入要求(URL必填,HTML/GSC可选)、适用与不适用边界(明确排除深审计、多页、性能类需求并引导seo-audit-full)、升级提示都写得清楚,语义触发精度较高。扣分项:边界条件依赖LLM自觉遵守且无技术强制;未声明对反爬/登录墙站点行为的处理;对中文页面的SEO规则适用性未说明。
SKILL.md分层良好(主文档→REFERENCE.md→模板→脚本),强制发现格式、示例丰富、限制披露明确、含MIT许可和版本号1.0。扣分项:无changelog/更新路径,作者仅为'Jeff'且发布者未经验证,维护责任不明;版本信息过于简略,无已知问题清单。
核心价值主张明确:URL进→结构化HTML报告出,脚本+LLM双层架构能产出Evidence/Impact/Fix格式的报告,比手动审计有明显效率优势,README附示例截图。静态审查下无法执行验证,输出可用性未经执行确认,扣分项为缺少可执行的代表性输出验证与对比收益证据。
代码本身可审计、README含真实站点截图与架构说明,主要声明可在源码层面追溯。扣分项:无测试套件、无第三方独立执行证据、示例报告未以可复核形式提交,覆盖率薄,静态上限内取中低值。
- SSRF保护存在DNS重绑定理论绕过窗口,在不受信任网络环境下使用需注意。
- 无任何测试或CI证据,关键路径可靠性未经执行验证。
- check-page.py源码在slug检查处不完整(截断),安装前应核对仓库实际文件。
- 出站抓取使用伪装浏览器UA,未经用户确认即发起网络请求。
- 无changelog与维护责任声明,长期可维护性不确定。
- 对需登录、反爬或JS渲染站点,结果可能不完整,报告中已部分披露但依赖LLM执行。
这个 Skill 能做什么,适合哪些场景?
seo-audit 是一个轻量级的单页 SEO 审计技能,是仓库中两个技能中的默认入门层。它用 Python 脚本做确定性检查(robots.txt、sitemap、404 处理、规范化、JSON-LD schema 等),把结构化 JSON 交给 LLM 做语义判断(关键词意图、标题与描述质量),最后按模板渲染成 HTML 报告保存到 reports/ 目录。检查范围被严格白名单化,超出范围的问题不会出现,深层审计需升级到同仓库的 seo-audit-full 技能。MIT 协议,支持 Claude Code、Cursor 及任何支持 SKILL.md 的 Agent 运行时。
接收一个页面 URL(可选提供原始 HTML 或 GSC 数据),依次执行:1) check-site.py 检查 robots.txt、sitemap.xml、404 行为、URL 规范化;2) 检查 E-E-A-T 信任页(About/Contact/Privacy/Terms)是否存在且可从页脚/导航到达;3) check-page.py 检查 URL slug、标题、meta 描述、H1、canonical,可传入主关键词;4) 按需检查 i18n/hreflang;5) check-schema.py 校验 JSON-LD 的 @type 与必填字段。脚本输出 JSON(退出码 0=通过/警告,1=存在失败),LLM 仅对 llm_review_required 标记的字段做语义评审,最终填充 assets/report-template.html 并保存为 reports/<域名>-<slug>-audit.html,且列出前 3 个高优先级修复项。
- 独立站长或博客作者想在上线的页面上快速跑一遍基础 SEO 体检,拿到可读的 HTML 报告
- 营销人员收到'帮我看看这个页面 SEO 有没有问题'这类请求,需要首次快速评估而不是完整技术审计
- 开发者在发布新落地页后想确认 canonical、hreflang、JSON-LD schema 等技术细节没有配错
- 内容团队想检查标题、meta 描述和 H1 是否语义覆盖目标关键词,并得到具体改写建议
- SEO 顾问需要对多个 URL 做第一轮筛选,再决定哪些页面值得用完整技能深入审计
这个 Skill 有哪些优点和局限?
- 脚本+LLM 两层架构:确定性检查由脚本完成并输出 JSON,LLM 只处理标记为需要语义判断的字段,减少幻觉
- 检查范围严格白名单化,模板是唯一事实来源,报告不会混入随意发挥的'加餐'检查
- 输出独立 HTML 文件而非终端原始 HTML,含摘要、检查表、前 3 优先修复项,可直接分享
- 对标题中的年份、数字、限定词等常见误判项有明确的正向判定规则
- MIT 协议,README 提供中英双语说明和真实站点报告截图
- 仅覆盖基础检查:OG/社交标签、PageSpeed、Core Web Vitals、内容质量等均在禁区,需另一个技能
- 只提供 URL 时审计仅基于可见内容和公开信号,无源码、GSC 数据或性能指标,报告中会明确声明此局限
- 深层审计(seo-audit-full)需要 PageSpeed Insights API key,无 key 时流程会中断
- 仓库未标注 Topics,也没有测试套件或第三方验证的证据
- 页脚/导航可达性、软 404 等判断依赖抓取行为,对 JS 渲染页面部分检查只能标记为无法验证
如何安装这个 Skill?
方式一(CLI,推荐):运行 npx skills add JeffLi1993/seo-audit-skill,或只装本技能:npx skills add JeffLi1993/seo-audit-skill --skill seo-audit。方式二(Claude Code 插件):依次运行 /plugin marketplace add JeffLi1993/seo-audit-skill 和 /plugin install seo-audit-skill。另外需要 pip install requests(HTML 解析使用 Python 标准库)。
如何使用这个 Skill?
对支持 SKILL.md 的 Agent 输入类似 audit this page: https://example.com 即可触发。若未提供关键词,技能会从页面 H1、标题和首段推断主关键词并先向你确认。脚本依次运行后,报告保存到 reports/<域名>-audit.html,Agent 会询问是否打开。所有失败/警告项都以 Evidence / Impact / Fix 三段式呈现,报告末尾会提示若需深度分析可升级到 seo-audit-full。
这个 Skill 与同类方案有什么区别?
同一仓库内有明确的姊妹技能 seo-audit-full:后者是全量版,增加 PageSpeed/Lighthouse 评分、sitemap URL 清单、staging 子域名索引检测、OG/社交标签、内容质量评分和 GSC 爬取状态,但需要 PageSpeed API key。本技能是默认快速入口,官方指引是先用它做首筛,发现超出基础范围的问题再升级。