建立博客时出现重复页面,通常不是“博客程序坏了”,而是同一篇内容被多个网址访问、列表页与分页互相复制、标签与分类交叉聚合,或测试域名和正式域名同时可访问。排查起点是:先确认哪些网址返回了高度相似的内容,再判断它们是否都允许被抓取和收录,最后决定保留哪个网址、其余做跳转或屏蔽。
不要一上来就改模板。先按类型收集,能避免漏查:
?p= 或 ?id= 的版本。http 与 https、www 与不带 www 是否都能打开同一页面。判断标准:如果两个网址的主要正文、标题、摘要几乎相同,只是网址不同,就属于需要处理的重复候选。
先选三到五篇代表性文章,逐篇检查。具体做法:
http,分别访问,记录哪些能打开、哪些跳转、哪些返回404。<link rel="canonical">,确认它指向的网址是否与当前访问网址一致。robots.txt 是否屏蔽了标签页、作者页、测试域名等非必要入口。结果说明:如果多个网址都能打开且正文相同,但 canonical 只指向其中一个,说明程序已给出首选版本,但仍需确认该首选网址可访问、未被屏蔽。如果 canonical 指向错误或缺失,重复问题更可能被放大。
排查后不要全部删除。按下面判断:
robots.txt 禁止抓取,或加 noindex。注意:robots.txt 禁止抓取不等于禁止收录,若想不收录,优先用 noindex。适用条件:如果标签页有独立介绍和筛选价值,可以保留;如果只是自动聚合,屏蔽更合适。判断结果是看它是否提供了文章页没有的新信息。
处理重复页面后,不要用“今天改完,明天收录就变好”来判断。搜索需求会随季节变化,数据采集也有延迟。比较时至少看同一类页面在改动前后的抓取状态、canonical 指向和搜索结果中出现的网址数量,并避开大促、假期等搜索需求明显波动的时段。若只改了一个标签页,不要拿全站流量变化当唯一依据。
打开博客后台或数据库,导出全部已发布文章的网址,再补充分类、标签、作者、日期归档和分页网址。对每个网址标注:能否打开、正文是否重复、canonical 指向哪里、是否被 robots 屏蔽。清单完成后,再从重复候选最多的那一类开始处理,每改一类就复查一次跳转和 canonical,避免一次改太多导致无法判断哪一步有效。