蜘蛛抓取站点时,并不是只按 Sitemap 或内链逐一访问。它经常会在同一内容上遇到多个 URL:带跟踪参数的分享链接、排序参数、筛选条件、会话 ID、大小写差异、末尾斜杠等。对蜘蛛来说,这些地址可能被当作不同入口,导致同一页面被重复抓取,也会占用抓取额度、稀释内链信号。
同一内容为什么会出现多个 URL
常见来源有三类:一是站内功能生成的参数,比如列表排序、筛选、分页;二是外部链接附带的推广参数,比如 utm 系列;三是技术写法不统一,比如 http 与 https、带 www 与不带 www、URL 末尾斜杠、大小写混用。蜘蛛从不同入口拿到这些地址后,会先放进待抓队列,再在后续处理中判断是否属于同一内容。
蜘蛛的去重大致看哪些信号
搜索引擎对 URL 的规范化处理没有公开的统一流程,但通常会综合以下信号:
- URL 本身:参数顺序、是否包含跟踪码、是否重复路径。
- 页面里的 canonical:指向首选 URL,帮助蜘蛛理解哪一版是主版本。
- 重定向:301 把多个入口指向同一个最终地址,比 canonical 更直接。
- 内容相似度:正文、标题、主要结构高度一致时,被合并的概率更高。
- 内链与 Sitemap:站内一致指向的地址,更容易被视作首选。
这些信号不是二选一,而是叠加判断。如果站内自己都指向混乱,蜘蛛就更难确定哪个 URL 应该保留。
参数 URL 的常见处理方式
参数不一定都要屏蔽,有些筛选页本身有搜索价值,也能带来长尾流量。关键是区分“必要参数”和“装饰参数”。
- 跟踪参数:utm、ref、from 等不影响内容,可用 canonical 指向无参数版本。
- 排序参数:同一批内容换顺序,通常合并到默认排序页。
- 筛选参数:如果筛选组合数量可控、内容有差异,可以保留;如果生成大量空白或重复结果,需要收敛。
- 会话与用户 ID:不应出现在可抓取链接里,否则会制造无穷 URL。
- 分页参数:保留正常分页,但不要让分页链无限延伸。
用内链与 Sitemap 明确首选地址
想让蜘蛛少走重复路径,站内链接最好保持同一套写法。列表页、详情页、面包屑、相关推荐都指向规范化后的 URL,而不是随机带参数。Sitemap 里也只放首选地址,不要把同一页面的多个参数版本全部提交。
蜘蛛的抓取路径往往沿着站内链接展开。内链指向哪里,它就更可能把哪里当作主入口。
服务器与抓取节奏的配合
当大量重复 URL 同时进入抓取队列,服务器会承受额外请求。若响应变慢或频繁超时,蜘蛛可能降低访问频率,连真正重要的新 URL 也会被拖延。因此,处理重复 URL 不只是“干净不干净”的问题,也影响抓取效率和服务器稳定。
自查清单
- 随机抽取详情页,检查是否存在带参数的可抓取链接。
- 确认 canonical 指向的 URL 可正常访问,且与内链、Sitemap 一致。
- 检查 301 是否只跳一层,避免长重定向链。
- 观察日志里同一内容是否被多个 URL 反复抓取。
- 对无搜索价值的参数组合,考虑用 robots.txt 或 noindex 收敛,但要先评估影响。
URL 去重不是一次性工作。站点功能迭代、活动页上线、第三方分享都会带来新参数。定期看日志和抓取数据,比一次性配置更能发现重复入口。