Intentando comprender Googlebot y los 301

Publicado por Lino Uruñuela el 22 de marzo del 2017


El otro día hubo un debate sobre qué método usará Google a la hora de interpretar, seguir y valorar las redirecciones 301. Las dudas que me surgieron fueron

¿Cómo se comportan los crawlers?

Normalmente cuando lanzamos un crawler como Secreaming Frog lo que hace es
  1. Acceder a una url inicial y extraer todos los links que hay
  2. Anotar los links en su base de datos a modo de cola de proceso, la primera que entra es la primera que crawlea.
  3. Acceder una a una y por orden a las urls que tiene pendientes de rastrear

¿Cómo se comportará Google?

Pero Google no actúa así, o no en los mismos tiempos. Google cuando descubre una url la añade a su cola de proceso, y será rastreada no en ese mismo momento sino "cuando le toque".

Esto depende de muchas cosas, sobretodo, de la autoridad de la url que la enlaza, en cambio crawlers como Screaming acceden a todas las urls por igual, las necesidades de uno y otro son distintas y por eso se comportan de manera diferente.

Una excepción de este comportamiento podría ser en las redirecciones 301, o al menos yo no lo descartaría. Quizás si lo pensamos bien, como si fuésemos quiénes han de diseñar ese proceso, ¿para qué querríamos guardar las urls intermedias que hacen redirección 301?. Almacenarlas por qué sí, pensando que no consume casi recursos, y además, que sale muy barato guardarlas, es ser muy poco exigente con tu proyecto, eso me lo enseñó David.

Lo lógico sería que lo único que guardase y valorase fuesen la url inicial y la url final, las intermedias lo único que hacen es traspasar los datos cuando son redirecciones 301. ¿Para que querrías guardarla en el sistema? implicaría procesarlas como el resto, sabiendo de antemano que tendrá que transferir esos datos a otra url. Y si lo único que hace es transfirir el valor de una a otra, volvemos al punto 1, ¿para qué las va a guardar?.


Las dudas

  1. ¿Se comportará igual con urls que tienen redirecciones 301?

    Es una duda razonable, ya que su comportamiento ante un 301 podría ser distinto, por ejemplo

    1. Accede a una url inicial y extrae los links

    2. Añade los enlaces a su cola de procesos

    3. Cuando toque accederá a la url que hace redirección 301 y ve la url de destino..
    4. Añade la url de destino a la cola de procesos y accederá a ella cuando toque.

  2. ¿Se comportará de distinta manera?

    1. Accede a una url inicial y extrae los links

    2. Añade los enlaces a su cola de procesos

    3. Cuando toque accederá a la url que hace redirección 301 y ve la url de destino.
    4. Rastrea la url de destino de la redirección inmediatamente, sin añadirla a su cola de procesos.

Y es esto es una pregunta clave, si accediese de manera seguida podría indicar que Google unificará tanto la url que hace redirección como la url de destino, y para él, en su índice interno, estará guardada como un mismo elemento/registro (aunque tenga dos urls posibles) en el cuál los los datos sobre ambas urls recaerá sobre el mismo registro en su índice. Y puede que no guarde esas urls intermedias en su sistema, o puede que sí...

Quizás no actue así, y guarda en su índice cada una de las urls intermedias como una entidad o tupla propia,  y que posteriormente, calcula y transfiere esos valores a las urls de destino.

En este caso cabría preguntarnos, ¿las urls con redirección 301 ocupan "sitio" en los índices de Google? ¿es bueno tener miles o cientos de miles de redirecciones que ocupan el sitio que quizás otras urls más eficaces podría ocupar? ¿debemos redireccionar masivamente las urls porque sí, o sería mejor hacerlo solo con aquellas urls que recibían visitas?

 

EL experimento

Vamos a enlazar a una url que Google no conoce y que no recibe ningún enlace ni de este, ni de otro site, que publicaré como muy tarde la semana que viene. También he creado una réplica de este experimento en otro dominio para asegurarnos que se comportan de la misma manera y no es fruto de uno u otro site.

Crearemos una palabra de señuelo, que no existen resultados en Google para esa búsqueda, obviamente no la mencionaré en este post, la url a la que lleva el enlace hace una redirección hacia una tercera url que tampoco ha sido visitada por Google ni por nadie.

Poniéndolo un poco en orden, tenemos

  1. Una url inicial,  que se la vamos a dar a Google mediante Google Search Console -> Explorar como Google -> Enviar al índice la URL y las páginas enlazadas .



    Haciéndolo de esta manera nos aseguramos que todo lo que ocurra en este test no es afectado por otros factores

  2. Primera url intermedia, que hará una redirección 301 a la segunda url intermedia, la cual no ha tenido nunca contenido (la he creado hoy y solo redirecciona), ni Google la conoce en otro estado
  3. Segunda url intermedia, vamos a provocar dos redirecciones consecutivas.
  4. Url de destino, la cual responderá correctamente, tiene algo de contenido, y es la que debería posicionar Google para la palabra que usamos de señuelo en el enlace de la url inicial del experimento.

¿Que podría ocurrir?

Intentamos averiguar cómo se comporta el bot de Google a la hora de contabilizar y traspasar valor en las redirecciones 301, y sí, va a ser difícil sacar algo en claro, pero quién sabe...

Las posibles comportamientos que creo que podrían ocurrir son

  • Google comienza en la página inicial, y puede acceder ahora o en otro momento a la primera url intermedia. En este caso no nos interesa saber si accede en el mismo momento que rastrea la url de inicio, lo más seguro es que no, y que la anote en su cola de urls a rastrear cuado toque, dependiendo esto de muchos factores.
  • Cuando Google acceda a la primera url intermedia, ¿accederá inmediatamente a la url de destino de la redirección? ¿o se comportará de la misma manera que cuando accede a una url "normal" que se guarda esa url hacia dónde lleva la redirección para rastrearla cuando toque?

Saber esto es algo interesante, no sé si útil, pero sí interesante, ya que, en MI opinión, si Google accede inmediatamente es muy probable que la url intermedia no la almacene en su sistema y que directamente la hará equivalente a la url de destino de la redirección.

 

Comprobación de cómo se comporta Google

Para comprobarlo vamos a hacer un seguimiento de los logs de acceso al servidor para saber cuánto tiempo transcurre entre el acceso a las distintas urls.

Realmente pienso que Google hará una equivalencia, o un enlace simbólico de la url que genera la redirección 301 y la url de destino, anotando solo como una ambas urls

Se abren las apuestas!!

 

 


Javier Lorente (@)hace Hace más de 7 años y 275 días

Opción 1. Pero te dejas de nombrar la clave, si hay inlinks hacia esos 301

Errioca (@)hace Hace más de 7 años y 274 días

@javi sí, ese va a ser la evolución de este experimento. Añadir links hacia las 301 intermedias para comprobar si así accede más habitualmente.

Y si además eso conlleva que accede más a la url final, este experimento va a dar mucho juego :)

Nacho Benavides (@)hace Hace más de 7 años y 258 días

Opción 1!!

Martin Maqueira (@)hace Hace más de 7 años y 106 días

Seguro que guarda la URL original. Así ahorra volver a crawlearla. Pero a efectos de calificarla la cuenta como una destino final. Es decir para calcular el pr usa todas pero el pr lo asigna a la url final.



Lea otros artículos de Logs y Big Data

Últimos posts

Últimos comentarios


Resham Singh Mahal

Post: Experimento para comprobar la teoría del primer enlace

Joakim Hov Johnsen

Post: Experimento para comprobar la teoría del primer enlace

Dana

Post: Experimento para comprobar la teoría del primer enlace

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