收录变慢的时候,多数人先去看 sitemap、robots 和内容质量,但站内链接路径经常被忽略。蜘蛛进入一个页面靠的是站内链接,如果它顺着链接走,连续遇到跳转和死链,抓取效率会明显下降。这类问题不会直接导致“不收录”,但会让本该被发现的页面来得更晚。
重定向链:每一次跳转都是一次往返
A 跳到 B、B 跳到 C、C 才到最终页,是最典型的链路问题。蜘蛛每走一跳都要重新发起一次请求,最后拿到的还是同一个页面。链路越长,抓取成本越高;中间地址如果被外部链接引用,还可能被单独索引,让同一份内容在索引里留下多个版本。
更麻烦的是循环重定向:A 跳 B、B 又跳回 A,蜘蛛走进去出不来,只能放弃。这种情况在改版、切换域名或者 CDN 规则写错时最容易出现。
失效内链:把蜘蛛带进死胡同
指向 404 或 410 的站内链接本身不会“惩罚”站点,但会把蜘蛛引到一个没有出口的页面。如果这种链接出现在导航、面包屑、分页、相关推荐这类高频位置,每次抓取都会白白浪费一次请求。常见来源有:
- 模板里写死的旧地址,改版后没有同步更新;
- 商品下架、文章删除后,列表页仍指向原来的 URL;
- 分页组件把最后一页之后的链接也输出成可点地址;
- 站内搜索结果页、筛选链接被大量输出并被爬取。
为什么这件事和收录有关
抓取和收录是两件事:蜘蛛来抓,是拿内容;编入索引,是判断这个 URL 值不值得留。坏链接不会让好页面失去资格,但会做三件拖后腿的事:
- 消耗抓取资源:站点每天能被抓取的次数有限,走死链的请求是净损耗;
- 削弱链接传导:内链既是权重通路,也是发现入口,链路断了,新页面就少了入口;
- 制造重复版本:多个跳转地址同时存在,等于给同一份内容开了好几扇门。
URL 规范:从写链接的那一刻开始
内部链接最好的状态,是直接指向最终地址,不经过任何跳转。做法其实很朴素:
- 统一协议、域名和结尾斜杠的写法,全站只保留一种;
- 导航、面包屑、推荐位里的链接统一用最终 URL,不用旧的会跳转的地址;
- 站内链接不要带追踪参数,参数留给站外投放使用;
- 页面下线时,把指向它的内链一并清理,或者改成指向最相关的替代页。
怎么排查
可以用爬虫工具抓一遍自己的站点,或者直接读服务器日志,按状态码筛选:
- 把返回 3xx 的站内链接列出来,看是否存在超过一跳的链路;
- 把返回 4xx 的 URL 找出来,回到模板和后台数据里定位来源;
- 在日志里观察蜘蛛是否反复访问同一个跳转地址;
- 修正后观察一段时间,重点看新页面的发现速度,而不是只盯着总收录数。
修完链路不会立刻带来收录,它更像是把路上的坑填平:让本来就会被抓的页面,被抓得更顺一点。
收录是多环节共同作用的结果,链接路径只是其中一环。它值得优先处理的原因在于:改动明确、不依赖算法判断,也基本不会有副作用。当你排除了内容质量、robots、canonical 这些常见原因之后,回头看看蜘蛛走的那条路是不是绕远了,往往能找到一些被忽略的答案。