Mostrar anuncios de Adsense sólo a los visitantes de buscadores en WordPress y Blogger
Se dice que mostrar Adsense únicamente a visitantes que llegan a tu blog a través de Google y otros buscadores aumenta el CTR (click throughrate: número de clicks dividido en el número de impresiones de un anuncio) -entre otros factores- y por ende tus posibles ganancias, dado que los lectores no habituales son más proclives a hacer click en algún anuncio.
¿Cómo hacerlo?
En WordPress:
En primer lugar, debes añadir la siguiente función en tu functions.php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $ref = $_SERVER['HTTP_REFERER'];
$SE = array('/search?', 'images.google.', 'web.info.com', 'search.', 'del.icio.us/search', 'soso.com', '/search/', '.yahoo.');
foreach ($SE as $source) {
if (strpos($ref,$source)!==false) {
setcookie("sevisitor", 1, time()+3600, "/", ".TUBLOG.COM");
$sevisitor=true;
}
}
function fromasearchengine(){
global $sevisitor;
if ($sevisitor==true || $_COOKIE["sevisitor"]==1) {
return true;
}
return false;
} |
Modifica “.TUBLOG.COM” por tu dominio. Ahora, copia lo siguiente en cada lugar donde quieras añadir bloques de anuncios de Adsense:
1 2 3 4 | <?php if (function_exists('fromasearchengine')) {
if (fromasearchengine()) { ?>
TU CÓDIGO DE ADSENSE
<?php } } ?> |
En Blogger:
Busca el siguiente código al inicio de tu plantilla, en Diseño/Edición de HTML:
1 | <title><data:blog.pageTitle/></title> |
Pega justo debajo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <script type='text/javascript'>
//<![CDATA[
var ref = document.referrer;
var se = new Array('/search?', 'images.google.', 'web.info.com', 'search.', 'del.icio.us/search', 'soso.com', '/search/', '.yahoo.');
var sevisitor = false;
for (var i = 0; i <= se.length-1; i++) {
if (ref.indexOf(se[i])!== -1) {
var expiry = new Date ();
expiry.setTime(expiry.getTime() + 3600000);
document.cookie = "sevisitor=1; expires=" + expiry + "; path=/; domain=TUBLOG.COM";
sevisitor = true;
}
}
//]]>
</script> |
En ese código, reemplaza TUBLOG.COM por tu dominio.
Ahora, pon este código junto a tus anuncios de Adsense:
1 2 | var results = document.cookie.match ( '(^|;) ?sevisitor=([^;]*)(;|$)' );
if (sevisitor == true || results[2] == 1) { |
Debe verse de la siguiente manera:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <script type='text/javascript'>
//<![CDATA[
var results = document.cookie.match ( '(^|;) ?sevisitor=([^;]*)(;|$)' );
if (sevisitor == true || results[2] == 1) {
var adsenseString = "<div style=\"float: left;\">\n";
adsenseString += "<script type=\"text/javascript\"><!--\n";
adsenseString += "google_ad_client = \"pub-xxxxxxxxxxxxxxxx\";\n";
adsenseString += "google_ad_host = \"pub-xxxxxxxxxxxxxxxx\";\n";
adsenseString += "google_ad_slot = \"xxxxxxxxxx\";\n";
adsenseString += "google_ad_width = 336;\n";
adsenseString += "google_ad_height = 280;\n";
adsenseString += "//-->\n";
adsenseString += "<\/script>\n";
adsenseString += "<script type=\"text/javascript\"\n";
adsenseString += "src=\"http://pagead2.googlesyndication.com/pagead/show_ads.js\">\n";
adsenseString += "<\/script>\n";
adsenseString += "<\/div>\n";
document.write(adsenseString);
}
//]]>
</script> |
Finalmente, sólo queda reemplazar las xxxxx por los números que aparecen en tu código de Adsense, y modificar el alto y el ancho que corresponden a las dimensiones de tu anuncio (en este ejemplo, 336×280).


