Para quitar las telarañas al blog he decidido hacer un experimento. La prueba consiste en comprobar si el bot de Google se empeña en rastrear URLs a pesar de que estas no estén en el atributo href de un enlace.
TL;DR
Resultados: SÍ, Google rastrea (casi) cualquier URL aparezca como aparezca. Puedes leer más sobre los resultados a partir de aquí
Índice del contenido
¿Por qué este experimento?
Esto viene a colación de un punto de la charla de John Mueller en la Conferencia para Webmasters en Zurich, que pudimos seguir en Twitter gracias a Iván García:
Sobre los Mega-menús #WMCZRH pic.twitter.com/aOHt2nJBQ6
— Ivan Garcia (@ivangarcia) December 11, 2019
En ese punto lo que decía el bueno de John es que no es necesario «esconder enlaces» (aka ofuscar enlaces) pudiendo utilizar el atributo nofollow en su lugar.
No need to «hide» links, use nofollow if you want
Esto podría servir hasta marzo de 2020, cuando pasará a ser interpretado como una señal, es decir, que Google decidirá si sigue el enlace o no, lo que también puede implicar que le traspase autoridad.
Hasta ahí todo ok Jose Luis, pero esto me sirve de excusa para probar más métodos no ya de ofuscación, sino de incluir enlaces aprovechando elementos HTML sin «trucar» su comportamiento, además de comprobar lo que tantas veces he leído ya a Señor Muñoz, que el bot de Google rastrea todo lo que sea (o interprete como) una URL aparezca donde aparezca:
De este hilo de @ivangarcia https://t.co/cXvfVRnp6M de la charla de @JohnMu “No needs to ‘hide’ links, use nofollow if you want” ¡Pero si google ve una URL (o algo que se le parezca) y corre a rastrearlo e indexarlo! 😰 pic.twitter.com/s08HgRePug
— Señor Muñoz (@senormunoz) December 13, 2019
Algo con lo que Fernando Maciá también está de acuerdo:
Ya te digo. Si hasta intenta indexar las urls de ejemplo de los artículos (tipo www.dominio.ext) sin estar enlazadas a ningún sitio!!🤣 https://t.co/pGWXJ1ZqCy
— Fernando Maciá (@fernandomacia) December 13, 2019
Cosas que voy a probar
Voy a tentar al crawler con 4 pruebas distintas con sus 4 URLs correspondientes. Dichas URLs no aparecen por ninguna otra parte del blog, únicamente están presentes en este post. No se incluyen ni en la home, ni en el loop de su categoría, ni el feed RSS ni el sitemap. Nada, ningún enlace que Google pueda rastrear salvo las apariciones en el código o contenido de esta entrada.
Las URLs está abiertas a indexación y en alguno de los casos utilizaré una palabra inventada a modo de falso anchor text y que no devuelve ningún resultado en Google. Con esto, además de comprobar si Google rastrea la URL, de paso constataremos si asocia esa palabra al enlace.
Primer caso: URL en un mapa HTML
Aquí voy a probar algo que vi en Amazon durante el Black Friday y que pregunté a John vía Twitter sin obtener respuesta:
Hi @JohnMu, the URL in the href attribute of <area> (<map>), is it crawled by the bot? https://t.co/VZLGx4IuAg pic.twitter.com/XtPZxhEilN
— Fede Gómez (@_fede_gomez_) November 27, 2019
Así que voy a incluir a continuación un mapa HTML con llamada a una de las URLs en el atributo href y cuyo alt (del elemento area, no de la imagen) es la palabra que comprobaré si asocia a esa URL en caso de ser indexada. Ahí va:
Segundo caso: URL en el atributo onclick de un span
Este es uno de los métodos que utiliza mi plugin de ofuscación, aunque no es ofuscación como tal, solo una manera de enmascarar el enlace mediante Javascript. El enlace que lleva a esa URL es pluojicteza.
Tercer caso: URL no enlazada
En esta prueba la URL no forma parte de ningún elemento HTML, solo aparece en el contenido sin más en texto plano: https://www.fedegomez.es/experimento-con-url-no-enlazada/
Cuarto caso: URL como action de un form
En el cuarto y último caso la URL es la acción a llevar a cabo por un form. Es llamada mediante un elemento button con método POST (el método GET añade ? al final de la URL esperando parámetros). Aquí va el formulario:
Podría haber dado estilo CSS (o más bien quitado) al button para que aparente ser un enlace pero para la prueba es suficiente.
A esperar resultados
En cuanto publique este post voy a solicitar la indexación en Search Console y voy a añadir un enlace interno desde el post del plugin de ofuscación para forzar que el bot pase por aquí.
En unos días o semanas publicaré los resultados.
Resultados del experimento (07/01/2020)
Tras dejar pasar un tiempo prudencial para que el bot de Google se paseé por la web, ha llegado el momento de desvelar lo que ha acontecido con este experimento.
Antes de nada, comentar que he hecho el experimento por duplicado por 2 razones: la primera, porque al hacerlo público puede que los resultados se distorsionasen de alguna manera (por ejemplo recibir algún enlace entrante en las URLs a probar), y la segunda razón es que se me olvidó eliminar las URLs del módulo de posts relacionados, por lo que al momento de publicar este post se enlazaron desde ahí y fueron seguidas e indexadas) por el bot. Menudo fail, menos mal que tenía preparado el duplicado del experimento…
La URL que preparé para contener los «enlaces» al resto de páginas es: https://www.fedegomez.es/prueba-2-de-crawling-oculta/ y del mismo modo que aquí contiene llamadas de una u otra manera a 4 URLs a las que no es posible llegar de otro modo (no están en sitemap, no están en feed, no aparecen en archivo, y esta vez tampoco en posts relacionados). Mandé una solicitud de indexación a esta URL en Search Console y también le añadí un enlace interno desde el post del plugin de ofuscación.
1ª prueba: ¿Ha rastreado Google las URLs?
La respuesta es… ¡SÍ!
He realizado el seguimiento del bot de Google tanto en Seolyzer como en Screaming Frog (con su herramienta de logs) y ha pasado por 3 de las 4 URLs (todas excepto la URL presente en el formulario):
El crawler ha pasado incluso por la URL que aparece en texto plano sin ningún tipo de enlazado. Sin embargo no ha rastreado la que se invoca en el atributo action del form.
2ª prueba: ¿Ha indexado Google las URLs que ha rastreado?
Como era de esperar y teniendo en cuenta que las URLs están abiertas a indexación, una vez rastreadas las URLs fueron indexadas (aunque podría no haber sido así por considerarlas thin content por contenido pobre y/o duplicado).
3ª prueba: ¿Ha asociado el «anchor text» a la URL?
Los «anchor text» ficticios utilizados en la segunda prueba son: wazysedvuly, plynokguile y vrepluciwesa.
Prueba negativa, al hacer una búsqueda en Google los únicos resultados devueltos en la SERP son la URL donde se menciona la «palabra» y sus imágenes. De esta prueba no esperaba un resultado positivo, ya sería el colmo que además de rastrear e indexar las URLs también asociase un texto, que ni siquiera es un anchor text como tal, a dichas páginas.
Conclusiones
Ha quedado claro que Google es peor que la vieja del visillo: URL que ve, URL que intenta rastrear e indexar. Así que si queréis evitar que el bot pase por alguna URL lo más seguro es utilizar el archivo robots.txt u ofuscar el enlace (en caso de aparecer como href).
Interesante experimento, estaré pendiente de los resultados.
Un saludo!
Esperando los resultados con muchas ganas.
Hola.
Me quedé ancioso. Quiero ver los resultados de tu prueba tan interesante. A ver lo que va a pasar.
Saludos
Divertido y muy interesante. Muchas gracias Fede, un contenido muy bueno. Esperando a que lo publiques 🙂
Muchas gracias por todo y desde ya esta web a mis favoritas
TOP Fede! ¿Algún experimento próximo?
Gracias, Miguel! De momento no hay más experimentos 🙁
Si te apetece que montemos algún experimento juntos avisame! siempre estoy probando cosas en mi web 🙂