keyword-clustering

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

OpenSEO Keyword Clustering

OpenSEO 关键词聚类

Goal

目标

Group keywords into page-level clusters and decide which existing or new page should target each cluster. This is a keyword mapping workflow, not just a semantic grouping exercise.
将关键词分组为页面级聚类,并确定每个聚类应指向现有页面还是新页面。这是一个关键词映射工作流,而非单纯的语义分组练习。

Required inputs

必要输入

  • projectId
  • A keyword list, saved keyword tag, seed topic, or target domain
  • Optional existing URLs/pages to map against
If keywords are not provided, use
list_saved_keywords
for saved sets,
research_keywords
for seed discovery, or
get_ranked_keywords
when the user starts from a target domain.
  • projectId
  • 关键词列表、已保存的关键词标签、种子主题或目标域名
  • 可选的待映射现有URL/页面
若未提供关键词,可使用
list_saved_keywords
获取已保存的关键词集,使用
research_keywords
基于种子主题拓展关键词,或在用户从目标域名开始时使用
get_ranked_keywords
获取关键词。

OpenSEO MCP tools

OpenSEO MCP工具

  • list_saved_keywords
    : fetch an existing keyword set, optionally filtered by tags.
  • research_keywords
    : expand a seed when the user starts from a topic.
  • get_ranked_keywords
    : gather exact ranking keywords and URLs when the user starts from a domain or page.
  • get_search_console_performance
    : when Search Console is connected, pull real queries with
    dimensions: ["query","page"]
    to map terms to the pages already earning impressions and to surface cannibalization (one query splitting clicks across multiple URLs).
  • get_serp_results
    : validate whether keywords belong on the same page by checking SERP overlap and intent.
  • get_local_serp_results
    : use for local SEO clusters when Maps/local-pack intent should affect page mapping.
  • save_keywords
    : optionally tag final clusters after user confirmation.
  • list_saved_keywords
    :获取现有关键词集,可选择按标签筛选。
  • research_keywords
    :当用户从主题开始时,拓展种子关键词。
  • get_ranked_keywords
    :当用户从域名或页面开始时,收集精确排名的关键词及对应URL。
  • get_search_console_performance
    :当连接Search Console后,拉取维度为
    ["query","page"]
    的真实查询数据,将术语映射到已获得曝光的页面,并发现关键词cannibalization(同一查询的点击分散到多个URL的情况)。
  • get_serp_results
    :通过检查SERP重叠度和搜索意图,验证关键词是否应归属于同一页面。
  • get_local_serp_results
    :用于本地SEO聚类,当地图/本地包意图会影响页面映射时使用。
  • save_keywords
    :经用户确认后,可选择性地为最终聚类添加标签。

Workflow

工作流

  1. Gather the candidate keyword set.
    • Use
      get_search_console_performance
      (dimensions
      ["query","page"]
      ) when Search Console is connected to start from real queries and the pages already ranking for them.
    • Use
      get_ranked_keywords
      for domain/page-driven clustering.
    • Use
      search_local_businesses
      and
      get_local_serp_results
      when proximity, local packs, or Google Business results determine whether terms belong on location pages.
  2. Remove duplicates, irrelevant terms, and terms that clearly require a different product or audience.
  3. Build clusters around intent and page type:
    • Same SERP intent and similar ranking pages belong together.
    • Different intent, buyer stage, or SERP format should be split.
    • Similar words do not guarantee the same cluster.
  4. For important borderline terms, use a small
    get_serp_results
    batch to check overlap.
  5. Assign each cluster to:
    • Existing URL, if supplied and appropriate
    • New page recommendation, if no existing page fits
    • Do-not-target / later bucket, if weak or off-strategy
  6. Identify cannibalization risk when multiple pages would target the same intent. When Search Console is connected, confirm it from real data with
    get_search_console_performance
    (
    dimensions: ["query","page"]
    ) — the same query sending impressions to multiple URLs.
  7. Ask before applying cluster tags with
    save_keywords
    .
  1. 收集候选关键词集。
    • 若已连接Search Console,优先使用
      get_search_console_performance
      (维度
      ["query","page"]
      ),从真实查询数据及已有排名页面入手。
    • 针对域名/页面驱动的聚类,使用
      get_ranked_keywords
    • 当距离、本地包或Google商家结果决定术语是否应归属位置页面时,使用
      search_local_businesses
      get_local_serp_results
  2. 移除重复项、无关术语,以及明显针对不同产品或受众的术语。
  3. 基于搜索意图和页面类型构建聚类:
    • 具有相同SERP意图和相似排名页面的关键词归为一组。
    • 搜索意图、购买阶段或SERP格式不同的关键词应拆分。
    • 词汇相似并不保证属于同一聚类。
  4. 对于重要的边缘术语,使用小批量
    get_serp_results
    检查重叠度。
  5. 为每个聚类分配目标:
    • 若提供了合适的现有URL,则指向该URL
    • 若无合适的现有页面,则推荐创建新页面
    • 若关键词质量低或不符合策略,则归入“暂不目标/后续处理”分组
  6. 识别多个页面针对同一意图的关键词cannibalization风险。当连接Search Console时,使用
    get_search_console_performance
    (维度:["query","page"])从真实数据中确认——即同一查询向多个URL发送曝光量。
  7. 使用
    save_keywords
    添加聚类标签前需征得用户同意。

Output format

输出格式

Start with a short mapping summary:
  • Number of clusters
  • Pages to create
  • Existing pages to update
  • Cannibalization or consolidation issues
Then include:
ClusterPrimary keywordSecondary keywordsIntentTarget pagePriorityNotes
For each cluster, include a recommended page brief:
  • Page type
  • Searcher problem
  • Required sections
  • Internal-link opportunities
  • Save/tag suggestion
先提供简短的映射摘要:
  • 聚类数量
  • 需创建的页面数
  • 需更新的现有页面数
  • 关键词cannibalization或页面整合问题
随后包含表格:
聚类组主关键词次要关键词搜索意图目标页面优先级备注
为每个聚类提供推荐的页面简介:
  • 页面类型
  • 搜索者需求
  • 必要章节
  • 内链机会
  • 保存/标签建议

Guardrails

约束规则

  • Do not over-cluster tiny keyword sets. If there are fewer than 10 usable terms, produce a simple map.
  • Do not rely on lexical similarity alone. SERP intent wins.
  • Do not replace tags broadly without explicit confirmation.
  • If existing URL data is missing, label target pages as proposed.
  • 不要对小型关键词集过度聚类。若可用术语少于10个,生成简单映射即可。
  • 不要仅依赖词汇相似性。SERP搜索意图优先。
  • 未经明确确认,不要大范围替换标签。
  • 若缺少现有URL数据,将目标页面标记为拟创建。