关键词堆砌检测

按「关键词出现次数 ÷ 总词数」算出关键词密度,词按空白切分、忽略大小写;超过 3% 即告警,建议区间 1%~2%。打开页面已填好一组示例文本与关键词「SEO」,按 Ctrl/Cmd + Enter 立即检测,结果区给出密度、出现次数与是否超阈。

本页按空白切分词,中文请先以空格分词;示例文本共 12 个词、SEO 出现 4 次。
填单个词(不含空格),忽略大小写;留空会报错。
总词数12
关键词出现4
密度33.33%
阈值> 3% 告警
结论疑似堆砌

提示:文本框按 Ctrl/Cmd + Enter 触发检测;密度指占总词数比例,不是字符比例。

不同关键词占比的密度示例

文本片段(词构成)总词数关键词出现密度是否超阈
关键词×4 + 占位词×812433.33%超阈(告警)
关键词×1 + 占位词×394012.50%正常
关键词×0 + 占位词×303000.00%正常(未出现)
关键词×2 + 占位词×1820210.00%超阈(告警)
关键词×1 + 占位词×495012.00%正常
关键词×3 + 占位词×1215320.00%超阈(告警)
关键词×1 + 占位词×323313.03%超阈(刚过线)
关键词×5 + 占位词×9510055.00%超阈(告警)
关键词×1 + 占位词×9910011.00%正常(理想下限)
关键词×2 + 占位词×485024.00%超阈(告警)
关键词×6 + 占位词×1420630.00%超阈(告警)
关键词×1 + 占位词×242514.00%超阈(告警)

示例表由「关键词×K + 占位词×(T−K)」模拟不同占比,默认显示前 12 行,点「加载更多」展开到 18 行;导出带 BOM 的 CSV 用 Excel 打开不乱码,复制 TSV 可直接粘进表格软件。密度 = K ÷ T,与上方检测使用同一算法。

使用方法

本页把「关键词有没有堆砌」量化成一个比例,打开就带一组非空示例,不必先找素材就能看到检测结果。把要检测的页面正文或段落粘进上方「待检测文本」框,在「关键词」框里填一个词(不要带空格),按文本框里的 Ctrl 或 Cmd 加 Enter 立即检测,也可以点「检测密度」。结果区给出总词数、关键词出现次数、密度百分比、阈值与结论,结果区带 role="alert" 供读屏朗读。

「关键词」框忽略大小写,所以填 SEO、seo、Seo 都按同一个词计数。点「复制结果」把检测结论收进剪贴板;点「载入示例」把示例文本与关键词「SEO」还原回去。每个框都做了边界处理:文本为空、关键词为空、或关键词含空格导致匹配不到,都会弹出具体报错,不会静默返回 0%。

下方示例表默认列出 12 行不同关键词占比的模拟片段,每行给出总词数、关键词出现次数、密度与是否超阈,点「加载更多」展开到 18 行;可导出带 BOM 的 CSV,或按 TSV 复制整张表。所有密度都由「出现次数 ÷ 总词数」现场算出,不是手抄答案。

能解决什么问题

第一类需求是自查页面有没有过度 SEO。关键词堆砌(keyword stuffing)指为了排名,把同一个词在标题、正文、alt 里反复硬塞。搜索引擎把「单页关键词占比过高」视为作弊信号,会降权甚至不收录。本页把占比算成一个数,超过 3% 就亮红灯,让你在发布前先把自己页面里那些生硬重复揪出来。

第二类需求是给编辑和审校一份可量化的红线。口说「这段词太多」很主观,但「密度 33.33%」是硬指标。运营、编辑、外包写手之间用这个数字对齐,比反复争论「是不是堆砌」高效得多。本页关键词堆砌检测正是为这种「用比例说话」的场景服务。

本页不解决这些事:它不预测搜索引擎会不会处罚你、不分析语义相关性、不评价内容质量、也不读取你网站的排名。它只回答一个问题:给定一段文本和一个关键词,这个词占全部词的比例是多少、有没有超过 3% 的警戒线。是否真被降权,仍由搜索引擎综合判定。

原理和变量

密度 = 关键词出现次数 ÷ 总词数。这里的「词」按空白切分(split on whitespace),再把每个词与关键词做不区分大小写的比较,相等则计数加一。总词数是切分后的 token 数量。于是 密度 = 命中数 / 总词数,示例文本 12 个词、SEO 命中 4 次,密度就是 4 ÷ 12 = 33.33%。

密度是占总词数的比例,不是占字符的比例。搜索引擎讨论的 keyword density 通常指「词频 / 总词数」,和「关键词字符数 / 总字符数」不是一回事。本页严格按词数算,所以一段长文里偶尔出现几次关键词,密度仍可能很低;反之短文本里重复几次,密度会迅速飙升。不要拿字符占比来套本页结果。

阈值的含义。本页把告警线设在 3%:密度 > 3% 视为疑似堆砌,建议区间落在 1%~2% 更自然。3% 不是搜索引擎的官方红线(各家算法不公开),而是业界常用的经验参考;本页只负责算出比例并对照这条线,至于是否真被处罚,它无法也不试图判断。另需注意:按空白切分对中文会低估词数——中文词之间常无空格,整段会被切成 1 个 token,密度必然偏低,本页只能给出这一边界下的结果。

完整示例(被页面算法复算)

以默认示例走一遍:文本「SEO SEO 工具 可以 帮助 SEO 优化 网站 排名 SEO 提升 流量」。按空白切分得到 12 个 token:SEO、SEO、工具、可以、帮助、SEO、优化、网站、排名、SEO、提升、流量。其中与关键词「SEO」(忽略大小写)相等的 token 有 4 个,于是 密度 = 4 ÷ 12 = 33.33%。因为 33.33% 远大于 3% 告警线,结论为「疑似关键词堆砌」。

再取示例表里几行核对:关键词×1 + 占位词×39,总词 40、命中 1,1 ÷ 40 = 2.50%,落在建议区间,结论正常;关键词×3 + 占位词×12,总词 15、命中 3,3 ÷ 15 = 20.00%,超阈告警;关键词×1 + 占位词×32,总词 33、命中 1,1 ÷ 33 = 3.03%,刚好压过 3% 线,判为超阈。这些复算值都与数据表给出的 2.50%、20.00%、3.03% 吻合。

所有示例都不是写死在页面里的答案,而是把文本和关键词代入同一条「命中数 ÷ 总词数」公式现算出来的;你清空文本框换成任意自己的内容,卡片与表格会立即跟着变。关键词或文本为空时,页面会具体报错而非吐出 0%,避免把「没数据」误读成「零密度」。

对照表

对照表用「关键词×K + 占位词×(T−K)」模拟不同占比,共 18 组,默认显示前 12 行,点「加载更多」展开剩余 6 行。举几组读数:K=4、T=12 得 33.33%(超阈);K=1、T=40 得 2.50%(正常);K=1、T=33 得 3.03%(刚过线);K=1、T=100 得 1.00%(理想下限)。可见同样命中 1 次,总词数越多密度越低,这正是「占比」而非「次数」的本质。

同一组 K=4、T=12 在表里记作 33.33%,而主结果区默认示例也是 33.33%,两者完全一致,只是主结果区附了出现次数与结论,对照表只保留密度一列。表格数据同样由 密度 = K ÷ T 现场生成,不是手抄答案;点「导出示例 CSV」得到带 BOM 的文件,复制则按 TSV 粘进表格软件。

与上方卡片的关系是:卡片回答「我这段文本具体多密」,对照表回答「不同占比大致落在哪个区间」。前者是当前输入的实算,后者是同一算法在一组固定参数上的展开,两者独立但同源。

结果边界与舍入

常见问题

密度超过 3% 就一定会被搜索引擎处罚吗?

不一定。3% 是业界常用的经验告警线,不是搜索引擎公开的官方阈值,各家算法都不公开。本页只负责算出占比并对照这条线,提示「这段可能堆砌了」;是否真被降权,由搜索引擎综合语义、内容质量、外链等一起判定。把它当成自查红线,而不是处罚判决书。

为什么我的中文文本密度算出来特别低?

因为本页按空白切分词,而中文词之间通常没有空格,整段常被切成一个 token,于是「命中数 ÷ 总词数」里总词数极小或只有 1,密度会严重偏低甚至恒为 0 或 100%。这是纯空白切分的固有边界,中文需要先做分词再算才有意义;本页不内置中文分词器,只给出这一口径下的结果。

密度是占字符比例还是占总词数?

占总词数,不是字符。公式是「关键词出现次数 ÷ 总词数」。一段长文里偶现几次关键词,密度仍可能很低;短文本里重复几次就会飙升。不要拿「关键词字符数 ÷ 总字符数」来套本页数字,两者口径不同。

关键词留空或文本留空会怎样?

都会具体报错,不会静默返回 0%。文本为空时无处可算,关键词为空时无法计数,两者都会给出对应文案并停止检测。这样能避免把「没数据」误读成「零密度」,也防止误以为页面很健康。

填大小写不同的关键词会算两次吗?

不会。命中比较忽略大小写,SEO、seo、Seo 都视为同一个词,只计一次命中。但关键词本身若含空格,就不会等于任何单一 token,命中必为 0,这属于预期的边界行为,请填单个不含空格的词。

示例表里的 33.33% 和主结果区为什么一样?

因为两者用的是同一套算法:主结果区默认示例是 12 词、SEO 命中 4 次,示例表第一行也是 K=4、T=12,所以都是 4 ÷ 12 = 33.33%。区别只在呈现:主结果区还附了出现次数与结论,示例表只保留密度一列。内部都用全精度先算再舍入到两位小数。

本页能预测我的排名吗?

不能。本页是占比检测工具,不是排名预测器,也不读取你网站的真实排名或收录状态。它只告诉你「这个词在这段文本里占了多少比例、有没有超 3% 线」,至于搜索引擎怎么处置,本页既不知道也无法判断,请勿据此推断排名变化。

我检测的文本会被上传吗?

不会。从读取文本、按空白切分、计数到算比例和复制,整条链路都在浏览器本地完成,不发起任何网络请求,也不写 Cookie 或 localStorage。你粘贴的未公开文稿不会离开本机,关掉页面即清空。

相关工具