Blog · 18 de octubre de 2026

Cómo saber si tu página está caída, y que te avise antes que tus clientes

Cómo revisarla en diez segundos, cómo saber si está caída para todos o solo para ti, las causas más comunes con qué hacer en cada una, y cómo enterarte sin estar mirando: a las 3 de la mañana, en un despliegue o el día que vence el certificado.

1. Revísala ahora

La forma más rápida: escribe la dirección en ¿Está caída tu página?, nuestro comprobador gratis y sin cuenta. La revisamos desde nuestro servidor, fuera de tu red, y en segundos te dice si contesta, con qué código, cuánto tarda y cuántos días le quedan al certificado.

Si prefieres la terminal:

# el código y cuánto tardó, siguiendo redirecciones
curl -sS -L -o /dev/null --max-time 10 -w '%{http_code} en %{time_total}s\n' https://tusitio.mx

Cómo leer lo que contesta:

Si contesta…Quiere decir
200Está arriba. Si tarda más de un segundo, ya se siente lenta.
301, 302Te manda a otra dirección. Normal (de http a https, o a www), siempre que al final llegue a un 200.
401, 403, 404El servidor está, pero no te deja pasar o esa dirección no existe. Revisa que sea la dirección correcta.
500El servidor está y tu aplicación falló. Es un error en el código o en algo de lo que depende, como la base de datos.
502, 503, 504Lo que va delante (Nginx, Cloudflare, tu hosting) no pudo hablar con tu aplicación: está apagada, saturada o tardó demasiado.
000 o «timeout»Nadie contestó: el servidor está apagado, el dominio no apunta a ningún lado o algo bloquea la conexión.

2. ¿Caída para todos o solo para ti?

Si el comprobador dice que está arriba y en tu navegador no abre, el problema está de tu lado. En ese orden:

Si el comprobador también dice que está caída, está caída para todos. Sigue con las causas.

3. Las causas más comunes, y qué hacer

Lo que vesLa causa más probableQué hacer
502 justo después de desplegarLa versión nueva no arrancó, o tarda en arrancar y el proxy ya le está mandando tráfico.Revisa el log de arranque de tu app; si falla, regresa a la versión anterior. Que tu despliegue espere a que /health conteste antes de cambiar el tráfico.
503 a ratos, en horas picoSaturación: sin memoria, sin conexiones a la base de datos o sin procesos libres.Mira memoria y CPU del servidor a esa hora, y el número de conexiones a la base.
500 en una sola páginaUn error en el código de esa ruta, o un dato que no esperaba.Busca el error en tus logs a esa hora, con su stack.
«La conexión no es privada» o «no es segura»El certificado venció o no corresponde al dominio.Renuévalo (paso 4). Mientras, tus clientes ven una advertencia y la mayoría se va.
«No se puede encontrar el servidor»DNS: el dominio venció, cambiaron sus registros o el proveedor de DNS está fallando.Revisa la fecha de vencimiento del dominio con tu registrador, y los registros con dig.
Página del hosting en lugar de la tuyaLa cuenta se suspendió, casi siempre por un pago que no pasó.Revisa la tarjeta registrada en tu hosting y su correo de facturación.
Timeout, sin ningún códigoEl servidor está apagado, se quedó sin disco o un firewall bloquea el puerto.Entra al panel de tu proveedor: ¿la máquina está encendida? ¿Le queda disco?

4. El certificado: la caída que avisa con semanas

Un certificado vencido tumba tu página igual que un servidor apagado: el navegador pone una pantalla de advertencia y casi nadie le da «continuar». Lo raro es que se puede ver venir con semanas. Para saber cuándo vence el tuyo:

echo | openssl s_client -connect tusitio.mx:443 -servername tusitio.mx 2>/dev/null | openssl x509 -noout -enddate

Los certificados de Let's Encrypt duran 90 días y se renuevan solos, mientras la renovación siga funcionando. Las veces que falla: cambiaste el DNS, cerraste el puerto 80 o se borró la tarea de renovación al migrar de servidor. Por eso conviene que algo te avise cuando le quedan pocos días, no el día que ya venció.

5. Qué dirección revisar

Revisar tu portada te dice si la portada abre. Pero tu portada puede estar en caché (en Cloudflare o en tu CDN) y contestar 200 aunque tu aplicación esté caída detrás. Revisa también una dirección que de verdad pase por tu aplicación y por lo que depende de ella:

// Express: /health contesta 200 solo si la base de datos contesta
app.get('/health', async (req, res) => {
  try {
    await db.query('SELECT 1');
    res.json({ ok: true });
  } catch {
    res.status(503).json({ ok: false });
  }
});

Que sea rápida y sin datos de nadie: la va a pedir un monitor cada minuto, y cualquiera puede abrirla.

6. Un monitor hecho en casa

Lo más simple que funciona: un script que corre cada minuto con cron y te manda un correo si la respuesta no es 200.

#!/bin/sh
# revisar.sh: en el crontab, «* * * * * /ruta/revisar.sh»
codigo=$(curl -s -o /dev/null --max-time 10 -w '%{http_code}' https://tusitio.mx/health)
if [ "$codigo" != "200" ]; then
  echo "tusitio.mx contestó $codigo" | mail -s "Tu página no contesta" avisos@tudominio.mx
fi

Sirve para empezar, pero tiene cuatro problemas:

7. Cuándo avisar, y a quién

8. Una página de estado para tus clientes

Cuando tu página se cae, tus clientes te escriben a todos lados a la vez. Una página de estado pública (por ejemplo, estado.tusitio.mx) les contesta antes de que pregunten: qué está fallando, desde cuándo, y cómo le ha ido a tu servicio en los últimos meses. Si se actualiza sola con cada revisión, no tienes que acordarte de escribir en ella en medio del problema.

9. Lo que ningún monitor de páginas ve

Un monitor te dice si tu página contesta. No te dice si tu negocio funciona. Hay fallas en las que la página contesta 200 todo el día:

Estiaje hace las dos cosas. En la pantalla Salud pegas la dirección y revisa tu página cada minuto, desde fuera. Te avisa al teléfono y al correo cuando lleva 2, 5, 10 o 15 minutos sin contestar (tú eliges), y otra vez cuando regresa, con cuánto duró. Un certificado vencido cuenta como caída, así que también te avisa. Y te da una página de estado que se llena sola, con 90 días de historia. Y con unas líneas de código, te avisa también del pedido, el pago o el mensaje que se quedó a medias, con el dinero en riesgo.

Prueba 14 días de Pro, sin tarjeta Revisar tus páginas viene desde Inicio, $199 MXN + IVA al mes.

Preguntas frecuentes

¿Cómo sé si una página está caída para todos o solo para mí?

Revísala desde fuera de tu red, con un comprobador como estiaje.mx/esta-caida o desde los datos de tu teléfono. Si desde fuera abre y en tu computadora no, el problema es tu red, tu caché o tu DNS. Si desde fuera tampoco abre, está caída para todos.

¿Qué significa un error 502 o 503?

Que lo que va delante de tu aplicación (Nginx, Cloudflare o tu hosting) no pudo hablar con ella. Un 502 casi siempre es que la aplicación está apagada o no arrancó, muchas veces justo después de un despliegue; un 503, que está saturada o en mantenimiento.

¿Cada cuánto conviene revisar mi página?

Cada minuto, y avisar solo después de 2 a 5 minutos seguidos de falla. Así te enteras de una caída real en minutos sin despertarte por un despliegue de 30 segundos.

¿Cómo sé cuándo vence mi certificado SSL?

Con un comprobador como estiaje.mx/esta-caida, que dice cuántos días le quedan, o en la terminal con openssl s_client y openssl x509 -noout -enddate. Los de Let's Encrypt duran 90 días y se renuevan solos mientras la renovación siga funcionando.

¿Sirve revisar mi página con un cron en el mismo servidor?

No del todo: si se cae el servidor, se cae también el monitor y no te avisa. El monitor tiene que correr en otra máquina, avisar después de unos minutos seguidos de falla y avisar también cuando la página regresa.

Sigue leyendo