同一个商品列表页,加上排序、筛选、货币、来源追踪参数之后,可能产生几十甚至上千个地址。这些地址对用户来说只是换了种视图,对搜索蜘蛛来说却可能是完全陌生的 URL。理解参数在抓取流程里的位置,能帮运营判断哪些地址值得被抓,哪些应该尽快收口成一条主干。
蜘蛛看到的 URL 和用户看到的不是一回事
用户在页面上点筛选,地址栏变化、内容跟着更新,整个过程是连续的。蜘蛛拿到的只是一串字符串:如果两个地址在它看来不同,就会被分别排队。它不会先理解“这只是同一个列表换了排序”,而是先抓取,再通过页面上的规范链接、站内链接结构和内容相似度去判断。
所以参数本身不是问题,问题在于参数制造了多少个入口,以及这些入口有没有被明确引导。
哪些参数容易把抓取路径摊开
- 排序与视图:orderby、sort、view、layout 之类,通常只是同一批内容换顺序。
- 筛选与分面:颜色、尺码、价格区间,多选组合会成倍增长。
- 分页:page、p、start 本身需要被蜘蛛走到,但很容易和筛选参数叠加在一起。
- 追踪与会话:utm_、ref、sid、sessionid,对页面内容几乎没有影响。
- 搜索与随机:站内搜索词、时间戳、随机数,往往是无限生成的地址。
前两类需要在“方便用户操作”和“让蜘蛛有路可走”之间做取舍,后两类基本属于要清理或屏蔽的对象。
收口的三件事:规范链接、入口控制、清单控制
规范链接写对
带参数地址的页面上,规范链接应指向不带追踪参数、不带排序参数的主干版本,且要指向一个确实可访问、内容一致的地址。如果规范链接本身也带参数,或者指向了另一个带参数的变体,判断就会变得模糊。
内链只指向主干
站内导航、面包屑、正文里的链接尽量只用干净地址。很多参数 URL 的入口并不是 Sitemap,而是站内某个筛选链接被蜘蛛顺着走下去,再一层层组合出新地址。把入口收紧,等于从源头减少发现量。
Sitemap 只放想被抓的版本
Sitemap 里出现的地址,本身就是一份“请来抓”的清单。把带排序、追踪参数的地址放进去,等于主动扩大了抓取范围。清单里保留主干页面和必要的分页页即可。
用日志和抓取统计验证收口效果
- 拉一段服务器日志,按 URL 路径统计带问号的请求占比,看哪些参数出现频率最高。
- 把高频参数按业务含义分类:影响内容的、只影响呈现的、完全无意义的。
- 检查这些参数地址返回的状态码和规范链接,确认没有指向自身或错误目标。
- 在 robots.txt 里对确认无意义的参数做统一屏蔽,注意不要误伤需要被抓的分页。
- 改完之后隔一段时间再看日志,确认带参数请求的比例是否下降。
参数不是一定要删掉,而是要有一个明确的“哪条是主干、哪些是分支”的答案,并且这个答案在链接、规范标签和清单里保持一致。
抓取路径的形成是入口累加的结果。参数越多,蜘蛛分给主干页面的时间就越少。把参数地址当成一次结构梳理来做,通常比事后反复提交新地址更省事。