站点运营

站点运营:URL 参数与跟踪码自查,别让同一篇内容被多个地址反复抓取

同一篇内容因为 utm、sessionid、排序筛选等参数,在抓取系统里变成多个地址,是站点运营中很容易被忽略的问题。本文从参数来源、日志与 sitemap 自查、canonical 与服务器跳转、分页参数区别对待等方面,整理一套可落地的 URL 参数自查思路,帮助把 URL 发现和抓取预算留给真正需要被看到的页面。

站点运营

站点运营:URL 参数与跟踪码自查,别让同一篇内容被多个地址反复抓取

站点运营里有一类问题很隐蔽:同一篇文章,在浏览器里看着是同一个页面,到了抓取和统计系统里却变成了一堆地址。常见原因是 URL 后面挂了一串参数,比如分享来源、会话标识、排序方式、筛选条件。它们对访客可能无感,对搜索蜘蛛来说却是实实在在的多个入口。

为什么 URL 参数容易把抓取预算摊薄

搜索蜘蛛发现 URL 后,会按自己的节奏去抓取。如果站内链接、sitemap、分享按钮、广告跳转都带着不同的参数,同一个内容就可能出现成百上千个地址。蜘蛛在参数变体上花的次数多了,留给其他新页面的机会自然变少。这不是说参数本身有错,而是缺少统一规则时,URL 发现会变得混乱。

参数是功能需要,规范是运营需要,两者不冲突,只需要明确哪个地址才是“正本”。

先找出哪些参数在制造重复地址

  • utm_source、utm_medium、utm_campaign 等投放参数;
  • sessionid、sid、phpsessid 等会话标识;
  • sort、order、filter、view 等列表排序与视图参数;
  • ref、from、share、source 等来源标记;
  • page、p、start 等分页参数(这类要单独对待);
  • width、height、quality 等图片或缩略图裁剪参数。

用几个入口做一次粗筛

不需要一开始就上复杂工具,先把已有数据翻一翻。

  1. 看抓取日志:同一路径如果反复出现带不同参数的记录,说明吸引蜘蛛的入口没有收敛。
  2. 看站点地图:sitemap 里只保留规范地址,不要混入带跟踪码的链接。
  3. 看站内链接:导航、面包屑、相关推荐、分享按钮,尽量输出无参数或固定参数格式。
  4. 看搜索结果:如果发现同一标题对应多个带参数的网址,优先处理那些有外链或有点击的变体。

处理参数重复的常用做法

1. 给每个页面指定规范地址

在页面 head 里写 canonical,指向不带跟踪参数、不带会话标识的版本。canonical 不是强制指令,但它是给蜘蛛的重要提示,配合其他措施才有效。

2. 服务器端做一次干净跳转

对于纯跟踪参数,可以在服务器或 CDN 层判断:如果 URL 只多了 utm_*、ref、from 这类参数,就用 301 跳到无参数版本。这样访客体验不变,蜘蛛也不会在两个地址间来回犹豫。

3. 谨慎使用 robots.txt 屏蔽

robots.txt 可以挡掉一部分无意义参数,但要小心别把正常分页、筛选页一起挡掉。有些参数组合本身有独立价值,屏蔽后反而让蜘蛛看不到内容。建议只在确认某类参数永远不会产生独立页面时,再做屏蔽。

4. 分页参数要单独保留

分页不是重复内容,而是内容列表的延续。对分页地址,更好的做法是保留可抓取入口,并让每个分页有自洽的标题和 canonical 策略。不要把分页参数全部塞进禁止抓取规则,否则第二页之后的内容会失去被发现的机会。

5. 控制内链和分享链接的输出

站内分享、复制链接、邮件订阅等按钮,尽量生成规范地址。投放链接可以带 utm,但落地页应尽快跳回干净版本,避免投放参数被站内爬虫一路带进内页。

和 URL 发现、蜘蛛池配合时的注意点

如果网站用蜘蛛池或主动推送来加速 URL 发现,更要把规范地址准备好。推送和蜘蛛池应该只提交规范 URL,不要批量提交带参数的变体,否则等于亲手制造重复入口。抓取预算有限时,参数变体是最容易被浪费的一类地址。

定期复查清单

  • sitemap 中的 URL 是否干净、可访问、状态码正常;
  • canonical 是否与页面实际内容一致,是否指向可访问地址;
  • 内链、导航、相关推荐是否产生带跟踪码的链接;
  • 分页、筛选参数是否有明确规则,而不是放任蜘蛛自行发现;
  • 分享链接和广告落地页是否会把参数带进站内深层页面。

参数自查不是一次性的工作。每次改版、上新栏目、调整投放策略后,都可能引入新的参数规则。把它放进站点运营的例行检查里,比等到抓取日志里出现大量重复地址再处理要省事得多。