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

Contador de clicks en links salientes compatibles con buscadores



     

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

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

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

    Explicación del
    proceso

    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.

    Por Ing. Eduardo González
    González

    www.eduardo-gonzalez.com

    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