公众号爆款选题检测
为什么需要它
公众号最大的隐形杀手不是写不好,是自己撞自己:
- 变相重发 = 零推荐:同主题同立场换个说法再写一遍,算法直接判重发。真实案例:延误险稿首发 10,428 阅读,原样重发只剩 217(跌 98%)。
- 结构撞车比内容撞车更致命:「别人排40分钟 vs 我5分钟」这种骨架一旦用过,后续换词重写同骨架照样被判重发。
- 母题过载会被打标签:核心词(如「3600年费」)半年内出现在 3 篇标题里,算法给账号打标签后,同母题全部降权。
- 标题 64 字节是硬上限(中文 1 字 = 3 字节,非 64 字符),超了 draft/add 直接报错。
- 合规红线词(免费/稳赚/秒批…)踩了要标广告甚至限流。
这个 skill 把上面每一条踩坑经验都做成了可执行的检测脚本,不是方法论空谈。
两个脚本
1. check_collision.py —— 动笔前:选题撞车三层法
python3 scripts/check_collision.py "新选题标题" -f 往期标题.txt
python3 scripts/check_collision.py "标题" -f 往期.txt --desc "本篇核心观点一句话"
往期标题文件:每行一条已发布标题(从公众号后台复制,或用 wechat-mp-data-grab 导出)。
三层判法:
| 层 | 检测什么 | 触发条件 | 退出码影响 |
|---|---|---|---|
| L1 观点层 | 同主题 + 同立场 = 变相重发 | 主题相似 ≥30% 且立场词相同 | 2(别写) |
| L2 钩子层 | 骨架雷同(「他人 vs 我 + 双数字 + 同量词」) | 双方都含对比结构且共用同一量词 | 1(换结构) |
| L3 母题层 | 核心词被算法打标签 | 核心词在往期标题出现 ≥2 次 | 1(换标题主词) |
L1 撞车要换立场或换主题(别人写「不值得」你就写「怎么用才值」);L2 撞车保留主题换钩子结构;L3 撞车只改标题,正文可保留该词。
2. check_title.py —— 发布前:标题体检
python3 scripts/check_title.py "你的标题"
python3 scripts/check_title.py "标题" --history 往期标题.txt
五项检查:字节数(64B 硬上限)→ 合规红线(硬伤)→ 信息层词(警告)→ 爆款公式三要素(场景+对比+数字钩子)→ 母题过载 + 观点层相似。
退出码:0 通过 / 1 有警告可发但建议改 / 2 有硬伤必须改。
标准工作流
- 建往期库(一次性):把已发布标题存成
往期标题.txt,每行一条 - 动笔前:
check_collision.py跑拟定标题 → L1 撞车就换选题,L2/L3 撞车就调整 - 写完起标题:用爆款公式
[具体场景] + [别人 vs 我的时间/金额对比] + [0元/省XXX 钩子] - 发布前:
check_title.py复检 → 退出码 0 或仅警告才发 - 阅读量暴跌时:把当篇标题和往期库跑一遍两个脚本,多数暴跌不是内容问题,是撞车
排错表
| 现象 | 原因与解法 |
|---|---|
| 母题检测无输出 | 没传 --history / -f,或文件是空的 |
| 误报某个词过载 | 词是结构词(别人/同事…已内置过滤);确认它是否真是内容核心词 |
| L1 一直不触发 | L1 需要主题相似+立场双条件;纯换立场重写属于 L1 通过、可能 L2 报 |
| 提示往期文件未找到 | 路径写错会跳过母题检测(check_title 容错)或退出(check_collision) |
完整方法论
标题公式、禁用词表、母题过载案例复盘 → 见 references/爆款方法论.md
安全声明
- 两个脚本均为本地运行,无网络请求,不上传任何数据
- 往期标题库属于账号运营数据,请勿打包分发