mcpField
K
keyword-research

keyword-research

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

关于 keyword-research

OpenSEO Keyword Research 是一项技能,利用 OpenSEO 数据将种子主题转化为优先级明确的关键词机会。它涵盖研究、评估和报告,并要求获得用户确认后才保存关键词。

主要功能

  1. 01从种子主题发现关键词
  2. 02评估搜索量、难度、意图和 CPC
  3. 03利用 Search Console 与排名数据
  4. 04按业务契合度确定优先级
  5. 05将结果整理为报告

适用场景

  1. 01为产品或主题寻找目标关键词
  2. 02发掘本地关键词机会
  3. 03识别已获得展示的搜索词
  4. 04比较排名词与搜索结果意图

MCP 相关

使用 OpenSEO MCP 工具发现关键词、获取指标和搜索结果,并读取项目数据。只有经用户明确确认后,才会保存所选关键词。

安装

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

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

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

详细介绍

OpenSEO 关键词研究

目标

利用 OpenSEO MCP 数据,将种子主题转化为经过优先级排序的关键词机会集合。输出应帮助用户决定要定位哪些关键词、要保存哪些关键词,以及接下来要研究什么。

必需输入

  • projectId
  • 一个或多个种子主题、产品、页面、竞争对手或受众问题
  • 可选的市场/地点/语言

如果缺少 projectId,请先使用 list_projects。如果目标市场/地点/语言不明确,且会实质性影响关键词指标,请询问用户;否则使用 MCP 工具的默认值。

项目背景

项目背景工具免费,并与应用及其他 Agent 共享。

  1. 首先调用 get_project_context,以其中的信息为研究依据,包括业务、目标、市场,以及已保存的竞争对手和关键页面。
  2. 此技能需要 business_overview 和 current_goal。如果任一为空,请进行最简的内联设置:询问用户,或根据网站推断并请用户确认,只需补齐这两项即可;使用 update_project_context 写回,然后继续研究。切勿一开始就进行完整访谈;请在最后推荐使用 seo-project-setup 完成其余设置。
  3. 消耗额度前,先查看研究日志。如果过去 30 天内进行过相同研究,请复用该结果并说明,而不是再次购买。
  4. 完成后,写回长期有效的信息——完善后的 business_overview 或 current_goal、在 SERP 中反复出现的竞争对手(通过 addCompetitors),以及关键词应落地的页面(通过 addKeyPages)——并追加一条研究日志:{ appendResearchLog: { summary: "Keyword research: <seeds/market>. Verdict: <conclusion>" } }。

以报告形式交付

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

OpenSEO MCP 工具

  • research_keywords:主要的发现工具。每次调用使用 1-5 个种子,优先获取 150 条结果,除非用户要求进行详尽研究。若要研究某个城市、县或地区的需求,请调用 search_serp_locations,并将返回的 locationName 传入种子:搜索量、CPC 和竞争度将采用本地数据;关键词建议、KD 和搜索意图仍为全国数据。
  • get_keyword_metrics:一次调用可为最多 700 个已知关键词补充搜索量、关键词难度(KD)、搜索意图、CPC 和月度趋势。可用它为候选词或已知词评分,包括步骤 1 中从 Search Console 获取的有上升空间的查询。
  • get_ranked_keywords:如果研究需求涉及某个目标域名或页面,请获取确切的排名关键词行。
  • get_search_console_performance:如果已连接 Search Console,请从项目的真实第一方需求入手——已获得展示且排名接近目标的查询(“有上升空间”的关键词)。传入 minPosition: 5, maxPosition: 20, minImpressions: 50,让服务端为你筛选这些关键词行(Google 按点击量排序,无法自行按排名筛选)。然后使用 get_keyword_metrics 为这些有上升空间的查询补充难度和搜索意图。
  • get_serp_results:检查排名靠前的候选词对应的 SERP,尤其是在搜索意图不明确时。若要查看某个城市、县或地区的 SERP,请传入相同的 locationName。
  • search_local_businesses、get_local_serp_results 和 get_google_business_questions:当本地 SEO 主题涉及商家/地点半径时使用。
  • list_saved_keywords:避免重复已保存的工作,或将现有标签用作背景信息。
  • save_keywords:仅在用户明确确认后保存所选关键词。

工作流

  1. 将种子词归纳为少量不同的研究方向。如果项目已连接 Search Console,先调用 get_search_console_performance,设置 minPosition: 5, maxPosition: 20, minImpressions: 50(默认回溯范围),再调用 get_keyword_metrics 补充这些查询的数据,添加 KD 和意图信息。这份已排名并补充数据的列表是最快的机会集合——先处理它,再进行广泛探索。
  2. 如果请求涉及本地 SEO,确定企业、地点/坐标或服务区域,以及本地类别。使用 research_keywords 和 locationName 研究该城市或县的本地搜索量。针对最重要的地点/关键词组合,使用 search_local_businesses 和 get_local_serp_results,而不是只依赖全国关键词/SERP 数据。
  3. 对探索性种子词调用 research_keywords。尽可能使用批量调用。
  4. 使用 get_keyword_metrics 为固定关键词列表(或步骤 1 中排名接近的查询)补充搜索量、KD 和意图数据,然后再确定优先级。
  5. 如果用户提供域名/页面,并希望根据当前排名、接近排名的关键词或竞争对手拥有的词寻找机会,则使用 get_ranked_keywords。
  6. 移除不相关、重复、仅限品牌以及意图不符的词。
  7. 根据实际机会而非单纯搜索量确定优先级:
    • 与用户的产品/页面/主题高度匹配
    • 搜索意图明确
    • 难度适中
    • 搜索量/CPC 信号有参考价值
    • 用户有望在该 SERP 中竞争
    • 对于本地 SEO,考虑本地包/Maps 的可见度和距离匹配度
  8. 对于潜力高或意图模糊的关键词,如果 SERP 意图会改变建议,则使用 get_serp_results;默认情况下,检查数量应较少。
  9. 提供一份简短列表和一份更长的机会表。
  10. 保存关键词前先征求同意。保存时,建议使用简洁的标签,例如 topic:<topic>、intent:<intent> 或 page:<slug>。

输出格式

h1:网站或主题。

如果适用报告模板(参见 seo-report),则由该模板的章节和语气取代此列表。

按以下顺序排列章节:

  1. 机会所在 — 开头用一到两句话指出最佳主题,以及网站为何现在有机会胜出。
  2. 立即锁定这些关键词 — 提供一张表格,列出关键词、意图、搜索量、KD、CPC 和要制作的页面。添加柱状图,对比简短列表中各关键词的搜索量。
  3. 为何选择这些关键词 — 对每个需要说明理由的关键词,列出一项发现:先说明 SERP 或指标证据,再指出要创建的页面。
  4. 更长的机会列表 — 第二张表格,列名相同。
  5. 风险与注意事项 — 注明会改变建议的 SERP 意图;缺失的指标写作 unknown;近似变体的搜索量是一个分组的总量,而非多个分组的总量。
  6. 下一步 — 使用有序列表,说明是否要进行关键词聚类、撰写内容简报或保存所选关键词。
  7. 报告制作方式 — 以 seo-report 中的技能链接行开头,链接指向 https://openseo.so/docs/skills/keyword-research(“OpenSEO 关键词研究技能”),然后说明哪些工具返回了哪些内容。

注意事项

  • 不要编造指标。如果 OpenSEO 未返回某个值,请写 unknown。
  • 未经明确确认,不要调用 save_keywords。
  • 相比追逐搜索量最大的词,应优先考虑与业务和意图的匹配度。

评论

支持 Markdown