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 Lorentehace Hace más de 2 años y 213 días

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

Erriocahace Hace más de 2 años y 212 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 Benavideshace Hace más de 2 años y 196 días

Opción 1!!

Martin Maqueirahace Hace más de 2 años y 44 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

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