用途:检测多篇博客文章是否在争夺同一批搜索关键词,即关键词蚕食问题,并给出处理建议。
主要能力:提供两种模式。本地模式(默认,免费)通过 Grep/Read 分析文件内容;API 模式(--api,约 $0.01/次调用)使用 DataForSEO 的 Page Intersection 与 Ranked Keywords 获取 SERP 级数据。
本地模式流程:用 Glob 查找 /*.md、/.mdx、**/.html(跳过 node_modules/、.git/、drafts/);从 title/H1(最高权重)、H2、首段、frontmatter 的 meta description 提取关键词信号,将标题与 H1 切分为 1-gram、2-gram、3-gram 并按词频打分,取最高分的 2-3 词短语作为主关键词,H2 作为次要关键词;再按精确匹配、词干匹配、语义重叠、子集匹配的优先级聚类;对含 2 篇以上文章的簇评估严重度并生成建议;最后输出结果表与逐簇建议。
API 模式:需设置环境变量 DATAFORSEO_LOGIN 与 DATAFORSEO_PASSWORD。调用端点:POST https://api.dataforseo.com/v3/dataforseo_labs/google/page_intersection/live 与 POST https://api.dataforseo.com/v3/dataforseo_labs/google/ranked_keywords/live,请求体含 pages、language_code、location_code。步骤为收集已发布 URL、逐 URL 获取排名关键词、对共享关键词簇的 URL 对做 Page Intersection、按公式计算严重度并输出含搜索量与排名位置的报告。
严重度:分 Critical(同一精确关键词且两页均在前 20)、High(同一关键词簇且一页排名高于另一页)、Medium(相关关键词且 SERP 部分重叠)、Low(语义相似但意图不同)四级。API 模式公式为 severity_score = overlap_count x avg_search_volume x (1 / position_gap)。
建议动作:MERGE(合并内容并 301 重定向较弱 URL)、DIFFERENTIATE(将较弱文章主关键词转向相关长尾并更新标题、H1、meta)、CANONICAL(在较弱页加 rel="canonical" 指向权威页,必要时 noindex)、NO ACTION(意图确实不同,记录理由并季度监控)。
错误处理:无博客文件时提示检查路径;API 模式缺少凭据时自动回退本地模式;遇 429 等待重试一次,仍失败则对剩余 URL 改用本地模式;URL 不可达则跳过并标注;仅一篇文章时提示至少需要 2 篇。
限制:本地模式无 SERP 数据,仅用启发式评分;API 模式产生费用并受速率限制;语义判断依赖模型,结果需人工复核。具体安装与调用命令资料未提供。