Error 429 Too Many Requests

Qué significa un código de estado HTTP 429, cómo trata Google la limitación de frecuencia (rate limiting) y reduce el rastreo, cómo afecta al presupuesto de rastreo y cómo configurar el servidor para enviar 429 sin provocar desindexación.

Publicado por primera vez: 27 jun 2026 · Última actualización: 8 ago 2026 · Avanzado
Idiomas
2 señales de evidencia en esta página

429 Too Many Requests es el único código 4xx que Google no trata como un error de cliente. En cuanto detecta un número suficiente de ellos, lo interpreta como una señal de sobrecarga del servidor —el mismo grupo que los 5xx— y reduce la frecuencia de rastreo de Googlebot en todo el nombre de host en lugar de descartar el contenido. Eso lo convierte en la forma correcta, y avalada por Google, de ralentizar un rastreador (nunca 403 ni 404). Pero es una herramienta a corto plazo: limítelo a un par de horas o 1–2 días, envíe una cabecera Retry-After como buena práctica y acótelo al tráfico adecuado. Los 429 sostenidos durante días en las mismas URL todavía pueden hacer que estas se eliminen del índice.

TL;DR — El 429 es el único código 4xx que Google trata como un 5xx: en cuanto encuentra un número significativo de respuestas 500/503/429, lo interpreta como una señal de sobrecarga del servidor y reduce la frecuencia de rastreo de Googlebot en todo el nombre de host en lugar de eliminar contenido. Es el único código que Google avala para ralentizar un rastreador: nunca 403 ni 404. La documentación de Google da una recomendación de uso en emergencias de «a couple of hours, or 1–2 days» (traducción: «un par de horas, o 1–2 días»), no una ventana segura garantizada; los 429 sostenidos en las mismas URL arriesgan que esas URL acaben siendo eliminadas del índice, y la frecuencia limitada vuelve a aumentar (no necesariamente de forma inmediata ni completa) en cuanto baja el volumen de errores. El RFC 6585 dice que un 429 SHOULD explicar la condición y MAY incluir Retry-After: enviarlo es una práctica recomendada, no un requisito de cumplimiento. Acote el límite al tráfico adecuado y verifique la identidad del rastreador antes de escribir excepciones.

Qué es un 429 a nivel de protocolo

Directamente de la especificación, tal y como lo formula MDN: “The HTTP 429 Too Many Requests client error response status code indicates the client has sent too many requests in a given amount of time. This mechanism of asking the client to slow down the rate of requests is commonly called ‘rate limiting.’” (traducción) «La respuesta HTTP 429 señala que el cliente envió demasiadas solicitudes en un intervalo determinado; pedirle que reduzca el ritmo se conoce normalmente como ‘rate limiting’.» Evidence for this claim A 429 response means the user sent too many requests in a given time, and the response may include Retry-After. Scope: RFC 9110 defines the status and optional Retry-After field; it does not define a universal rate threshold. Confidence: high · Verified: IETF: RFC 9110 §15.5.20 — 429 Too Many Requests

El §4 del RFC 6585 es más preciso de lo que reflejan la mayoría de sus resúmenes. Una representación 429 SHOULD (debería) explicar la condición y MAY (puede) incluir una cabecera Retry-After que le dé al cliente un número concreto de segundos (el RFC 9110 también admite una fecha HTTP) que esperar antes de reintentar: Retry-After es una práctica recomendada, no un requisito de cumplimiento. La especificación tampoco define cómo se identifica a un cliente ni cómo se cuentan las peticiones; eso queda enteramente en manos de quien haya emitido la respuesta (por IP, por sesión, por clave de API, por recurso: política de implementación, no de protocolo). Otra regla que es fácil pasar por alto: el RFC 6585 dice que una respuesta 429 no debe ser almacenada por una caché (no debe ser almacenada por una caché). Si ve un 429 que parece cacheado o repetido sobre un origen sano, es un intermediario (CDN, proxy) que se está portando mal, no el origen que vuelve a decidir limitarle.

Siempre lo he planteado de forma directa en mi guía Códigos de estado HTTP y su impacto en el SEO: el 429 es “a form of rate-limiting to protect the server because the client sent too many requests to the server too fast.” (traducción) «una forma de limitación de frecuencia para proteger el servidor porque el cliente envió demasiadas peticiones al servidor demasiado rápido». Nominalmente es un error de cliente: el cliente hizo algo mal al pedir demasiado. Pero ese encuadre es exactamente donde la historia del SEO se separa de la especificación.

La única excepción entre los códigos 4xx

El dato más importante de esta página: Google no trata el 429 como al resto de la familia 4xx. Gary Illyes escribió una entrada entera sobre esto en el blog de Google Search Central en febrero de 2023, porque había suficientes sitios y CDN usando mal los 404s para limitar a Googlebot como para que Google tuviera que pedirles que dejaran de hacerlo.

Su regla: “The one exception is 429, which stands for ‘too many requests’. This error is a clear signal to any well-behaved robot, including our beloved Googlebot, that it needs to slow down because it’s overloading the server.” (traducción) «El 429 es la excepción y significa ‘demasiadas solicitudes’: para un robot bien comportado, incluido Googlebot, es una señal inequívoca de que debe bajar el ritmo porque está saturando el servidor». Y la otra cara, en la referencia de códigos de estado de Google: “Don’t use 401 and 403 status codes for limiting the crawl rate. The 4xx status codes, except 429, have no effect on crawl rate.” (traducción) «No emplees los estados 401 y 403 para frenar el rastreo: salvo el 429, los estados 4xx no modifican la frecuencia de rastreo».

Así que, en el mismo movimiento en el que un 403 y un 404 harán que su contenido sea eliminado de la Búsqueda, el 429 le supone una ralentización temporal. Google lo agrupa literalmente con los errores de servidor: “Google’s crawlers treat the 429 status code as a signal that the server is overloaded, and it’s considered a server error.” (traducción) «Los rastreadores de Google tratan el código de estado 429 como una señal de que el servidor está sobrecargado, y se considera un error de servidor». Evidence for this claim Google treats 429 as a server-overload signal that reduces crawl rate and recommends 429, 500, or 503 for temporary crawl reduction instead of other 4xx codes. Scope: Google's guidance covers Google crawler behavior and short-term overload; it does not promise indexing preservation during prolonged unavailability. Confidence: high · Verified: Google: Reduce Google crawl rate

Esto es lo que convierte al 429 en el hermano útil del 503 Service Unavailable (la señal tradicional de mantenimiento o indisponibilidad temporal), y en lo exactamente opuesto al 403 Forbidden, que es la herramienta equivocada para la limitación de frecuencia por muchos cortafuegos que lo usen por defecto.

El impacto en la frecuencia de rastreo abarca todo el nombre de host, con un umbral

Aquí se mezclan dos ámbitos distintos y conviene separarlos. Cómo cuenta y agrupa usted un límite de frecuencia —por IP, por sesión, por clave de API, por recurso, por servidor— es su propia política; la especificación HTTP no lo define. Lo que Google hace con los errores que observa es un comportamiento distinto y documentado, y está condicionado al volumen, no a una única respuesta: “Google’s crawling infrastructure reduces your site’s crawling rate when it encounters a significant number of URLs with 500, 503, or 429 HTTP response status codes.” (traducción) «La infraestructura de rastreo de Google reduce la frecuencia de rastreo de tu sitio cuando encuentra un número significativo de URL con códigos de estado de respuesta HTTP 500, 503 o 429». Una vez alcanzado ese umbral, “the reduced crawl rate affects the whole hostname of your site (for example, subdomain.example.com), both the crawling of the URLs that return errors, as well as the URLs that return content.” (traducción) «la frecuencia de rastreo reducida afecta a todo el nombre de host de tu sitio (por ejemplo, subdomain.example.com), tanto al rastreo de las URL que devuelven errores como al de las URL que devuelven contenido».

Dicho de otro modo: si devuelve 429 en un subconjunto de páginas (pongamos, una ruta de API pesada) con volumen real, Googlebot ralentiza el rastreo del conjunto del nombre de host, incluidas las páginas que siguen devolviendo 200. Ese suele ser el efecto buscado cuando su objetivo es reducir la carga total. Pero un 429 aislado en una sola ruta, por sí solo, no establece ese efecto sobre todo el nombre de host: la propia redacción de Google está acotada a «a significant number» (traducción: «un número significativo») de respuestas de error, no a una cualquiera.

Evidence for this claim When Google encounters a significant number of 500, 503, or 429 responses, its documented crawl-rate reduction affects the whole hostname, including error URLs and URLs still returning content; one isolated 429 does not establish that site-wide effect. Scope: hostname crawl-load incidents Confidence: high · Verified: Reduce Google crawl rate

La guía de 1–2 días: cuándo el 429 se vuelve arriesgado

El 429 es una señal a corto plazo, y Google da una guía concreta para su uso en emergencias, no una ventana segura garantizada ni un límite tajante. De la documentación de «reduce crawl rate»: “If you need to urgently reduce the crawl rate for short period of time (for example, a couple of hours, or 1-2 days), then return 500, 503, or 429 HTTP response status code instead of 200 to the crawl requests.” (traducción) «Si necesitas reducir urgentemente la frecuencia de rastreo durante un periodo corto de tiempo (por ejemplo, un par de horas, o 1-2 días), devuelve el código de estado de respuesta HTTP 500, 503 o 429 en lugar de 200 a las peticiones de rastreo».

Si va más allá, entra en un terreno más arriesgado, aunque Google lo plantea como una posibilidad, no como una promesa: “We don’t recommend that you do this for a long period of time (meaning, longer than 1-2 days) as it may have a negative effect on how your site appears in Google products… if Googlebot observes these status codes on the same URL for multiple days, the URL may be dropped from Google’s index.” (traducción) «No recomendamos que hagas esto durante un periodo largo de tiempo (es decir, más de 1-2 días), ya que puede tener un efecto negativo en cómo aparece tu sitio en los productos de Google… si Googlebot observa estos códigos de estado en la misma URL durante varios días, la URL puede ser eliminada del índice de Google». La referencia de códigos de estado dice lo mismo para los 5xx y el 429 conjuntamente: “already indexed URLs are preserved in the index, but eventually dropped.” (traducción) «las URL ya indexadas se conservan en el índice, pero acaban siendo eliminadas».

El modelo de riesgo, dicho con honestidad: un 429 de corta duración encaja en la ventana que Google recomienda para uso de emergencia; un 429 sostenido en las mismas URL durante varios días es donde el propio lenguaje de Google pasa a «may» y «eventually dropped» (traducción: «puede» y «acaban siendo eliminadas»): un riesgo documentado, no un resultado garantizado en ninguno de los dos sentidos. Es la misma dinámica que un 503 prolongado.

La frecuencia de rastreo se recupera automáticamente

La cara tranquilizadora: no hay ninguna marca de penalización que persiga a su sitio. Una vez que los errores remiten, Google dice que “the crawl rate will automatically start increasing again.” (traducción) «la frecuencia de rastreo empezará a aumentar de nuevo automáticamente». No hay que presentar nada ni volver a solicitar nada. Fíjese, eso sí, en la redacción exacta: Google dice «empieza a aumentar», no “instantly returns to your prior rate.” (traducción) «vuelve al instante a su ritmo anterior». Trate la recuperación como una dirección documentada, sin plazo fijo ni punto final garantizado, no como un SLA.

Evidence for this claim Google says crawl rate automatically starts increasing after the number of overload responses falls; this describes direction, not an immediate return, fixed recovery time, or guaranteed prior crawl rate. Scope: hostname crawl-load incidents Confidence: high · Verified: Reduce Google crawl rate

(Compárelo con el problema opuesto: querer que Google le rastree menos de forma permanente. Si servir errores no es viable, Google dice que hay que “file a special request to report a problem with unusually high crawl rate” (traducción) «presentar una solicitud especial para informar de un problema de frecuencia de rastreo inusualmente alta»: una vía manual que puede tardar días y que no está garantizada. Para la recuperación no existe esa fricción.)

Cómo gestiona Bing el 429

Se informa ampliamente de que Bingbot se comporta de forma similar —429/500/503 como señal de sobrecarga y Bingbot aflojando el ritmo—, aunque en esta ronda de investigación no pude confirmar de forma independiente una redacción actual en ese sentido en las propias páginas de ayuda de Bing (son SPA renderizadas con JavaScript que no permitieron obtener texto estático). Trate la afirmación de paridad como algo reportado por el sector, no como algo que yo haya verificado contra la documentación actual de Bing. Lo que Bing sí confirma, en su propia documentación histórica, son dos controles proactivos que Google no ofrece de la misma forma:

  • Crawl Control en Bing Webmaster Tools, una cuadrícula de peticiones por segundo donde se fija la velocidad de Bingbot por hora del día.
  • La directiva crawl-delay de robots.txt. La documentación actual de Bing Webmaster documenta valores de 1 a 20 segundos. Es específica de Bing; no limita a Googlebot.

Así que en Bing puede limitar de forma proactiva con crawl-delay o con Crawl Control en lugar de hacerlo de forma reactiva con códigos de estado. (Google retiró en 2024 su propio control manual de frecuencia de rastreo y ahora se apoya por completo en las respuestas de su servidor.)

Nota: las páginas de ayuda actuales de Bing sobre Crawl Control y errores de rastreo se renderizan con JavaScript; la redacción sobre crawl-delay de más arriba proviene de la propia entrada de blog de Bing de 2009, una guía que se sigue respetando y no una captura actual de la interfaz. Tanto la afirmación de paridad del 429 como el estado actual de crawl-delay/Crawl Control quedan pendientes de revisión contra la documentación primaria actual de Bing: confirme la redacción exacta de hoy en Bing Webmaster Tools antes de citar cualquiera de estos puntos como vigente.

Cuándo enviaría deliberadamente un 429

Razones legítimas para devolver un 429 a propósito:

  • Carga de servidor de emergencia: un pico de tráfico, una migración chapucera o una caída en la que necesita que Googlebot afloje ahora mismo durante unas horas.
  • Proteger APIs y endpoints que no son HTML del abuso de bots y rastreadores: los rastreadores de buscadores, los rastreadores SEO de terceros (Ahrefs, Screaming Frog) y los scrapers chocan todos con límites de frecuencia pensados para frenar el abuso.

Para lo que no sirve el 429: bloquear permanentemente bots que no quiere en absoluto. Si no quiere que algo se rastree nunca, eso es trabajo de un disallow en robots.txt, no de un 429. Y si quiere conservar una página pero fuera del índice, eso es noindex. El 429 solo significa «más tarde», no «nunca».

429s no intencionados: los sospechosos habituales

Cuando aparecen 429s en el informe Page Indexing (Indexación de páginas) o en el informe Crawl Stats de GSC y usted no los ha puesto ahí, el origen suele ser uno de estos. No conozco buenas evidencias de una clasificación universal sobre cuál es el más frecuente, así que tómelo como una lista de candidatos que confirmar o descartar, no como un diagnóstico:

  • Reglas de WAF o cortafuegos que se disparan por error sobre rangos de IP de rastreadores legítimos.
  • Límites de frecuencia por defecto del hosting compartido o de la CDN demasiado estrictos para un rastreo real.
  • Herramientas de gestión de bots que clasifican a Googlebot o Bingbot como tráfico abusivo.
  • Middleware de limitación de frecuencia agresivo, pensado para el abuso de APIs, que atrapa a sus propios rastreadores.

Antes de tocar un umbral o de escribir una regla que exima a los bots de búsqueda reales, establezca primero la procedencia: no adivine qué capa es la dueña de la respuesta. Recupere las cabeceras de respuesta en bruto, las líneas exactas del log de peticiones (no un resumen de un panel), el identificador de la regla o de la zona de limitación que se activó, la clave de cliente contra la que se contabilizó (IP, sesión, clave de API), la ruta, el POP de la CDN o la ubicación del edge, y la ventana temporal. Esa combinación le dice qué capa emitió realmente el 429 y qué estaba contando; solo entonces tiene sentido aflojar un límite o añadir una excepción. Verifique la identidad del rastreador con una comprobación de DNS inverso más directo (el método oficial de Google), no solo con la cadena del agente de usuario (user-agent): los agentes de usuario que se hacen pasar por «Googlebot» son habituales. La pestaña Scripts tiene los comandos exactos.

La versión corta del manual de actuación

  1. Use 429 o 503 con Retry-After para ralentizar un rastreador; nunca 403 ni 404.
  2. Limítelo a horas, o 1–2 días: más allá de eso, las URL pueden ser eliminadas.
  3. Recuerde que la limitación abarca todo el nombre de host y que se recupera sola cuando cesan los errores.
  4. Acote el límite al tráfico adecuado y verifique la identidad del rastreador antes de eximir a un bot.

Try it live

This is a real endpoint on this site — not a simulation. Hit it from the button, open it in a new tab, or curl -i it from your terminal, and the server answers with the actual status code this article is about.

Open in new tab ↗

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.