Monografias.com > Computación > Internet
Descargar Imprimir Comentar Ver trabajos relacionados

Contador de clicks en links salientes compatibles con buscadores



     

     

    Un link desde nuestras páginas no sólo
    envía visitas al sitio web al que apunta. Desde la
    aparición del sistema de posicionamiento por popularidad
    (introducido por Google con su mecanismo de
    PageRank), un link del tipo "<A HREF=…" se considera como un
    "voto" al sitio que recibe el enlace, lo que ayuda a mejorar su
    posición en los resultados de las búsquedas.

    Sin embargo, en muchos sitios de Internet resulta prioritario contabilizar
    los clicks que hacen los usuarios en los enlaces salientes (como
    se acostumbra hacer en los programas de intercambio de links
    por efectividad, también conocidos como "tops"). En estos
    programas los links salientes no son "verdaderos links hacia el
    sitio destino", sino que toman la forma <a href="out.php?URL=www.sitiodestino.com">. Este enlace,
    para Google es un link a una página interior de nuestro
    sitio (en este caso out.php), que toma como parámetro una
    dirección destino para
    ejecutar una redirección. Pero Google ignorará el
    parámetro recibido por el script, por no ser el destino del
    link "real".

    Este artículo describe una técnica para
    generar links verdaderos, capaces de ser seguidos por Google y
    transmitir pagerank, pero que también permiten a nuestros
    programas realizar un seguimiento de cuántos usuarios hacen
    click sobre estos links. A la fecha de publicación del
    presente artículo (setiembre del 2004) ningún programa hace uso de este
    mecanismo. Esperemos que a partir de este artículo los
    desarrolladores incorporen esta tecnología para beneficio de todos los
    webmasters.

     

    EL problema de la
    transmisión de PageRank en los intercambios de
    links

    Según la propia documentación de Google
    (http://www.google.es/bot.html), el googlebot (el robot de
    Google que periódicamente explora la web) es capaz de seguir
    sólo enlaces de dos tipos: anchors (<A HREF=… >) e
    imágenes (<IMG SRC=…
    >). La misma documentación también aclara que Google
    es incapaz de seguir enlaces desde flash, javascript y parámetros en
    los enlaces a otras URLs.

    En sus intercambios de enlaces muchos webmasters
    prefieren usar enlaces "manuales", que son links comunes
    que transmiten pagerank pero no permiten a los programas
    contabilizar cuántos clicks se hicieron sobre ellos. Con
    este mecanismo el webmaster no sabe si el intercambio es
    productivo (las estadísticas nos muestran
    las visitas que recibimos desde ese intercambio, pero no podemos
    saber las visitas que estamos enviando).

    Otros webmasters optan por tener un mayor control del intercambio, e
    instalan programas de gestión de intercambios
    (como ser AWG Trade, Traffic Drive, CJ-Ultra, TM3, etc). Pero al
    instalar estos programas, los enlaces desde sus sitios web dejan
    de ser seguidos por los robots de los buscadores (también
    llamados crawlers).

     

    La solución al problema:
    una técnica inédita

    La solución consiste en incluír en nuestro
    sitio enlaces reales tipo anchor (<A
    HREF="http://www.sitiodestino.com">). Sin hacer trampas. Tal
    cual están programados para seguir todos los robots de
    indexación de páginas. Pero usando un código especial de DHTML
    que nos permite contar cuántas veces se hace click en el
    enlace, sin necesidad de poner en el propio enlace nada
    especial…

     

    Anatomía de un sencillo
    sitio web que implementa esta solución

    Desarrollaremos una implementación de ejemplo
    sumamente básica para demostrar el uso de esta técnica.
    Para el ejemplo hemos elegido usar PHP y javascript, aunque es
    posible hacerlo con cualquier otro lenguaje de programación.
    Nuestro pequeño ejemplo se divide en dos partes:

     

    1) Un sencillo script (un contador sumamente
    básico) que nos permite llevar la cuenta de los
    clicks.

    Este script de ejemplo mantiene la cuenta de los
    clicks en un archivo de texto plano (cont.txt), como
    los contadores de visitas más básicos.

    El sólo hecho de abrir este script con un browser
    hace que el número guardado en el archivo "cont.txt" se
    incremente en uno.

     

    Archivo: contador.php

     

    <?php

    // archivo que guarda el numero de hits

    $cont = "cont.txt";

    $fp = fopen($cont,rw);

    $num = fgets($fp,9999);

    fclose($fp);

    $fp = fopen($cont,w);

    $num += 1;

    fputs($fp, $num);

    fclose($fp);

    ?>

     

    2) Una página web conteniendo los
    links salientes sobre los cuales queremos controlar la
    actividad de los usuarios
    .

     

    Archivo: links.html

     

    <html>

    <head>

    <title>Página de
    Ejemplo</title>

     

    <script language="javascript"
    TYPE="text/javascript">

    <!–

    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    // (C) 2004, Eduardo Gonzalez Gonzalez
    (www.estadisticasweb.com) //

    // Este código y scripts adjuntos son cedidos al
    dominio público
    //

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    var TRACKfrObj; function TRACKlink(CounterScript) { if
    (!document.createElement) {return true};

    var TRACKfrDoc; if (!TRACKfrObj &&
    document.createElement) {

    try {var TRACKfrtemp=document.createElement('iframe');
    TRACKfrtemp.setAttribute('id','TRACKframe');

    TRACKfrtemp.style.border='0px';
    TRACKfrtemp.style.width='0px';

    TRACKfrtemp.style.height='0px'; TRACKfrObj =
    document.body.appendChild(TRACKfrtemp);

    if (document.frames) {TRACKfrObj =
    document.frames['TRACKframe']; }}

    catch(exception) {TRACKhf='<iframe id=" TRACKframe"
    style="'; TRACKhf+='border:0px;';

    TRACKhf+='width:0px;'; TRACKhf+='height:0px;';
    TRACKhf+='"></iframe>';

    document.body.innerHTML+= TRACKhf; TRACKfrObj = new
    Object();

    TRACKfrObj.document = new Object();
    TRACKfrObj.document.location = new Object();

    TRACKfrObj.document.location.iframe =
    document.getElementById('TRACKframe');

    TRACKfrObj.document.location.replace =
    function(location) { this.iframe.src = location; }}}

    if (navigator.userAgent.indexOf('Gecko') !=-1 &&
    ! TRACKfrObj.contentDocument)

    {setTimeout(' TRACKtrack()',10); return
    false;}

    // Browser tipo/version NS6

    if (TRACKfrObj.contentDocument) {TRACKfrDoc =
    TRACKfrObj.contentDocument;}

    // Browser tipo/version IE5.5 & IE6

    else if (TRACKfrObj.contentWindow) {TRACKfrDoc =
    TRACKfrObj.contentWindow.document;}

    // Browser tipo/version IE5

    else if (TRACKfrObj.document) {TRACKfrDoc =
    TRACKfrObj.document;}

    else { return true; }
    TRACKfrDoc.location.replace(CounterScript); return
    false;

    }

    //–>

    </script>

     

    </head>

     

    <body bgcolor="#ffffff">

    <br><br><br>

     

    Un link de ejemplo:

     

    <span onClick="TRACKlink('contador.php')"><a
    href="http://www.estadisticasweb.com" target="_blank">Visite
    EstadisticasWeb.com!</a></span>

    <br><br><br>

    En el archivo "cont.txt" alojado en el servidor se encuentra una cifra
    que indica el número de veces que se accedió a este
    link. <br> El link contenido en esta página es
    compatible con los crawlers, y especialmente con Googlebot. Por
    lo tanto sirve para transmitir Pagerank.

    <br><br><br>

    </body>

    </html>

     

     

    Explicación del proceso

    EL link utilizado es completamente simple:

    <a href="http://www.estadisticasweb.com"
    target="_blank">Visite
    EstadisticasWeb.com!</a>

    Es precisamente el tipo de link que Googlebot (y otros
    robots) quieren ver en nuestras páginas web.

    Pero este link html a su vez está "envuelto" por un
    tag tipo <span>. Este es un elemento "en línea" del
    html (ver manual de html), que no tiene
    significación estructural propia, y se usa comunmente para
    aplicar estilos CSS. Pero en nuestro caso utilizamos el método "onClick" asociado a
    este elemento <span>, para invocar un javascript, que
    realiza la tarea de activar nuestro script contador de clicks
    salientes:

     

    <span onClick="TRACKlink('contador.php')">
    ¿Es esto un link? No parece… ¿verdad? Pruébalo
    </span>

     

    La invocación del método "onClick" del
    elemento <span> ocurre paralelamente al funcionamiento
    normal que tiene el link <a> comprendido dentro del bloque
    <span>. Las dos aperturas de documento ocurren al mismo
    tiempo e independientemente
    una de otra. La página invocada desde el <a> la
    veremos cargarse en nuestra pantalla. El script (contador.php) se
    abre en una ventana invisible, por lo que no muestra ningún contenido, no
    obstante realiza la función deseada: incrementa
    el contador correspondiente.

    En cuanto al código javascript, su misión es generar
    momentáneamente un iframe en el cual se abre el script
    (contador.php en nuestro caso) que le es pasado como
    parámetro desde el propio link en el cual deseamos contar
    las visitas salientes. El código javascript en este ejemplo
    está muy completo, y prevee varias situaciones de error. A
    su vez es compatible con diferentes modelos de browser. No
    obstente, también es posible realizar esta tarea mediante
    algún código javascript más sencillo (pero con el
    riesgo de perder
    compatibilidad con varios modelos de browsers).

     

    Conclusión

    En este artículo me he limitado a describir esta
    técnica de cómputo de clicks en enlaces salientes. La
    misma está probada y funciona perfectamente bien,
    permitiendo computar los clicks salientes desde enlaces que a su
    vez son compatibles con Google (transmiten Pagerank).

    También suministré un ejemplo de código
    completo y absolutamente probado y funcional.

    Con estos elementos los programadores estarán en
    condiciones de desarrollar sus programas basados en esta
    tecnología, pero adecuando el mecanismo de conteo según
    las necesidades de cada programa: posiblemente usando bases de datos, pasando al script
    parámetros que permitan computar paralelamente los clicks
    desde muchos enlaces, etc.

     

     

    Ing. Eduardo González González
    (*)

    (*) Consultor en Sistemas de Seguridad

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter