蜘蛛抓取一个页面时,会把页面上的链接抽出来放进待抓队列。导航、侧边栏、页脚这类在每个页面上都会出现的链接,因此成了蜘蛛最熟悉的面孔——同一批 URL 会被反复提交。理解它们的作用和副作用,比单纯讨论“该不该放”更有意义。
全站链接:帮助发现,也带来重复
全站链接最大的价值是提供稳定入口。不管蜘蛛从哪个页面进入,都能顺着导航走到主要栏目。对于新站或者结构较深的站点,这几乎是让栏目页被尽快发现的唯一手段。
但重复提交也有代价。抓取队列是有限的,相同 URL 被反复写入,虽然搜索引擎一般会做去重处理,仍然会占用一部分调度资源。所以全站链接不是越多越好,而是要放在真正需要被频繁访问的入口上。
导航决定点击深度
放在主导航里的栏目,一般一到两次点击就能到达;如果某个栏目只在父栏目的列表页里出现,蜘蛛就得先抓父栏目、再抓列表页、才能走到它。层级越深,被发现的时间通常越晚。
- 重要栏目尽量直接放进主导航,不要藏在三级菜单里
- 导航不要塞入大量不相关的分类,链接数量应控制在可读范围内
- 导航如果只输出图片或依赖 JS 展开,要确认蜘蛛能看到链接本身
页脚链接的取舍
页脚是很多站点用来堆链接的地方:关于我们、联系方式、友链、标签云、全部分类。适量的页脚链接确实能帮蜘蛛补全发现路径,但如果数量太多、锚文本又全是“点击这里”“了解更多”,效果会打折。
更实际的做法是:只保留真正需要全站曝光的页面,兜底链接回到首页和主要栏目即可。锚文本最好能清楚描述目标页面的主题,蜘蛛也会据此判断链接的相关性。
面包屑:给路径一个回退方向
面包屑导航通常展示“首页 > 栏目 > 详情”的层级。它一方面帮用户判断当前位置,另一方面也给蜘蛛一条从详情页回到列表页、再回到首页的路径。
没有面包屑的站点,蜘蛛从详情页出去后,往往只能依赖导航或正文里的链接跳转,路径会变得碎片化。补上面包屑不保证收录,但对理解站点层级是有帮助的。
侧边栏与“热门文章”模块
侧边栏一般是栏目级或全站级的链接聚合。热门文章、最新推荐这类模块内容会动态变化,蜘蛛每次抓到的链接可能都不一样。这本身没问题,但如果模块是靠异步请求渲染出来的,蜘蛛很可能根本看不到里面有哪些链接。
如果这些链接对发现新内容很重要,最好在服务端渲染时就输出到 HTML 中,而不是等页面加载完再插入。
一份可执行的检查清单
- 随便打开一个详情页,看导航、面包屑、页脚里有没有回到栏目页和首页的入口
- 统计页脚链接数量,超过几十个就精简一轮
- 检查锚文本是否统一、是否能说明目标页面的内容
- 确认导航和侧边栏的链接在 HTML 源码中可见,而不是只出现在渲染后的页面里
- 对照抓取日志,看这些全站链接对应的 URL 被抓取的频率是否异常偏高或偏低
全站链接负责的是“被发现”,不负责“被收录”。把入口整理清楚,剩下的还是交给内容本身。
内链结构不需要复杂,稳定、层级清楚、数量克制就够了。蜘蛛的行为会变,但顺着可预测的路径走,始终是它最容易完成抓取的方式。