用途:检测多篇博客文章是否竞争同一批搜索关键词(关键词蚕食),并给出处理建议。提供两种模式:本地分析(默认,免费,基于文件内容)和 API 模式(--api,约 $0.01/次,使用 DataForSEO 的 Page Intersection 与 Ranked Keywords)。本地模式无需 API 密钥;API 模式需设置环境变量 DATAFORSEO_LOGIN 和 DATAFORSEO_PASSWORD。
主要能力:第一步用 Glob 扫描目标目录中的 /*.md、/.mdx、**/.html,跳过 node_modules/、.git/、drafts/。第二步从 title 标签或 H1(最高权重)、H2(中)、首段(辅助)、frontmatter 中的 meta description 提取关键词信号;将文本拆为 1-gram、2-gram、3-gram,统一小写、去停用词、做词形还原或词干化,保留产品名和 best、pricing、vs、review、template、年份等意图修饰词,按位置分别打分,选出得分最高的 2-3 词短语作为主关键词,并记录 H2 中的次要关键词。第三步按精确匹配、词干匹配、语义重叠(可标注 informational、commercial、transactional、comparison、troubleshooting 等意图及置信度和理由,或用有阈值的嵌入流程)、子集匹配的优先级聚类。第四步对含 2 篇以上文章的簇评估严重度并给建议。第五步输出表格和逐簇建议。
严重度:本地启发式为 Critical(主关键词精确相同)、High(词干匹配或共享 3 个以上 H2 关键词)、Medium(主关键词语义重叠)、Low(仅子集匹配或共享次要关键词);API 模式公式为 severity_score = overlap_count x avg_search_volume x (1 / position_gap)。建议动作包括 MERGE、DIFFERENTIATE、CANONICAL、NOINDEX、NO ACTION,并给出对应操作说明。
API 模式使用 POST https://api.dataforseo.com/v3/dataforseo_labs/google/page_intersection/live 和 .../ranked_keywords/live;不应使用 WebFetch 发 POST,且不得在提示或报告中暴露 Basic 认证头、登录名、密码或编码凭证。若项目无专用本地 CLI wrapper,则报告 SKIPPED 并回退本地模式。
限制:DataForSEO 有每分钟速率限制,遇 429 需等待重试一次,仍失败则改用本地模式;凭证缺失时自动回退本地模式;目录无 .md/.mdx/.html 文件时提示未找到;仅有 1 篇文章时提示至少需 2 篇并退出。