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
- Acceder a una url inicial y extraer todos los links que hay
- Anotar los links en su base de datos a modo de cola de proceso, la primera que entra es la primera que crawlea.
- 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
- ¿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
- Accede a una url inicial y extrae los links
- Añade los enlaces a su cola de procesos
- Cuando toque accederá a la url que hace redirección 301 y ve la url de destino..
- Añade la url de destino a la cola de procesos y accederá a ella cuando toque.
- ¿Se comportará de distinta manera?
- Accede a una url inicial y extrae los links
- Añade los enlaces a su cola de procesos
- Cuando toque accederá a la url que hace redirección 301 y ve la url de destino.
- 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
- 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
- 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
- Segunda url intermedia, vamos a provocar dos redirecciones consecutivas.
- 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.