这类插件做的事情其实很朴素:要么把一篇内容复制成另一个地址,要么给同一个地址套一层新的展示方式。两种做法都合法,问题在于它们常常同时存在,而站里没人说得清哪一个才是原件。
这一篇不讲插件选型,只讲这类插件留下的重复页怎么分清、怎么处理。WordPress 自身的行为引官方文档,索引相关的判断只引 Google 官方文档。
复制类插件的三种输出形态
| 复制方式 | 地址形态 | 先查这一项 |
|---|---|---|
| 整篇复制成新页面 | 一个全新的路径 | 两份内容的差异到底有多大 |
| 同一内容多套版式 | 原地址加参数 | 这个参数是否真的改变内容 |
| 复制到别处 | 另一个子域或站点 | 两边是不是同一种语言 |
| 按时间排期生成 | 带未来日期的地址 | 这些地址是否对外可取 |
需要先说清机制:WordPress 官方插件开发手册里,插件通过钩子与 WordPress 交互,可以增加短代码、设置项、自定义文章类型这类东西。也就是说,一个插件新增一条可访问路径并不需要修改核心代码,所以"我没改过设置"不能作为"站里没有新地址"的证据,判断依据只能是实际请求一次的结果。

官方对"同一批内容对应很多地址"是怎么说的
Google 在关于 URL 结构的说明里把这类问题写得很具体:过于复杂的地址,尤其是带多个参数的地址,会产生大量指向相同或相似内容的地址,结果是抓取程序消耗更多带宽,或者内容无法被完整索引。它列出的常见来源里就包括可叠加的筛选、推荐来源参数、购物排序参数和会话 ID,并建议尽量少用那些不改变内容的参数、避免把会话 ID 放进地址、需要时用 cookie 代替。
同一份文档还专门提到一类地址:动态生成的日历会不断产生指向未来日期的链接,如果这种日历没有开始和结束的限制,它建议给这些未来日期页面的链接加上 nofollow。这一点对"按排期生成页面"的复制方式直接适用。
处理方向在另一份文档里。Google 在关于如何指定规范 URL 的说明里把重定向和 rel="canonical" 都列为强信号,站点地图列为弱信号,并写明这些方法都不是必需的、不指定时 Google 会自己选出客观最好的版本;它同时不推荐用 noindex 去阻止某一页被选成规范页,因为那会把整页挡在搜索之外。
分清是排版差异还是真副本:四步核对(怎么做)
- 从站点地图、菜单和插件设置里把所有疑似复制页的地址抄成一张表。
- 逐条请求,记下状态码、是否需要参数、页面可见文字的字数与主要小标题。
- 把可见内容基本一致的地址归为一组,组内标出你想保留的那一个。
- 组内其它地址改成跳转指向保留页;同时把站内所有指向这组内容的链接改成保留页。
第 3 步的分组结果会直接决定处理方式:如果只是排版或参数不同、可见内容一致,就按"同一页"处理;如果内容确实不同、面向不同人群,那就应该各自独立,不要合并。参数型的复制尤其要按官方那句"尽量少用不改变内容的参数"来收敛,把不影响内容的参数从地址里去掉,而不是新增标签去迁就它。
第 4 步里"站内链接也要改"不是小事。Google 在同一份链接说明里提到,每个你在意的页面至少应该被站内另一个页面链接到一次,站内链接指向规范地址也有助于 Google 理解你的偏好。链接到底算在站点级还是页面级、变体怎么计数,分别可以看一条链接算在站点级还是页面级和一条链接算一条还是多条;外部指过来的是哪一版,用canonical 和外链指向的 URL 有什么关系那篇核对。
哪些复制页应该保留
三种情况该留。一是两版内容真的不同,比如一个长文一个精简版,分别面向不同读者;二是复制页承担对外分发任务,比如单独给某个渠道准备的落地页,且它有独立的外部链接指过来;三是用于测试的版本,但它应该只对内部可见,而不是靠屏蔽文件挡在抓取之外 —— Google 那份规范 URL 文档明确不建议用 robots.txt 做规范化,并指出被屏蔽的地址仍可能被收录、只是拿不到内容。
另外要说清楚:Google 从未公布过"重复页超过多少条会被处罚"这类阈值,也没有公布过同一站点内可接受的重复比例。判断依据只能是"这一份需不需要被单独检索到",不要按二手经验填数字。
怎么验证重复页没有继续增加
验证分三层。第一层是当下:每个复制页的地址都能说出保留页是谁、能说清状态码和头里的标注。第二层是趋势:按参数和路径前缀分别统计地址数量,看哪一类还在增长。Google 在搜索操作符说明里提到可以用 site: 配合域名或路径前缀查某一类地址是否还有结果,同时提醒操作符受索引与检索限制影响,排查以 Search Console 的网址检查工具为准。第三层是复查:把插件更新、主题改版、新增自定义内容类型这些会改变输出的动作列成一张表,改一次就按这张表核对一次。
能把这三层做成固定动作会更好用:把外部链接的核对也纳入同一张表,在 Search Console 里核对外部链接的完整步骤那篇给了具体路径,配合上面的地址计数一起做,哪一类重复在增长通常一眼就能看出来。