周末到一朋友家去玩,朋友家上了网,我突然想试一试自己的网站在别的地方打开的速度如何。朋友和我一样使用傲游浏览器。一打开自己的网站发现页面中有许多空白的地方。我知道那是广告被过滤了。问朋友是不是设置了什么地方,朋友说他从没设置,也不知道设置。据我了解朋友是一菜鸟网友,应该不会去特意设置网站广告的过滤问题。这让我想到自己使用傲游时是禁用了广告过滤功能的,但许多使用傲游浏览器而又使用默认设置的网友肯定都看不到我网站的广告。这让我突然觉得我的网站损失了大量的广告展示量和点击量。
有没有办法绕过浏览器的过滤呢?
于是研究了一下傲游浏览器的广告过滤功能。傲游浏览器的过滤分四种:弹窗广告过滤、内容过滤、浮动广告过滤和文本过滤。由于本人觉得弹窗广告和浮动广告有违用户的体验,因而从不使用这种形式的广告。就是像Google Adsense这样的广告联盟也不使用这两种广告形式的。那么我的广告都是被内容过滤功能过滤了。看了傲游浏览器的内容过滤设置,其实很简单,只有如下三条:
/guanggao/
/softad/
[^a-z0-9%_-]ad(?:[sv][^a-z =?]+|banner|click|ver|name|x|log|[^a-z _]*[./]|bot|c_|client|council|gifs|graph|images|img|fshow|pic|vert|view|info|click|sponsor)
从这里可以看出广告代码中不能含有guanggao和softad目录名,调用的js文件名中以及文件内容中不能含有匹配第三条中的单词。
查看我自己的广告代码,原来文件名和文件内容中有含有ad这个词。于是马上修改代码,避免使用这些与广告相关的单词。修改后再浏览,终于广告都出来了。在其他浏览器中,如firefox,greenbrowser浏览都正常。
以上方法针对浏览器的默认设置是有效的。但有的浏览器的广告过滤功能很强,比如傲游浏览器,它提供了针对许多广告联盟的过滤包,比如百度和 Google.如果用户加载了这些过滤包,那么以上方法是不奏效的。如Google过滤包中过滤了ad,pagead等字母,而这些我们是无法修改的。 Google的广告代码中都含有src=http://pagead2.googlesyndication.com/pagead /show_ads.js这一代码。这一代码是不能有任何修改的,否则广告无法显示。显然,绕过关键词检查这一方法行不通。
那么有其他的办法没有。答案是肯定。根据我对几款浏览器的测试,发现浏览器的内容过滤就是检查常用来调用广告的JS文件。但他检查JS文件的深度是有限的,往往是一层,即JS文件路径名和内容。那么我们可以用层层包裹的方法来调用广告代码。一个JS文件调用另一个JS文件,甚至另一JS文件又调用另一个JS文件。真正的广告代码是在最后调用的JS文件中。一般来说浏览器不会检查这么深,这样便达到了广告被过滤的目的。
那么如何调用?常见的方法有两种,一是Javascript的输出函数:write和writein.第二种方法是使用iframe.不过如使用这种方法有一点要注意,那就是不能把Google Adsense广告放入iframe中。Google不推荐把广告代码投放在iframe中,如一定要这样做,那么一个页面中只能投放一组广告代码。关于 “一组广告代码”的理解有多种。
2008年11月9日星期日
订阅:
博文评论 (Atom)
没有评论:
发表评论