提高单价:只针对搜索引擎显示Adsense广告
作者:摩摩诘 来源:digglife 时间:2009-03-31 16:20:00
针对搜索引擎显示Adsense广告是一个很古老的话题,其目的是为了减少无效展示,提高eCPM,也就是所谓的有效每千次展示的费用。江湖上传言eCPM高了,Adsense机器人会自动匹配高单价的广告到你的网页,所以在点击率一定的情况下,提高eCPM是是一种有效提高广告收入的办法。
网上流传的有三种办法,原理都是一致的,只是有的简单有的复杂,有的功能强有的效率高。曾经一度使用大猫老湿的习作,但是后来发现还需要继续缩小范围,所以就自己研究了一下。
首先看看原始代码:
<?php
$referer = $_SERVER[‘HTTP_REFERER’]; //获取反向链接,并赋值给$referer
$adsense = 《《《ad
你可以把ADsense的代码
复制到我的位置
ad; //Adsense代码赋值给$adsense
if(strpos($referer,‘digglife.cn’) == false){
echo $adsense;
}//判断$referer中是否含有digglife.cn,无则输出$adsense
?>
我虽然没学过PHP,但是这些代码还是很容易懂的,上面的注解尽管不专业,但是意思上不会有差错。Strpos本来是寻找字符串中某字符最先出现处,有则返回整数值,但是因为如果没有就返回false,所以这里用着刚刚好。
这段代码采用的是一种排除法,只要不是直接进入digglife的,一律显示广告。但是我通过Google Analystic分析的结果是,99%的收入来自谷歌,百度和搜搜,所以只想针对这三个搜索引擎显示广告,这样只能通过正面判断。
当然,可以如下这么写,还是大猫的家庭作业:
<?php
$referer = $_SERVER['HTTP_REFERER'];
$adsense = <<<AD
adsense的代码
AD;
if(strpos($referer,'google') !== false){
echo $adsense;
}elseif(strpos($referer,'baidu') !== false){
echo $adsense;
}elseif(strpos($referer,'soso') !== false){
echo $adsense;
}
?>
但是适合对不同的搜索引擎显示一样的内容,如果内容相同,就可以利用foreach循环语句将其简化:
<?php
$referer = $_SERVER['HTTP_REFERER'];
$se = array('google', 'baidu', 'soso');
$adsense = <<<AD
adsense代码
AD;
foreach ($se as $source) {//将se数组中的每一个值逐一赋给$source
if(strpos($referer,$source) !== false){
echo $adsense;
}
}
?>
不过Foreach这个方法要将数组里面的每一个值都执行一遍,也就是所谓的遍历,执行效率从理论上说要比上面那个低一点。
PHP看起来好像很牛逼的样子,啥时候俺也来学学。