很多站点在排查抓取问题时,注意力都放在正文页和栏目页上,却忽略了三类链接密度最高的页面:标签页、归档页和站内搜索页。蜘蛛在站内移动靠的是链接,而这三类页面往往一个页面就能吐出几十上百条链接,它们对抓取路径的影响,有时比首页还大。
为什么这些页面容易被蜘蛛当成入口
从蜘蛛的角度看,它并不区分页面的“业务重要性”,只看两件事:能不能打开、里面有没有新的 URL。标签页、归档页、搜索结果页通常都满足这两点,而且更新频繁,蜘蛛每次来访都能看到变化。如果站内其他地方没有给足入口,蜘蛛很可能就以这些页面为主要跳板,在站内反复游走。
标签页:用得好是索引,用不好是重复
标签页的价值在于把同一主题的内容聚合起来,给蜘蛛提供一条按主题聚类的抓取路径。但问题通常出在两点:一是标签体系随手创建,同一个意思出现多个标签;二是标签页内容太少,只有两三条内容也被单独成页。
- 标签数量控制在可维护的范围内,避免同义标签并存,减少内容高度重复的页面
- 内容量过少的标签页,考虑合并或加 noindex,但保留其中的链接通路
- 标签页本身可以列出到相关的栏目页或聚合页,让蜘蛛顺着走到更有价值的页面
归档页:时间维度的入口要不要留
按年月归档的页面结构规整、链接稳定,对蜘蛛来说很好走。但它也容易形成大量内容稀薄的页面,尤其是更新不频繁的站点,归档页里可能只有一两篇文章。
一个常见的折中做法是:保留年度归档,收敛月度归档;或者把归档页做成带摘要的列表,让它本身有一定信息量。归档页的分页也要注意,最后一页之后不应再有可点击的“下一页”链接,否则会形成一些没有实际内容的空页。
站内搜索页:最容易失控的一类
站内搜索是典型的参数驱动页面,URL 会随着关键词、排序方式、筛选条件不断组合。如果搜索结果页允许蜘蛛抓取,理论上它可以生成近乎无限的 URL,把抓取资源消耗在几乎没有价值的地址上。
参数组合带来的几个麻烦
- 同一个关键词的搜索结果,可能因为排序或分页参数不同而产生多个地址
- 搜索词本身没有搜索量的页面也会被生成和抓取
- 搜索结果页里的链接会指向同一批内容,形成大量重复入口
比较稳妥的处理顺序
- 先在 robots.txt 层面对搜索路径做拦截,注意拦截路径要写准确,别误伤正常页面
- 对确实需要保留的搜索页加 noindex,让它不被索引,但链接仍可被跟随
- 在页面上把无意义的筛选参数通过 canonical 收敛到基础地址
- 给搜索页设置合理的分页上限,避免蜘蛛一路翻到很深的页码
判断这些页面该不该放开抓取,一个实用的标准是:如果这个页面本身没有独立价值,但它指向的页面有价值,那就保留链接、控制索引,而不是简单一禁了之。
用内链把入口摆到该在的位置
蜘蛛的抓取路径很大程度上取决于你主动给了哪些链接。如果希望蜘蛛优先走栏目页和内容页,就要在导航、面包屑和正文相关推荐里给足入口;标签页和归档页则放在侧栏或页脚这类次要位置,控制它们被反复发现和回访的频率。
同时,定期从访问日志里看蜘蛛实际走的是哪条路径:如果大量抓取集中在搜索页或空归档页上,说明入口权重摆得不合适,需要调整内链指向,而不是只盯着服务器状态。服务器响应和抓取路径是两个层面的事,前者解决能不能抓,后者解决抓得对不对。
这三类页面不需要全部砍掉,也不适合全部放开。把有内容聚合价值的留下,把纯参数生成、内容重复的收敛掉,再用内链把重要页面的入口提上来,抓取路径自然会比之前清晰。