一、问题背景
网站上自己有设置广告位,结果在部分电脑上不显示图片,及广告位。
部分电脑是安装了 Adblock 广告拦截插件的电脑。
二、问题原因
最后发现原因是因为安装了 Adblock 广告拦截插件。关于 Adblock 可以看官网:Adblock Plus | 世界排名第一的免费广告拦截程序
广告位设置的图片存储放在阿里云的 OSS 对象存储,路径带 /images/ad/ad_192818282.jpg,这样格式,所以猜测是将 ad 作为广告拦截了,所以不显示。然后测试找一个其他链接替换掉上面的 ad 的图片,就正常显示了,说明猜测问题原因有效。
但是还有个问题就是广告位依旧没展示,最后看到 class 类名取的是 advert-box ,所以猜测是这个原因,然后修改类名之后就正常展示了。
所以说得出结论:为避免用户安装广告拦截插件导致网站部分dom不显示,或图片不显示,那么在取名时就避免与广告相关的敏感词汇。
三、如何避免Adblock广告拦截
1、链接地址中不要出现敏感词
URL 中含有广告嫌疑的词汇,例如 AD/ADS/GG/GGAO/GUANGGAO/REF 这类的,都是格杀勿论的,所以一定要避免出现这样的目录或者栏目。
然后通过我们上面的问题处理,可以发现:类名啊、文字啊之类的也不要出现与广告相关的敏感词汇。
2、链接中不要出现 nofollow 标签
在添加广告的过程中,最初我在链接中使用了 rel=”nofollow” 属性,结果前台立刻被拦截,且拦截的只是设置了这个属性的一张,其他的都没事。
nofollow 属性是用来告诉搜索引擎不要跟踪链接的标记,一般来讲,还是有不少的站长喜欢在广告链接里面加上这个标记,防止网页权重分散。想不到被 AdBlock 想到并用到,实在不简单。