Error 503: servicio no disponible
Por qué 503 es el código de estado correcto para el mantenimiento planificado, cómo el encabezado Retry-After guía a Googlebot, cómo Google reduce el rastreo ante los 503 y cómo evitar una desindexación accidental.
Idiomas
503 Service Unavailable es el código de estado correcto para una caída temporal y planificada: Google lo recomienda explícitamente por encima de un 404 o de una página de «próximamente» con 200. Combínelo con un encabezado Retry-After para que Googlebot sepa cuándo volver, mantenga robots.txt rastreable (nunca le devuelva un 503) y trate 1–2 días como el techo para un 503 en todo el sitio. Pasados unos pocos días, Google empieza a leer el 503 como permanente, los títulos y las descripciones indexados se congelan en lugar de actualizarse, y las páginas pueden caer del índice sin una recuperación 1:1 garantizada. Para cierres más largos, cambie en su lugar a un marcador de posición indexable con 200.
TL;DR — Una respuesta 503 Service Unavailable les dice a los motores de búsqueda «el sitio está caído temporalmente, vuelva a consultar pronto» en lugar de «esta página ya no existe». Cuando necesita dejar su sitio fuera de línea por mantenimiento planificado, el 503 es el código correcto que hay que devolver. Añada un encabezado
Retry-Afterpara que Googlebot sepa cuándo volver, mantenga surobots.txtaccesible y no deje el 503 activo más de un día o dos.
Qué significa realmente un 503
HTTP 503 significa que el servidor no puede atender la solicitud de forma temporal, y el estándar permite un encabezado Retry-After. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: RFC 9110: 503 Google recomienda el 503 para caídas breves, pero advierte de que una indisponibilidad prolongada puede afectar a la indexación. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: Google: Pause an online business
Un 503 es un código de estado HTTP de la familia 5xx: el grupo de «algo va mal en
el lado del servidor». En concreto, significa que el servidor está lo bastante
operativo para responder, pero no puede atender la solicitud en este momento,
normalmente porque está sobrecargado o porque lo ha puesto en modo mantenimiento.
La palabra clave es temporal. Eso es lo que separa un 503 de los otros códigos a los que podría recurrir cuando una página no está disponible:
- 200 OK dice «aquí está el contenido», aunque ese «contenido» sea un mensaje de «volvemos enseguida». Los motores de búsqueda lo toman literalmente y pueden indexar la página de error.
- 404 Not Found / 410 Gone dicen «esta página no existe / se ha eliminado de forma permanente». Si los usa durante el mantenimiento, le está diciendo a Google que elimine la página.
- 503 Service Unavailable dice “I exist, I’m just busy — come back later.” (traducción) «Existo, solo estoy ocupado: vuelva más tarde». Este es el que quiere para una caída planificada.
Por qué el 503 es la opción correcta para el mantenimiento
Cuando realiza un despliegue, un traslado de servidor o un mantenimiento programado, lo que quiere es que los motores de búsqueda se detengan, no que concluyan que sus páginas están muertas. Un 503 le compra esa pausa. Google lo dice directamente: si necesita dejar un sitio fuera de servicio brevemente, devuelva un 503, no un 404 ni una página de error con 200.
Piénselo como un cartel de «vuelvo en 10 minutos» en la puerta de una tienda. Un 404 es como derribar la tienda con una excavadora; una página de «próximamente» con 200 es como sustituir todo su inventario por un único cartel y esperar que los clientes sigan creyendo que vende zapatos. El 503 es el cartel que le conserva el sitio.
El encabezado Retry-After
Junto con el 503, puede enviar un encabezado Retry-After que indica a los
rastreadores aproximadamente cuándo volver. Puede ser un número de segundos o una
fecha y hora concretas:
HTTP/1.1 503 Service Unavailable
Retry-After: 3600Ese ejemplo pide a los bots que esperen alrededor de una hora. Google puede usarlo como pista para decidir cuándo volver a rastrear. No volverá en el segundo exacto, pero tampoco volverá antes de ese momento.
Las tres cosas que no hay que equivocar
- No mantenga el 503 mucho tiempo. Un día o dos está bien. Bastante más y Google empieza a pensar que la caída es permanente y puede eliminar sus páginas.
- No devuelva un 503 en su archivo
robots.txt. Si ese archivo devuelve un 503, Google no puede rastrear nada, incluida la comprobación que le diría que ya está de vuelta en línea. - No use en su lugar un 404 ni una simple página de «próximamente» con 200. Esos envían la señal equivocada y pueden costarle más que el 503.
¿Quiere los umbrales de duración, las citas exactas de Google y la implementación plataforma por plataforma? Cambie a la pestaña Avanzado.
TL;DR — El 503 es el código correcto para una indisponibilidad temporal, y Google lo prefiere explícitamente frente a un 404/410 (permanente) o una página de error con 200 (basura indexable). Combínelo con
Retry-After. El techo que Google fija para un 503 en todo el sitio es de 1–2 días; pasado lo que llama “a couple of days” (traducción) «un par de días», trata el 503 como permanente y elimina URL. Un 503 también congela sus metadatos indexados: los títulos, las descripciones y los datos estructurados no se actualizan mientras se sirve. Nunca devuelva un 503 en surobots.txt. Google trata el 429 y el 503 igual a efectos de reducir la frecuencia de rastreo. Y la recuperación tras una caída prolongada es probable, pero no está garantizado que sea 1:1. Para cualquier cosa que dure más de un día o dos, sirva en su lugar un marcador de posición indexable con 200.
Qué es un 503 y qué no es
Un 503 es una condición temporal del servidor, no una señal de eliminación permanente. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: RFC 9110: 503 El comportamiento de búsqueda depende de la duración y de la repetición de las respuestas; los plazos de recuperación no están garantizados. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: Google: Pause an online business
El RFC 9110 mantiene un lenguaje laxo a propósito: el servidor en este momento no
puede atender la solicitud, la mejora de la situación se describe como probable,
no como segura, y el encabezado Retry-After es opcional: un MAY, no un
requisito. El estándar no obliga a un rastreador a volver en ningún momento
concreto, y un servidor puede incluso omitir por completo el 503 y simplemente
rechazar la conexión. Eso importa para toda esta página: todo lo que sigue sobre el
comportamiento de rastreo de Google y los plazos de recuperación describe lo que
suele ocurrir, no una garantía contractual.
El 503 es para una indisponibilidad temporal del lado del servidor. No es una herramienta de uso general para «ocultar esta página», y no es intercambiable con sus códigos vecinos:
- 404 / 410 — eliminación permanente. Durante el mantenimiento, estos códigos le dicen a Google que sus páginas ya no existen, y empezará a eliminarlas (el 410 algo más rápido que el 404).
- 200 con contenido de error — una página de «volvemos enseguida» que devuelve
200 OKparece contenido real. Google la indexa y, si todas las URL devuelven la misma página, puede tratarlas como duplicadas. - 503 — «estoy aquí, solo temporalmente incapacitado». El único código que dice pausa, no elimina.
Qué recomienda Google en realidad (por orden)
La guía actual y activamente mantenida de Google (Temporarily pause or disable a website) expone un orden de preferencia que la mayoría de los artículos de la competencia pasan por alto. Empiece por ahí:
1. No se apague del todo: limite la funcionalidad en su lugar. La recomendación principal de Google es mantener el sitio en línea y desactivar solo las partes de riesgo (apagar el carrito, mostrar un aviso, actualizar sus datos estructurados o su feed de Merchant Center), porque así se “minimizes any negative effects on your site’s presence in Search.” (traducción) «minimiza cualquier efecto negativo en la presencia de su sitio en la Búsqueda». Un 503 en todo el sitio es el recurso alternativo, no la opción predeterminada.
2. Si tiene que desactivar todo el sitio: la regla de 1–2 días. Google califica la retirada de un sitio completo como “an extreme measure that should only be taken for a very short period of time (a few days at most),” (traducción) «una medida extrema que solo debería adoptarse durante un periodo de tiempo muy corto (unos pocos días como máximo)», y es específico sobre el mecanismo: “If you need to urgently disable the site for 1-2 days, then return an informational error page with a 503 HTTP response status code instead of all content.” (traducción) «Si necesita desactivar urgentemente el sitio durante 1-2 días, devuelva una página de error informativa con un código de estado de respuesta HTTP 503 en lugar de todo el contenido».
3. Más tiempo que eso: cambie a un marcador de posición indexable con 200. Una vez que pasa de un día o dos, deje de servir este código. Google: “If you need to disable the site for a longer time, then provide an indexable home page as a placeholder for users to find in Search by using the 200 HTTP status code.” (traducción) «Si necesita desactivar el sitio durante más tiempo, proporcione una página de inicio indexable como marcador de posición para que los usuarios la encuentren en la Búsqueda, usando el código de estado HTTP 200».
El espectro de duración (no hay un único límite tajante)
Distintas fuentes de Google le dan un espectro, no un número mágico único, y es orientativo, no una garantía de cumplimiento. La única cifra que procede de la propia documentación actual de Google es el techo de 1–2 días que aparece más abajo; las cifras del orden de minutos y de días son comentarios de personal de Google transmitidos por Search Engine Journal a partir de sesiones de office-hours, no declaraciones de fuente primaria que pueda exigirle a Google.
- Minutos, de vez en cuando. Gary Illyes, vía Search Engine Journal: “Serving a 503 status code for an extended period of time will cause a decrease in crawl rate. Fortunately for you, 10-15 minutes every now and then is not ‘extended’ by any means, so you should be fine.” (traducción) «Mantener un 503 durante mucho tiempo reduce la frecuencia de rastreo; por suerte, 10–15 minutos ocasionales no cuentan como un periodo prolongado, así que debería estar bien».
- Un día más o menos. John Mueller, vía Search Engine Journal: “For an outage of maybe a day or so, using a 503 result code is a great way to tell us that we should check back.” (traducción) «Para una caída de quizá un día más o menos, usar un código de resultado 503 es una forma excelente de decirnos que deberíamos volver a comprobarlo».
- 1–2 días. El techo documentado por Google para un 503 urgente en todo el sitio: la única cifra de esta lista que procede de la guía actual y de fuente primaria de Google.
- “A couple of days” y más allá. Aquí es donde cambia la cosa. Mueller, vía Search Engine Journal: “after a couple of days we think this is a permanent result code, and we think your pages are just gone, and we will drop them from the index.” (traducción) «pasado un par de días pensamos que es un código de resultado permanente, y pensamos que sus páginas simplemente ya no están, y las eliminaremos del índice».
- Semanas. Pérdida de indexación casi garantizada y, según la documentación, para la recuperación tras una eliminación completa “no fixed time … and there’s no mechanism to speed that up.” (traducción) «no hay un plazo fijo… y no existe ningún mecanismo para acelerarlo».
Nada de esto suma un reloj de cuenta atrás con puerto seguro. Describe lo que suele ocurrir, no una regla en la que pueda confiar para un resultado concreto: trate la cifra de 1–2 días como el borde exterior en torno al cual planificar, no como una garantía de que todo lo que quede dentro esté libre de riesgo.
El efecto secundario de la congelación de metadatos (el riesgo del que nadie habla)
Incluso un 503 breve y correcto tiene un costo que se pasa por alto: mientras sirve 503, Google no puede actualizar lo que ya tiene. Directamente de la documentación: “it’s not possible for Google’s systems to refresh titles, descriptions, metadata, or structured data included on a website if a page returns a 503 HTTP response status code.” (traducción) «no es posible que los sistemas de Google actualicen los títulos, las descripciones, los metadatos o los datos estructurados incluidos en un sitio web si una página devuelve un código de estado de respuesta HTTP 503».
Así que un 503 congela sus metadatos indexados: no los borra y no los actualiza. Si cambió un título o un marcado de datos estructurados justo antes del mantenimiento, un fragmento obsoleto en los resultados puede persistir durante toda la ventana. «Seguro» aquí significa que una interrupción breve no causa un daño permanente; no significa que sea invisible.
Nunca devuelva un 503 para robots.txt
Este es un error de bulto del mundo real: algunos plugins de modo mantenimiento y
algunas reglas generales de CDN devuelven un 503 para todo, incluido robots.txt.
No lo haga. Google es explícito: “Don’t return a 503 HTTP response status code for
the robots.txt file because this blocks all crawling.” (traducción) «No devuelva
un código de estado de respuesta HTTP 503 para el archivo robots.txt, porque eso
bloquea todo el rastreo». Un robots.txt que devuelve 503 impide que Google rastree
absolutamente nada, incluido el nuevo rastreo que confirmaría que ya está de vuelta.
Mantenga robots.txt devolviendo 200 incluso durante una caída de todo el sitio.
503 frente a 429: Google los trata igual
La gente busca «429 o 503» de forma indistinta en contextos de limitación de
frecuencia. A efectos de la frecuencia de rastreo, para Google son equivalentes.
Mueller (en una página que él mismo marcó después como antigua): “we treat them both
about the same. We see both as a temporary issue, and tend to slow down crawling if
we see a bunch of them.” (traducción) «los tratamos de forma prácticamente idéntica:
ambos son incidencias temporales y, si aparecen en cantidad, solemos reducir el ritmo
de rastreo». La misma lógica de reducción: tanto un 429 Too Many Requests como un 503
le dicen a Googlebot que baje el ritmo. (Sus hermanos 502/504, los otros errores
transitorios de puerta de enlace y de tiempo de espera, reciben un trato similar: un
5xx sostenido de cualquier tipo ralentiza el rastreo.)
La recuperación es probable, no garantizada
El desmontaje de mitos más útil de todo este tema: si una caída prolongada llega a eliminar sus páginas, normalmente vuelven, pero no siempre igual. Mueller: “when the pages come back we will crawl them again and we will try to index them again. But it’s essentially during that time we will probably drop a lot of the pages from the website from our index, and there’s a pretty good chance that it’ll come back in a similar way but it’s not always guaranteed.” (traducción) «cuando las páginas vuelvan, las rastrearemos de nuevo e intentaremos indexarlas de nuevo. Pero, en esencia, durante ese tiempo probablemente eliminaremos de nuestro índice muchas de las páginas del sitio web, y hay bastantes probabilidades de que vuelva de forma similar, pero no siempre está garantizado». Planifique sus ventanas de mantenimiento como si la recuperación pudiera ser imperfecta, porque puede serlo.
Algunas preguntas frecuentes que conviene responder directamente
- ¿Un 503 perjudica al SEO? No cuando es breve y correcto. Un 503 corto con
Retry-Afteres la señal prevista para una caída planificada. El daño viene de dejarlo activo demasiado tiempo o de devolver un 503 pararobots.txt. - ¿Es mejor un 503 o un 404 para el mantenimiento? Un 503, siempre. Un 404 dice «ya no existe» y empieza a desindexar; un 503 dice «vuelvo pronto».
- ¿WordPress devuelve un 503 durante las actualizaciones? Sí: WordPress sirve un 503 automáticamente mientras se actualizan el núcleo o los plugins. Ese es el comportamiento correcto; la ventana normalmente es de segundos.
- ¿Puedo mostrar simplemente una página de «próximamente» con 200? No. Una página de error con 200 se indexa como contenido y, si es la misma página en todas las URL, Google puede tratar esas URL como duplicadas.
La única regla que hay que recordar
El techo que Google fija para un 503 urgente en todo el sitio es de 1–2 días: trátelo como el borde exterior en torno al cual planificar, no como una ventana con seguridad garantizada. Incluso dentro de él, un 503 sigue pausando su frecuencia de rastreo y congelando sus metadatos, y nada de lo aquí expuesto promete un resultado concreto de posicionamiento, indexación o recuperación. Pasado ese techo, cambie a un marcador de posición indexable con 200 antes de que Google decida que sus páginas ya no existen. Todo lo demás en esta página es una nota al pie de eso.
Para los códigos vecinos, consulte el resto del clúster de códigos de estado HTTP.
Resumen con IA
Una versión condensada de la pestaña Advanced:
- 503 = indisponibilidad temporal. Es el código correcto para el mantenimiento planificado: Google lo prefiere frente a un 404/410 (permanente) y frente a una página de error con 200 (que se indexa como contenido, a menudo como duplicados).
- Combínelo con
Retry-After(segundos o una fecha HTTP), aunque el RFC 9110 hace que el encabezado sea opcional (unMAY): Googlebot puede usarlo como pista para saber cuándo volver a rastrear y reduce su frecuencia de rastreo, pero nada obliga a un momento de regreso exacto. - La duración es un espectro, no una garantía: la única cifra de la propia documentación actual de Google es de 1–2 días, su techo documentado para un 503 urgente en todo el sitio. Los comentarios de personal de Google transmitidos por Search Engine Journal sitúan las ventanas breves (10–15 minutos, ~un día) como generalmente aceptables y sitúan “a couple of days” (traducción) «un par de días» y más como el punto en el que Google empieza a tratar el 503 como permanente y elimina páginas; léalos como orientativos, no como compromisos de fuente primaria. Para cierres más largos, sirva en su lugar un marcador de posición indexable con 200.
- Los metadatos se congelan: mientras se sirve un 503, Google no puede actualizar títulos, descripciones ni datos estructurados, así que pueden persistir fragmentos obsoletos.
- Nunca devuelva un 503 para
robots.txt: eso bloquea todo el rastreo, incluido el nuevo rastreo que confirma que ya está de vuelta. - 429 ≈ 503 en cuanto a la reducción de la frecuencia de rastreo; Google los trata igual.
- La recuperación tras una caída prolongada es probable, pero “not always guaranteed” que sea 1:1 (Mueller) — (traducción) «no siempre garantizada»; la eliminación completa del índice no tiene un plazo fijo de recuperación.
- Mejor práctica general: la recomendación principal de Google es evitar por completo la retirada total: limite la funcionalidad y siga en línea.
Documentación oficial
Guía de fuente primaria sobre el 503 y las caídas planificadas.
- Pausar o desactivar temporalmente un sitio web — la guía actual y canónica de Google: el orden de preferencia, la regla de 1–2 días,
Retry-After, la excepción de robots.txt, la nota sobre la congelación de metadatos y el consejo de verificación con curl. - Cómo gestionar el tiempo de inactividad planificado (entrada de blog de 2011) — el artículo original (ahora lleva un aviso de «desactualizado, consulte las prácticas recomendadas»). Fuente del clásico ejemplo de
Retry-Afteren PHP. - Guía detallada sobre cómo funciona la Búsqueda de Google — contexto sobre la reducción de la frecuencia de rastreo: los errores de la familia HTTP 500 significan «reduce la velocidad».
RFC / referencia técnica
- MDN — 503 Service Unavailable — la definición del código de estado basada en los estándares.
- MDN — Retry-After header — sintaxis de las formas en segundos y en fecha HTTP.
Bing / Microsoft
- Bing no publica una guía sobre el 503 para mantenimiento con el mismo nivel de detalle que Google.
Retry-Afteres un encabezado estándar del RFC (no específico de Google), y Bingbot también reduce la frecuencia de rastreo ante respuestas5xx/429repetidas, pero considere cualquier comportamiento concreto de Bing como inferido de la semántica HTTP estándar y no como una declaración documentada.
Citas de la fuente
Declaraciones oficiales de Google. Cada enlace es un enlace directo que salta al pasaje citado en la página de origen.
Documentación de Google: la regla de 1–2 días
- “If you need to urgently disable the site for 1-2 days, then return an informational error page with a 503 HTTP response status code instead of all content.” (traducción) «Si necesita desactivar urgentemente el sitio durante 1-2 días, devuelva una página de error informativa con un código de estado de respuesta HTTP 503 en lugar de todo el contenido.» Ir a la cita
- “If you need to disable the site for a longer time, then provide an indexable home page as a placeholder for users to find in Search by using the 200 HTTP status code.” (traducción) «Si necesita desactivar el sitio durante más tiempo, proporcione una página de inicio indexable como marcador de posición para que los usuarios la encuentren en la Búsqueda, usando el código de estado HTTP 200.» Ir a la cita
Documentación de Google: robots.txt y metadatos
- “Don’t return a 503 HTTP response status code for the robots.txt file because this blocks all crawling.” (traducción) «No devuelva un código de estado de respuesta HTTP 503 para el archivo robots.txt, porque eso bloquea todo el rastreo.» Ir a la cita
- “it’s not possible for Google’s systems to refresh titles, descriptions, metadata, or structured data included on a website if a page returns a 503 HTTP response status code.” (traducción) «no es posible que los sistemas de Google actualicen los títulos, las descripciones, los metadatos o los datos estructurados incluidos en un sitio web si una página devuelve un código de estado de respuesta HTTP 503.» Ir a la cita
- “removing a site completely from Google’s index is a significant change that can take quite some time to recover from.” (traducción) «eliminar un sitio por completo del índice de Google es un cambio importante del que puede llevar bastante tiempo recuperarse.» Ir a la cita
Blog de Google Search Central (2011)
- “instead of returning an HTTP result code 404 (Not Found) or showing an error page with the status code 200 (OK) when a page is requested, it’s better to return a 503 HTTP result code (Service Unavailable) which tells search engine crawlers that the downtime is temporary.” (traducción) «en lugar de devolver un código de resultado HTTP 404 (Not Found) o de mostrar una página de error con el código de estado 200 (OK) cuando se solicita una página, es mejor devolver un código de resultado HTTP 503 (Service Unavailable), que indica a los rastreadores de los motores de búsqueda que la caída es temporal.» Ir a la cita
- “If known, the length of the downtime in seconds or the estimated date and time when the downtime will be complete can be specified in an optional Retry-After header, which Googlebot may use to determine when to recrawl the URL.” (traducción) «Si se conoce, la duración de la caída en segundos o la fecha y hora estimadas en que la caída habrá terminado se pueden especificar en un encabezado Retry-After opcional, que Googlebot puede usar para determinar cuándo volver a rastrear la URL.» Ir a la cita
John Mueller, Google
- “please return a ‘503 Service unavailable’ HTTP result code… they’re generally more than happy to give your site some time to catch up again.” (traducción) «devuelva un código de resultado HTTP ‘503 Service unavailable’… en general están más que dispuestos a darle a su sitio algo de tiempo para volver a ponerse al día.» Ir a la cita De johnmu.com/503s/ (2013), la republicación personal que hizo Mueller de una entrada de Google+. La página en vivo muestra apóstrofos tipográficos, por lo que el enlace directo se mantiene corto para garantizar una coincidencia exacta del texto.
- “we treat them both about the same. We see both as a temporary issue, and tend to slow down crawling if we see a bunch of them.” (traducción) «tratamos ambos más o menos igual. Vemos los dos como un problema temporal y tendemos a ralentizar el rastreo si vemos un montón de ellos.» (sobre 429 frente a 503) Ir a la cita De johnmu.com/429-or-503/ (2015), una página que Mueller mismo marca como “old, probably outdated.” (traducción) «antigua, probablemente desactualizada».
- “after a couple of days we think this is a permanent result code, and we think your pages are just gone, and we will drop them from the index.” (traducción) «pasado un par de días pensamos que es un código de resultado permanente, y pensamos que sus páginas simplemente ya no están, y las eliminaremos del índice.» Ir a la cita Transmitido por Search Engine Journal desde una sesión de preguntas y respuestas / office-hours de Search Central; confírmelo con el original antes de tomarlo como definitivo.
Gary Illyes, Google
- “Serving a 503 status code for an extended period of time will cause a decrease in crawl rate. Fortunately for you, 10-15 minutes every now and then is not ‘extended’ by any means, so you should be fine.” (traducción) «Servir un código de estado 503 durante un periodo prolongado provocará una disminución de la frecuencia de rastreo. Afortunadamente para usted, 10-15 minutos de vez en cuando no es “prolongado” en absoluto, así que no debería tener problemas.» Ir a la cita Transmitido por Search Engine Journal desde una sesión de SEO office-hours de Google Search Central.
Lista de comprobación para un 503 de mantenimiento planificado
Ejecute esto antes, durante y después de una ventana de mantenimiento:
- Decidido si realmente necesita una retirada completa: ¿puede limitar la funcionalidad y seguir en línea en su lugar (la opción preferida de Google)?
- La página de mantenimiento devuelve un código de estado
503real (verificado con curl, no solo mirado a ojo en un navegador). - Hay configurado un encabezado
Retry-After(en segundos o con una fecha HTTP) con una estimación realista. -
robots.txtsigue devolviendo200y es accesible: nunca con un 503. - La página 503 es ligera: HTML estático, CSS en línea, sin recursos pesados (los bots la solicitarán repetidamente).
- Hay una fecha límite interna firme para cambiar a un marcador de posición indexable con 200 si la ventana supera ~1–2 días.
- Ninguna página devuelve
404/410ni una página de «próximamente» con200en lugar del 503. - Se están vigilando Page Indexing (Indexación de páginas) y Crawl Stats
de Search Console durante y después de la ventana, por si hay picos de
5xx. - Después del mantenimiento: confirmado que las páginas volvieron a
200, solicitado un nuevo rastreo con URL Inspection (Inspección de URLs) para las URL clave y verificado que los metadatos y los fragmentos se han actualizado.
SOP: cómo poner correctamente su sitio en modo de mantenimiento planificado
Un procedimiento repetible para una ventana de mantenimiento corta y segura.
Antes de la ventana
- Decida el alcance. Si puede mantener el sitio en línea y desactivar solo la parte de riesgo (el carrito, el proceso de compra, una función averiada), haga eso: es la recomendación principal de Google y evita todo el riesgo que viene a continuación. Pase a un 503 completo solo si de verdad tiene que dejar todo fuera de línea.
- Estime la duración con honestidad. Si de forma realista va a ser más de 1–2
días, no planifique un 503 en todo el sitio: planifique en su lugar una página de
inicio indexable con
200como marcador de posición. - Cree una página de mantenimiento ligera. HTML estático, CSS en línea, imágenes en base64 o ninguna imagen. Los bots (y los usuarios) la solicitarán repetidamente, así que no debe forzar el servidor.
Configurar la respuesta
- Devuelva un 503 real para el contenido del sitio. Ejemplos:
- Apache (
.htaccess): dirija todo a la página de mantenimiento y fuerce el código de estado —RewriteEngine On RewriteCond %{REQUEST_URI} !^/maintenance\.html$ RewriteCond %{REQUEST_URI} !^/robots\.txt$ RewriteRule ^ /maintenance.html [R=503,L] ErrorDocument 503 /maintenance.html Header always set Retry-After "3600" - Nginx:
location / { return 503; } error_page 503 /maintenance.html; location = /maintenance.html { internal; add_header Retry-After 3600; } location = /robots.txt { } # keep robots.txt serving 200 - PHP (el formato del propio ejemplo de Google):
header('HTTP/1.1 503 Service Unavailable'); header('Retry-After: 3600');
- Apache (
- Configure
Retry-Aftercon una estimación realista: segundos (3600) o una fecha HTTP. - Exima
robots.txt. Asegúrese de querobots.txtsigue devolviendo200(vea las condiciones de reescritura anteriores). Este es el paso que más gente se salta.
Verificar
- Confirme el código de estado con curl, no con el navegador:
curl -I -X GET "https://www.example.com/" # expect: HTTP/1.1 503 Service Unavailable + Retry-After: ... curl -I "https://www.example.com/robots.txt" # expect: HTTP/1.1 200 OK
Durante y después
- Vigile el reloj. Si se acerca al techo de 1–2 días, cambie a un marcador de
posición indexable con
200antes de que Google empiece a tratar el 503 como permanente. - Recupere el sitio. Elimine la regla del 503; confirme que las páginas vuelven
a devolver
200. - Vuelva a comprobar. Use URL Inspection (Inspección de URLs) de GSC en las
páginas clave, vigile Crawl Stats para ver que el pico de
5xxse reduce y confirme que los títulos, las descripciones y los datos estructurados se actualizan (estuvieron congelados durante el 503).
Qué no hacer, y los mitos que hay detrás
Mito: «un 503 durante más de un par de días es completamente seguro siempre que use
Retry-After».
Retry-After mejora la precisión; no anula el techo de Google. La documentación
limita a 1–2 días un 503 urgente en todo el sitio, y Mueller: “after a couple of
days we think this is a permanent result code… and we will drop them from the
index.” (traducción) «pasado un par de días pensamos que es un código de resultado
permanente… y las eliminaremos del índice». Cambie a un marcador de posición con 200
antes de llegar ahí.
Mito: «el 503 no tiene ningún impacto en el SEO si se implementa correctamente». Incluso un 503 breve y correcto pausa la actualización de los metadatos —los títulos, las descripciones y los datos estructurados no pueden actualizarse mientras se sirve— y cualquier 503 empuja la frecuencia de rastreo hacia abajo. «Seguro» significa «no dañino de forma permanente cuando es breve», no «invisible».
Mito: «un 404 o una página de «próximamente» con 200 sirven igual durante el
mantenimiento».
No. Un 404/410 señala una eliminación permanente y hace que las páginas se
eliminen más rápido. Una página de error con 200 generalizada se indexa como
contenido y, si todas las URL devuelven la misma página, Google puede tratarlas como
duplicadas.
Mito: «también debería devolver un 503 en su robots.txt, para ser exhaustivo».
Al contrario. Un robots.txt que devuelve 503 bloquea todo el rastreo, incluido el
nuevo rastreo que confirma que su sitio ha vuelto. Manténgalo en 200.
Mito: «si Google elimina mis páginas durante la caída, volverán exactamente igual». Es probable, pero “not always guaranteed” (traducción) «no siempre está garantizado» (Mueller), y la recuperación tras una eliminación completa no tiene un plazo fijo ni forma de acelerarla.
Mito: «429 y 503 son señales totalmente distintas». A efectos de la reducción de la frecuencia de rastreo, Google “treat[s] them both about the same.” (traducción) «los trata a ambos más o menos igual».
El antipatrón que hay que grabarse en la memoria: servir una página de «estamos
en mantenimiento» con un simple 200 OK. Es el error más común y el que Google
advierte de forma más directa.
El 503 para mantenimiento: hoja de referencia rápida
Qué código para cada situación
| Situación | Código | Por qué |
|---|---|---|
| Mantenimiento planificado corto (≤ 1–2 días) | 503 + Retry-After | «Temporal: vuelva a comprobarlo» |
| Mantenimiento de más de 1–2 días | 200 con marcador de posición indexable | El 503 se leería como permanente |
| Página eliminada de forma permanente | 404 / 410 | Eliminación real |
| Solo desactivar el carrito o una función | siga con 200, limite la funcionalidad | La recomendación principal de Google |
| Servidor sobrecargado / limitación de frecuencia | 503 o 429 | Google los trata igual |
Espectro de duración
| Ventana | Veredicto |
|---|---|
| 10–15 min, de vez en cuando | Correcto (Illyes) |
| ~un día | Correcto (Mueller) |
| 1–2 días | Techo documentado por Google para un 503 en todo el sitio |
| ”A couple of days” o más | Google trata el 503 como permanente: las páginas se eliminan |
| Semanas | Pérdida de indexación casi segura; sin plazo fijo de recuperación |
La fila de 1–2 días es el techo documentado actual de Google. Las filas del orden de minutos y de días son comentarios de personal de Google transmitidos por Search Engine Journal, no documentación primaria de Google; lea el espectro como orientativo, no como una ventana de cumplimiento con seguridad garantizada.
Formas de Retry-After
- Segundos:
Retry-After: 3600 - Fecha HTTP:
Retry-After: Sat, 8 Oct 2011 18:27:00 GMT
Reglas que no hay que olvidar
robots.txtse mantiene en 200: nunca le devuelva un 503.- Página 503 = HTML estático, CSS en línea (los bots la solicitan repetidamente).
- El 503 congela los títulos, las descripciones y los datos estructurados indexados: no se actualizarán.
- Verifique con
curl -I, no con el navegador.
Compruebe que su 503 es realmente un 503
Un navegador puede mostrar una página de mantenimiento mientras el servidor
devuelve discretamente un 200. Compruebe el código de estado real y los encabezados
con curl.
macOS / Linux
# Site content should return 503 with a Retry-After header
curl -I -X GET "https://www.example.com/"
# expect: HTTP/1.1 503 Service Unavailable
# Retry-After: 3600
# robots.txt must stay reachable (200), NOT 503
curl -I "https://www.example.com/robots.txt"
# expect: HTTP/1.1 200 OKWindows (PowerShell)
# -SkipHttpErrorCheck lets PowerShell show the 503 instead of throwing
(Invoke-WebRequest -Uri "https://www.example.com/" -Method Head -SkipHttpErrorCheck).StatusCode
(Invoke-WebRequest -Uri "https://www.example.com/robots.txt" -Method Head).StatusCodeRespuestas 503 mínimas
PHP (el formato del propio ejemplo de Google)
<?php
header('HTTP/1.1 503 Service Unavailable');
header('Retry-After: 3600'); // or an HTTP date: 'Sat, 8 Oct 2011 18:27:00 GMT'
?>
<!DOCTYPE html>
<title>We'll be right back</title>
<h1>Down for scheduled maintenance</h1>
<p>We expect to be back within the hour. Thanks for your patience.</p>Nginx (503 en el contenido, robots.txt exento)
location / {
return 503;
}
error_page 503 /maintenance.html;
location = /maintenance.html {
internal;
add_header Retry-After 3600;
}
location = /robots.txt { } # keep serving robots.txt normally (200)Mantenga la página de mantenimiento estática, con CSS en línea y sin recursos pesados: los bots la solicitarán repetidamente y no le conviene que esa página fuerce el servidor.
Herramientas para gestionar y comprobar un 503
curl -I— la forma más rápida de confirmar el código de estado real y el encabezadoRetry-After(un navegador puede ocultar la verdad). Vea la pestaña Scripts.- Google Search Console — URL Inspection (Inspección de URLs) — compruebe el último estado rastreado de una URL concreta y solicite un nuevo rastreo cuando ya esté de vuelta en línea.
- GSC — informe Crawl Stats — vigile el pico de
5xx/503durante la ventana y confirme que se reduce después. - GSC — informe Page Indexing (Indexación de páginas) — detecte las páginas que se hayan eliminado si la ventana se alargó.
- Screaming Frog SEO Spider — rastree su propio sitio para confirmar qué URL
devuelven 503 y cuáles 200 (y que
robots.txtno devuelve un 503). - Ahrefs Site Audit / Ahrefs Webmaster Tools — muestra las respuestas
5xxde todo el sitio para que pueda detectar un 503 olvidado que persista después de la ventana. - Plugins de modo mantenimiento para WordPress (p. ej., WP Maintenance Mode) —
WordPress ya devuelve un 503 automáticamente durante las actualizaciones del núcleo
y de los plugins; un plugin le da una página de mantenimiento controlada, solo
confirme que no devuelve un 503 para
robots.txt.
Recursos que merecen su tiempo
Mis textos relacionados
- Códigos de estado HTTP: la lista completa para SEO — mi guía completa de los códigos de estado que importan para el SEO, con el 503 en el contexto de los
5xx. Este análisis monográfico es la versión ampliada del tratamiento de una línea que le da esa guía. - Guía para principiantes de SEO técnico — dónde encajan el rastreo, los códigos de estado y el mantenimiento en el panorama general.
De la industria
- Pausar o desactivar temporalmente un sitio web (Google Search Central) — la guía canónica y actual; lea esto primero.
- Cómo gestionar el tiempo de inactividad planificado (Google Search Central Blog, 2011) — el artículo original y el clásico ejemplo de
Retry-Afteren PHP. - 503s (John Mueller, johnmu.com) — la explicación en lenguaje sencillo de Mueller sobre por qué devolver un 503 durante una caída.
- El impacto SEO de los códigos de estado 503 según Google (Search Engine Journal) — Gary Illyes sobre el dato de que «10–15 minutos está bien».
- Google desindexará páginas si el sitio permanece caído varios días (Search Engine Journal) — el umbral de Mueller de «pasado un par de días… las eliminaremos».
- HTTP 503: cómo gestionar correctamente el mantenimiento del sitio para SEO (Yoast) — un recorrido práctico, con sabor a WordPress, por la mecánica de
Retry-After. - 503 Servicio no disponible (MDN) — la referencia de estándares del código de estado en sí.
Videos
- Google Search Central (YouTube) — la serie How Google Search Works y los archivos de las SEO office-hours, donde Mueller e Illyes han respondido las preguntas sobre el 503/mantenimiento y los plazos de desindexación que se citan a lo largo de esta página. Canal
Datos que merece la pena citar
- 1–2 días — el techo documentado por Google para usar un 503 en todo el sitio durante una retirada urgente; más allá de eso, cambie a un marcador de posición con 200. Fuente
- 10–15 minutos, de vez en cuando = correcto — Gary Illyes sobre lo breve que puede ser una ventana de 503 sin mermar la frecuencia de rastreo. Fuente
- “A couple of days” — el punto en el que Google empieza a tratar un 503 como permanente y a eliminar páginas del índice (John Mueller). Fuente
- Sin plazo fijo de recuperación — la documentación de Google sobre la recuperación tras una eliminación completa del índice: sin plazo establecido y sin forma de acelerarlo. Fuente
Ponga a prueba sus conocimientos: 503 Service Unavailable
Cinco preguntas rápidas sobre el uso del 503 para el mantenimiento planificado. Elija una respuesta para cada una y después compruebe el resultado.
Registro de cambios
Actualizado el 8 ago 2026.
Resumen editorial y detalles registrados del cambio.Detalles del cambio
-
Los detalles del cambio están disponibles actualmente en inglés.
La comparación completa no está disponible: no se archivó una instantánea anterior para esta revisión.
Actualizado el 6 ago 2026.
Resumen editorial y detalles registrados del cambio.Detalles del cambio
-
Los detalles del cambio están disponibles actualmente en inglés.
La comparación completa no está disponible: no se archivó una instantánea anterior para esta revisión.
Actualizado el 5 ago 2026.
Resumen editorial y detalles registrados del cambio.Detalles del cambio
-
Los detalles del cambio están disponibles actualmente en inglés.
La comparación completa no está disponible: no se archivó una instantánea anterior para esta revisión.
Actualizado el 17 jul 2026.
Resumen editorial y detalles registrados del cambio.Detalles del cambio
-
Los detalles del cambio están disponibles actualmente en inglés.
La comparación completa no está disponible: no se archivó una instantánea anterior para esta revisión.
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.