24-03-2009 Luis Artola
A continuación un pequeño SEO truco para hacer que los usuarios que nos visitan desde google images y que normalmente ven directamente una foto de nuestra página, nos aporten suculentas visitas. Dejo el decidir si se trata de una técnica moral o no para con los usuarios. A mí me da cierto reparo…
La idea es detectar si una visita hacia nuestra página viene de google images o no. Si viene de google images, en vez de devolver la imagen qeu pide, le devolvereos una página html con esa imagen y todo lo que queramos (publicidad, analytics, unos cuantos links a ver si pulsa, etc…)
Modificaciones en el .htaccess
RewriteEngine On
RewriteCond %{REQUEST_URI} (.*)\.(jpg|jpeg|gif|png|bmp)$ [NC]
RewriteRule (.*) /script.php?imgpath=$1 [PT]
El script en PHP:
<?php // $hr es un array de url´s que identifican a google images. Con él sabremos si nos viene una visita de allí. $hr = array("images.google", "images.search.yahoo.com", "search.live.com/images/"); // cuidado, la siguiente asignación no es muy segura, sirve para un ejemplo... $imgpath = $_GET["imgpath"]; // ¿nos viene una visita de google images? foreach($hr as $imgreferrer) { $found = strpos($_SERVER["HTTP_REFERER"], $imgreferrer); if ($found !== false) { // Es una visita desde google images, así que vamos a devolverle una página en html, en vez de directamente la imagen. header("Content-type: text/html"); ?> <!-- aquí vendría código html que cada uno quiera poner. --> <h1>Imagen embebida</h1> <img src="<?php echo $imgpath; ?>" alt="" /> <?php die(); // No sigamos con el loop } } // Si la visita no era de google images, devuelve la imagen normalmente. header("Content-type: image/jpeg"); // cuidado si no es un jpeg.. habrá que poner lo que corresponda. echo file_get_contents($imgpath); file_get_contents() ?>