--- name: site-keyword-research description: | 整站关键词研究与深度挖掘。输入一个网站域名或URL,自动完成:首页主题分析 → 递归式关键词树扩展(Google联想词多级分叉)→ 去重合并 → 关键词分层 → 10词SERP详细分析 → 3词定方向,最终输出完整 Markdown 报告。 触发条件:用户说"分析网站关键词"、"关键词研究"、"keyword research"、"挖掘某网站的关键词"、或提供一个URL说"分析这个网站的SEO关键词机会"。 --- # Site Keyword Research Skill 输入一个网站域名,输出完整的关键词研究与竞争度分析报告。**核心改进:递归式关键词树扩展——不是一次扩展就停,而是持续分叉挖掘,直到词库收敛。** --- ## 核心工作流 ``` 阶段一:递归关键词树扩展(不限次数,直到词库收敛) → 种子词 → Google搜索 → 提取 Related Searches + PASF + 问题词 → 每个新词 → 再搜索 → 再提取 → 持续分叉 → 直到:不再发现新词 或 词库达到上限(100个) 阶段二:去重合并 → 分层筛选(20词) → 去重、去无关词 → 选20个最有价值的词进详细分析 阶段三:10词SERP详细分析 → 3词定方向 → 竞争度打分 → 给出最重要的3个词 + 具体操作建议 ``` **关键词来源标注规范(强制):** | 标签 | 含义 | 可信度 | |------|------|-------| | `[PASF]` | 来自 Google「People Also Search For」的真实搜索推荐 | ⭐⭐⭐⭐⭐ | | `[RS]` | 来自 Google Related Searches 联想词 | ⭐⭐⭐⭐ | | `[Q]` | 来自 Google 搜索结果中的「People Also Ask」问题 | ⭐⭐⭐⭐ | | `[AI-主题]` | AI 根据站点主题扩展生成,需人工验证 | ⭐⭐⭐ | | `[竞品]` | 从 SERP 结果中竞品内容提取 | ⭐⭐⭐⭐ | --- ## 输入参数 执行 skill 时需要提供以下参数: | 参数 | 说明 | 默认值 | |------|------|-------| | `domain` | 要分析的网站域名(如 `example.com`) | 必填,从用户输入提取 | | `output_dir` | 报告输出目录 | 可选,默认为当前目录 | **域名格式支持:** - `https://example.com` → 自动提取 domain - `example.com` → 直接使用 - `www.example.com` → 提取 domain --- ## 第一阶段:递归关键词树扩展(核心改进) ### 1.1 站点主题分析 使用 `web_fetch` 抓取首页(maxChars: 2000),识别: - 站点类型(产品工具/内容媒体/电商/SAAS/论坛) - 核心主题(2-4个主题词,作为种子词根) - 目标用户群体 - 主要功能/服务 同时抓取首页 HTML 标题、meta description。 ### 1.2 种子词确定 根据站点分析,确定 3-5 个种子关键词(作为树的根节点): - 核心产品/服务词 - 核心场景/用途词 - 核心用户需求词 ### 1.3 递归扩展算法(关键词树构建) **这是本 skill 的核心改进——不是一次扩展就停,而是持续分叉。** ``` 扩展规则: 每次取队首关键词出列 → Google搜索 → 提取三类词 → 入库 → 新词继续入队 直到队列空(词库收敛)或达到上限(100个唯一词) ``` **搜索格式:** ``` https://www.google.com/search?q=&hl=en ``` **反爬策略(必须执行):** 每次打开搜索页后,等待 **3-5 秒** 再执行 snapshot,给 JS 渲染足够时间: ```javascript browser(action=open, url="https://www.google.com/search?q=...&hl=en") browser(action=wait, timeMs=4000) // 等待 JS 渲染 browser(action=snapshot, compact=true) ``` 连续搜索时,两次搜索之间随机等待 **2-4 秒**,避免固定频率触发反爬: ```javascript browser(action=wait, timeMs=2000 + Math.random() * 2000) ``` 如果遇到 CAPTCHA 验证页面: 1. 等待 5 秒后刷新页面重试 2. 最多重试 2 次 3. 如果仍然失败,记录「CAPTCHA 拦截」标注,改用 `web_search` 补充数据,并在报告中说明 SERP 数据为推算值 **每次搜索必须提取以下内容:** #### A. Related Searches(RS)- 联想词 从搜索结果页底部「Related Searches」区域提取所有联想词,每个标注 `[RS]`。 #### B. People Also Search For(PASF)- 推荐词 从 SERP 中「People Also Search For」区域提取推荐词,每个标注 `[PASF]`。 #### C. People Also Ask(PAA)- 问题词 从 SERP 中「People Also Ask」区域提取问题,每个标注 `[Q]`。 **提取方法:** - 用 `browser(action=open, url="...")` 打开搜索页 - `browser(action=snapshot, compact=true)` 获取 DOM - 搜索 `Related Searches`、`People Also Search For`、`People Also Ask` 区块 - 每个区块内的词/问题逐一提取 **递归扩展流程图:** ``` 种子词队列:[seed1, seed2, seed3] 已收集词库:[] 第1轮: 出列 seed1 → 搜索 → 得到 [rs1, rs2, pasf1, q1] 入库:[rs1[RS], rs2[RS], pas1[PASF], q1[Q]] 新词入队:[rs1, rs2, pasf1, q1, seed2, seed3] 第2轮: 出列 rs1 → 搜索 → 得到 [rs1a, pasf1a, q1a] 入库:[rs1a[RS], pasf1a[PASF], q1a[Q]] 新词入队:[rs2, pasf1, q1, seed2, seed3, rs1a, pasf1a, q1a] 第3轮: 出列 rs2 → 搜索 → ... ...持续直到队列空或达到100词上限 ``` ### 1.4 去重与过滤规则 每次入库前执行去重: **必须去重:** - 完全相同的词(大小写不敏感) - 复数形式与原形视为同义词(保留一个) - 与站点主题完全无关的词 **词库上限:** - 目标:收集 **80-100 个唯一关键词** - 实际执行中如果达到 100 个,停止扩展,进入分层 - 如果队列提前耗尽(词库收敛),也停止扩展 ### 1.5 AI 辅助扩展(补充手段,不是主力) 在递归扩展完成后,如果词库不足 50 个,用 AI 补充扩展: 基于已收集的 `[PASF]` 和 `[RS]` 词,识别词根模式,生成更多变体: **模式举例:** - `{词根} + generator / maker / creator` - `{词根} + free / online / AI` - `how to {词根} / {词根} tutorial / {词根} for beginners` - `best {词根} / {词根} alternatives / {词根} vs` 每个生成的词标注 `[AI-主题]`,需入库参与后续分层。 ### 1.6 候选词收集结果记录 最终词库格式(每个词必须标注来源和深度): ``` {关键词} [来源标签|扩展深度] 例: oracle card generator [RS|depth=1] — 从种子词第1轮扩展 emotional tarot reading [PASF|depth=2] — 从第2轮词扩展而来 how to use oracle cards [Q|depth=1] — 从种子词第1轮扩展 ai oracle card generator [AI-主题] — AI补充生成 ``` **扩展深度说明:** - `depth=1`:直接从种子词一次扩展而来,最相关 - `depth=2`:从 depth=1 的词再扩展,相关性稍弱但覆盖更广 - `depth=3+`:多级扩展,可能发现意外的低竞争词 --- ## 第二阶段:分层筛选(20词) ### 2.1 关键词相关性初筛 **保留标准(同时满足):** - 与站点核心主题高度相关 - 搜索意图明确 - 不涉及品牌词(除非该品牌是对手) **剔除标准(满足任一即剔除):** - 完全无关领域(如医疗、法律等专业领域) - 过于泛泛 - 无实际搜索信号(Google 没有推荐) ### 2.2 分层(四层模型) | 层级 | 定义 | 目标数量 | 策略 | |------|------|---------|------| | **核心词** | 高搜索量,主赛道 | 1-3个 | 品牌期/长期目标 | | **中尾词** | 中等搜索量,明确意图 | 3-5个 | 3-6个月内容建设 | | **长尾词** | 低搜索量,精准需求 | 8-12个 | 立即行动,快速见效 | | **问题词** | 问句形式,信息需求 | 5-8个 | 博客内容,覆盖漏斗顶端 | ### 2.3 最终20词筛选标准 从词库中选 20 个进入 SERP 分析: **优先保留:** 1. 有 `[PASF]` 或 `[RS]` 来源(Google 真实推荐) 2. 包含高意图修饰词(free、best、generator、alternative、how to) 3. 搜索意图是 Transactional 或 Commercial Investigation 4. 扩展深度浅的词优先(depth=1 > depth=2 > depth=3+) --- ## 第三阶段:10词SERP详细分析 ### 3.1 SERP 分析执行 对筛选出的 20 个词,快速扫描 SERP,挑选 10 个最有商业价值的做详细分析。 **快速扫描维度:** - 广告主密度(0/少/多) - 现有结果类型(工具/博客/论坛/目录) - Featured Snippet 情况 **优先分析:** - Transactional 意图词(商业价值最高) - 有 `[PASF]` 来源的词(Google 推荐=真实需求) - 扩展深度浅的词 ### 3.2 详细分析维度 对每个入选词,打开 SERP: ``` https://www.google.com/search?q=&hl=en ``` 用 `snapshot compact=true` 抓取,记录: | 分析维度 | 记录内容 | |---------|---------| | 广告主数量 | 0 / 1-3 / 4-6 / 6+ | | 广告主类型 | 列出主要广告主 | | Featured Snippet | 有 / 无 | | 视频结果 | 有 / 无(数量) | | 前10域名 + 类型 | 工具/博客/目录/论坛/官方 | | 前10内容深度 | 薄页(<200字) / 中等 / 深度(1000+字) | | 高权重站数量 | Wikipedia/Quora/Amazon/大型媒体 | | PASF 推荐词 | 列出 Google 推荐的关联搜索词 | ### 3.3 竞争度打分 | 维度 | 1分 | 2分 | 3分 | 4分 | 5分 | |------|-----|-----|-----|-----|-----| | 广告主 | 0 | 1-2 | 3-5 | 6-8 | 8个以上 | | 高权重站 | 0 | 1 | 2-3 | 4-5 | 5个以上 | | Featured Snippet | 无 | — | 1个 | — | 2个以上 | | 视频结果 | 无 | — | 1-2个 | — | 3个以上 | | 内容深度 | 全薄页 | 多数薄 | 混合 | 多数深 | 全深度 | **总分 5-10 → 🟢 低竞争(立即行动)** **总分 11-17 → 🟡 中竞争(可切入)** **总分 18-25 → 🔴 高竞争(观望/迂回)** --- ## 第四阶段:Top 3 词定方向 ### 4.1 选词标准 综合以下选出最重要的 3 个词: 1. **竞争度低**(分数 ≤ 10) 2. **Transaction 意图强**(商业转化价值高) 3. **Google 推荐词优先**([PASF] 来源) 4. **扩展深度浅**(depth=1 或 depth=2) ### 4.2 策略报告格式 对每个 Top 3 词,给出: ``` 关键词:{词} [来源标签|扩展深度] 分层:{核心词/中尾词/长尾词/问题词} 竞争度:{分数}分 / {低中高三档} 机会描述: {一句话说明为什么这个机会现在存在,以及为什么 Google 推荐这个词} 推荐动作(具体到操作): - 第一步:做什么 - 第二步:做什么 - 第三步(如需要):做什么 落地页建议: - 标题:{建议标题} - 核心卖点:{3个核心卖点} - CTA:{建议的 Call to Action} - 覆盖长尾:{建议同时覆盖的关联长尾词} 外链机会: {对应的外链建设策略} ``` --- ## 输出规范 ### Markdown 报告(主要内容输出到这里) 报告自动保存到文件,文件名格式: ``` {output_dir}/{domain}-keyword-research-{YYYY-MM-DD}.md ``` 如果 `output_dir` 未指定,默认保存到执行目录。 **报告结构:** ``` # {域名} 关键词研究报告 — YYYY-MM-DD ## 第一章:站点定位分析 ## 第二章:递归关键词树扩展记录 ## 第三章:完整候选词库(全部词,含来源+扩展深度) ## 第四章:关键词分层矩阵(20词) ## 第五章:10词SERP详细分析 ## 第六章:综合机会矩阵(20词横向对比) ## 第七章:Top 3 关键词定方向 ## 第八章:外链策略建议 ## 第九章:数据说明与后续建议 ``` ### 聊天回复(摘要形式) ``` ✅ 关键词研究报告已生成 **站点:** {domain} **递归扩展深度:** {N}轮 **候选词总数:** {N}个 **分析词数:** {M}个 **竞争度概况:** 🟢低竞{N1}个 / 🟡中竞{N2}个 / 🔴高竞{N3}个 📄 完整报告:{filename} 🥇 Top 3 关键词: 1. {词1} — {一句话机会描述} 2. {词2} — {一句话机会描述} 3. {词3} — {一句话机会描述} 💡 低竞争词发现:{1-2个特别值得关注的低竞争词简述} ``` --- ## 关键原则 - **递归扩展必须执行到底**:不允许只扩一轮就停,必须持续到词库收敛或达到上限 - **每个词必须标注来源和扩展深度**:不标注的词视为 `[AI-主题]` - **PASF 词优先分析**:Google 推荐 = 真实用户需求,最有价值的信号 - **20词 → 10词筛选**:20词进分层,10词做详细 SERP 分析,不要跳过 - **Top 3 必须有具体操作建议**:不能只给词不给动作 - **扩展深度浅的词优先**:depth=1 最相关,depth=3+ 可能发现意外机会但可信度稍低 --- ## 错误处理 | 场景 | 处理 | |------|------| | web_fetch 403/404 | 跳过,用已知主题信息继续分析 | | 站点是全新站(DA≈0)| 标注"新站,竞品内容质量差距是核心机会指标" | | Google 弹出验证 | 必须用 browser retry(等5秒刷新 / 最多重试2次),禁止降级到 web_search;如果 browser 完全失败,标注「搜索数据获取失败,关键词来源基于官网分析+AI扩展,可信度降低」,不得使用 AI 猜测真实搜索量数据 | | web_search 全部失败 | 标注「搜索数据获取失败,关键词来源基于官网分析+AI扩展,可信度降低」,不得使用 AI 猜测真实搜索量数据;报告中必须明确标注每个关键词的来源标签,无 [PASF]/[RS] 标签的词单独列出 | | 队列提前耗尽(词库收敛) | 记录收敛轮次,进入分层分析 | | SERP 无法抓取(地理位置限制)| 标注"竞争度为推算值,建议在美国节点复查 PASF 数据" | --- ## 参考文件 - 完整报告模板:`references/output-template.md` - 单关键词竞争度分析:`keyword-competition-analysis/SKILL.md`