CRO如何安全地进行A/B测试不伤害SEO?
|

对CRO而言,符合SEO的A/B测试需要掌握哪些要点?

CRO如何安全地进行A/B测试不伤害SEO?
CRO如何安全地进行A/B测试不伤害SEO?

不久前在极诣的《为什么SEO和CRO必须是好基友?》一文中,我们提到只要技术处理得当,SEO和CRO完全可以共存。我们略微深入来看,SEO这边的担心可能更多。CRO们进行的A/B测试会不会把自己的明星页面搞砸,造成索引丢失、替换,排名下降呢?本篇我们将讨论这个问题。如果对技术部分不感兴趣可以直接跳至结论。

A/B测试的技术选择

既然是A/B测试,就意味着流量分发到A和B页面上。我们可以把这个分流分为两种模式:跳转分流和初始分流。

跳转分流和直接分流的区别
跳转分流和直接分流的区别
  • 跳转分流由Control页面,也就是A页面,来分发流量到B页面,它可以通过HTTP跳转或者JavaScript跳转、Meta Refresh跳转(不推荐)等形式把流量送到B页面。
  • 直接分流是广告上常用的,分流直接通过创意中设置的不同落地页来进行。

直接分流对SEO影响不大,因为这两个着陆页面本身没有太多关系,用途仅仅是作为推广计划的一部分。你甚至可以使用robots.txt中的disallow指引让这两个页面对搜索引擎皆不可见。我们在这里要讨论的是跳转分流。

跳转分流的技术选择

既然说到跳转就会把跳转分为后端跳转和前端跳转

下图演示了后端跳转的流程简图。

3XX跳转分流示意图
3XX跳转分流示意图

这里我们所说的跳转即HTTP跳转或3XX跳转,此处特指302跳转,这是一种临时跳转。它发生在服务器端。客户端全程只获得最后B页面的HTML。

前端跳转稍微复杂些。

前端跳转示意图
前端跳转示意图

我们可以看到,前端跳转的过程中客户端前后接收到A页面和B页面的HTML文档。其中第一次会在客户端执行掷色子的过程。

[notification type=”alert-warning” close=”false” ]

前面我们提到不推荐使用Meta Refresh跳转,而我们这里讲的前端跳转也仅指JavaScript跳转,而不包括Meta Refresh跳转。为什么呢?

  1. 首先Meta Refresh跳转一般仅在JavaScript被禁用或浏览器不支持的情况下才使用。如果不能跑JS,那就无法掷色子。跳转也就没有意义。如果由服务器来掷色子,那就没有必要让客户端再来下载一次文档并parse一下了。
  2. 其次Meta Refresh会将过程记录在浏览历史中,污染了我们的数据。还有丢失refer的风险。

[/notification]

比较前后端跳转过程,我们可以发现由于客户端只需要下载一次HTML文档,后端的跳转对用户的体验会更好。但是从测试的部署上讲,前端跳转不需要后端工程师的介入便可以自由完成,因此前端的通过JavaScript跳转进行分流的方法成了现今主流的A/B测试方法。Google Analytics和Google Optimize也采用前端跳转方案。

如何跳转才对SEO更好?

既然谈到SEO,我们需要区别是什么引擎。比如百度和谷歌就很不一样。

怎样跳转对谷歌和百度需要不同处理
怎样跳转对谷歌和百度需要不同处理

因此我们必须区别对待。

后端跳转对百度和谷歌的推荐配置

如果我们要使用302跳转进行分流,那么我们在服务器端就应该对百度和谷歌区别对待。

首先,我们在后端需要监测HTTP请求的User Agent。对于百度爬虫(那些包含baiduspider的user agents),我们将不返回302跳转状态码。而对谷歌爬虫,我们将返回与普通访客相同的状态码。同时我们将在robots.txt中禁封百度爬虫爬取B页面。

如此一来,B页面将对百度不可见。即便百度从第三方获得B页面的链接也不会对其爬行将其索引。不过这样做的一个小问题是你将无法获得来自B页面的权重传递。

接下来,我们需要在B页面上可添加rel=”canonical”标签并指向A页面,这样谷歌可以理解A页面才是权威页面。

在A/B测试结束后,原B页面将301跳转至A页面。如果B页面胜利,我们可以将A页面内容更新为B页面内容。

为什么不能对谷歌禁封B页面呢?

因为如果A页面跳转至B页面,而B页面禁封,谷歌可能理解为A页面需要改为禁封状态,从而有很大风险会丢失A页面的索引。

前端端跳转对百度和谷歌的推荐配置

如果我们要使用JavaScript跳转进行分流,对百度和谷歌的处置区别就小得多。我们不再需要对User Agent进行识别,并且不能对其进行不同处置。因为那样会成为Cloaking,违反谷歌的搜索引擎站长准则。这种雕虫小技在前端瞒不过谷歌,即便要做也在后端做啊,这样代码对爬虫不可见。所以,我们利用的是百度对JavaScript的弱支持。

Cloaking是一种对普通访客和蜘蛛伺服不同内容的黑帽SEO技术
Cloaking是一种对普通访客和蜘蛛伺服不同内容的黑帽SEO技术

换句话说,只要我们的JavaScript跳转条件写得够复杂百度就无法执行并发现B页面。而谷歌还是会通过WRS发现B页面

我们还是要在B页面上可添加rel=”canonical”标签并指向A页面,这样谷歌可以理解A页面才是权威页面,并且在robots.txt中禁封百度爬虫爬取B页面。

在A/B测试结束后,原B页面将301跳转至A页面。如果B页面胜利,我们可以将A页面内容更新为B页面内容。

其他会影响SEO的并且A/B测试中需要注意的方面

以上我们深入剖析了A/B测试对SEO的影响,还提供了一些推荐。那么还有哪些我们CRO中需要注意的呢?

  1. 测试时间宜短不宜长。长时间的302和JavaScript跳转会被一些搜索引擎,如谷歌,看作永久跳转。具体多久?很遗憾,没有一个定论。
  2. 对跳转分流测试测小不测大。canonical指引是在具有细微差别的各版本之间使用的。比如按钮颜色文字、价格Hero Image等等。如果你的两个测试实例差别很大,极诣推荐使用直接分流来测试。
  3. A/B测试中当出现前端跳转分流时,由于需要先后读取两个页面可能导致B页面到达率低的情况。因此B页面实际分流比率会下降。此时如果用户直接退出会影响搜索体验对你的页面排名有负面影响。因此稳定快速的伺服是CRO的先决条件。

以上就是极诣归纳的CRO部署A/B测试时与SEO相关的要点。感谢阅读,感谢关注极诣。

类似文章