AB页跳转是本文的核心主题。上个月有个做在线教育的朋友找我,说百度账户突然被限制了,前一天还能正常访问的落地页,第二天打开就是白屏。我让他把跳转配置发过来一看,问题很明显:他用了最原始的JS跳转,而且是直接放在页面头部的那种。百度爬虫一抓就被识别出是跳转页面,直接把这个推广账户的资质给标记了。
这几个月几乎每周都有人来问我同一个问题:AB页跳转到底怎么做才稳定?很多人以为只要把白页和推广页做好、中间挂个判断代码就行。事实上,光是我经手的几十个账户来看,真正能跑超过三个月的配置,至少要解决三个层面的问题:判断逻辑、环境隔离、防抓取策略。这篇文章我就按自己平时搭建的顺序,一步步把配置细节写清楚。
AB页跳转的基本原理和适用范围
AB页跳转的核心逻辑并不复杂:访客发起请求时,系统先判断对方是普通用户还是审核方(比如百度爬虫、微信内置浏览器抓取、人工审核IP),然后分别返回不同的页面内容。普通用户看到的是推广落地页,审核方看到的是符合资质要求的白页。
AB页跳转主要适用于这些场景:竞价广告投放(百度、360、搜狗)、信息流广告、微信生态内的推广链接。尤其是医疗、金融、成人用品、棋牌游戏等在高风险品类的领域,直接用推广页过审的概率极低,AB页跳转就成了维持稳定投放的基础工具。
AB页跳转配置的核心步骤
第一步:确定你的跳转方式
跳转方式决定后续所有配置的复杂度,这也是很多人一开始就走偏的地方。目前常见的三种方式,稳定程度从低到高依次是:JS跳转、Meta Refresh跳转、302服务端跳转。
JS跳转最简单,但是最容易被检测。但凡审核方执行一下JavaScript或者查看响应内容,立刻就能看到跳转代码,基本没有隐藏余地。Meta Refresh稍微好一丁点,用meta标签的http-equiv="refresh"来控制延迟跳转,但仍然属于前端跳转,审核工具的爬虫很容易识别。
我建议用302服务端跳转。原因有两点:第一,302是HTTP层面的标准响应码,爬虫不会像对待JS跳转那样直接判异常;第二,跳转逻辑在服务端完成,不给对方看到前端源代码的机会。配置方式是在Nginx或Apache层面根据条件判断返回不同Location头,或者在后端代码里设置响应头。
下面以Nginx为例,一个基础的302跳转配置长这样:
server {
listen 80;
server_name yourdomain.com;
location / {
if ($http_user_agent ~* "Baiduspider|Googlebot|Sogou") {
return 302 https://yourdomain.com/white-page/;
}
return 302 https://yourdomain.com/landing-page/;
}
}
这是最简版,实际上直接这么配很容易出问题,比如IP段没有区分、没有做Cookie校验、User-Agent可以随便伪造。所以就需要第二步的细化规则。
第二步:搭好基础环境检测规则
环境检测的内容,决定了你看待访客的粒度。一个合格的AB页跳转判断逻辑,至少要包含四个维度:IP信誉、User-Agent、Cookie标记、浏览器指纹。
IP信誉是判断审核流量的第一道关卡。百度审核IP段相对固定,网上有公开的爬虫IP段列表可以拉取。但我建议不要只依赖静态列表,因为审核IP有时会换,最好配合IP信誉库的API做实时查询。比如有些第三方服务可以返回IP的风险评分,分数高的一律展示白页。
User-Agent判断是最基础的,也是最容易被绕过的。百度爬虫的UA特征明显,像Baiduspider、BaiduSpider都是典型标识。但很多审核工具会用普通浏览器UA来模拟,所以UA只能作为辅助信号。
Cookie标记是很多人容易忽略的环节。你可以在访客第一次访问时下发一个特定Cookie,访问落地页之后顺手把Cookie种上。下次同一个访客再来时,如果带了正确的Cookie就直接展示落地页,不用再重复判断。这样做的好处是减少误伤,坏处是如果对方清除Cookie,判断链路就要重头走。更细节的做法是用Cookie+IP双重绑定,防止有人手动复制Cookie去访问。
浏览器指纹是相对高级的一种检测方式。通过采集Canvas、WebGL、屏幕分辨率、时区、字体等信息生成一个哈希值,再和已知的审核方设备指纹库做匹配。这个方案的识别率确实高,但配置成本也高,不是所有场景都需要上。通常用到浏览器指纹的场景是:审核方已经换了IP和UA,但设备特征和之前的审核设备一致。
第三步:设计跳转规则和白页内容
AB页跳转不只是“判断+跳转”这两步,规则设计才是真正的核心。很多人配置完跳转以为就完事了,结果跑了不到一周就被封,原因大多是规则设计得太粗糙。
规则设计至少要覆盖三个场景:首次访问、深度访问、频次控制。
首次访问的规则是:访客没来过,先给白页或一个过渡页,不要直接跳转到推广落地页。配合Cookie的种入,让访客二次访问时才看到真实的推广内容。这样做的逻辑是:审核方抓取通常是一次性的,不会给你第二次机会。用首次访问白页的配置,可以扛住绝大多数一次性审核。
深度访问规则是指:用户已经访问过几次之后,就不再展示白页了,直接给推广内容。这个可以通过Cookie中的访问次数来判断。比如前两次给白页,第三次开始给推广页。但要注意用一个隐形的计数参数,别搞成明文能看出来的。
频次控制的规则:同一个IP在短时间内反复访问,比如30分钟内超过50次请求,直接展示白页或跳转验证码。因为正常用户不会这样刷页面,这往往是审查方的批量抓取或者是程序探测。
白页的配置同样不能凑合。白页要保证和推广页同主题,但是内容完全合规。比如你做的是一个植发项目,白页就写成植发科普知识,不要有任何联系方式、不引导加微信、没有咨询弹窗。页面内容不要直接复制,写两三百字的原创介绍就行。百度内容审核对复制内容也很敏感,白页本身如果检测出是重复内容,同样会有风险。
真实场景一:百度竞价医疗账户的AB页跳转配置
我之前接手过一个植发机构的百度竞价账户。这家机构之前因为落地页违规被消费者投诉过,百度对账户的审核级别直接拉满。他们之前用的一个跳转工具配置非常简单:所有百度过来的流量全部302到推广页。结果账户一直没有过审,核心词的计划全部处于“审核中”状态。
我重新帮他们搭了一套跳转逻辑:
IP方面,把百度官方的爬虫IP段全部抓取出来,写进Nginx的deny列表,再加上一个第三方IP信誉库的判断。UA方面,识别到Baiduspider一律给白页。Cookie方面,首次访问一律先返回一个“内容安全验证中”的静态页,同时种下标记;第二次访问时如果Cookie正常,就302到推广落地页的缓存版本。同时,白页内容做了三个不同版本,每六个小时自动轮换一次,避免内容指纹被收录后直接匹配。
这套配置上线后第三天,核心计划的审核状态变成了“有效”,当天就开始有量了。后面稳定跑了将近四个月,期间只出现过一次被系统限制的情况,是因为百度升级了一次风控策略,把一些WebRTC特性加入了检测范围。后来在跳转规则里加了一条:当WebRTC的IP和HTTP请求IP不一致时,直接给白页,算是把这次风控变化扛过去了。
真实场景二:信息流广告投放中的AB页跳转
另一个案例是做金融贷款产品的,投放渠道是巨量引擎。注意,巨量引擎的风控逻辑和百度有明显的差异:抖音的审核偏向于页面体验检测和用户投诉监控,不像百度那样频繁抓取页面内容,但巨量的审核会用真实用户设备去访问你的落地页,如果检测到跳转痕迹,会直接封禁广告计划。
针对这个特点,我调整了配置方案:对于巨量引擎的流量,不做UA类型的常规判断,而是完全依赖设备指纹。具体做法是,在后端集成一个指纹采集接口,访问落地页时先采集Canvas和WebGL信息,如果设备指纹命中已知的审核设备特征库,就返回白页;否则返回正常落地页。另外再加了链接时效性控制:每条广告点击的URL带一个过期时间戳参数,超过30分钟的链接直接失效,跳到404页面。这个做法专门针对巨量审核喜欢用历史链接回查的情况。
这套配置运行两个月,广告账户没有因为落地页问题被封过。中间有一次被巨量提示“落地页涉及违规内容”,排查后发现是白页模板里残留了一段旧版推广文案,被系统识别到了。换成全合规版本的科普内容后,提示就解除了。
AB页跳转配置中的常见问题
问题一:跳转配置没有问题,但过了一周还是被检测到了
这种情况大概率不是跳转本身出了问题,而是你的落地页内容或者推广链路其他环节违规了。AB页跳转只能解决“审核时看到了什么”的问题,解决不了“用户投诉你虚假宣传”的问题。建议仔细看看封禁提示的具体原因,如果是推广页面内容本身被投诉,那跳转做得再好也没用。
问题二:百度不收录白页,导致账户被限制
白页存在的意义是给审核看,不是给用户看,所以不收录反而正常。但如果连正常的白页内容都被判为垃圾页面,就要检查白页的代码质量了。不要在正文里放js跳转代码,不要做meta refresh,更不要把落地页的URL直接写在白页源码中。一个干净整洁的白页比复杂的伪装效果好得多。
问题三:用户的手机浏览器打开后也跳到了白页,导致转化率极低
这通常是环境检测规则误伤的典型表现。很多人的手机浏览器默认开启了隐私保护,导致Cookie写入失败或者WebRTC不匹配,误被判断成了审核流量。解决办法是调整规则的优先级:IP信誉优先于UA判断,Cookie标记优先于浏览器指纹。一般来说,只要IP不在黑名单里且Cookie正常写入,就直接展示落地页,不要每次都走完整的检测流程。
问题四:换了一个服务器之后AB页跳转就不好使了
大部分原因是IP信誉问题。你新换的服务器IP如果恰好是IDC机房段(数据中心段),而之前配置里又写了“机房IP一律展示白页”的规则,那所有真实用户都会被当成审核流量。建议购买服务器之前先查询目标IP段的信誉评分,或者在新服务器上先用一段时间的纯静态页测试落地页的打开情况。
问题五:点击率挺高的但是转化率几乎为零
AB页跳转做好了之后转化率依然低,首先看是不是跳转链路过长了。如果用户访问时先跳转到白页、再等两秒才跳到落地页,用户早就流失了。优选策略是在服务端完成全部判断,保证正常用户跳转之后落地页的加载速度不超过800毫秒。另外检查落地页本身的设计,是不是和广告创意描述的一致,不要让用户产生被欺骗感。
稳定运行的三个辅助配置
除了主流程的跳转配置,三个辅助项直接影响整体稳定性,建议一开就配好。
第一项是监控告警。跳转配置不是配完就能放的,需要有监控看板实时观察流量的走向和跳转比例。一旦发现白页展示比例突然升高,说明有异常流量进入,或者是规则被绕过了,要第一时间介入排查。之前我用过Prometheus加Grafana自建看板来做告警,效果不错;对配置能力有限的朋友,用市面上现成的cloak服务商后台的监控功能也可以。
第二项是规则版本备份。每次修改跳转规则之前,把当前正在运行的配置做一个快照备份。一旦新配置导致封号或者大量误伤,可以马上回滚到上一个版本,不用临时折腾。
第三项是落地页和广告素材的定期更新。AB页跳转的稳定性有一条规律:页面内容和广告创意越是高度匹配,风控就越容易放行。定期更新素材和落地页文案,保持整体内容的新鲜感,能有效降低被人工抽检的概率。
AB页跳转配置的长期策略
AB页跳转不是一锤子买卖,配置好之后还要不断根据投放平台的风控变化去做适配。百度现在对于页面内容的校验频率越来越高,有的人用比较弱的跳转配置跑了很久都没事,有的刚配好就被限制。这里面有运气成分,但更多是策略差异。
如果账户体量小、预算有限,建议先做好基础的环境检测和302跳转,跑两周看看效果再逐步优化。如果预算充足、账户权重高,建议直接上带设备指纹和Cookie校验的中级方案,能把误伤率控制在很低的水平。
还有一个看法可能和很多人的直觉相反:不要追求100%的审核识别率。如果100%的审核流量都被拦截了,反而容易被平台判定为“异常特征过于明显”。比较理想的配置是让一小部分审核流量漏过去看到白页,让大部分审核流量看到白页,让所有正常用户看到推广页。这种自然分布的形态反而更逼真。
最后说一句,AB页跳转只是投放链路中的一个环节,它不能把一个本来就违规的推广内容变成合规的。页面本身的内容质量、广告素材的相关性、账户的整体运营状态,这些因素综合在一起才决定投放的长期稳定。工具用好了是助力,用歪了就变成加速封号的催化剂。