跳至正文
外链与链接建设 · Google SEO

外部链接带 UTM 参数:该不该带

// / / 光算科技

对方给你一条带 utm_source 的地址,问你要不要用。答案是:对外发出的链接默认不带,需要归因的只在自己站内流量大的入口上带。理由不是「参数有害」,而是参数会让同一条链接分裂成多个不同地址,而链接传递信息这件事,恰恰是靠地址唯一性成立的。

UTM 参数在 URL 里处于什么位置

先把语法位置摆清楚,判断才有依据。URI 通用语法规范 RFC 3986把一个地址定义为 URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ],其中查询串由问号引出。规范还定义了一组保留字符,gen-delims 包括 : / ? # [ ] @,sub-delims 包括 ! $ & ' ( ) * + , ; =。查询串里的分隔符全部来自这组保留字符,所以参数写法是否规范,会直接影响这条地址能否被无歧义地解析。

对外发链接时参数取舍的判断示意:按来源类型分为归因必需、归因可选、应当去掉三档,逐档标出地址是否应当保持唯一形态
原创示意:图中为对外链接是否携带追踪参数的分区判断,不是真实数据或后台截图。

关键的一句在语法规范里:把一个保留字符替换成它对应的百分号编码形式之后的 URI,与原 URI 并不等价。换句话说,?a=1&b=2 和 ?a=1%26b=2 在语法上不是同一个东西,参数写法随便改会产生一批彼此不同的地址。这类差异平时不影响功能,但放到外链场景里就会变成一批需要分别核对的目标 URL。

对外发链接时的参数规则

先看规则,理由放在后面一节,你可以先照表执行再回头判断某一行是否适合自己站点:

场景参数怎么带为什么
交给对方的稿件、客座文章、目录提交不带任何参数,地址保持唯一对方通常会自行加自己的追踪;你无法预知他加什么,地址越干净归一越容易
给合作方的自有渠道投放约定固定的少量参数名,值由双方定死参数可控时,分裂风险可预测;不可控时无法维护
自家站内的邮件、按钮、落地页带 UTM 归因地址在你手里,参数变化不会影响外部已有的链接
广告投放落地页带 UTM,但落地页要指定规范地址否则每个参数组合都会变成一个要单独处理的地址
来源方主动给了带参数的地址不要直接拒绝;配永久跳转收敛到你希望被引用的那个地址对方没有义务配合你改地址,收敛是你自己该做的技术动作

最后一行是实操中最常见的场景,也是最容易被漏掉的。对方给了 https://example.com/page?utm_source=x,正确做法不是回信要求改,而是自己配一跳永久跳转到 https://example.com/page,并确认目标地址已指定规范地址。跳转方式的判断见外链页面 301 之后原站该知道什么。

哪几种情况可以放心带参数

三种情况不用收敛。一是链接完全由你自己控制,参数变化不会外溢到别人手上。二是你已经在目标地址上指定了规范地址,参数组合不会各自成为独立的索引对象。三是这个地址你本来就打算用跳转拦截,不打算让它直接作为被引用的落点。

要提醒的是反过来的一种情况:多语言站点上带语言参数的链接要单独看。不同语言版本是各自独立的地址,不该合并;这类地址上的参数需要按语言分别约定,判断边界见多语言内容之间怎么互相带链接。

为什么对外链接上带参数要谨慎

官方在这件事上有非常直接的表述。URL 结构文档把「无关参数」列为制造出海量重复 URL 的常见原因之一,在这一节里明确列举的例子里就有引荐参数,文档写明这类参数会造成大量指向相同或相似内容的 URL,Googlebot 可能因此消耗远超必要的带宽,或者无法完整索引站内内容。同一份文档还给出了对应的建议:尽量少用参数,把不改变内容的参数去掉;规定参数时用等号分隔键值对、用 & 追加参数、同一键的多个值可以用逗号并列。

把这段话套到外链上,代价是可以算出来的。一条外链如果带 utm_source、utm_medium、utm_campaign、utm_content,每换一个来源名或一次活动名就是一个新地址。这些地址内容相同、指向相同,但你在报表里要分别核对、分别确认是否被计入、分别处理跳转——它们提供的信息没有增加任何一条。官方还专门提到另一种相关情形:无限日历这类会生成大量未来日期链接的页面,文档给出的建议是给这些动态生成的链接加 nofollow,理由是控制这类地址的数量。

还有一层是写法规范。官方对可抓取链接的要求写明,<a> 元素里的地址必须能解析成一个真实可请求的网址。参数里出现中文、空格或未编码的符号时,很容易被拼成一个不能被正确请求的地址——这类地址不是「参数不好看」的问题,是链接本身落不下去。对外发链接时把地址在请求工具里跑一遍,是最低成本的保险。

怎么验证参数没有把链接拆散

四步。一、地址层:把对方给的完整地址原样放进请求工具跑一遍,确认能返回 200、目标内容正确、没有编码问题。二、收敛层:确认这个地址是否配了永久跳转到干净地址,跳转是一跳直达。三、规范层:在 URL 检查工具里输入干净地址,确认 Google 选取的规范地址就是它,而不是某个带参数的变体。四、报表层:在链接报告里按目标 URL 查,确认这条链接被记在了干净地址上,而不是某个参数变体上。

如果第四步查出来是被记在带参数的地址上,说明收敛没生效,回去查第二、三步,不要在报表里手工把它并到干净地址上——那会让两张表对不上。参数和地址两类字段该怎么分开记,见自然外链追踪表怎么建。