搜索蜘蛛靠链接走站,路径越顺,URL 被发现的成本越低。但不少站点的问题不是“链接太少”,而是链接太多太乱:蜘蛛在几个页面之间来回跳,或者走进一个只有入口、没有出口的角落。这类结构问题不会让站点立刻掉排名,却会实打实消耗抓取配额,让真正需要更新的 URL 排在后面。
什么算“打转”
简单说,就是同一批 URL 被反复经过,而每次经过都没有带出新地址。蜘蛛本身不会迷路,它只是按规则走;如果链接关系形成了闭环,它就会顺着这个闭环一遍遍循环,直到配额用完或者主动放弃。
几种常见的循环形态
参数自我复制
- 分页链接里带着排序参数,翻到第二页又生成一组新的排序参数地址;
- 筛选条件可以两两组合,A+B 和 B+A 生成两个 URL,指向同一批内容;
- 会话 ID、跟踪参数写在链接里,同一页面每次被抓取都像“新地址”。
分页与栏目互相指向
“上一页 / 下一页”如果同时出现在列表顶部和底部,且都是完整 URL,蜘蛛会在第 1、2 页之间高频往返。再加上“最新”“推荐”这类模块一起指回第一页,循环就更明显。
归档、标签、日历交叉引用
归档页链向文章,文章底部又挂着标签和归档入口,标签页再链回文章。单看每一层都合理,合起来就是一个闭环。
死胡同:抓到了,但没有下一步
死胡同不是 404,而是页面正常返回、却没有可继续走的链接。典型是纯图片页、需要登录才展开的内容、把导航做成按钮的脚本渲染页。蜘蛛抓完这一页,路径就断了。偶尔出现无妨,成片出现就等于浪费入口。
怎么把环找出来
- 用抓取工具从首页模拟走一遍,看最多能发现多少唯一 URL,再和 Sitemap 里的数量对比;
- 看服务器日志里同一 IP 段对同一批 URL 的请求次数,重复偏高的那一组往往就是环;
- 检查分页、筛选、排序的 URL 规则,确认每翻一页是否都新增参数;
- 抽查栏目页的“相关阅读”“猜你喜欢”,确认没有全部指回上级页面。
日志里不全是搜索蜘蛛
排查前先分清访问者。自建爬虫、站内监控、第三方采集工具的 UA 里也可能带“spider”“bot”字样,请求频率也不低。它们不参与 URL 发现,却会占用服务器资源,让日志看起来像“蜘蛛在打转”。核对方式不复杂:看 IP 归属和反向解析是否匹配官方网段,再看请求是否遵守 robots.txt。
收口的几个动作
- 参数页统一用 canonical 指回主地址,对无检索价值的组合做访问限制;
- 分页只保留一套链接,不要顶部底部重复输出;
- 标签、归档页控制数量,只保留有聚合价值的;
- 给死胡同页面补一条明确的返回入口,比如回到栏目或上一篇;
- 更新 Sitemap,让蜘蛛有一条不依赖内链的发现路径。
循环和死胡同大多不是一次改版造成的,而是模板长期叠加的结果。排查看趋势,改的时候一次动一处,方便对照日志里的请求变化。
抓取配额是有限的,路径上的浪费会直接体现为“新页面发现慢”。先把打转的地方收住,再谈扩大收录规模,顺序更合理。