¿Cómo afectan la caché y la CDN a los bots que rastrean tu tienda?
Caché y CDN para bots son las capas de HTTP que guardan copias de las páginas de una tienda, en el servidor o en una red de distribución de contenidos (CDN), y responden con ellas a los rastreadores y agentes de IA sin volver a generarlas. Deciden qué versión ve cada bot, cuándo ve un cambio y si llega a ver algo.
Lo esencial
- Googlebot admite peticiones condicionales: si la página no ha cambiado, el servidor puede responder 304 sin cuerpo y ahorrarse generarla.
- Google recomienda ETag frente a Last-Modified porque no tiene problemas de formato de fecha.
- Con una CDN, Google se permite rastrear más deprisa, pero la primera petición de cada URL sigue llegando a tu servidor.
- Un desafío de «¿eres humano?» o una página de error con código 200 pueden sacar fichas del índice; para un bloqueo temporal, Google pide un 503.
- Mientras una copia en caché esté fresca, se sirve sin preguntar al servidor: un precio cambiado no se ve hasta que caduca o se revalida.
Aquí caché no es la del navegador ni el botón de «vaciar caché» de una app: es la capa que hay entre tu servidor y quien pide una página, y que a menudo responde por él. Casi todas las tiendas tienen una delante, la de su plataforma o la de su CDN (content delivery network), y eso cambia lo que ve un rastreador: ve lo que la caché le da, cuando la caché se lo da, y a veces solo ve el muro con el que la CDN para a los bots que no reconoce. Para una tienda, ahí se juega cuánto tarda Google en ver un precio nuevo y si una ficha de producto sigue en el índice después de una regla de seguridad mal puesta.
Cómo funciona
El estándar es el RFC 9111 (junio de 2022). Distingue dos tipos de caché: la privada, dedicada a un solo usuario y normalmente dentro del navegador, y la compartida, que guarda respuestas para reutilizarlas con más de un usuario y suele vivir en un intermediario. Una respuesta guardada está fresca mientras su edad no supera su tiempo de vida, y entonces puede servirse sin preguntar al servidor de origen; después está caducada.[1]IETF, RFC Editor (junio de 2022). RFC 9111: HTTP Caching Una CDN es una caché compartida a escala: Google la describe como un intermediario entre tu servidor de origen y el usuario, cuyo trabajo principal ha sido siempre guardar copias.[2]Google Search Central Blog (24 de diciembre de 2024). Crawling December: CDNs and crawling
Las peticiones condicionales
Un rastreador no tiene por qué descargar otra vez una página que no ha cambiado. La infraestructura de rastreo de Google admite las dos formas del estándar: ETag con If-None-Match, y Last-Modified con If-Modified-Since. El rastreador manda el valor que guardó la última vez; si coincide con el actual, el servidor responde 304 (Not Modified) sin cuerpo, y se ahorra generar la página y enviarla.[3]Google Search Central Blog (9 de diciembre de 2024). Crawling December: HTTP caching
Google recomienda ETag, porque Last-Modified tiene problemas de formato de fecha,[4]Google Crawling Infrastructure. Overview of Google crawlers and fetchers y sugiere poner los dos si se puede. Si una misma URL tiene varias versiones, por ejemplo para móvil y escritorio, cada una debería llevar su propio ETag. Y deja a tu criterio qué cambio merece invalidar la caché: un cambio importante del contenido sí; actualizar el año del pie de página, probablemente no.[3]Google Search Central Blog (9 de diciembre de 2024). Crawling December: HTTP caching También aconseja indicar en Cache-Control un max-age con los segundos que esperas que el contenido no cambie, para ayudar al rastreador a decidir cuándo volver.[4]Google Crawling Infrastructure. Overview of Google crawlers and fetchers
El dato que da contexto: según Google, hace diez años un 0,026 % de sus peticiones de rastreo se podían resolver desde la caché, y en diciembre de 2024 solo un 0,017 %.[3]Google Search Central Blog (9 de diciembre de 2024). Crawling December: HTTP caching
La CDN y el ritmo de rastreo
Google deduce por la IP que un sitio está detrás de una CDN, y entonces sube el umbral a partir del cual frena el rastreo: supone que el sitio aguanta más peticiones simultáneas. La trampa está en la primera visita. La caché de la CDN empieza fría, así que tu servidor tiene que servir cada URL al menos una vez antes de que la CDN ayude; si publicas muchas URL de golpe, Google avisa de que el rastreo será intenso durante unos días.[2]Google Search Central Blog (24 de diciembre de 2024). Crawling December: CDNs and crawling Es una de las piezas del presupuesto de rastreo.
Si tus páginas cambian según una cabecera de la petición, la caché solo puede reutilizar una respuesta cuando las cabeceras que nombra Vary coinciden con las de la nueva petición.[1]IETF, RFC Editor (junio de 2022). RFC 9111: HTTP Caching Es el punto donde la caché se cruza con la negociación de contenido.
Cuando la CDN para al bot equivocado
La misma protección que frena a un ataque puede frenar a Googlebot. Google separa dos tipos de bloqueo, y no pesan igual:[2]Google Search Central Blog (24 de diciembre de 2024). Crawling December: CDNs and crawling
| Lo que recibe el rastreador | Lo que pasa, según Google |
|---|---|
| Un 503 o un 429 | Es la forma preferida de señalar un bloqueo temporal: te da tiempo a reaccionar |
| Un tiempo de espera agotado | Se trata como un error definitivo: las URL afectadas salen del índice y el ritmo de rastreo puede bajar |
| Una página de error con código 200 | Si Google la detecta como error, retira la URL; si no, las páginas con el mismo mensaje pueden eliminarse como duplicadas, y recuperarse tarda más |
| Un desafío de «¿eres humano?» | El rastreador solo ve el desafío, no tu página. Google recomienda responder a los clientes automatizados con un 503 |
Un desafío de verificación que deja pasar a las personas no deja pasar a los bots que quieres. Google, otros buscadores y otros operadores de rastreadores publican sus direcciones IP para que puedas identificarlos y, si te parece bien, sacarlos de las reglas del cortafuegos de la CDN.[2]Google Search Central Blog (24 de diciembre de 2024). Crawling December: CDNs and crawling Las reglas para los bots de IA tienen su propia entrada, bloqueo de bots de IA.
En una tienda
Dos visitas del mismo rastreador a la ficha de una tienda ejemplo ficticio. La primera recibe la página entera, con su ETag y un max-age de una hora:
GET /productos/moka-inox-6 HTTP/1.1
Host: cafeteras-ejemplo.es
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
ETag: "moka-inox-6-v42"
Cache-Control: max-age=3600
La segunda, días después, manda ese ETag. Si la ficha no ha cambiado, la respuesta no lleva cuerpo:
GET /productos/moka-inox-6 HTTP/1.1
Host: cafeteras-ejemplo.es
If-None-Match: "moka-inox-6-v42"
HTTP/1.1 304 Not Modified
ETag: "moka-inox-6-v42"
La regla que se deduce para una tienda: si cambias el precio, la disponibilidad o los datos estructurados de la ficha, el ETag tiene que cambiar. Un ETag que no cambia con el contenido le dice al rastreador que no hay nada nuevo que leer.
Lo que se suele confundir
Dar por bueno el desafío anti-bots porque los clientes pasan sin problema. El rastreador no es una persona ni finge serlo: cuando aparece el desafío, es lo único que ve. Google pide un 503 para los clientes automatizados, para que la página no salga del índice, y propone mirar la captura renderizada de la Inspección de URLs en Search Console: si ves la página, bien; si ves un error, una página vacía o el desafío, toca hablar con tu CDN.[2]Google Search Central Blog (24 de diciembre de 2024). Crawling December: CDNs and crawling
Cómo comprobarlo
- Mira las cabeceras de tu ficha con
curl -sI https://tu-dominio/productos/tu-producto: buscaETag,Last-ModifiedyCache-Control. Sin ninguna de las dos primeras, un rastreador no puede hacer peticiones condicionales.[3]Google Search Central Blog (9 de diciembre de 2024). Crawling December: HTTP caching - Repite la petición con
If-None-Matchy elETagque te dio la primera. Si la ficha no ha cambiado, debería volver un 304 sin cuerpo.[3]Google Search Central Blog (9 de diciembre de 2024). Crawling December: HTTP caching - Abre la Inspección de URLs de Search Console con una ficha y mira la captura renderizada. Un desafío o una página vacía apuntan a la CDN.[2]Google Search Central Blog (24 de diciembre de 2024). Crawling December: CDNs and crawling
- Revisa las reglas de bots de tu CDN contra las IP que publican Google y los demás operadores de rastreadores que te interesan, y hazlo de vez en cuando: Google avisa de que una IP puede acabar en una lista de bloqueo sin que lo sepas.[2]Google Search Central Blog (24 de diciembre de 2024). Crawling December: CDNs and crawling
- Cambia un precio de prueba y vuelve a pedir la ficha. Si la respuesta sigue igual, la caché está sirviendo una copia fresca según su
max-age.[1]IETF, RFC Editor (junio de 2022). RFC 9111: HTTP Caching
Concepto cercano: presupuesto de rastreo
El presupuesto de rastreo es cuánto rastrea un buscador de tu sitio; la caché y la CDN deciden cuánto le cuesta cada una de esas peticiones a tu servidor. Un 304 sin cuerpo y una CDN que responde desde su copia abaratan cada visita, y una CDN también sube el ritmo que Google se permite.[2]Google Search Central Blog (24 de diciembre de 2024). Crawling December: CDNs and crawling[3]Google Search Central Blog (9 de diciembre de 2024). Crawling December: HTTP caching Pero la caché no hace que una página se indexe: solo decide qué recibe el rastreador. La diferencia entre las dos cosas está en la diferencia entre rastrear e indexar.
Para seguir, Web Bot Auth explica cómo puede tu CDN reconocer a un bot por su firma y no solo por su IP, y la ruta de lectura de rastreo e indexación ordena el resto de términos.
Sinónimos
- English
- edge caching, HTTP caching for crawlers
- Español
- caché en el borde, CDN y rastreo
Fuentes
- [1] IETF, RFC Editor (junio de 2022). RFC 9111: HTTP Caching. Consultado el . ↑ ↑ ↑
- [2] Google Search Central Blog (24 de diciembre de 2024). Crawling December: CDNs and crawling. Consultado el . ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
- [3] Google Search Central Blog (9 de diciembre de 2024). Crawling December: HTTP caching. Consultado el . ↑ ↑ ↑ ↑ ↑ ↑
- [4] Google Crawling Infrastructure. Overview of Google crawlers and fetchers. Consultado el . ↑ ↑
Historial de cambios
- Primera versión.
Esta definición se publica bajo licencia CC BY 4.0. Puedes reutilizar esta definición citando a Clione con un enlace a esta página.
Términos relacionados
Header Link rel=alternate
Qué es la cabecera HTTP Link con rel=alternate, cómo anuncia otra versión de una URL (otro idioma, un PDF, Markdown) y cómo comprobar que llega.
Rastreo vs indexación
Rastreo e indexación no son lo mismo: cuándo Google lee una ficha y no la guarda, cuándo la guarda sin leerla y cómo saber en qué lado está tu problema.
Web Bot Auth
Qué es Web Bot Auth, el borrador del IETF para que bots y agentes de IA firmen sus peticiones HTTP, quién lo usa ya y cómo se verifica una firma.
Presupuesto de rastreo
Qué es el presupuesto de rastreo, cuándo debe preocupar a una tienda online, qué lo malgasta (filtros, duplicados, noindex) y cómo medirlo.
Negociación de contenido
Qué es la negociación de contenido en HTTP, cómo elige el servidor entre HTML, Markdown o idiomas con Accept y Vary, y qué cambia para los bots.
Bloqueo de bots de IA
Qué es el bloqueo de bots de IA, qué agentes conviene dejar pasar en una tienda y por qué robots.txt, la CDN y la plataforma bloquean cosas distintas.
Haz que los bots entiendan tu catálogo
Clione completa cada ficha de producto con lo que los bots leen mejor: el grafo JSON-LD con sus datos estructurados, la meta description y las preguntas frecuentes. Tú revisas y pulsas Push; después comprobamos tu tienda en vivo para que todo siga publicado.