蜘蛛识别一个页面,主要靠 URL。同一个内容如果存在多个可访问地址,就等于给蜘蛛开了多个入口。抓取会分散,索引阶段还要额外判断该保留哪一个。很多“收录对不上”的问题,源头不是内容质量,而是 URL 变体没有收敛。
先分清“可访问”和“规范”是两回事
服务器可能对 /Page、/page、/page/、/page/index.html 都返回 200。对用户来说都能打开,对蜘蛛来说却是多个 URL。可访问不等于应该被收录,更不等于应该被索引。规范 URL 是你希望搜索引擎使用的那一个,其余变体最好通过跳转或标记指向它。
常见的 URL 变体有哪些
- 大小写不同:/About 与 /about 被当成两个地址。
- 末尾斜杠不同:/news 与 /news/ 可能各抓一次。
- 默认文件:首页 / 与 /index.html 同时可访问。
- 主机与协议:http 与 https、www 与非 www 并存。
- 追踪参数:分享链接、广告参数给同一页面生成不同 URL。
- 排序筛选参数:列表页的排序、分页参数形成大量近似地址。
蜘蛛会怎么处理这些变体
蜘蛛先抓取,再判断内容是否重复。它可能选其中一个作为规范 URL,把其他变体收录但不展示,或者干脆不索引。选择依据通常包括站内链接指向、canonical 标记、sitemap 里提交的地址,以及历史抓取和点击数据。需要记住:被抓取不等于被索引,变体被抓到也不代表会全部进入索引。
自查顺序:先看日志和索引,再改站内
- 用 site 查询或索引报告,看各个变体分别是什么状态。
- 查服务器日志,统计不同变体的抓取频次,确认蜘蛛是否在重复抓取。
- 用 URL 检查工具查看搜索引擎选择的规范 URL。
- 再决定用 301 还是 canonical,不要一上来就批量改。
如果日志里某个变体抓取量很高,但索引里没有它,说明蜘蛛已经发现了重复,只是没有把它当成规范页。这时优先处理站内入口,比反复提交 sitemap 更有效。
处理方式:优先 301,其次 canonical
如果确定只保留一个版本,用 301 永久跳转最直接,能把旧 URL 的信号传递到目标页。canonical 是提示,不是强制指令,适合不能做跳转的场景,比如参数页、打印页。无论用哪种方式,都要保证目标 URL 本身可访问、返回 200,并且不是另一个跳转链的中间地址。
站内链接、导航、面包屑、分享按钮、sitemap 里的地址,都要统一到规范 URL。只改 canonical 而内链仍混用变体,蜘蛛还是会从多个入口反复发现旧地址。
容易踩的坑
- 内链一部分带斜杠,一部分不带,站内自己制造变体。
- sitemap 把大小写、参数变体全部提交,等于主动告诉蜘蛛这里有多个地址。
- canonical 指向一个 301 或 404 的 URL,规范信号落空。
- 用 JS 跳转代替 301,蜘蛛可能先抓到旧页再执行跳转,过程更慢。
- 只处理 PC 端 URL,忽略移动端或 AMP 版本的对应关系。
收录问题的排查顺序通常是:先确认蜘蛛能不能抓到,再确认抓到的是不是规范 URL,最后才看页面质量。URL 变体属于第二步,却经常被当成第一步来改。
观察节奏
改完跳转或 canonical 后,索引不会立刻切换。可以观察两三周:看日志里旧 URL 的抓取是否减少,看索引报告里规范 URL 是否稳定,看站内搜索和流量是否落到目标地址。如果旧变体仍然被抓取,先检查是否还有内链或外部链接指向它,而不是急着重复提交。
URL 变体不会马上让页面消失,但会让抓取预算和索引信号分散。先把站内链接统一,再处理已经存在的变体,通常比反复调整页面内容更接近问题根源。