常听到一种说法:页面目录越深、URL 越长,搜索引擎就越不愿意收录。这个说法有一半道理,但很容易被误用。真正影响爬虫能不能发现页面、愿不愿意持续回访的,往往不是 URL 里斜杠的数量,而是这个页面从站内入口出发需要点几次才能到达,以及有多少页面在链向它。
把三件事分开看:路径深度、点击深度、内链分布
路径深度:URL 结构上的层级
例如 /a/b/c/d/page.html,这是 URL 在目录结构上的层级。它主要影响目录规划的清晰度,以及后续做规范化时是否容易看出页面归属。搜索引擎并不会因为多一层目录就拒绝抓取,但如果路径表达混乱、同类页面散落在不同目录,反而容易让爬虫和用户都难以判断这些页面之间的关系。
点击深度:从入口走到页面要几次跳转
从首页出发,通过可抓取的链接到达某个页面,最少需要几次点击,这才是更实际的门槛。一个页面如果只能从站内搜索框、JavaScript 交互或深层筛选条件进入,爬虫默认走不到。这时候它难收录的原因和 URL 长短无关,而是入口本身不可达。
内链分布:有多少页面在指向它
有多少个不同页面链接它、链接出现在正文还是导航、锚文本是否有意义。这些信息会影响爬虫回访的频率,也会影响你对这个页面重要程度的判断。内链不是越多越好,而是越相关越有用。
深页面真正容易出问题的几种情况
- 页面只出现在分页列表的最后一页,前几页没有任何入口。
- 入口写在 JavaScript 事件里,没有可抓取的 a 标签,也没有对应的链接地址。
- 重要页面只靠 sitemap 提交,站内没有任何其他链接指向它。
- 一批页面互相链接形成孤岛,孤岛之外没有入口进入。
这些情况的共同点是:页面可能存在,URL 也可能正常返回,但爬虫缺少一条稳定的路径走到它面前。
深页面可以优先做的三件事
- 补站内入口:在相关主题页、聚合页或专题页的正文里加入链接,而不是只在页脚堆砌。用户会点的位置,通常也是爬虫更愿意走的位置。
- 用索引页收口:把同类页面整理到一个可抓取的目录页,让爬虫从一个入口向外扩展,而不是靠 sitemap 逐个发现。
- 让 sitemap 做补充:sitemap 适合告诉爬虫“这些 URL 存在”,但它不是内链的替代品。缺少站内链接支撑的 sitemap URL,常常会长期停在“已发现,尚未抓取”的状态。
URL 层级要不要为了收录去改?
如果现有 URL 结构确实混乱,比如同类页面分散在多个目录、参数和路径混用,做一次规范化是有价值的。但不要单纯为了“让 URL 变浅”去改已经收录的地址,因为会引入新的重定向链,爬虫需要重新抓取和确认,短期内还可能带来流量波动。改结构之前,先确认站点有没有稳定的内链体系去支撑新地址。
检查时别只看 URL 有几层
看抓取日志时,可以留意目标页面的抓取来源 URL 是什么。如果来源长期是 sitemap 或外部链接,说明站内入口值得补。也可以用页面检查工具确认页面的抓取和索引状态,但这些结果只作为参考,不能当成最终结论,更不要因为某天没查到就频繁改动页面。
URL 层级是给人看的,点击深度是给爬虫走的。两者分开处理,收录问题会清楚很多。
最后,补内链时优先考虑用户路径和主题相关性,比单纯增加链接数量更实际。收录只是第一关,页面能不能被留下来,仍然取决于内容本身是否值得索引。