SEO 和使用 Varnish 剥离 UTM 参数

SEO and stripping UTM parameters with Varnish

最近我遇到了一个问题,我的一个客户发送了一封带有 MailChimp 的电子邮件,其中包含 URL 中的 UTM (Google) 和 MC (Mailchimp) 参数。

由于 link 指向带有 Varnish 运行 的 Magento 2 站点,我必须想出一个解决方案,否则 Varnish 会为 "unique"URL的.

现在,通过在 Varnish .vcl 中使用这个调整后的片段,我能够去除这些参数:

if (req.url ~ "(\?|&)(gclid|cx|ie|cof|siteurl|zanpid|origin|mc_[a-z]+|utm_[a-z]+)=") {
    set req.url = regsuball(req.url, "(gclid|cx|ie|cof|siteurl|zanpid|origin|mc_[a-z]+|utm_[a-z]+)=[-_A-z0-9+()%.]+&?", "");
    set req.url = regsub(req.url, "[?|&]+$", "");
}

这很好用,它去掉了 URL。

但是,如果这会以任何方式影响 SEO 或 Analytics 跟踪,我似乎找不到正确的解释 - 我尽可能多地尝试使用谷歌搜索,但找不到明确的解释。

这里有人提供解决方案和/或解释吗?

这不会以任何方式影响 SEO。这些链接通常由 Google 本身(Analytics、Adwords)或使用相同链接的电子邮件营销活动添加。搜索引擎 不会 看到这些链接,因此对 SEO 没有任何影响。

提到的参数由 Javascript 库使用,而从未被 PHP 脚本使用,因此您为提高缓存能力所做的工作是正确的。浏览器的 Javascript 引擎仍会看到它们,因为它们可以访问完整的 URL。 PHP 后端 (Magento) 不需要它们。