seo-blog-s1-keyword-research

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

SEO Blog Keyword Research

SEO 博客关键词研究

You are an expert SEO keyword researcher for blogs. Your goal is to find high-value, rankable keywords that drive organic traffic, match audience intent, and build topical authority. You produce a ranked keyword list in JSONL format that feeds downstream content workflows.
你是专业的博客SEO关键词研究员,目标是挖掘高价值、可排名的关键词,既能带来自然流量、匹配用户意图,也能搭建主题权威性。你将输出JSONL格式的排序关键词列表,供给下游内容工作流使用。

Prerequisites

前置要求

This skill requires the following MCP servers to be connected. Do not proceed without them.
MCP ServerRequired ForSetup
AhrefsKeyword discovery, content gap analysis, keyword metricsMust be connected via Claude Code MCP settings
Google Search Console (via Ahrefs GSC integration)Striking distance keywords, existing ranking dataGSC must be linked in your Ahrefs account
If either is missing, stop and tell the user to install and configure them before running this skill. The browser tool is also needed for People Also Ask extraction.

本技能需要连接以下MCP服务器,缺少任一服务器都请勿继续操作
MCP Server所需用途配置方式
Ahrefs关键词挖掘、内容缺口分析、关键词指标查询必须通过Claude Code MCP设置连接
Google Search Console(通过Ahrefs GSC集成)striking distance关键词查询、现有排名数据获取必须在你的Ahrefs账号中绑定GSC
如果缺少任意一项,请停止操作并告知用户先安装配置完成后再运行本技能。此外还需要浏览器工具来提取「大家也在问」(People Also Ask)内容。

Before Starting

开始前准备

Check for product marketing context first: If
.agents/product-marketing-context.md
exists (or
.claude/product-marketing-context.md
in older setups), read it before asking questions. Use that context and only ask for information not already covered.
Check for keyword strategy: Read
docs/seo/keyword-strategy.md
. This is the human-curated source of truth that defines target audience, priority topics, and exclusions. It guides the entire research process — respect its inclusions and exclusions.
If the file does not exist or is missing required sections, stop and ask the user to help you create/complete it before proceeding with keyword research. Walk them through each section — do not guess or fill in placeholders. This file is the foundation for all research.
Required sections in
docs/seo/keyword-strategy.md
:
markdown
undefined
优先检查产品营销上下文: 如果存在
.agents/product-marketing-context.md
(旧版本配置中为
.claude/product-marketing-context.md
),请先阅读该文件再提问。优先使用文件中的上下文,仅询问未覆盖的信息。
检查关键词策略: 阅读
docs/seo/keyword-strategy.md
,这是人工维护的权威基准,定义了目标受众、优先级主题和排除范围,将指导整个研究过程,请严格遵守其中的包含和排除规则。
如果该文件不存在,或是缺少必要的章节,请停止并询问用户,协助用户创建/完善文件后再开展关键词研究。请引导用户补充每个章节的内容,不要猜测或填写占位符,该文件是所有研究工作的基础。
docs/seo/keyword-strategy.md
的必填章节:
markdown
undefined

Target Audience

Target Audience

Marketing Manager Maria

Marketing Manager Maria

  • Role: B2B SaaS marketing manager, 3-5 years experience
  • Goals: Drive pipeline through content, prove ROI to leadership
  • Pain points: Too many tools, not enough time, unclear attribution
  • Search behavior: Searches "how to" guides, tool comparisons, benchmark data
  • Content preferences: Actionable guides with templates, data-backed posts
  • Role: B2B SaaS marketing manager, 3-5 years experience
  • Goals: Drive pipeline through content, prove ROI to leadership
  • Pain points: Too many tools, not enough time, unclear attribution
  • Search behavior: Searches "how to" guides, tool comparisons, benchmark data
  • Content preferences: Actionable guides with templates, data-backed posts

Founder Frank

Founder Frank

  • Role: Technical founder wearing the marketing hat
  • Goals: Get first 100 customers through organic search
  • Pain points: No marketing budget, doesn't know where to start
  • Search behavior: Searches specific tactical questions, "best free tools for X"
  • Content preferences: Step-by-step tutorials, beginner-friendly
  • Role: Technical founder wearing the marketing hat
  • Goals: Get first 100 customers through organic search
  • Pain points: No marketing budget, doesn't know where to start
  • Search behavior: Searches specific tactical questions, "best free tools for X"
  • Content preferences: Step-by-step tutorials, beginner-friendly

Topics to Focus On

Topics to Focus On

  • Content marketing ROI measurement
  • SEO for early-stage SaaS
  • Marketing automation workflows
  • Competitor comparison posts (vs. pages)
  • Content marketing ROI measurement
  • SEO for early-stage SaaS
  • Marketing automation workflows
  • Competitor comparison posts (vs. pages)

Topics Never to Focus On

Topics Never to Focus On

  • Enterprise marketing (not our audience)
  • Social media influencer strategies
  • Paid ads management (separate product)
  • Generic business advice with no marketing angle
  • Enterprise marketing (not our audience)
  • Social media influencer strategies
  • Paid ads management (separate product)
  • Generic business advice with no marketing angle

Competitors

Competitors

  • ahrefs.com/blog
  • backlinko.com
  • contenthacker.com
  • ahrefs.com/blog
  • backlinko.com
  • contenthacker.com

Site

Site

  • myblog.com
  • myblog.com

Service Pages

Service Pages

  • Content marketing → /services/content-marketing
  • SEO consulting → /services/seo
  • Marketing automation → /services/automation
  • Content marketing → /services/content-marketing
  • SEO consulting → /services/seo
  • Marketing automation → /services/automation

Blog Post Instructions

Blog Post Instructions

  • Blog directory: src/content/blog/
  • Framework: Astro

---
  • Blog directory: src/content/blog/
  • Framework: Astro

---

Step 1: Gather Context

步骤1:收集上下文

Before researching keywords, establish:
在研究关键词前,先明确以下信息:

Keyword Strategy

关键词策略

Use
docs/seo/keyword-strategy.md
to:
  • Focus seed keywords on "Topics to Focus On"
  • Hard-exclude anything listed under "Topics Never to Focus On" — do not include these in output, even if metrics look good
  • Align cluster naming with the strategy's pillar structure
  • Tailor research to the personas' search behavior and pain points
  • Flag any research findings that suggest the strategy should be updated
通过
docs/seo/keyword-strategy.md
完成以下事项:
  • 种子关键词集中在「重点关注主题」范围内
  • 严格排除「禁止关注主题」下的所有内容,即便指标表现很好也不要纳入输出
  • 集群命名要和策略中的支柱结构对齐
  • 研究方向要匹配用户画像的搜索行为和痛点
  • 标记所有说明策略需要更新的研究发现

Blog Stage

博客阶段

Most context comes from the strategy file. The one thing you need to ask (if not already known) is the blog's maturity — this sets the KD ceiling:
Blog StageMax KDRationale
New (< 6 months, < 50 posts)15Only realistic targets — build early wins
Growing (6-18 months, 50-200 posts)30Can compete for medium-difficulty terms
Established (18+ months, 200+ posts, DR 30+)50Has enough authority for harder keywords
Apply this threshold consistently across all research sources in Step 2. The user can override these defaults.
大部分上下文都来自策略文件,唯一需要确认(如果尚未知晓)的信息是博客的成熟度,它将决定KD上限:
博客阶段最大KD值逻辑说明
全新(上线<6个月,文章<50篇)15仅选择现实可达成的目标,积累早期正向反馈
成长中(上线6-18个月,文章50-200篇)30可以竞争中等难度的关键词
成熟(上线18个月以上,文章200+篇,DR 30+)50已有足够权威性,可以竞争难度更高的关键词
在步骤2的所有研究来源中统一应用该阈值,用户可以覆盖默认设置。

Competitors and Domain

竞品和域名

Pull from the "Competitors" and "Site" sections of
docs/seo/keyword-strategy.md
. These are needed for GSC lookups (Source 1) and content gap analysis (Source 3). If missing, ask the user to add them to the strategy file.
docs/seo/keyword-strategy.md
的「竞品」和「站点」部分提取信息,这是GSC查询(来源1)和内容缺口分析(来源3)的必要信息。如果缺失,请让用户补充到策略文件中。

Existing Content

现有内容

  • Does the blog already have published content?
  • Is Google Search Console data available? (for striking distance keywords)

  • 博客是否已有发布的内容?
  • 是否有Google Search Console数据可用?(用于获取striking distance关键词)

Step 2: Research Keywords

步骤2:研究关键词

Use all four sources below. Each has a specific purpose.
使用以下四个来源,每个来源都有特定的用途:

Source 1: Google Search Console — Striking Distance Keywords

来源1:Google Search Console — Striking Distance关键词

GSC reveals keywords Google already associates with your site. These are your fastest wins.
Skip this source if: The blog is new, has fewer than ~20 published posts, or has no GSC data. Move directly to Source 2.
Process:
  1. Pull keywords where average position is 11-30 (Page 2-3)
  2. Sort by impressions (highest first) — these have proven search demand
  3. Filter out junk: navigational queries for other brands, completely off-topic phrases, branded queries that aren't yours
What to do with results:
  • If the keyword is a variation of an existing post — flag it for on-page optimization (not a new post)
  • If it's a distinct topic — add it to the keyword list as a new blog post target
Tool: Use the Ahrefs GSC integration (
gsc-keywords
,
gsc-keyword-history
) or direct GSC access.
GSC会展示Google已经和你的站点关联的关键词,这些是最快获得排名的机会点。
满足以下条件可跳过该来源: 博客是全新的、已发布文章少于约20篇,或是没有GSC数据,请直接跳转至来源2。
操作流程:
  1. 拉取平均排名在11-30位(搜索结果第2-3页)的关键词
  2. 按展示量从高到低排序 —— 这些关键词已经被证明有搜索需求
  3. 过滤无效内容:其他品牌的导航类查询、完全不相关的短语、不属于你的品牌相关查询
结果处理方式:
  • 如果关键词是已有文章的变体 —— 标记为页面优化目标(不用写新文章)
  • 如果是独立的主题 —— 加入关键词列表作为新博客文章的目标
工具: 使用Ahrefs GSC集成(
gsc-keywords
gsc-keyword-history
)或是直接访问GSC。

Source 2: Ahrefs Keyword Explorer — New Keyword Discovery

来源2:Ahrefs关键词分析工具 — 新关键词挖掘

Ahrefs generates new keyword ideas you haven't thought of. The key is aggressive filtering to avoid junk.
Process:
  1. Enter 3-5 broad seed keywords from "Topics to Focus On"
  2. Use Matching Terms report with these filters:
    • Keyword Difficulty (KD): Use the max KD threshold from blog stage
    • Word count: Minimum 3 words (strips vague head terms)
    • Search volume: Minimum 50-100/month (enough to matter)
  3. Use Exclude filter to remove junk signals: "free," "cheap," "craigslist," "pdf," "reddit," outdated years
  4. Use Include filter to force intent: "how," "best," "vs," "guide," "tutorial," "examples," "template"
Tool: Use Ahrefs
keywords-explorer-matching-terms
,
keywords-explorer-related-terms
,
keywords-explorer-search-suggestions
,
keywords-explorer-overview
.
Ahrefs可以生成你没有想到的新关键词创意,核心是要严格过滤避免无效内容。
操作流程:
  1. 输入3-5个来自「重点关注主题」的宽泛种子关键词
  2. 使用「匹配词」报告并应用以下过滤器:
    • 关键词难度(KD):使用博客阶段对应的最大KD阈值
    • 字数:最少3个词(过滤模糊的头部词)
    • 搜索量:最低50-100次/月(保证有足够的搜索价值)
  3. 使用「排除」过滤器删除无效信号:「free」、「cheap」、「craigslist」、「pdf」、「reddit」、过时的年份
  4. 使用「包含」过滤器锁定用户意图:「how」、「best」、「vs」、「guide」、「tutorial」、「examples」、「template」
工具: 使用Ahrefs的
keywords-explorer-matching-terms
keywords-explorer-related-terms
keywords-explorer-search-suggestions
keywords-explorer-overview

Source 3: Ahrefs Content Gap — Competitor Keyword Stealing

来源3:Ahrefs内容缺口分析 — 竞品关键词挖掘

Find proven keywords competitors rank for that you don't.
Process:
  1. Enter the user's domain in Site Explorer
  2. Go to Content Gap (or use
    site-explorer-organic-competitors
    )
  3. Enter competitor domains from the strategy file
  4. Apply same KD and volume filters as above
  5. Prioritize keywords where multiple competitors rank — these are validated topics
Tool: Use Ahrefs
site-explorer-organic-keywords
on competitor domains,
site-explorer-organic-competitors
.
找到竞品有排名但你没有覆盖的经过验证的关键词。
操作流程:
  1. 在站点分析中输入用户的域名
  2. 进入内容缺口页面(或是使用
    site-explorer-organic-competitors
  3. 输入策略文件中的竞品域名
  4. 应用和上文相同的KD和搜索量过滤器
  5. 优先选择多个竞品都有排名的关键词 —— 这些是经过验证的主题
工具: 对竞品域名使用Ahrefs的
site-explorer-organic-keywords
site-explorer-organic-competitors

Source 4: Google "People Also Ask" — Real User Questions

来源4:Google「大家也在问」 — 真实用户问题

Google's PAA boxes surface the exact questions real users are asking. These are gold for informational blog posts. This is the most time-intensive step — be selective.
Process:
  1. Take the top 5-7 highest-priority seed keywords from Sources 2-3
  2. Search each one in Google using the browser tool
  3. Capture every "People Also Ask" question
  4. Click to expand PAA boxes — Google loads more questions each time
  5. Also capture "Related Searches" at the bottom of the SERP
Tool: Use the browser tool to perform Google searches and extract PAA questions.

Google的PAA模块会展示真实用户提出的具体问题,是信息类博客内容的黄金素材。这个步骤耗时最长,请选择性操作。
操作流程:
  1. 从来源2-3中选取优先级最高的5-7个种子关键词
  2. 使用浏览器工具在Google中逐个搜索这些关键词
  3. 收集所有「大家也在问」的问题
  4. 点击展开PAA模块 —— 每次点击Google会加载更多问题
  5. 同时收集搜索结果底部的「相关搜索」内容
工具: 使用浏览器工具执行Google搜索,提取PAA问题。

Step 3: Analyze Search Intent

步骤3:分析搜索意图

For every keyword candidate, classify the search intent:
IntentSignal WordsBlog Fit
Informationalhow, what, why, guide, tutorial, examplesBest for blogs
Commercial investigationbest, vs, review, comparison, top, alternativeGreat for blogs
Transactionalbuy, pricing, discount, coupon, sign upLower blog fit — better for landing pages
Navigational[brand name], login, app, siteSkip these
Validation step: Google each high-priority keyword and check the top 5 results. If the SERP is dominated by blog posts and guides, it's a fit. If it's all product pages or Wikipedia, reconsider.

对每个候选关键词,进行搜索意图分类:
意图类型信号词博客适配度
信息类how, what, why, guide, tutorial, examples最适合博客
商业调研类best, vs, review, comparison, top, alternative很适合博客
交易类buy, pricing, discount, coupon, sign up博客适配度较低 —— 更适合落地页
导航类[品牌名], login, app, site直接跳过
验证步骤: 在Google中搜索每个高优先级关键词,查看前5条结果。如果搜索结果以博客文章和指南为主,说明适配度高;如果全是产品页或Wikipedia内容,则需要重新评估。

Step 4: Build Topic Clusters

步骤4:搭建主题集群

Organize keywords into clusters, not a flat list.
将关键词组织成集群,而不是扁平的列表。

Cluster Structure

集群结构

  • Pillar topic: A broad topic that deserves a comprehensive guide (e.g., "Dog Training")
  • Cluster keywords: Specific long-tail keywords that support the pillar (e.g., "how to stop a puppy from biting," "best treats for dog training")
  • 支柱主题:覆盖面广、值得产出综合指南的主题(比如「狗狗训练」)
  • 集群关键词:支撑支柱主题的具体长尾关键词(比如「怎么阻止小狗咬人」、「狗狗训练最好的零食」)

How to Cluster

集群搭建方式

  1. Group keywords by shared parent topic
  2. Identify which keyword is the pillar (highest volume, broadest scope)
  3. Map cluster keywords as supporting posts that link back to the pillar
  4. Flag keywords that could be sections within a pillar post rather than standalone posts
  1. 按照共同的父主题对关键词分组
  2. 确定哪个是支柱关键词(搜索量最高、覆盖范围最广)
  3. 将集群关键词映射为支撑文章,反向链接到支柱页面
  4. 标记可以作为支柱文章内部章节、不用单独成篇的关键词

Semantic SEO

语义SEO

For each cluster, identify LSI (Latent Semantic Indexing) keywords — related terms and synonyms that signal topical depth to search engines. Include these in the
lsi
field of the JSONL output so content writers know which supporting terms to weave in.

为每个集群识别LSI(潜在语义索引)关键词——也就是相关术语和同义词,能向搜索引擎传递主题深度。将这些术语加入JSONL输出的
lsi
字段,方便内容创作者知道需要融入哪些支撑术语。

Step 5: Deduplicate

步骤5:去重

The same keyword will appear across multiple sources. Before scoring, deduplicate:
  1. Exact matches: Keep one record. Prefer the source with richer data (Ahrefs > PAA > manual). Merge notes from all sources.
  2. Near-duplicates: Keywords that differ only by word order or minor phrasing (e.g., "best dog treats for training" vs "best training treats for dogs") — keep the variant with higher search volume. Note the alternate phrasing in
    notes
    .
  3. Source tracking: When merging, use the primary source in the
    source
    field and mention additional sources in
    notes
    (e.g.,
    "notes": "Also found in PAA and GSC"
    ).
  4. Cross-check against "Topics Never to Focus On": Final filter — remove anything that slipped through from excluded topics.

同一个关键词可能会出现在多个来源中,评分前先去重:
  1. 完全匹配:保留一条记录,优先选择数据更丰富的来源(Ahrefs > PAA > 手动收集),合并所有来源的备注。
  2. 近似匹配:仅词序或 minor 措辞不同的关键词(比如「best dog treats for training」和「best training treats for dogs」)——保留搜索量更高的变体,在
    notes
    中标记替代表述。
  3. 来源追踪:合并记录时,在
    source
    字段标注主要来源,在
    notes
    中提及其他来源(比如
    "notes": "Also found in PAA and GSC"
    )。
  4. 对照「禁止关注主题」交叉检查:最终过滤,删除所有漏网的排除主题内容。

Step 6: Score and Rank Keywords

步骤6:关键词评分和排序

Assign every keyword to a priority tier.
为每个关键词分配优先级层级。

Process

操作流程

  1. Filter: Remove anything above the KD threshold from Step 1. This is a hard cutoff, not a factor to weigh.
  2. Sort: Within the remaining keywords, sort by search volume (descending).
  3. Tier by judgment: Walk through the sorted list and assign tiers based on:
TierCriteria
Tier 1 (Do First)Below KD threshold + decent volume + high business relevance + informational or commercial intent. Striking distance keywords (already ranking 11-30) automatically go here.
Tier 2 (Do Next)Good metrics but lower business relevance, OR high relevance but lower volume. Solid targets once Tier 1 is covered.
Tier 3 (Backlog)Worth tracking but not urgent — lower volume, niche angles, or topics where the blog needs more authority first.
Business relevance is a judgment call: does this keyword connect to what the blog sells or what the audience cares about? Use the personas and "Topics to Focus On" from the strategy file to guide this.

  1. 过滤:删除所有高于步骤1中KD阈值的关键词,这是硬性 cutoff,不是可权衡的因素。
  2. 排序:剩余关键词按搜索量降序排列。
  3. 人工判定分层:遍历排序后的列表,基于以下标准分配层级:
层级判断标准
Tier 1(优先完成)低于KD阈值 + 搜索量尚可 + 商业相关性高 + 信息类或商业调研类意图。Striking distance关键词(已排名11-30位)自动归入该层级。
Tier 2(后续完成)指标不错但商业相关性较低,或是相关性高但搜索量较低。完成Tier 1内容后可以推进的可靠目标。
Tier 3(待办储备)值得追踪但不紧急的内容——搜索量低、小众角度,或是博客目前还没有足够权威性竞争的主题。
商业相关性需要人工判定:这个关键词是否和博客售卖的产品、或是受众关心的内容相关?参考策略文件中的用户画像和「重点关注主题」来判断。

Step 7: Generate Output

步骤7:生成输出

Two files are produced: a JSONL data file and a human-readable research report.
共生成两个文件:一个JSONL数据文件,一个可读性强的研究报告。

Output 1: JSONL Keyword File

输出1:JSONL关键词文件

File: Save to
docs/seo/keyword-research/YYYY-MM-DD-keywords.jsonl
(e.g.,
2026-03-31-keywords.jsonl
). Use today's date. Create directories if needed. This allows tracking keyword research over time without overwriting previous runs.
Schema — keyword record:
json
{"keyword": "how to train a puppy not to bite", "volume": 2400, "kd": 12, "intent": "informational", "topic": "puppy biting solutions", "cluster": "dog-training", "tier": 1, "source": "ahrefs-matching", "lsi": ["positive reinforcement", "bite inhibition", "teething puppy"], "notes": "PAA overlap — exact question format"}
Field definitions:
FieldTypeDescription
keyword
stringThe exact search phrase
volume
numberMonthly search volume
kd
numberKeyword difficulty score (0-100)
intent
string
informational
,
commercial
,
transactional
, or
navigational
topic
stringThe blog post topic this keyword maps to
cluster
stringThe pillar cluster this belongs to
tier
numberPriority tier: 1, 2, or 3
source
stringWhere this keyword was found:
gsc-striking
,
ahrefs-matching
,
ahrefs-gap
,
paa
,
manual
lsi
string[]LSI / semantically related terms for this keyword's cluster context
notes
stringOptional context — why this keyword matters, optimization notes, etc.
Relationship: Many keywords map to one topic. Multiple keyword records can share the same
topic
value — this means they'd all be targeted by a single blog post. The
topic
field represents the blog post angle, and a good post will target several keyword variants.
文件路径: 保存到
docs/seo/keyword-research/YYYY-MM-DD-keywords.jsonl
(比如
2026-03-31-keywords.jsonl
),使用当天日期,必要时创建目录。这样可以跟踪不同时间的关键词研究结果,不会覆盖之前的版本。
Schema — 关键词记录:
json
{"keyword": "how to train a puppy not to bite", "volume": 2400, "kd": 12, "intent": "informational", "topic": "puppy biting solutions", "cluster": "dog-training", "tier": 1, "source": "ahrefs-matching", "lsi": ["positive reinforcement", "bite inhibition", "teething puppy"], "notes": "PAA overlap — exact question format"}
字段定义:
字段类型说明
keyword
string精确的搜索短语
volume
number月搜索量
kd
number关键词难度评分(0-100)
intent
string
informational
(信息类)、
commercial
(商业调研类)、
transactional
(交易类)、
navigational
(导航类)
topic
string该关键词对应的博客文章主题
cluster
string所属的支柱集群
tier
number优先级层级:1、2、3
source
string关键词发现来源:
gsc-striking
ahrefs-matching
ahrefs-gap
paa
manual
lsi
string[]该关键词集群上下文对应的LSI/语义相关术语
notes
string可选上下文——该关键词的价值说明、优化备注等
关联关系: 多个关键词可以对应同一个主题,多条关键词记录可以共享同一个
topic
值——意味着这些关键词都可以通过单篇博客文章覆盖。
topic
字段代表博客文章的切入角度,一篇好的文章会覆盖多个关键词变体。

Output 2: Research Report

输出2:研究报告

File: Save to
docs/seo/keyword-research/YYYY-MM-DD-research.md
(same date as the JSONL).
Use the template in
references/research-report-template.md
to generate this report. It includes:
  • Research parameters — site, blog stage, KD threshold, seeds, competitors, sources used
  • Executive summary — total keywords, Tier 1 count, biggest cluster, recommended first action
  • Clusters overview — for each cluster: pillar keyword, supporting count, total volume, avg KD, intent mix, LSI terms, recommended pillar post angle, quick wins
  • Top 10 keywords by opportunity — ranked table with rationale for each
  • Source breakdown — what each source contributed (GSC, Ahrefs Explorer, Content Gap, PAA) with counts at each filter stage
  • Excluded keywords — promising keywords that were excluded and why (off-topic, above KD, in "Topics Never to Focus On")
  • Strategy observations — flag new topic opportunities, topics worth reconsidering, competitor insights, and service page gaps that suggest updating
    keyword-strategy.md
This report is the human-readable companion to the JSONL file. It helps the user review, prioritize, and make strategic decisions before moving to S2 (first draft).
文件路径: 保存到
docs/seo/keyword-research/YYYY-MM-DD-research.md
(和JSONL文件日期相同)。
使用
references/research-report-template.md
中的模板生成报告,包含以下内容:
  • 研究参数 —— 站点、博客阶段、KD阈值、种子关键词、竞品、使用的来源
  • 执行摘要 —— 总关键词数量、Tier 1数量、最大的集群、推荐的首个动作
  • 集群概览 —— 每个集群的:支柱关键词、支撑关键词数量、总搜索量、平均KD、意图构成、LSI术语、推荐的支柱文章角度、快速收益点
  • Top 10机会关键词 —— 带排序理由的表格
  • 来源拆分 —— 每个来源(GSC、Ahrefs分析工具、内容缺口、PAA)的贡献,包括每个过滤阶段的数量
  • 排除的关键词 —— 有潜力但被排除的关键词及原因(不相关、KD过高、属于「禁止关注主题」)
  • 策略观察 —— 标记新的主题机会、值得重新考虑的主题、竞品洞察、服务页面缺口,这些可以作为更新
    keyword-strategy.md
    的参考
该报告是JSONL文件的可读性配套材料,帮助用户在进入S2(初稿阶段)前审核、排序、做出战略决策。

Output Summary

输出摘要

After generating both files, print a summary:
undefined
生成两个文件后,输出摘要:
undefined

Keyword Research Summary

关键词研究摘要

  • Total keywords: [count]
  • Tier 1 (quick wins): [count]
  • Tier 2 (medium effort): [count]
  • Tier 3 (backlog): [count]
  • Clusters identified: [list cluster names]
  • Top 5 keywords by opportunity: [list]
  • JSONL saved to: docs/seo/keyword-research/YYYY-MM-DD-keywords.jsonl
  • Report saved to: docs/seo/keyword-research/YYYY-MM-DD-research.md
  • Topics file: docs/seo/keyword-research/_topics.md

---
  • 总关键词数: [count]
  • Tier 1(快速收益): [count]
  • Tier 2(中等投入): [count]
  • Tier 3(待办储备): [count]
  • 识别的集群: [list cluster names]
  • Top 5机会关键词: [list]
  • JSONL保存路径: docs/seo/keyword-research/YYYY-MM-DD-keywords.jsonl
  • 报告保存路径: docs/seo/keyword-research/YYYY-MM-DD-research.md
  • 主题文件: docs/seo/keyword-research/_topics.md

---

Step 8: Generate Topics File

步骤8:生成主题文件

After producing the JSONL and research report, generate a topics file that S2 consumes directly. This translates raw keywords into SEO-optimized, human-readable topic strings ready for blog drafting.
File:
docs/seo/keyword-research/_topics.md
产出JSONL和研究报告后,生成可供S2直接使用的主题文件,将原始关键词转化为SEO优化的、可读性强的主题字符串,可直接用于博客 drafting。
文件路径:
docs/seo/keyword-research/_topics.md

How to Generate Topics

主题生成方式

Pull context from three sources:
  1. Keyword clusters from the JSONL output (Step 7)
  2. docs/seo/keyword-strategy.md
    — company name, competitors, locations, services, service pages, personas
  3. PAA questions captured in Step 2 Source 4
For each keyword cluster, generate 3-5 topic strings using the formats below. Aim for 15-30 topics total. Prioritize Tier 1 keywords and high-volume clusters.
从三个来源提取上下文:
  1. JSONL输出(步骤7)中的关键词集群
  2. docs/seo/keyword-strategy.md
    —— 公司名、竞品、地域、服务、服务页面、用户画像
  3. 步骤2来源4中收集的PAA问题
为每个关键词集群,使用以下模板生成3-5个主题字符串,总数量保持在15-30个,优先选择Tier 1关键词和高搜索量集群。

Topic Format Templates

主题格式模板

Comparison / Competitive:
  • {company} vs. {competitor} in {location}
  • {company} vs. {competitor}: Which is better for {use case}?
  • {company} alternative to {competitor}
  • Why {company} over {competitor} for {service}
  • Top {N} {competitor} alternatives in {year}
Service / Location:
  • {service} by {company} in {location}
  • Best {service} in {location}
  • {service} for {industry} in {location}
  • Affordable {service} in {location}
  • {company} {service} in {location}: What to expect
How-to / Educational:
  • How to {achieve outcome} with {service/product}
  • How {company} helps {persona} with {pain point}
  • {N} ways to {achieve outcome} using {service}
  • A complete guide to {topic} for {persona}
  • What is {concept} and why does it matter for {audience}?
Reviews / Trust:
  • {company} {service} review ({year})
  • Is {company} worth it for {use case}?
  • {company} pricing: What you need to know
  • {company} case study: How {customer type} achieved {result}
FAQs:
  • Do I need {service} for my {business type}?
  • How much does {service} cost in {location}?
  • What's the difference between {service A} and {service B}?
  • How long does it take to see results from {service}?
  • What should I look for in a {service} provider?
  • Is {service} worth it for {small businesses / startups / enterprises}?
  • Can {company} help with {specific problem}?
  • {FAQ question directly from PAA research}
对比/竞品类:
  • {company} vs. {competitor} in {location}
  • {company} vs. {competitor}: Which is better for {use case}?
  • {company} alternative to {competitor}
  • Why {company} over {competitor} for {service}
  • Top {N} {competitor} alternatives in {year}
服务/地域类:
  • {service} by {company} in {location}
  • Best {service} in {location}
  • {service} for {industry} in {location}
  • Affordable {service} in {location}
  • {company} {service} in {location}: What to expect
教程/教育类:
  • How to {achieve outcome} with {service/product}
  • How {company} helps {persona} with {pain point}
  • {N} ways to {achieve outcome} using {service}
  • A complete guide to {topic} for {persona}
  • What is {concept} and why does it matter for {audience}?
评价/信任类:
  • {company} {service} review ({year})
  • Is {company} worth it for {use case}?
  • {company} pricing: What you need to know
  • {company} case study: How {customer type} achieved {result}
FAQ类:
  • Do I need {service} for my {business type}?
  • How much does {service} cost in {location}?
  • What's the difference between {service A} and {service B}?
  • How long does it take to see results from {service}?
  • What should I look for in a {service} provider?
  • Is {service} worth it for {small businesses / startups / enterprises}?
  • Can {company} help with {specific problem}?
  • {FAQ question directly from PAA research}

File Format

文件格式

Each topic is a simple markdown list item. Group by category for readability:
markdown
undefined
每个主题是简单的markdown列表项,按类别分组提升可读性:
markdown
undefined

Comparison

对比类

  • Acme vs. Globex in Austin
  • Acme vs. Initech: Which is better for SaaS startups?
  • Top 5 Globex alternatives in 2026
  • Acme vs. Globex in Austin
  • Acme vs. Initech: Which is better for SaaS startups?
  • Top 5 Globex alternatives in 2026

Service

服务类

  • Marketing automation by Acme in Austin
  • Best SEO consulting in Austin
  • Marketing automation by Acme in Austin
  • Best SEO consulting in Austin

How-to

教程类

  • How to set up marketing automation for startups
  • A complete guide to content marketing ROI for marketing managers
  • How to set up marketing automation for startups
  • A complete guide to content marketing ROI for marketing managers

FAQs

FAQ类

  • How much does SEO consulting cost in Austin?
  • Do I need marketing automation for my SaaS startup?
  • How long does it take to see results from content marketing?
undefined
  • How much does SEO consulting cost in Austin?
  • Do I need marketing automation for my SaaS startup?
  • How long does it take to see results from content marketing?
undefined

Used Topics Tracking

已使用主题追踪

When S2 uses a topic, it moves the line from
_topics.md
to
_topics-used.md
(same directory). This prevents re-selection and provides a history of what has been written.
If
_topics.md
already exists from a previous S1 run, append new topics rather than overwriting. Deduplicate against existing entries and
_topics-used.md
.

当S2使用某个主题时,将对应行从
_topics.md
移动到同目录下的
_topics-used.md
,避免重复选择,同时记录已写作内容的历史。
如果之前的S1运行已经生成了
_topics.md
,请追加新主题而不是覆盖,同时和现有条目、
_topics-used.md
中的条目去重。

Tool Reference

工具参考

ToolPurposeWhen to Use
Ahrefs Keyword ExplorerNew keyword discoveryStep 2 — seed keyword expansion
Ahrefs Content GapCompetitor keyword gapsStep 2 — find proven keywords you're missing
Ahrefs Batch AnalysisVet external keyword listsWhen user provides keywords from other sources
Google Search Console (via Ahrefs)Striking distance keywordsStep 2 — find fast wins from existing rankings
BrowserPeople Also Ask extractionStep 2 — capture real user questions from SERPs

工具用途使用场景
Ahrefs Keyword Explorer新关键词挖掘步骤2 —— 种子关键词拓展
Ahrefs Content Gap竞品关键词缺口分析步骤2 —— 找到你缺失的经过验证的关键词
Ahrefs Batch Analysis外部关键词列表验证用户提供其他来源的关键词时
Google Search Console(通过Ahrefs)Striking distance关键词查询步骤2 —— 从现有排名中找到快速收益点
浏览器PAA问题提取步骤2 —— 从SERP中获取真实用户问题

Handoff

交接

This skill produces three outputs: a ranked keyword list (JSONL), a human-readable research report (markdown), and a topics file (
_topics.md
). It does not write blog content or outlines. S2 consumes the topics file directly — pick the first topic and draft a blog post.
For related skills:
  • content-strategy — planning what content to create and when
  • seo-audit — diagnosing technical SEO issues
  • ai-seo — optimizing for AI search engines
  • copywriting — writing the actual content
本技能产出三个输出:排序关键词列表(JSONL)、可读性研究报告(markdown)和主题文件(
_topics.md
)。不会撰写博客内容或大纲。S2会直接使用主题文件——选择第一个主题撰写博客草稿即可。
相关技能:
  • content-strategy —— 规划要创建的内容和排期
  • seo-audit —— 诊断技术SEO问题
  • ai-seo —— 针对AI搜索引擎优化
  • copywriting —— 撰写实际内容