Cómo camuflar tus links para que Google tenga en cuenta el alt de las imágenes

Publicado por Lino Uruñuela el viernes 26 de septiembre del 2014


En los dos anteriores posts os comentaba el problema que determinados sites pueden tener a la hora de enlazar internamente todo correctamente, ya que no siempre es tan fácil y frecuentemente nos encontramos con escenarios donde hemos de sacar a relucir nuestra imaginación.

Voy a resumir un poco el problema y los experimentos que hemos realizado para comprobar cómo interpreta y valora Google los links de determinado tipo

Problema

El problema viene dado porque Google cuando hay dos enlaces hacia la misma URL sólo valora el primer link de texto que encuentra hacia una UR (si hay un link de imagen y otro de texto valorará sólo el de texto lo encuentre antes o después)L, es decir, si tienes dos links a una misma URL sólo contará el texto del primero, ignorando los demás enlaces hacia esa URL, es decir, el alt de la imagen no aporta valor a la páigina de destino, eso no quiere decir que no aporte valor, lo hace, pero a la url donde está publicada no a donde enlaza.


Casos en los que esto nos pueda perjudicar o nos puede hacer desaprovechar links internos en nuestro site
  • Webs visuales, donde las imágenes mandan y el texto por el que enlazamos a las fichas de producto es irrelevante de cara a SEO pero funcional para los usuarios. En cambio el alt de  la imagen nos vendría de perlas si la tuviese en cuenta.

  • Sitios que por lo que sea estén enlazando a secciones importantes con palabras irrelevantes para SEO.

 

Ejemplos:

Webs de moda, normalmente la imágen es más que necesaria, y no podemos agobiar a los usuarios con muchas repeticiones  de palabras que son importantes para SEO.





Otro ejemplo, esta vez de camisetas personalizadas
Camisetas personalizadas



En este último ejemplo lo podemos ver más claro, para SEO puede interesar que sea un enlace de texto con la palabra "camisetas", pero al usuario no le aporta nada y posiblemente tengas que defenderlo ante cualquier diseñador o persona de UX en la web.


¿Cómo solucionamos este problema?

Como vimos en el primer experimento, el alt de la imagen no lo valorará para posicionar la url a la que apunta ese link debido a que luego hay otro link hacia la misma URL y al ser un link de texto tendrá este link en cuenta y no el de la imagen.

Pero podemos comprobar como en el segundo excperimento para intentar solucionar este problema ha funcionado, y como ahora Google sí tiene en cuenta el alt de la imagen para posiconar la url a la que apunta.


También sabemos que Google cada vez interpreta mejor el javascript, y que todo lo que se parezca a una url en tu código funente intentará cargarlo para ver si acierta/adivina  nuevas urls de tu site y nuevo contenido. Por ello es bueno intentar camuflar estos "falsos" links y no dejarlos con un onclick="window.location.href='http:://www.mecagoenlos.com" ya qiueaunque ahora no lo haga no sabemos cómo valorará e interpretará esto en un futuro. Por eso yo recomiendo tres cosas


  1. Bloquear por robots.txt los ficheros .js en los que metamos las funciones para "despistar a Google"
    Este tipo de acciones y llamadas a javascript para hacer cosas que no queremos que Google interprete hacerlas en un fichero .js que esté bloquedao por robots.txt para que Google no pueda verlo, ojo, en este fichero no introduzcáis ningún otro código javascript que afecte a la navegación correcta del site, sólo poner en este fichero este tipo de códigos para "despistar" a Google.

  2. Nunca usar para estos "links camuflados" etiquetas <a href="">
    Si no queremos que Google se entere de que es un link, ovbiamente será mucho más eficiente hacerlo con otro tag, por ejemplo <span atributo="miurl">Texto que me de la gana</span>

  3. Codificar las URLS
    Podemos codificar fácilmente las URLS de mil y una maneras, yo aquí os voy a comentar la que más me gusta.
  4. Yo uso php del lado del servidor, cuando creo un "link camuflado" suelo hacerlo para que en el HTML me quede algo así como <span atributo="aHR0cDovL21va29hbWFyZ28uY29t" es la URL codificada en Base64, para que Google ni ningún otro bot sepa que eso es una URL.


¿Cómo hago esto?

Muy fácil, en php a la hora de "pintar" el link como he comentado en vez de usar <a href="" uso <span atributo=""> y el valor del atributo se lo meto por medio de php gracias a las funciones "base64url_encode" y "base64url_decode". El código PHP de estas funciones es el siguiente

    <?php
    function base64url_encode($data) {
    return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
    }

    function base64url_decode($data) {
    return base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT));
    }
    php?>


Y el código concreto en php + HTML para ese link quedaría así

    <span class="camuflaEnlace" atributo="<?=base64url_encode("http://mokoamargo.com");?>">Click aqu&iacute; para ir a este site</span>

Si nos fijamos, vemos como uso una clase para este <span llamada "camuflaEnlace" esta clase se la pondré a todos los enlaces camuflados y en el campo atributo la URL codificada en Base64. Esto en el navegador al ver el código fuente nos lo mostraría de la siguiente manera

    <span class="camuflaEnlace" atributo="aHR0cDovL21va29hbWFyZ28uY29t">Click aquí para ir a la web</span>

Para finalizar tenemos una función en jQuery que se encarga de capturar el evento click de todos los elementos de la página que tengan como class="camuflaEnlace" ponemos en el .js restringido por robots.txt este código

    //Fichero js
    function utf8_to_b64(str) {
    return window.btoa(encodeURIComponent(escape(str)));
    }

    function b64_to_utf8(str) {
    return unescape(decodeURIComponent(window.atob(str)));
    }


    $(document).ready(function () {
    $(".camuflaEnlace").click(function(event) {
    // this.append wouldn't work
    window.location.href='>b64_to_utf8($(this).attr("atributo"))';
    });

    });
    //FIN Fichero js

Con esta función volveremos a convertir la cadena codificada en una URL y ya podemos madnar al usuario a donde queremos con un window.location.href.

El código de toda esta página quedaría algo así


<html>

<head><title>Probando</title>
   <script  type="text/javascript" src="https://www.mecagoenlos.com/dirRestrinjido/camuflalinks.js"></script>
</head>

<body>
 <?php
function base64url_encode($data) {
return rtrim(strtr(base64_encode($data), '+/', '-_'), '=');
}

function base64url_decode($data) {
return base64_decode(str_pad(strtr($data, '-_', '+/'), strlen($data) % 4, '=', STR_PAD_RIGHT));
}
php?>


<li><span class="camuflaEnlace" atributo="<?=base64url_encode("http://mokoamargo.com");?>">Click aqu&iacute; para ir a este site</span>
<li><span class="camuflaEnlace" atributo="<?=base64url_encode("http://otrosie.com");?>">Click aqu&iacute; para ir a este otro</span>
</body>

</html>


Podéis ver el ejemplo funcionando aquí

De esta manera hemos conseguido

  1. Que Google no tenga en cuenta los links que pongamos con <span class="camuflaEnlace" atributo="URL codificada">, pero que el usuario ni se entere de que es un "link camuflado".

  2. Que ni Google ni ningún otro bot se den cuenta de que tenemos una URL en nuestro código, ya que nos quedará en el código HTML algo así
    <span class="camuflaEnlace" atributo="aHR0cDovL21va29hbWFyZ28uY29t">.

  3. Que tenga en cuenta el alt de la imagen que es donde podemos poner la palabra "comprar" casi tantas veces como queramos sin molestar al usuario :)

 

 


Sergiohace Hace más de 5 años y 27 días

Flipado me hallo. Esto es ingeniería SEO. He llegado aquí de casualidad y he visto que eres un crack. A partir de ahora seré asiduo.
Un saludo

Jorge Maidenhace Hace más de 5 años y 25 días

Haber que no salio el html del span, haber ahora:


<span data-nombre=\"mokoamargo\" data-extension=\"com\" style=\"cursor:pointer;\" class=\"js-link\">Click aquí para ir a mokoamargo.com</span>

Albertohace Hace más de 4 años y 326 días

Como todo, no crees que a la larga pueda ir haciendo "decodes" ya sea con esta codificación o las restantes intentando detectar estas técnicas? La consideras válida a largo plazo?

Algo parecido he tenido alguna vez en mente pero siempre he tenido estas preguntas en la cabeza.

Gracias por compartir!

vseohace Hace más de 4 años y 304 días

Pues no parece tan mal para afinar el linkjuice, solo que si se hace en una página con mucha visibilidad se puede ver como muy "artificial. Sea como sea, mola

Juan Paternahace Hace más de 4 años y 137 días

Buf!!! Esto es estar encima de la línea roja.... Me parece una idea muy creativa pero como dice Alberto, ¿que efectos puede tener a largo plazo?
Me dan muchas ganas de probarlo, la verdad!!

Gracias por compartir tus experimentos.

Carlos Ruiz Zaragozahace Hace más de 3 años y 65 días

No funcionaría simplemente poniendo un rel="nofollow" al enlace de texto?

No lo he probado pero la etiqueta nofollow es precisamente para que no se siga ese enlace. Si el enlace de la imagen no lleva esa etiqueta y el enlace de texto si Google seguirá únicamente el enlace de la imágen y tendrá en cuenta tanto el "alt" como el "title" de la imagen.

Errioxahace Hace más de 3 años y 50 días

@Carlos Ruiz Zaragoza no, no es exactamente así. Originalmente el nofollow lo inventó Google para que los webmasters pudieran identificar los enlaces que eran comerciales (comprados) y así no ir en contra de las directrices de Google sobre enlazar solo para alterar los resultados del buscador.

A principio, lo que Google dijo (del dicho al hecho puede haber un trecho) es que esos enlaces nofollow no traspasarían valor a la url de destino. Así los webmasters podrían seguir vendiendo banners y publi sin correr riesgo de ser penalizado y Google no los valoraría para sus rankings y asi no se veían alterados artificialmente las serps...

Se empezó a usar para no desperdiciar valor en urls del site que no eran nada potenciales (temas legales, login, etc) pero se acabó desmadrando y se usaba para orientar mucho el linking interno por lo que Google "dijo" que para repartir el pr de una url entre sus enlaces salientes los iba a tener en cuenta, pero no los valoraría como "votos" a la url de destino.

Resumiendo, teóricamente su función es identificar enlaces que son comerciales-,

Pero se usa para no desperdiciar fuerza en urls internas que no queremos posicionar (así el resto de enlaces internos se ven algo favorecidos)-

Aquí tienes una pila de experimentos sobre los enlaces nofollow. Tienes para pasar la tarde :)

Saludos!

Errioxahace Hace más de 3 años y 50 días

Perdón, se me olvido el enlace :D

Aquí está, copy paste en el navegador ;)
https://goo.gl/Hl2gCj



Lea otros artículos de Posicionamiento de imágenes

Contacta

Lánzate y pregunta!


He leído y acepto la política de privacidad

Mecagoenlos.com te informa que los datos de carácter personal que nos proporciones rellenando el presente formulario serán tratados por Lino Uruñuela. como responsable de esta web.

La finalidad de la recogida y tratamiento de los datos personales que te solicitamos es para enviar un correo con los datos que introduzcas, sin guardarse en ninguna base de datos.

Legitimación: Al marcar la casilla de aceptación, estás dando tu legítimo consentimiento para que tus datos sean tratados conforme a las finalidades de este formulario descritas en la política de privacidad.

Como usuario e interesado te informamos que los datos que nos facilitas estarán ubicados en los servidores de Linode.com (proveedor de hosting de Mecagoenlos.com) cumpliendo la ley de protección de datos. Ver política de privacidad de Linode.com.

Podrás ejercer tus derechos de acceso, rectificación, limitación y suprimir los datos en info@mecagoenlos.com, así como el derecho a presentar una reclamación ante una autoridad de control. Más información aquí.

Últimos posts

Últimos comentarios


Fran Javietr

Hola Lino como podemos añadir a este código la identificación de la ip del bot, como sabes hay falsos bots y una forma de saber si son l
Post: Monotorizar GoogleBot con Google Analytics

Javier

Buenas Lino, ¿Alguna novedad sobre cómo considera Google los links en PDFs? Se me ocurre que, siguiendo con este experimento, se po
Post: Link building con PDF

Francisco

Flaco. Por lo general, no dejo comentarios pero, en tu caso, voy a hacer una excepción pues, sencillamente... ¡sos un genio!, Gracias.
Post: Cómo cargar css y js y no bloquear la carga de contenido

Juan Francisco Gancia

Excelente artículo, gracias! Te encuentro de casualidad por un post de hace 10 años.
Post: Diferencias entre url indexada y url accesible

Lino Urnuela

@Emirodgar gracias! Pero parece que en tema de imágenes las pilla lo hagas cómo lo hagas parece, eso sí, siempre que no tengas un fall
Post: Indexar imágenes en Google usando Lazy Load

Emirodgar

Muy interesante el experimento. Yo estaba probando con los nuevos formatos webp y pero al final, como eran pocas imágenes y usaba Masonry,
Post: Indexar imágenes en Google usando Lazy Load

Lino Uruñuela

Completamente de acuerdo :) Pero en este experimento solo quería comprobar el método usado para hacer lazy load, en este caso con xmlht
Post: Indexar imágenes en Google usando Lazy Load

Francisco Morales

Lino muy interesante las distintas formas de cargar la imagen. Pero no crees que lo realmente interesante de aplicar Lazy Loading es cargar
Post: Indexar imágenes en Google usando Lazy Load

javier

Buenas , esto del onclik ha cambiado actuamente en algunas web que tengo las lee y sigue enlaces
Post: ¿Cómo ejecuta, interpreta e indexa Google el contenido cargado mediante javascript?

David Girona

Antes de Nada muchas gracias por la aportación. Estoy probando de poner en marcha este procedimiento y me surgen un par de dudas. En
Post: Cómo añadir el valor del meta Robots a Google Analytics via Google Tag Manager