360 Secure SkillHub
360 安全技能中心

Keyword Research

通过浏览器自动化操作 Google Search Console、Ahrefs、Semrush、AnswerThePublic 等工具,为指定站点做关键词发现、竞品缺口分析、意图分类、难度评分与优先级排序,并按固定模板输出关键词研究报告;同时在本地保存站点 profile 供后续复用。

meikidd
meikidd
热度 54.01
最近更新 2026-05-11 17:43:33
分类:营销依赖:联网浏览搜索 / 读写文件 / 代码执行应用场景:市场分析 / 研究 / 报告撰写 / 博客写作

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add seo-keyword-research
Metadata
name
keyword-research
description
Keyword research and analysis skill for any website. Performs systematic keyword discovery, competitive gap analysis, intent classification, difficulty scoring, and priority ranking. Use when the user wants to find new keyword opportunities, analyze which keywords competitors rank for, audit existing keyword coverage, build a keyword map, or plan content around search demand. Works for any domain, language, or niche.
version
1.0.1

Keyword Research Skill

Must load the web-access skill and follow its instructions.

Startup workflow

Step 1: Load the domain profile

Extract the domain from the URL the user provides (e.g. example.com), then read the profile file:

~/.claude/skills/keyword-research/data/{domain}.json
  • Profile exists → Load it directly; skip questions for fields already known; only ask for "focus of this analysis"
  • Profile missing → Create one; ask for all required fields in order, then save

If the user did not provide a URL, ask for the target site URL first, extract the domain, then check for a profile.

Step 2: Fill in missing fields

Only ask for fields not yet stored in the profile:

Field Description First run Later runs
url Full site URL Required Skip if known
business One-line business description Required Skip if known
region Target region (e.g. Singapore) Required Skip if known
language Target language(s) (e.g. English, Chinese) Required Skip if known
competitors Competitor site list Optional Skip if known; user can update anytime
tools.gsc GSC access Ask first time GSC is needed Skip if known
tools.ahrefs Ahrefs account tier Ask first time Skip if known; "none" skips all Ahrefs steps
tools.semrush Semrush account tier Ask first time Skip if known; "none" skips all Semrush steps
tools.gkp Has Google Ads account (GKP) Ask first time If false, use Ahrefs free keyword tools instead
focus Focus of this analysis Ask every time (tasks vary) Ask every time

Step 3: Save or update the profile

After each run (or whenever new info is added), write back to the profile file immediately so the next session starts with complete data.

Profile format (JSON):

{
  "url": "https://www.sunriselink.sg",
  "business": "MOM-licensed domestic helper agency in Singapore, helping families hire maids from Indonesia, Myanmar, Philippines",
  "region": "Singapore",
  "language": ["English", "Chinese"],
  "competitors": ["nationmaid.com.sg", "universal.com.sg", "firstmaid.com.sg"],
  "tools": {
    "gsc": true,
    "ahrefs": "none",
    "semrush": "free",
    "gkp": true
  },
  "updated": "2026-04-15 10:05:23"
}

Valid values for tools.ahrefs and tools.semrush:

  • "paid" — Paid account; full feature access
  • "free" — Free account; limited features (see skip rules)
  • "none" — No account; skip all steps for that tool

If the profile directory does not exist, create it first: mkdir -p ~/.claude/skills/keyword-research/data/

Tool skip rules

Ahrefs:

Account tier Step 2B behavior Step 3 behavior
"paid" Use Site Explorer + Content Gap (full competitor gap analysis) Use Keywords Explorer
"free" Skip Site Explorer/Content Gap; use site: search to infer competitor content structure Use ahrefs.com/keyword-generator (no login)
"none" Skip all Ahrefs; do not open any Ahrefs page Same as left

Semrush:

Account tier Step 2B behavior Step 3 behavior
"paid" Use Keyword Gap (full competitor gap analysis) Use Keyword Magic Tool (unlimited queries)
"free" Skip Keyword Gap; use Keyword Magic Tool (10 queries/day cap—watch usage) Use Keyword Magic Tool (mind the cap)
"none" Skip all Semrush; do not open any Semrush page Same as left

Other tools:

  • tools.gkp: false → In Step 3D use Ahrefs free keyword tools instead; do not push signing up for Ads
  • tools.gsc: false → Skip Step 1 entirely; start from Step 2

The user may say at any time e.g. "I upgraded Ahrefs to paid" — update tools.ahrefs from "free" to "paid" and save.


Four-step analysis framework

Step 1 — Baseline from existing queries (GSC)

Goal: Find queries that already get impressions but are underutilized—the fastest wins.

Actions (via CDP automation):

Navigate directly to this URL (replace domain) to enable the 28-day window and Position column in one step:

https://search.google.com/search-console/performance/search-analytics?resource_id=sc-domain%3A{domain}&num_of_days=28&metrics=CLICKS%2CIMPRESSIONS%2CCTR%2CPOSITION

⚠️ Use 28 days, not the default 3 months: If the site has not been SEO-optimized for long, a 3-month average mixes in a lot of pre-optimization low-rank data and skews conclusions badly (in practice ~4× difference).

Then set rows-per-page to 500 and extract all data in one pass (steps in references/gsc-operations.md).

Priority filters:

  • Impressions ≥ 30 and CTR 0% → Meta fix opportunity (good rank but no clicks—title/description issue)
  • Average position 11–20 → Page-one push opportunity (page two—close enough to optimize into the top 10)
  • Impressions ≥ 30 and position > 20 → Needs new page or deeper content
  • Queries absent from GSC → Not covered at all; see Step 2

Hit a login wall: Tell the user to log into GSC in Chrome with a property-verified account, then continue. If there is no GSC data (new site), skip to Step 2.

Note: GSC only shows queries the site has already appeared for. Fully uncovered queries are invisible here; discover them in Steps 2–3.

CDP playbook: See references/gsc-operations.md.


Step 2 — Competitor keyword gap

Goal: Find queries competitors rank for where the target site has no presence—the highest-value uncovered opportunities.

A. Identify competitors (if the user did not provide any):

  • Google 2–3 core business terms for the target site
  • Record domains in the top 5 organic SERP results → these are real SEO competitors (not necessarily who the user thinks competes)

B. Competitor analysis (paid Ahrefs/Semrush):

B. Competitor analysis (free alternatives):

Hit a paywall: Ask if the user has an account; if not, use the free path or ask for screenshots/copied data.


Step 3 — Keyword expansion and discovery

Goal: From seed terms, systematically mine long-tail, question, and local variants.

A. Google Autocomplete (free, closest to real search behavior):

  • For each core term, type these patterns in Google and capture all suggestions:
    • [term], [term] how, [term] what, [term] why
    • best [term], [term] vs, [term] cost, [term] near me
    • Mid-query suggestions: add a space mid-phrase, e.g. maid _ singapore

B. AnswerThePublic (3 free searches/day):

  • Open https://answerthepublic.com
  • Enter a core term; pick language/region
  • Export Questions and Prepositions → use for FAQ and blog ideas

C. AlsoAsked (3 free runs):

  • Open https://alsoasked.com
  • Enter a core term → Google PAA question tree
  • PAA queries are SERP-feature opportunities (People Also Ask box)

D. Google Keyword Planner (free; needs Google Ads):

  • Open https://ads.google.com/home/tools/keyword-planner/
  • "Discover new keywords" → enter seeds or target URL
  • Filter by region; review volume bands and competition
  • Note: Without active ads, volume shows as wide bands (e.g. 1K–10K); accounts with spend history get tighter numbers

Google Ads login required: Ads accounts are free to create; no need to run ads. Guide signup if needed, then use Planner.


Step 4 — Intent classification and prioritization

Classify collected queries by intent; rank by difficulty and conversion potential.

Intent taxonomy (every query gets one code):

Code Intent type Typical signals Content angle
I Informational how/what/why/guide/tips Blog posts, FAQ
C Commercial investigation best/vs/compare/review/top Comparison pages, listicles
T Transactional buy/hire/contact/book/price Service pages, landing pages
N Navigational brand, site name Brand defense, homepage

Priority score:

Priority score = intent fit (1–5) × conversion potential (1–5) ÷ competition difficulty (1–5)
  • Intent fit: How well the query intent matches the business (perfect = 5, weak = 1)
  • Conversion potential: T=5, C=4, I=2–3, N=1
  • Competition (KD): 0–20=1, 21–40=2, 41–60=3, 61–80=4, 81–100=5

Prioritize: queries with score ≥ 10.

Methodology and sources: references/methodology.md.
Full tool playbook: references/tools.md.
GSC CDP guide (including pitfalls): references/gsc-operations.md.


Output format

## Keyword research report — [Site name]
Date: YYYY-MM-DD | Region: XX | Language(s): XX

### 1. GSC optimization opportunities (existing queries)
| Keyword | Current rank | Impressions | CTR | Recommendation |
|--------|---------|-------|-------|---------|

### 2. Competitor gap keywords (highest value)
| Keyword | Intent | Monthly volume | KD | Competitor has / we lack | Priority score |
|--------|-----|---------|-----|--------------|---------|

### 3. Uncovered long-tail keywords
| Keyword | Intent | Monthly volume | KD | Content recommendation |
|--------|-----|---------|-----|-----------|

### 4. Priority action list (Top 10)
Sort by priority score descending; each row: suggested action (new page / optimize existing / blog) + suggested target URL