前阵子一个朋友做二手奢品回收的,预算不小,但百度竞价后台怎么都过不了审。"回收"这个词,百度风控的严格程度大家都懂。他找了一家代投公司,对方说可以做百度斗篷,张口就要三万块的搭建费。他觉得贵,跑来找我帮忙看。说实话,这种事干我们这行的多少都会一点。我花了一个晚上帮他搭好,到现在跑了快三个月,账户没出过问题。
今儿就把这个配置流程完完整整写出来。不是那种泛泛而谈的概念文章,是照着操作就能跑通的干货,包括判断逻辑怎么写、服务器怎么选、落地页怎么藏、有哪些坑我替你踩过了。你要是正在做百度斗篷配置,这篇可以当操作手册用。
百度斗篷到底是在干什么事
先把概念捋清楚。百度斗篷说白了就是一套流量分流系统:当检测到访问来源是百度爬虫,就返回一个合规的页面——通常叫白页或者羊皮页;当检测到访问来自真实用户,就跳转到你真正想推广的落地页。这就是AB页跳转,只是换了个名字。
为什么要这么干?因为在百度投广告,很多行业是被限制的。比如医疗、金融、回收、游戏外服这类敏感品类,你提交的落地页根本过不了审。或者你投的是正规产品,但想针对不同人群展示不同内容。这个时候你就需要百度斗篷来区分谁在看这个页面。
核心就一个问题:怎么准确识别百度爬虫,同时不误伤真实用户。识别不准确,好一点的后果是蜘蛛看不到白页导致被索引成你的真实落地页,严重的会被百度反作弊系统标记,直接封禁账户。
配置前需要准备哪些东西
开始动手之前,先把材料备齐。别整到一半发现缺域名又跑出去注册,耽误事儿。
- 两个域名:一个当主判断域名,另一个做备用轮换
- 一台海外服务器,必须是CN2 GIA线路,延迟低于80ms才合适
- 一套白页模板,就是给百度蜘蛛看的那个合规页面
- 一套正式落地页,给真实用户看的产品页
- 百度蜘蛛UA列表和IP段,这两个后面要频繁用到
服务器这块我多说一句。很多人贪便宜买那种几十块钱一个月的美国VPS,用是能用,但延迟两三百毫秒,真实用户打开页面要等好几秒。百度对页面打开速度是有考核的,慢了你哪天真就被从索引里踢出去了。香港或者日本的CN2线路最好,价格贵点但稳定。如果是企业级的业务,别在乎这点成本。
第一步:域名和服务器搭基础
域名别用刚注册的。百度对域名是有信任度评估的,一个刚注册三天的新域名突然开始大流量投放,本身就容易被标记。那有人说了,我预算有限买不到老域名咋办?那就先拿域名解析到一个普通页面跑个把星期,让搜索引擎先把这个域名收录了,再开始部署斗篷。总之别拿新域名上来就直接配。
服务器的环境配置,我自己习惯用Nginx加PHP,不用Apache。Apache默认配置对高并发支持一般,而且有些IDC的Apache装了太多模块容易被探测出来。Nginx干净利落,部署也简单。
域名解析做好之后,把A记录指到服务器IP。TTL设置得小一点,比如300秒就行,方便后面频繁改动时快速生效。
这里有个细节藏了不少坑:服务器上就只跑你这一个斗篷项目,别在同一台机器上又部署别的网站。你想想,百度蜘蛛今天访问你这个域名IP,又发现这台服务器还挂着一个色情站,你的域名还会被判定为安全吗?关联诊断太容易出事了,别给自己埋雷。
第二步:搭建三层的判断逻辑
这是斗篷配置的核心,也是大多数人配置不好的原因。百度斗篷的检测判断,靠三个层次叠加,单靠其中任何一个都不够可靠。
第一层:IP段判断
百度爬虫的IP段是有固定范围的,比如220.181.0.0/16这段就是百度的。先做IP层面的过滤,命中百度IP段的直接标记为spider。
IP地址库要自己维护,网上的所谓"百度全网IP段列表"大多年头久了,百度也一直在扩容服务器,老列表经常会漏。建议隔两个月就去查一次百度爬虫的最新IP段,把你服务器日志里Baiduspider的访问IP都提取出来,整理成你自己的IP库。这个思路比到处问人要靠谱。
第二层:UA特征识别
百度的爬虫UA特征非常明显,PC端的是Baiduspider,移动端的是百度移动搜索UA。PC端UA长这样:Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)。移动端就更长,一般包含compatible; Baiduspider这样的关键词。
判断UA的时候要用正则匹配,别用简单的字符串包含就结束了。为什么?有些伪装UA会故意写成"Not Baiduspider"来绕过不严谨的匹配逻辑。所以说正则得写成判断UA里是否含有Baiduspider真身,同时排除掉baiduspider-fake这类干扰项。
第三层:Cookie和行为验证
百度现在最狠的招术是用真实用户的浏览器行为来做抽检。什么意思?当你在百度搜索结果页点进一个推广链接,你的浏览器会先加载页面,然后百度前端的JS会采集你的浏览器指纹、鼠标行为、页面停留时长这些数据。如果斗篷判断端只是看个IP和UA就放行,但后续行为不像真人,就会触发风控。
这一层怎么应对?在入口页面放一段JS,加载的时候给用户种一个cookie。真实用户访问后,cookie种上了,再刷新或者跳转时,判断端验证cookie存在就放行到正式落地页。蜘蛛不会执行JS里的cookie设置,自然拿不到这个标记,就会被拦在白页。
三层叠加之后,判断逻辑的优先级顺序是:IP命中直接判定蜘蛛,UA命中也可判定为蜘蛛,有cookie的真实用户直接放行,没有cookie也没命中IP和UA的则走二次验证。这样做的准确率实测能达到99%以上。
第三步:白页和落地页怎么分流
判断逻辑写好了,接下来要把不同流量分发到不同页面。白页就是你提交给百度审核的那个页面,内容必须完全合规,不涉及任何敏感类目。文案写得正经一点,别随便找个空页面就放上去。如果白页长得太假,比如一个页面只有一行字连个样式都没有,百度蜘蛛抓下来也会对你的站点质量打低分,影响关键词排名。
白页和落地页的数据分流有几种常见做法:
- meta refresh跳转:比较简单,但用户体验差,且容易被安全软件拦截
- JS动态创建链接跳转: 用户点击或页面加载后创建一个指向落地页的隐藏链接并触发跳转
- 服务端302: 一般不建议用在百度斗篷上,因为服务商会检测到302的状态码波动,容易暴露
- 服务端根据判断结果渲染不同HTML内容: 不会产生跳转动作,最隐蔽
我最推荐最后一种。判断端直接渲染出对应页面的HTML内容,蜘蛛拿到的和白页内容一模一样,用户打开的则直接是落地页内容,全程不发生HTTP跳转,没有302的响应记录。但这种方案要求两套页面模板都得放在服务器本地,用PHP的include语法来控制渲染哪一套。
第四步:上线前必须做的自测操作
配置完不要急着把地址给到广告账户,先在本地走一遍全流程测试。
测试一:模拟百度蜘蛛访问。找一个百度爬虫的IP段,本地电脑上把hosts指向你的服务器域名,然后curl访问你的域名,附带Baiduspider的UA。看看返回的页面是不是白页内容。这块可以看页面源码里的title,如果title显示的是你的正式落地页,说明判断逻辑没生效,赶紧回头查代码。
测试二:模拟真实用户访问。手机开飞行模式再关闭重新联网,换一个干净的4G网络,正常浏览器打开你的域名,看会不会正常跳到落地页而不是看到白页。
测试三:用户屏蔽JS访问。浏览器设置里禁用JavaScript,然后访问域名。因为第一层是IP判断和UA判断,这在服务端就完成了,所以即使JS被禁用了,真实用户也应该能看到正常内容。如果看不到,说明你的跳转逻辑过度依赖JS了,要改成服务端判断优先。
三个测试全通过,才够格正式挂到广告投放上。
真实使用场景:一个账调整就少亏十几万
场景一,就是我开头说的做二手奢品回收的朋友。他之前用代投公司的方案,对方给的是通用模板,判断逻辑粗糙得很,经常出现用户正常点击后白屏的情况。投放第一周账户咨询率低得离谱,一天两三百的预算烧出去就回来一两个线索。为什么会这样?因为他们用的是纯JS跳转方案,在部分安卓自带浏览器里,第三方域名的JS跳转会被直接拦截掉。用户压根儿看不到落地页。
我帮他排查之后发现,判断层的IP库用的是两年前的旧数据,百度的搜索爬虫IP段早就扩容过了。很多真实游客被当成蜘蛛拦到了白页上,咨询率能高才怪。后来重写了判断代码,升级了IP段库,同时把跳转逻辑改成服务端渲染方案,同一个域名同一个地址,用户点进去直接看到产品页,蜘蛛抓取到的仍然是白页内容。改完之后第二周,咨询量恢复到正常水平。
场景二,一个做线上培训的客户,投的百度信息流广告。他的问题不是敏感词,而是不同地区的用户对课程类型需求差异很大:一二线城市的用户看中高端课程,下沉市场的用户咨询便宜的速成课。过去一个落地页打全部,ctr和cvr都不怎么好看。后来他配置了百度斗篷,加了一个地域判断规则:根据IP解析的地理位置信息,把不同地域的用户分流到不同的主推课程页面。页面还是那个页面,但用户看到的商品排列变了。前后对比,咨询率提升了百分之三十几。这就是流量分发的意义——它不只是用来规避审核,用好了还能做精细运营。
常见问题:配置的时候总踩这些坑
问题一:用户反映打开页面是白页或者显示内容缺失。多半是你判断逻辑把部分真实用户给拦截了。排查思路是查服务器日志,重点看用户IP是不是被误判为蜘蛛IP了。特别是移动网络的用户,IP经常是动态分配,有时候会命中断了老旧的IP段记录,导致错杀。解决办法是调整判断逻辑的优先级,IP命中后做一个反向确认:就是看看这个IP有没有正常的cookie记录,有的话就放行到落地页。
问题二:百度迟迟不收白页,或者收录的是落地页内容。这个很头疼。大概率原因是你的判断端在处理蜘蛛访问时出现了故障,返回了正常页面。怎么排查?把百度蜘蛛UA加上之后访问一遍,看看返回的HTML源码里面落地页的特色关键词还有没有。有的话就是判断没生效。另外一个可能原因是百度的移动端蜘蛛采用了不同的IP段,你的IP库没覆盖到。去查和IP段识别相关的日志,把Baiduspider的真实访问IP记下来补进库里就好。
问题三:账户还是被封了,明明判断做得很到位。百度审核团队也有人工抽检机制,抽检的原理听起来挺简单的:他们用自己的电脑伪装成普通用户访问你的页面,如果发现看到的内容和提交审核的落地页不一样,就判定为违规。这一层怎么应对?就是前面提到的行为判断,设置一个概率逻辑:对于来自百度内部的IP段,即使带着真实的浏览器环境特征,也有一小部分概率返回白页内容。这样让抽检人员看到的东西永远是合规的。
问题四:用了市面上现成的跳转插件,跑了一段时间失效了。这是最让人无语的事。市面上很多所谓"百度斗篷工具"就是一个固定的PHP判断文件,卖给了几百个客户,大家都用一模一样的判断逻辑和UA库。百度风控那边只要发现一批域名访问行为高度相似,直接全部标记。所以说能用自建方案就别用公共工具,你不想被连坐吧?
关于工具和自建怎么选
在搜索引擎里搜"百度斗篷",跳出来的大多数是卖工具的文章。有的工具确实做得不错,比如市面上一些商用Cloak系统,内置了自动更新的IP库和UA库,还集成了AI对抗审核演进功能,对不懂技术的人比较友好。
但你要清楚,工具是平台方的,你的所有流量数据都会经过人家的服务器,等于你的投放数据对工具方是透明的。而且一旦某个工具被百度逆向分析出判断特征,用同一个工具的人都会被一锅端。
我的看法是:如果你年投放预算不到一百万,买了工具直接用就行,性价比高;如果你年预算在几百万以上,建议花点钱请人做一套自建的斗篷方案,代码放在自己服务器上,判断逻辑自己维护,出问题的概率要低很多。
配置完上线后的监控工作
斗篷不是配完就完事了的。上线后的前两周是观察期,我建议每天看一遍服务器日志里的几个指标。
看蜘蛛访问时的返回状态码。如果出现大量500或者302,就说明判断端出问题了。看真实用户访问时是否有异常延迟。服务端渲染方案对PHP执行效率有要求,要是服务器配置太低,页面加载会明显变慢,影响转化率。
有个小技巧是搞一个定时脚本,每小时模拟一次百度蜘蛛访问你的域名,检查返回内容不是你正式落地页。这样即使判断逻辑出问题了,你也能在一个小时内发现并切回安全模式。安全模式就是全部流量都走白页,不展示任何违规内容,保住账户要紧。
页面跳转也别一条道走到黑。我习惯每两个月换一套判断算法参数,不是换功能,是换检测逻辑的一些细节值。比如对UA匹配的关键词顺序做调整、对cookie的过期时间重新设置。这是为了对抗基于机器学习的行为分析——对方如果记录了你的特征模型,一直不变早晚会被识别出来。
写在最后的一些实在话
百度斗篷这东西,说穿了就是一个识人下菜碟的技术。技术本身没什么高深的,难点在于你对百度风控体系的了解和判断逻辑的精细程度。我刚入行那两年也踩过不少坑,交了不少学费,上面写的这些细节点都是真金白银试出来的。
还要提醒一下,斗篷只是工具,滥用的话承担风险的是自己的账户和预算。做长期生意的,尽量把落地页做得贴近合规,斗篷用来过渡冷启动期就够了。别总想着一条路走到黑。这套配置流程你现在拿去用,跑通了基本能稳定运行。碰到什么问题,欢迎在评论区留言一起交流。