Encontrarte con errores en tu sitio puede ser intimidante. Sin embargo, la mayoría de los errores te dan alguna pista sobre su causa, lo que puede facilitar mucho la solución de estos problemas comunes. Por desgracia, el error 503 no es tan educado y no te da mucha información.

Es útil comprender cuáles son las causas más comunes del error 503. Después, tendrás que ser metódico a la hora de solucionar el error, lo que significa seguir varios pasos para localizar la raíz del problema.

En este artículo, cubriremos lo que es el error 503 y cómo se manifiesta típicamente. Luego le guiaremos a través de seis pasos para poder resolverlo. ¡Manos a la obra!

Echa un Vistazo a Nuestro Videotutorial para Solucionar Diferentes Tipos de Errores 500

¿Qué Es un Error 503?

El Grupo de Trabajo de Ingeniería de Internet (IETF, The Internet Engineering Task Force) define el error 503 Service Unavailable (503 Servicio no Disponible) como:

El código de estado 503 (Servicio No Disponible) indica que el servidor es actualmente incapaz de gestionar la solicitud debido a una sobrecarga temporal o a un mantenimiento programado, que probablemente se aliviará tras un cierto retraso. El servidor PUEDE enviar un campo de cabecera Retry-After para sugerir al cliente un tiempo adecuado de espera antes de reintentar la solicitud.

Cuando uno se encuentra con un error 503, esto quiere decir que el servidor no está disponible. Esto podría ser porque está muy ocupado por ejemplo o está en mantenimiento. A diferencia de errores de código similares, el 503 significa que su sitio web está en línea y funcionando, pero no puede ser alcanzado por el momento.

Lo que es tan confuso de este error en particular es que da muy poca información sobre cómo proceder. La mayoría del tiempo, simplemente aparece con un mensaje de “Servicio temporalmente no disponible”. Esto es equivalente a llamar a un restaurante por teléfono, sólo para que les digan que están cerrados, pero se nieguen a decirle cuando piensan abrir de nuevo.

Si tiene suerte, el error 503 habrá ocurrido porque su sitio está bajo mantenimiento. WordPress muy brevemente pone en modo de mantenimiento a su sitio al momento de actualizar un plugin, un tema o el core de un software.

Modo de mantenimiento
Modo de mantenimiento

Usualmente, este tiempo fuera es tan breve que nadie lo notará. Sin embargo, en estos casos donde el error 503 persiste, usted tendrá un problema mayor con el que lidiar. Después de todo, no sólo los usuarios no podrán visitar su sitio, sino también perderá acceso a su área de admin de WordPress. Esto quiere decir que usted no podrá actualizar su sitio de ninguna forma, para poder resolverlo, tendrá que adentrarse en sus archivos.

Código de Error 503 Error de servicio no disponible
Tipo de Error del lado del servidor
Variaciones del Error 503 Servicio No Disponible
503 Servicio Temporalmente No Disponible
Error HTTP del Servidor 503
Error HTTP 503
Causas del Error Picos de tráfico inesperados
Problemas de comunicación con el servidor
Agotamiento de recursos
Ataque DDoSIncompatibilidad de plugins o temas
Variaciones del Error 503

El error 503 puede aparecer de muchas formas. Sin embargo, casi todas las variaciones vienen acompañadas por ese código 503, haciendo que sea sencillo de identificar.

Aquí tenemos algunas variaciones con las que podría encontrarse, dependiendo de la configuración de su servidor y navegador:

  • 503 Servicio No Disponible
  • 503 Servicio Temporalmente No Disponible
  • Error 503 Servidor HTTP
  • Error 503 HTTP
  • Error 503 Servicio No Disponible
  • El servidor no puede atender su solicitud temporalmente debido al tiempo de inactividad del mantenimiento o a problemas de capacidad. Por favor, inténtelo de nuevo más tarde.

Sin importar como luzca el código con el que se pudiera encontrar, esto quiere decir que usted necesita trabajar pronto antes de que afecte a sus usuarios de forma negativa.

¿Qué Causa un Error HTTP 503?

Estas son las razones más comunes por las que un servidor es temporalmente incapaz de gestionar una petición:

  • Se está enviando un gran número de peticiones al servidor, agotando todos los recursos disponibles.
  • El servidor está experimentando problemas técnicos o trabajos de mantenimiento.
  • El servidor podría estar sufriendo un ataque de Denegación de Servicio (DDoS).

También hay otros problemas técnicos que provocan el error 503, como problemas con tus plugins o tema. Más información a continuación.

¿Cómo Solucionar el Error 503?

Ya que no puede estar seguro lo que causó el error 503 en cada una de las situaciones, usted necesitará resolver el problema metódicamente. Cada una de las siguientes seis secciones cubren un potencial arreglo, con la intención de resolver las distintas potenciales causas.

Después de cada paso, tómese un momento para regresar a su sitio y ver si el error 503 se ha desvanecido. Si fue así, usted ha logrado resolver el problema. Si no fue así, entonces continúe con el siguiente paso.

1. Desactiva Temporalmente tus Plugins

Una de las causas más comunes del error 503 en WordPress son los problemas de compatibilidad de plugins. Para determinar si eso es lo que está pasando usted necesitará deshabilitar todos los plugins de su sitio.

Ya que el error 503 previene que pueda acceder al área de admin, usted necesitará utilizar un cliente FTP para este paso. Si usted no tiene uno establecido, le recomendamos FileZilla.

Una vez que su cliente FPT esté listo, conéctese a su sitio web a través de este y navegue hasta llegar al folder raíz. En caso de que no lo encuentre, es usualmente llamado public_html, html, public, www o el nombre de su sitio. Si usted es cliente de Kinsta, es su folder público.

Folder raíz SFTP de WordPress
Folder raíz SFTP de WordPress

Abra ese folder, y navegue a su directorio wp-content. Dentro de este, usted verá un folder llamado plugins, el cual contiene subdirectorios individuales para cada uno de los plugins instalados en su sitio (activos e inactivos).

Lo que hará ahora es dar clic derecho en el folder de plugins, y cambiarle el nombre a algo más. Le recomendamos plugins.viejos o plugins.desactivados, para que pueda reconocerlos fácilmente.

Folder de plugins de WordPress con un nuevo nombre
Folder de plugins de WordPress con un nuevo nombre

WordPress no podrá encontrar sus plugins. Cuando esto sucede, los desactivará automáticamente.

Ahora, intente acceder a su dashboard. Si el error 503 desapareció, entonces puede asumir que uno de sus plugins era el culpable. Todo lo que tiene que hacer es encontrar cuál de estos es el culpable.

Regrese a su directorio wp-content, y cambie el nombre a su folder original de plugins al nombre correcto. Luego, usted necesitará desactivar cada uno de los plugins, uno por uno, hasta encontrar al culpable.

Para hacer esto, abra el directorio wp-content/plugins. Dentro de este, usted encontrara un folder para cada uno de sus plugins. El proceso que seguirá es prácticamente igual al anterior:

  1. Comience con el primer folder, y póngale el nombre que quiera.
  2. Verifique su sitio web para ver si el error desapareció.
  3. Si no fue así, cambie de nuevo el nombre al folder del plugin del paso anterior a su nombre original.
  4. Pase al siguiente plugin de su lista, repita los pasos anteriores.

Este proceso puede tomar un poco de tiempo si tiene muchos plugins, pero es vital chequear cada uno de estos. Si en algún momento usted identifica el plugin que está causando el error, puede desinstalarlo o reemplazarlo con otra herramienta.

Si llega al final de estos pasos sin encontrar la solución, puede pasar al siguiente paso de la resolución de problemas.

2. Desactiva el Tema de tu Sitio Web

Ahora que ya descartó que los plugins eran la causa del error 503, es momento de hacer lo mismo con el tema activo. De hecho, su tema podría estar causando problemas de compatibilidad.

Desafortunadamente, el proceso no funciona igual que el paso anterior. WordPress no revierte al tema base si simplemente le cambie el nombre al folder del tema, usted terminaría con error como “El directorio del tema “nombre del tema” no existe.” O si intenta cambiar el nombre al folder de directorio de tema, usted terminaría con un “ERROR: el directorio de temas está vació o no existe. Por favor revise su instalación.”

Error del directorio del tema no existe
Error del directorio del tema no existe

Por lo tanto, usted necesita tener acceso a la base de datos de WordPress al iniciar sesión a su phpMyAdmin. Si usted es cliente de Kinsta, este se puede encontrar dentro de la sección de “Info” en el dashboard de MyKinsta.

Abrir phpMyAdmin en MyKinsta.
Abrir phpMyAdmin en MyKinsta.

Una vez en phpMyAdmin, haz clic en la tabla «wp_options», luego haz clic en la pestaña «Buscar». Deberás buscar la plantilla en «option_name».

tabla de wp_options de phpMyAdmin
tabla de wp_options de phpMyAdmin

Bajo la columna de “option_value” usted verá un nombre actual de su tema. Cambie este a uno de los temas base, como “twentynineteen.”

Nombre de la plantilla wp_options
Nombre de la plantilla wp_options

Chequee su sitio web de nuevo para ver si esto arregló el error. Si aparece, significa simplemente que se trata de un problema con el tema de tu sitio web y puede que quieras intentar reinstalarlo o volver a tu copia de seguridad más reciente.

3. Temporalmente Deshabilite Su Content Delivery Network (CDN)

En algunas ocasiones, el error 503 aparecerá no por algún problema en su sitio web, si no por su Content Delivery Network (CDN). Si usted está utilizando un CDN, una forma rápida de descubrir si esto es la causa, es deshabilitarlo temporalmente.

Cada CDN debería incluir algún tipo de función que le permite pausar sus servicios. Si usted se encuentra con Kinsta, usted puede deshabilitar su Kinsta CDN, si va a CDN -> “Deshabilitar CDN” dentro de su Dashboard de MyKinsta:

Opción para habilitar/deshabilitar el CDN de MyKinsta
Opción para habilitar/deshabilitar el CDN de MyKinsta

El proceso que necesita seguir podría ser distinto dependiendo del CDN que esté utilizando. Cloudflare también es conocido por causar en algunas ocasiones errores 503. Si no puede encontrar la opción para pausar los suyos, consulte la base de conocimiento de sus servicios, la cual usualmente contendrá instrucciones detalladas.

Si usted no utiliza un CDN o descubre que el pausar su servicio no fue de utilidad para resolver su problema, entonces todavía quedan algunas soluciones más. Pero recuerde reactivar su CDN antes de proceder.

4. Limite la API del ‘Heartbeat’ de WordPress

El Heartbeat de WordPress es una API implementada en WordPress, que la plataforma utiliza para contenido auto guardado, mostrándole notificaciones de los plugins, haciéndole saber que alguien más está trabajando en una publicación a la que usted está intentando acceder y más.

Como con cualquier Heartbeat regular, la API funciona en el fondo con una alta frecuencia para que usted no se pierda de nada. Como podría imaginarse, esta API consume recursos del servidor. Usualmente, esto no es un problema, pero en algunos casos, esto podría llevar a error 503 si su servidor no puede lidiar con la carga.

La forma más rápida para determinar si API Heartbeat es el origen de sus problemas, es simplemente deshabilitarlo temporalmente. Para hacer esto, conéctelo a su sitio de WordPress a través de FTP una vez más, y luego abra el folder de sus temas actuales y busque el archivo functions.php dentro de este:

Archivo de functions.php del tema de WordPress
Archivo de functions.php del tema de WordPress

De clic derecho en el archivo y seleccione la opción de Ver/Editar, el cual lo abrirá usando su editor local de texto. Una vez abierto, usted necesitará agregar el siguiente fragmento:

add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}

Estas tres líneas de código le dirán a WordPress que deshabilite la Heartbeat API. Guarde los cambios al archivo de functions.php, ciérrelo, e intente acceder de nuevo al sitio web.

Si ya no está el error 503, usted ahora sabrá que la API era el problema. Aunque el desactivarlo por completo elimina muchas útiles funcionalidades. Nosotros le recomendamos que “reduzca la velocidad” de su Heartbeat, para que no cause problemas.

La forma más sencilla de hacer esto es instalando el plugin Heartbeat Control. Active el plugin y llegue a la sección de Opciones > Heartbeat Control. Busque las opciones de Modificar Heartbeat, y baje la frecuencia al número más bajo posible:

Frecuencia del plugin de Heartbeat Control
Frecuencia del plugin de Heartbeat Control

Guarde los cambios y regrese al archivo de functions.php que alteró hace un rato. Para que funcionen los cambios previos, usted necesitará remover el string de código que agregó antes y guarde los cambios en el archivo.

A partir de este momento, el error 503 ya debería haber desaparecido si la Heartbeat API era el problema. Si no es así, entonces es momento de probar con algo distinto.

5. Incremente los Recursos de Su Servidor

Si el error 503 sigue ocurriendo a pesar de todos sus intentos por resolverlo, entonces es probable que sea por una falta de recursos en el servidor. Esto quiere decir, que usted necesitará conseguir un mejor plan de hosting para ver si esto resuelve el problema. Eso es especialmente cierto si usted está utilizando un hosting de WordPress barato, ya que estos usualmente limitan la cantidad de recursos.

Nosotros no hacemos esto en Kinsta. Ofrecemos un excelente alojamiento de WordPress administrado (así como Alojamiento de Aplicaciones y Alojamiento de Bases de Datos).

Aunque mejorar su plan es una gran decisión. Lo mejor es primero ponerse en contacto con su servicio de soporte de hosting y discutir el error 503 con ellos, y compartirles todos los pasos que ha tomado para intentar resolverlo. El equipo de soporte debería ayudarle a encontrar la causa y aconsejarle si necesita mejorar su plan o no.

6. Revise sus Registros y Habilite WP_DEBUG

Usted también debería tomar ventaja de sus registros de errores. Si eres cliente de Kinsta, puedes ver fácilmente los errores en el visor de logs y habilitar el modo de depuración de WordPress en el panel de control de MyKinsta. Esto podría ayudarle a encontrar rápidamente el problema, especialmente si el causante es un plugin en su sitio.

Ver el archivo error.log dentro del panel de control de MyKinsta.
Ver el archivo error.log dentro del panel de control de MyKinsta.

Si su host no tiene una herramienta de registros, también puede agregar el siguiente código a su archivo de wp-config.php para habilitar el inicio de sesión.

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Los registros están típicamente ubicados en el directorio /wp-content. Dentro de este, busque un archivo llamado debug.log y ábralo.

Otros, como aquí en Kinsta podrían tener un folder dedicado llamado “registros”.

Folder de registros de errores de WordPress (SFTP)
Folder de registros de errores de WordPress (SFTP)

El interpretar su registro de debug puede lucir un poco intimidante pero no es tan difícil de leer como podría imaginarse. En pocas palabras, el registro contiene cada error que surja en su sitio en orden cronológico. Este muestra qué archivos han causado qué error, también qué líneas específicas de código estuvieron involucradas.

Precaución: usted no encontrará referencias directas al error 503 dentro del registro. Aún así, si todo lo demás falla, este puede guiarlo a la dirección correcta al mostrarle qué archivos están causando los problemas. De esta forma, usted sabrá ahora en dónde enfocar sus esfuerzos. Como mencionamos en el paso previo, ahora es buen momento para ponerse en contacto con su proveedor de hosting si requiere asistencia adicional para resolver el error.

También puede estudiar los archivos de registro en Apache y Nginx, los cuales se encuentran comúnmente aquí:

  • Apache: /var/log/apache2/error.log
  • Nginx: /var/log/nginx/error.log

Para aprender más, por favor lea nuestro artículo sobre los servidores web: Nginx vs Apache.

Si usted es cliente de Kinsta también puede tomar ventaja de nuestra herramienta de analytics para obtener un desglose del número total de errores 503 y ver qué tan seguido y cuándo ocurrieron. Esto puede ayudarle a resolver si esto es un problema recurrente, o quizás algo que se haya resuelto por sí solo.

Si el error 503 está apareciendo debido a un error PHP fatal, también puede intentar habilitar el reporte de error PHP. Simplemente agregue el siguiente código al archivo que le esté marcando el error. Típicamente usted podrá especificar el archivo en la pestaña de consola de Google Chrome DevTools.

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

Y podría también querer modificar su archivo php.ini con lo siguiente:

display_errors = on

Resumen

Si tiene suerte, el error 503 sólo aparecerá cuando usted ponga su sitio en modo de mantenimiento. Sin embargo, si este aparece sin previo aviso, entonces usted tendrá que arremangarse y resolver el problema.

Para llegar al origen de la causa del error 503, usted deberá hacer los siguientes pasos para arreglarlo:

  • Desactiva Temporalmente Tus Plugins.
  • Desactiva el Tema de tu Sitio Web.
  • Desactivar Temporalmente Tu Red de Entrega de Contenidos (CDN).
  • Limitar la API «Heartbeat» de WordPress.
  • Aumenta los Recursos de Tu Servidor.
  • Revisa Tus Registros y Activa WP_DEBUG.

¿Se ha encontrado con algún error 503? ¡Comparta sus experiencias con nosotros en la sección de comentarios!

Matteo Duò Kinsta

Editor en jefe de Kinsta y consultor de marketing de contenidos para desarrolladores de plugins de WordPress. Conéctese con Matteo en Twitter.