你的网站是不是被参数URL拖累了?

你有没有试过搜自己网站的名字,结果首页冒出来一堆带 ?& 的链接?点进去一看,内容明明一模一样,只是 URL 长得奇形怪状。更烦的是,核心页面迟迟不收录,排名卡在十页开外——这时候别急着优化标题或堆外链,先低头看看你网站的 URL 列表。

很可能,是那些没人管的参数 URL,在悄悄吃掉你的搜索流量。

参数URL到底会带来哪些具体危害?

最直接的问题:重复内容泛滥。
比如一个商品列表页,用户按颜色筛、按尺寸筛、再按价格排,系统随手生成 ?color=red&size=L?size=L&color=red —— 两个 URL,返回的页面几乎完全一样。搜索引擎可不管它们逻辑等价,它只认 URL 不同,就当是两个新页面来抓。

结果就是:本该集中投给“女鞋首页”的权重,被拆成几十份,分给了 ?sort=price?page=3?utm_medium=email 这些影子页面。你的核心页面反而变“瘦”了。

我帮过一家做家居配件的站,光是筛选组合就跑出两万多个参数页。后台看日均抓取量挺高,但真正进搜索结果的,不到总页面数的 15%。

用户也爱随手分享带参链接。朋友圈里传的是 ?ref=wechat&v=2.1,结果这个“临时版”被谷歌收进索引,和你的标准产品页正面抢排名。站内导航、面包屑、相关推荐全跟着乱套,权重像漏水的桶,怎么灌都存不住。

如何判断哪些参数需要处理?

先别急着改代码。打开你网站的真实数据,看哪些参数真正在制造麻烦。

最省事的方法:去谷歌搜索控制台(GSC),点「覆盖范围」→「已排除」,拉到最底下看「重复的标题标记」和「重复的元描述」,点进去就能看到一堆长得像双胞胎的 URL。再翻翻服务器日志,找出现频率高、但内容雷同的参数组合。

重点盯三类参数:

  • utm_ 开头的(比如 ?utm_source=newsletter
  • sessionidsid_ga 这类标识符的(比如 ?sessionid=abc123
  • 纯排序/分页用的(比如 ?sort=date?page=5

前两类基本可以判“死刑”——它们不改变页面主体内容,只服务追踪或会话,对用户和搜索引擎都没价值。
后一类要看情况:如果 ?sort=price 改变的是整个商品排序,但标题、H1、主文案完全不变,那它也是重复内容的帮凶。

小技巧:打开两个带不同参数的页面,手动对比 <title>、第一个 <h1> 和首屏正文前三段。如果这三块几乎一致,这个参数大概率该被规范。

3个核心方法规范参数URL

忽略:对付追踪和会话参数

这类参数根本没必要让搜索引擎看见。直接去 GSC 的「设置」→「网址参数」,把 utm_sourcesessionidref 这些参数设成「不抓取」。
操作完,example.com/product?utm_campaign=spring 就会被当成 example.com/product 来处理,不用改一行代码。

规范化:处理排序和筛选参数

如果你保留动态筛选功能(比如用户能实时切换“按销量排序”),那就得靠 <link rel="canonical"> 标签指路。
?sort=price?sort=date 这些页面的 <head> 里,统一加上:

<link rel="canonical" href="https://example.com/products/">

告诉搜索引擎:“别管我尾巴上挂了啥,权威版本就是这个干净链接。”

静态化:终极方案,适合有开发资源的站

把参数变成路径,比如把 ?category=desk&material=wood 改成 /category/desk/material/wood/
这不是为了炫技。用户看到 /desk/wood/ 就知道这是木制书桌,愿意点;分享时链接不刺眼;连你自己的运营同事填推广链接都更不容易手抖。

技术实现上要避开哪些坑?

用 canonical 标签,记住两条铁律:

  • 它指向的地址必须真实存在,返回 200 状态码;
  • 那个目标页面自己,不能再加 canonical 指向别人,否则形成死循环。

提交站点地图时,只放规范后的 URL。比如你用 /products/ 作为规范页,就别把 /products/?sort=price 塞进 sitemap.xml。

重写规则(比如 Nginx 的 rewrite 或 Apache 的 mod_rewrite)上线前,务必测 301 跳转是否生效:

  • 原来的 ?page=2 访问,是否跳转到 /products/page/2/
  • 跳转后,新 URL 的 canonical 是否正确指向自身?
  • 手动在浏览器地址栏输老参数链接,看会不会 404 或跳错。

分页特别容易翻车。?page=2 这类页面,除了 canonical 指向自己,还得补上:

<link rel="prev" href="https://example.com/products/">
<link rel="next" href="https://example.com/products/page/3/">

这样搜索引擎才明白:这是系列页,不是互相打架的竞品。

规范之后,如何验证效果?

改完别干等。三天后回 GSC,做三件事:

  1. 在「网址检查」里,随机挑 3 个刚处理过的带参 URL(比如 ?utm_medium=ad),点「请求编入索引」,看它最终显示的「规范网址」是不是你设定的那个;
  2. 翻「覆盖范围」报告,重点看「已排除」里的「重复的标题」数量,如果比上周少了至少一半,说明起效了;
  3. 查「性能」报告里的「展示次数」,挑 5 个核心关键词,对比处理前后 7 天的数据——如果展示频次变稳、点击率没跌,大概率是蜘蛛开始专注抓你该抓的页面了。

顺便扫一眼服务器日志。如果 ?utm_source= 开头的抓取请求明显变少,恭喜,你的抓取预算正在回流到真正重要的页面上。

今天下班前就能完成的一个操作

打开你电脑里已经登录的谷歌搜索控制台(GSC),点右上角齿轮图标 → 「设置」→ 「网址参数」。
花 15 分钟,把列表里所有含 utm_sidsessionid_ga 的参数,逐个选成「不抓取」。
做完立刻点保存。

这个动作不会动你网站一寸代码,但能当场切断搜索引擎对无效参数页的“供血”。今晚睡前刷新一次 GSC,你会看到「已排除」里的垃圾 URL 正在悄悄减少——这就是你 SEO 整治战的第一块界碑。