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 :)

 

 


Sergio (@)hace Hace más de 9 años y 176 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 Maiden (@)hace Hace más de 9 años y 174 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>

Alberto (@)hace Hace más de 9 años y 110 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!

vseo (@)hace Hace más de 9 años y 88 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 Paterna (@juanpaterna)hace Hace más de 8 años y 286 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 Zaragoza (@siaica)hace Hace más de 7 años y 214 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.

Errioxa (@errioxa)hace Hace más de 7 años y 199 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!

Errioxa (@errioxa)hace Hace más de 7 años y 199 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

Últimos posts

Últimos comentarios


JaviLazaro
Ya me has dado la necesidad de crear un comaando en bash para hacer estas cosas. Gracias Lino por estos tips
Post: Obtener KWs de varias fuentes usando la línea de comandos

Señor Muñoz
Lino, el 11% más de clicks y el 47% más de impresiones diarias ¿es algo constante o depende de cada sitio web?
Post: Diferencias entre la exportación de datos de Search Console usando BigQuery o usando la API

Carlos
Hola En mi blog tengo artículos atemporales (es decir, no caducan nunca, de manera que sirve para quien lo lea hoy o lo lea dentro de 5
Post: Tratamiento de urls que tienen un tiempo de vida muy corto

Profe Ray
Veo que hay comentarios de hace 5 años y de hace 3 años. ¿Habrá algun post actualizado sobre este tema o sigue funcionando? Lo cierto es
Post: Cómo cargar css y js y no bloquear la carga de contenido

Pepe
Muchas gracias por el articulo!! Muy buena información.
Post: Qué es ofuscar enlaces y cómo mejora el enlazado interno

María
Sí, he buscado el archivo robots.txt y todo está correcto. La última versión vista con error fue el 08/11/2021 y la última vez que el
Post: Errores críticos originados por el robots.txt

Lino
@María un placer verte por aquí :) Lo primero, a veces, con el robots.txt no se puede "forzar" a que lo rastree, si tu site no es muy p
Post: Errores críticos originados por el robots.txt

María
Hola Lino, tengo el mismo problema. El probador de robots de google me indica: "Error al obtener el archivo robots.txt Tienes un archivo ro
Post: Errores críticos originados por el robots.txt

Mario
Estoy tratando de vincular los datos en Google Data Studio y he combinado los datos de la tabla "Impresión del sitio" con "Impresión de UR
Post: Datos incoherentes y cálculo de la posición media en Search Console

José B. Moreno Suárez
Yo hace tiempo que agrupaba con stemmers. Ahora, además, comparo con un proceso las keywords que aportan impresiones a una URL determinada
Post: Clustering de keywords SEO en Google Search Console - Parte II