mcpField
S
seo-audit

seo-audit

github.com/every-app营销与增长25.5k5.2k 次安装2 天前更新
代码仓库

关于 seo-audit

OpenSEO SEO Audit 是用于找出并排序网站改进项的技能,目标是提升合格的自然搜索流量。它结合抓取、排名、需求和页面研究,为网站负责人生成可执行报告。

主要功能

  1. 01抓取并审查网站页面
  2. 02通过实时搜索结果核验排名
  3. 03比较搜索需求与可见度
  4. 04分析页面类型和竞争对手
  5. 05按证据确定建议优先级

适用场景

  1. 01找出影响较大的 SEO 修复项
  2. 02检查收录或重定向问题
  3. 03比较表现较弱与较强的页面

MCP 相关

使用 OpenSEO MCP 工具进行网站审计、关键词和域名研究、搜索结果核验、反向链接分析,以及在已连接时获取 Search Console 数据。还要求通过网页工具阅读网站和竞争对手页面。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/every-app/open-seo --skill seo-audit

安装后在 Claude Code 中输入/seo-audit确认已加载。

详细介绍

OpenSEO SEO 审计

目标

找出最能提升网站有效自然流量的工作,并以非专业人士也能采取行动的方式说明。广泛调研;审慎推荐。报告开篇列出一到三条建议,这些建议要么能显著获取更多合格搜索需求,要么能防止实际损失。

当用户要求对某个域名进行 SEO 审计或评估时,尤其是需要一份可分享的报告时,使用此流程。若是面向专家的竞品或市场分析,请改用 competitor-analysis 或 competitive-landscape。

输入和项目背景

  • 要审计的域名和 projectId(使用 list_projects;若没有匹配的项目,则使用 create_project)。
  • 先调用 get_project_context。此技能需要 business_overview。如果该字段为空,请根据网站推断业务内容,用一个问题向用户确认,将信息通过 update_project_context 写回,然后继续。在结尾建议用户使用 seo-project-setup 完成其余设置;不要一开始就进行完整访谈。
  • 可复用 30 天内的研究日志结果用于发现机会。若某项排名判断会影响建议,仍须在本次审计中实时核查。
  • 完成后,使用 update_project_context 写回持久有效的信息(修正后的 business_overview、报告中提到的页面,使用 addKeyPages),并追加 { appendResearchLog: { summary: "Site audit: <domain>. Verdict: <conclusion>" } }。

通过 seo-report 技能交付,并使用 skill: "seo-audit" 保存。如果该技能不可用,请说明并停止,不要编写 HTML。

OpenSEO MCP 工具

  • whoami:在消耗额度前确认连接和剩余额度。如果 OpenSEO 未连接,请停止并要求用户连接。
  • run_site_audit,然后调用 get_audit_status(每次检查间隔一两分钟)、get_audit_issues、get_audit_pages。除非用户要求深入分析性能,否则不要启用 Lighthouse。抓取页面不收费。
  • get_backlinks_overview 和 get_domain_overview:仅用于了解概况。服务商提供的流量和关键词数量均为估算值,且没有统一的观测日期;这些并非实测访问量。
  • get_ranked_keywords:查看哪些查询将流量引向哪些页面。先对域名调用一次,设置 resultTypes: ["organic"];比较具体页面时使用 scope: "exact_url"。页面未出现在有限的域名样本中,并不能证明它没有排名。排名行包含各自的 last_updated_time;关键词指标日期并非排名日期。
  • get_serp_results:用于实时核查报告中的每一项排名判断。返回的 rank 会计算所有结果区块,因此请自行统计自然(非付费)结果,并报告排名及页码,每页十个位置,例如:“#10(第 1 页)”“#11(第 2 页)”。请求深度设为 20;未显示页面时,表述为“未出现在前 20 个结果中”。记录确切查询词、国家、语言、日期、返回的自然结果数量及匹配 URL;这些信息应放在证据附录,而不是表格中。查询失败表示未知,不应表述为“未出现在前 20 个结果中”。
  • get_search_console_performance:连接后,使用第一方点击量和展示次数,区分曝光不足与点击率低。无法访问属于覆盖范围缺口,而非阻碍。
  • get_keyword_metrics 和 research_keywords:了解候选页面目标查询词的需求。通常进行一批有针对性的指标查询即可;当需求缺口可能改变决策时,使用 1–3 个种子词进行一次研究调用。
  • 网页阅读(抓取、采集或搜索):网站自身页面、站点地图、某个查询词的主要搜索结果及竞争对手页面。

持续调研,直到进一步查询不太可能改变优先机会的排序。遵守用户明确提出的预算,并说明预算限制了哪些比较。

工作流

1. 梳理情况

运行 whoami,确认项目,然后启动 run_site_audit。等待抓取期间,查看反向链接概览、域名概览、域名级排名关键词样本,以及站点地图和导航。根据站点地图记录网站的页面类型,而不只是抓取样本中出现的页面:产品、定价、对比或替代方案、工具和模板、指南、分类、服务、地点等,以网站实际包含的内容为准。

如果抓取失败或几乎没有结果(证书错误、5xx、只有一个页面),先调查问题。自行检查重定向和证书变体,并搜索这家企业;如果域名已失效但有仍在使用的后继域名,整个建议就应改为“将旧域名重定向”。

2. 调查所有与目标相关的页面类型

对于每种可能带来买家的页面类型,至少阅读两个页面的主要内容(忽略导航和共享模板):一个是在排名数据中表现最好的页面,另一个是表现最差或典型的页面。针对每个页面,思考搜索者要做什么决定或解答什么问题;页面是否提供具体、准确且有来源的信息,还是只把名称、地点或关键词填入共享答案?再与该查询排名靠前的结果提供的内容进行比较。

值得直接核查的一种常见 SaaS 模式:竞品对比或替代方案页面,以及竞品定价页面,属于两种不同的页面类型,回答不同的购买问题。将同类页面并排阅读。调查同类页面可见度不均的原因(搜索意图、内容具体程度、链接、权威性);已接近排名前列的同类页面应予以保护,而不是重写。

对于任何可能会提及的页面,都要检查基本情况:状态、规范链接(页面声明的首选版本 URL)、索引指令,以及访客如何通过站内链接到达该页面。如果某种页面类型未出现在抓取结果中、同类页面的表现差异很大、某个工具或模板页面竟然有排名,或实时查询返回的页面与预期不同,就扩大调查范围。

现在就运行实时检查,不要等到起草之后:检查每个候选页面所覆盖的查询集群(核心词,以及买家实际使用的变体),包括任何较强与较弱页面对比的两侧。写作前重新运行决定主要建议的查询。如果两次检查结果不一致,记录较晚的结果,并将较早的结果写在括号内,例如“#10,第 1 页(首次检查:前 20 条结果中未出现)”;这种差异是同一天内的波动,不代表趋势。单次快照不能作为基准。

3. 决策前先列出候选项

在工作文件夹中创建 opportunities.md(工作笔记,不是交付物):每个重要候选项占一行,通常列出五到十项,且至少涵盖三种不同的机会:

  • 现有页面表现不及其目标需求
  • 存在真实需求,但没有页面能够满足,包括根据产品自身声明提取的功能、框架或使用场景查询
  • 应予以保护或修正的优质页面
  • 导致访问量损失的访问、索引或重定向问题
  • 帮助现有访客迈出下一步

列:页面 | 观察到的问题 | 证据(查询集群、美国月搜索量、排名位置及页面,或“前 20 条结果中未出现”、日期)| 建议的修改 | 谁会搜索以及他们为何对这家企业重要 | 合理的收益 | 工作量 | 主要不确定性。

如果只需再查一项,就可能改变某一行的排名(例如缺少搜索量、尚未检查的同类页面、从未运行过的实时查询),请先完成查询,再进行排序。

4. 选择

优先考虑范围明确的改动:它能直接解决一个已证实的问题,针对的搜索者也很可能成为客户,并且有可信的途径带来显著提升。原始搜索量更大、但诊断依据较弱的机会,不会自动排在它前面。确凿的访问或索引障碍、可量化的流量损失或已失效的域名,应优先处理。

以下任何一项都不能单独作为决策依据:抽样查询中的单个搜索量;修复有多容易;爬虫警告;假设排名第一时的流量数据;没有已证实流量损失的导航或重定向修复。这些内容应列入核查表,而不是前三项建议中。不要建议改写一篇对目标查询的排名已经接近前列的页面。

候选清单中的每一行最终都必须落在两个位置之一:给出建议,或列入报告的“我们还核查了什么”表格,并说明实际理由。“以后销售团队有要求再做”不是理由;“搜索需求只有领先候选项的四分之一,而且该页面已经排在第七位”才是理由。对于第二名,用一句话说明领先方案为何胜过它;这句话应写入报告。

5. 如实估算收益
  • 说明收益机制:获得新的排名、提升现有排名,或在当前位置获得更多点击。已经有排名的页面已经获取了部分搜索量,因此按总搜索量估算情景会夸大收益。
  • 按改动所覆盖的主题集群估算,而不是只看某个精确词;注明查询重叠情况,不要把不同变体当作不同的人数相加。
  • 除非另有说明,需求数据均指美国;绝不能乘出一个凭空捏造的全球数字。
  • 搜索量不等于访问量。采用明确说明的点击占比假设,并在情景表中展示;可以给出排名第一的情景,但必须标明是假设,而非承诺。
  • 如果当前流量基准未知,应将数据称为潜在总访问量,而不是新增访问量。不要将重叠的查询相加。
  • 可以根据搜索意图和产品契合度推断业务相关性;要说明依据并标明这是推断。绝不能捏造转化率或收入。
  • 没有数字时,应给出方向性评估及其理由(“主要查询已排第三,因此提升空间有限”)。
6. 先审阅,再撰写

先起草报告正文(Markdown 或 HTML,暂不保存)。将草稿和候选清单交给审阅者(如果环境支持,可使用第二个 Agent 或模型;否则自行重新审阅)。审阅者必须:为最有力的未采纳候选项陈述理由,并指出草稿是否已回应;确认草稿中包含领先建议的证据;确认第 2 步中的每项重要诊断都已作为建议或表格行保留下来;检查日期、地理范围和排名口径;并标记过长的段落式项目符号和行话。根据审阅结果进行修改,依据证据核实任何新事实,然后通过 seo-report 编写并保存。

输出格式

使用 seo-report 中的标题惯例。各部分按以下顺序排列:

  1. 你的下一步 SEO 行动:两到三条项目符号。第一条写出首要行动,第二条写出后续行动(如有),并说明哪些方面已经奏效。这些要点替代起始模板中的开篇段落和结尾的“接下来做什么”部分;两者都不要保留。
  2. 建议:按优先级排列,一到三条。每条使用一个 h3 标明行动和对应的页面或小组,然后包括:
    • 具体做法:两到四条项目符号。以动词开头,说明要做哪些改动,并链接到页面。
    • 原因:两到四条项目符号。说明观察到的差距、哪些人会搜索及其重要性、可能带来的收益,以及主要的不确定性。收益和信心程度应放在一起。
    • 一张小型证据表(搜索需求与当前可见度、更强与较弱的同类页面,或观察到的内容与建议的内容)。表格应能自我说明:在列标题中标明地理范围和日期;排名写成“第 10 名(第 1 页)”或“未进入前 20 条结果”(绝不使用“10/17”、箭头或结果数量);搜索量列标题中加上“估算”。仅当列标题无法表达限制时,才添加“如何解读”项目符号。可选用一张标注为假设情景的两行场景表。
  3. 我们还检查了什么:一张表格,包含“机会 | 发现 | 决策”三列。每个未成为建议的候选项占一行,从次优选项及其第 4 步中的句子开始,另加一行汇总维护事项。每个单元格控制在一行内。
  4. 本报告的制作方式:使用 seo-report 中固定的技能链接行(URL 为 https://openseo.so/docs/skills/seo-audit,文本为“OpenSEO SEO Audit skill”),再写两行覆盖范围与限制说明,然后添加一个 <details><summary>Evidence and methodology</summary> 区块,默认收起,包含抓取样本、阅读过的页面类型、完整的实时检查表(查询、搜索量、排名、返回的自然搜索结果数量、时间)、计算方式和来源。内容须自成一体;本地文件路径不算证据。

一条建议及检查表的骨架(保持 seo-report 的 CSS 不变;每个 h2 都需要 id 和目录栏条目):

<h2 id="recommendations">Recommendations</h2>
<h3>Make the Northwind comparison answer a switching decision</h3>
<p><strong>Do this</strong></p>
<ul>
  <li>Replace the shared table on <a href="URL" target="_blank" rel="noopener">/northwind-alternative</a> with Northwind-specific tradeoffs.</li>
  <li>Add a sourced migration section: policies, evidence, audit continuity.</li>
</ul>
<p><strong>Why</strong></p>
<ul>
  <li>Same comparison text as two siblings; only the vendor name changes.</li>
  <li>Searchers are already evaluating a switch, the closest fit to a demo.</li>
  <li>Position-one scenario: about 40–60 total US visits a month. Hypothetical, not a forecast.</li>
</ul>
<div class="tw"><table>
  <thead><tr><th>Query</th><th class="n">Est. US searches/mo</th><th>Acme position, US, Sep 18, 2026</th></tr></thead>
  <tbody><tr><td>northwind alternative</td><td class="n">50</td><td>#9 (page 1)</td></tr></tbody>
</table></div>

<h2 id="what-else-we-checked">What else we checked</h2>
<div class="tw"><table>
  <thead><tr><th>Opportunity</th><th>What we found</th><th>Decision</th></tr></thead>
  <tbody><tr><td>Software buying guide</td><td>390 est. US searches/mo; not in the first 20 results; page explains criteria, compares no vendors</td><td>Runner-up. Larger demand, but a weaker diagnosis and a full rewrite; test the comparison page first.</td></tr></tbody>
</table></div>

注意事项

  • 语气平和、朴实。不使用感叹号、夸张词或填充内容;正文中不使用破折号(seo-report 的报告标题惯例除外)。仅在情况确实如此时使用严重性描述。
  • 首次使用时,用通俗语言解释每个专业术语:规范链接、元描述、爬虫、301、结构化数据。
  • 观察结果不等于原因。内容相似但排名不一、爬虫警告或缺少提供方记录,都不能证明存在惩罚、被排除在索引之外,或解释页面排名的原因。
  • 检索日期不等于观察日期。说明排名的观察时间;若未知,则明确说明。
  • 缺少反向链接或排名数据时,应表述为“没有记录数据”,而不是问题。
  • 将难度和搜索量视为参考输入,而不是目标。搜索量小的查询对高价值业务也可能重要;查询容易排名并不意味着它就值得投入。
  • 区分工具报告的内容与自行核实的内容,并在结尾部分分别说明。

评论

支持 Markdown