个人网站做了2、3年,去年终于通过了google adsense审核,每个月小几千的广告费还是挺香的。但好景不长,不久前突然收到google发来的邮件,说账号因发现了无效流量问题被暂停限制广告投放。下意识的网上一搜,果然发现很多人都遇到过这个问题,我也是反反复复经历了好4、5次的限制,现在问题似乎解决。这里把自己的心得分享给大家,供大家参考。
1.第一次被限制
开通adsense后的第6个月后,第一次被google限制广告展示,原因是被检测到无限流量。网上的解决方案,普遍都是说不要自己点击自己广告,减少用户误点几率等等。
我肯定自己没有点击过广告,100%是真实流量。我怀疑是用户误点次数过高,于是我开始调整广告位置,增加广告和内容的辨析度,尽量减少误点用户次数。
一般这个限制时间不会太久,大概2周左右。果然,隔了10天广告终于恢复正常展示。
2.第二次被限制
不到半个月,遭遇第二次限制。心凉凉,这次我怀疑是有人故意搞我,恶意点击广告。于是开始通过百度统计,谷歌分析等网站统计功能,来分析访客来源和行为。然并卵,没有发现有明显的异常,只ban了几个有嫌疑的IP。
苦苦等待10多天时间,广告如期恢复了正常。
3.第三次被限制
很快,不到三周的时间,网站又一次被限制,这着实让我有点慌,因为看到网上有人说,三次限制后,账号直接会被封掉,而且很难申诉。
因为谷歌没有透露检测算法,不知道问题到底出在哪儿,只有靠自己瞎蒙了,这次我采取的措施是:
- 完全关闭自动广告
- JavaScript控制广告展示次数,最多不超过5次(我的网站是SPA单页面应用)
这次居然7天就解除限制,神奇!
4.第四次被限制,问题终于得到解决
差不多半个月的时间,又被限制了,心累,这次我是真的准备放弃了。
某日用百度统计浏览访客来源的时候,突然发现一个可疑的网站,点进去一看,我的网站居然被人克隆了。好家伙,搞了个爬虫,把我的网站扒了个精光。
前面我说了,我的网站是SPA,JavaScript实现的前端渲染,这家伙能爬到我的数据,肯定使用了,诸如puppeteer
、selenium
这种的模拟浏览器爬虫。
要识别这些爬虫很简单,一般看User-Agent
是否带了HeadlessChrome
。一查nginx
日志,果然一大堆HeadlessChrome
的访问请求。问题似乎终于找到了,那么解决办法就很简单了:
- 关闭自动广告
- 使用自定义广告单元,用JavaScript控制广告展示。展示逻辑为:当检测到访客的
User-Agent
带了HeadlessChrome
,说明这个是爬虫访问,不能展示广告,否则这个就是一次无限展示。
总结
目前用这种策略运行了2个多月,网站再也没有出现被限制的情况,说明这个问题很大概率就是爬虫引起的,真坑~。