El error 504 Gateway Timeout es uno de los errores HTTP 5xx más comunes al que se enfrentan los propietarios de sitios web y los visitantes de los mismos. Para muchos blogs de WordPress y plataformas de comercio electrónico, saber cómo arreglar errores de servidor como este es crucial para evitar que tus visitantes, conseguidos con gran esfuerzo, reboten en sitios de la competencia.

Como el error 504 Gateway Timeout no te dice por qué ocurrió, es difícil precisar qué está causando el timeout del servidor. Este artículo te ayudará a entenderlo en profundidad, aprender a diagnosticar su causa, y luego arreglarlo.

Después de probar todas las soluciones mencionadas en el post, tu sitio debería estar listo y funcionando en poco tiempo.

¿Suena interesante? ¡Vamos a sumergirnos en el tema!

El error 504 Gateway Timeout es uno de los errores HTTP 5xx más comunes al que se enfrentan los propietarios de sitios web y los visitantes de los mismos. 🤔 Aprende a solucionarlo rápidamente con esta guía. ⬇️Click to Tweet

¿Qué es el error 504 Gateway Timeout?

Cada vez que visitas un sitio web en tu navegador, este envía una solicitud al servidor web donde está alojado el sitio. El servidor procesa la solicitud y responde con los recursos solicitados.

Cómo funcionan las solicitudes y respuestas HTTP

Cómo funcionan las solicitudes y respuestas HTTP

La respuesta del servidor incluye uno de los muchos códigos de estado HTTP para indicar el estado de la respuesta al navegador. Pero no todos estos códigos de estado HTTP son errores. Por ejemplo, un código de estado de 200 OK significa que el servidor procesó la solicitud con éxito y «Todo está bien».

La clase 5xx de códigos de estado HTTP indica que algo está mal con el servidor, el servidor está al tanto de ello, y no puede llevar a cabo la solicitud del cliente. Como resultado, también se les conoce como códigos de estado Server Error 5xx.

Oficialmente, se especifican cinco códigos de estado bajo la clase 5xx (500, 501, 502, 503, 504). También puedes encontrar muchos códigos no oficiales (506, 507, 509, 520, etc.).

El Grupo de Trabajo de Ingeniería de Internet (IETF –  Internet Engineering Task Force) define el error 504 Gateway Timeout como:

El 504 (Gateway Timeout) indica que el servidor, aunque actúa como gateway o proxy, no recibió una respuesta oportuna de un servidor ascendente al que necesitaba acceder para completar la solicitud.

Para simplificarlo aún más, este error se produce cuando dos servidores están involucrados en el procesamiento de una solicitud, y el primer servidor (típicamente el servidor principal) supera el tiempo de espera (timeout) esperando una respuesta del segundo servidor (el servidor ascendente).

El error 504 Gateway Timeout se manifiesta de varias formas. Aquí hay algunas formas en las que suele aparecer:

 El 'ERROR HTTP 504' en el navegador Chrome

El ‘ERROR HTTP 504’ en el navegador Chrome

El error 504 Gateway Timeout es similar al error 502 Bad Gateway, que indica que el primer servidor recibió una respuesta inválida del segundo servidor (el servidor upstream).

El código de estado '504 GATEWAY TIMEOUT' en Chrome DevTools

El código de estado ‘504 GATEWAY TIMEOUT’ en Chrome DevTools

Variaciones del error 504 Gateway Timeout

El navegador muestra cualquier error 504 Gateway Timeout dentro de él, como cualquier otro error. Como existe una variedad de sistemas operativos, servidores web, navegadores y agentes de usuario, puede mostrarse de múltiples maneras.

A continuación mostramos algunas variaciones comunes de los mensajes de error 504 con los que te puedes encontrar:

Todas las respuestas de error anteriores, aunque redactadas de forma diferente, apuntan al mismo error del servidor 504 Gateway Timeout.

Los servidores y sitios web pueden personalizar la forma en que muestran el error 504 Gateway Timeout a los usuarios. ¡Algunos de ellos pueden ser geniales! Es una excelente táctica para sofocar la decepción de tus visitantes.

La página de error HTTP 504 personalizada de GitHub

La página de error HTTP 504 personalizada de GitHub

Impacto del 504 Gateway Timeout Error en el SEO

Todos los errores 5xx impiden que una página web se cargue, lo que los hace perjudiciales para la experiencia del usuario. Por lo tanto, los motores de búsqueda como Google se toman estos errores muy en serio. Si el error persiste durante mucho tiempo, puede incluso llevar a que la página web se desactive de los resultados del motor de búsqueda.

Por ejemplo, cuando las arañas de Google se topan con un error de Servicio no disponible 503, entenderán que es un problema temporal, ya que se utiliza principalmente para habilitar el modo de mantenimiento del sitio. Por lo tanto, intentarán volver a rastrear la página más tarde.

Un error 504 Gateway Timeout no es necesariamente temporal, ya que puede deberse a múltiples razones. Si tu sitio se cae por solo unos minutos, y si las arañas están tratando de rastrearlo varias veces cada minuto, tratarán de servir la página desde su caché.  Ni siquiera se darán cuenta.

Pero si tu sitio está fuera de servicio durante más de 6 horas o más, entonces Google considerará el error 504 como un problema grave en todo el sitio que debes solucionar lo antes posible. Esto puede afectar negativamente a tu SEO.

Visualización de los errores de rastreo en la Consola de Búsqueda de Google

Visualización de los errores de rastreo en la Consola de Búsqueda de Google

La consola de búsqueda de Google es una de las mejores herramientas de SEO para supervisar los errores HTTP 5xx de tu sitio web.

Causas del error 504 Gateway Timeout

Como el error 504 se debe a un tiempo de espera entre servidores, el problema probablemente no es con el dispositivo del cliente o la conexión a Internet. Eso también incluye el dispositivo y la conexión.

Un error 504 Gateway Timeout indica que el servidor web está esperando durante demasiado tiempo una respuesta de un otro servidor y «timing out». Puede haber muchas razones para este tiempo de espera: el otro servidor no está funcionando correctamente, está sobrecargado o está caído.

El otro servidor no siempre tiene que ser un servidor externo (por ejemplo, CDN, pasarela API). También puede ser una entidad de tipo servidor dentro del servidor web principal (por ejemplo, un servidor proxy inverso, un servidor de base de datos).

Cómo arreglar el error 504 Gateway Timeout

Sin conocer los detalles exactos sobre el sitio de WordPress, como la configuración del servidor, el plan de alojamiento, los plugins de terceros y el tráfico que atrae, puede resultar frustrante y abrumador arreglar un error 504 Gateway Timeout.

Dado que hay muchas variables involucradas, te recomiendo que empieces arreglando los problemas del lado del cliente, que son bastante raros, y luego pases a arreglar los problemas del lado del servidor, que suelen ser los culpables con 504 errores.

Intenta recargar la página web

Una de las primeras cosas que puedes intentar cuando te encuentres con un error 504 Gateway Timeout es esperar unos minutos e intentar recargar la página.

Puedes pulsar el atajo de teclado F5 para refrescar/recargar la página web en la mayoría de los navegadores. Para eliminar la caché del navegador de la página antes de recargarla, puedes pulsar la combinación de teclas CTRL+F5.

Refrescar una página web en el navegador Chrome

Refrescar una página web en el navegador Chrome

Mientras estás en ello, también puedes intentar cargar el sitio en un navegador diferente para descartarlo como un problema. Como la mayoría de los errores 504 se deben a servidores temporalmente sobrecargados, el uso de esta solución debería hacer que tu sitio vuelva a funcionar.

Si esperar y recargar el sitio no soluciona el problema del error 504, puedes comprobar si un sitio está caído para todos o solo para ti. Las dos grandes herramientas online para comprobar si un sitio está caído son  Down for Everyone or Just Me y Is It Down Right Now?.

Probando Kinsta.com en Down for Everyone or Just Me

Probando Kinsta.com en Down for Everyone or Just Me

Reinicia tus dispositivos de red

A veces, los problemas con tus dispositivos de red como el módem o el enrutador pueden provocar un error 504 Gateway Timeout. Reiniciar estos dispositivos podría ayudarte a solucionar el problema.

Aunque puedes apagar todos estos dispositivos de red en cualquier orden, el orden en que los enciendas de nuevo es importante. Típicamente, enciende estos dispositivos desde el «afuera hacia adentro», siguiendo la orden de conexión del proveedor de servicios de Internet a tu dispositivo cliente principal.

Comprueba la configuración de tu proxy

Un servidor proxy se encuentra entre tu aparato e Internet. Se utiliza principalmente para mejorar la privacidad en línea ocultando información privada (por ejemplo, la ubicación del dispositivo) de sitios web y servidores web (por ejemplo, utilizando una VPN).

Aunque es raro que los servidores proxy causen un error 504, la configuración incorrecta del servidor proxy puede ser a veces la razón. Puedes desactivar el servidor proxy e intentar recargar la página web para ver si se soluciona el error.

Cambiar la configuración del "Proxy" en Windows 10

Cambiar la configuración del «Proxy» en Windows 10

La mayoría de los clientes no usan un servicio proxy, así que puedes saltarte este paso si estás seguro de que no usas ningún servidor proxy. Sin embargo, puede que lo hayas configurado sin que te des cuenta. Te sugiero que compruebes la configuración del proxy de tu dispositivo y de tu navegador para descartar esta causa.

Problemas con el DNS

Un error 504 Gateway Timeout también puede ser causado por problemas de DNS del lado del servidor o del lado del cliente (o ambos).

La razón más probable para un problema de DNS del lado del servidor es que el FQDN (nombre de dominio completamente calificado) no se resuelva en la dirección IP correcta. Normalmente, esto ocurre cuando acabas de migrar tu sitio de WordPress a un nuevo servidor u host. Por lo tanto, es importante esperar a que los registros DNS del dominio se propaguen completamente, lo cual puede tomar hasta 24 horas.

Puedes usar herramientas gratuitas como whatsmydns.net DNS Checker o DNSMap para ver si tu DNS se ha propagado por todo el mundo.

Comprobando la propagación del DNS de su dominio en whatsmydns.net

Comprobando la propagación del DNS de tu dominio en whatsmydns.net

Para arreglar problemas de DNS del lado del cliente, podrías tratar de limpiar tu DNS local. Es como borrar la caché del navegador, excepto que aquí estás vaciando la caché de DNS del sistema operativo.

Si utilizas Windows, puedes vaciar la caché de DNS abriendo el Símbolo del sistema e introduciendo la siguiente directiva:

ipconfig /flushdns
Limpiar la caché del DNS con Command Prompt en Windows

Limpiar la caché del DNS con el Símbolo del sistema en Windows

Deberías ver un mensaje de «Limpiado con éxito la caché de resolución del DNS» si funcionó.

Para las últimas versiones de MacOS, puedes abrir la Terminal y ejecutar el siguiente comando:

sudo killall -HUP mDNSResponder

No verás ninguna notificación en macOS cuando el proceso termine, pero puedes cambiarlo añadiendo el comando con tu mensaje personalizado.

sudo killall -HUP mDNSResponder; DNS Cache was cleared successfully

Si estás utilizando versiones de macOS más antiguas, el comando que debes introducir varía según la versión de macOS que estés ejecutando. Para obtener más detalles, puedes consultar la sección de macOS en el tutorial de DNS en profundidad de Kinsta.

Si usas el sistema operativo Linux, entonces el proceso es bastante similar al de MacOS, ya que incluso Linux usa la Terminal como su interfaz de línea de comandos. Dado que existen muchas distribuciones de Linux, el comando exacto que necesitas ejecutar puede variar de una distribución a otra. Puedes consultar la guía de Kinsta para más información.

Finalmente, puedes cambiar los servidores DNS del lado del cliente temporalmente. Por defecto, tu ISP te asigna los servidores DNS automáticamente. Pero puedes cambiarlos a IP de DNS públicos temporalmente.

Algunos fiables que puedes probar son Google Public DNS, Cloudflare1.1.1.1, Quad9 DNS, y CiscoOpenDNS.

Configuración de servidores DNS personalizados en Windows 10

Configuración de servidores DNS personalizados en Windows 10

Deshabilita el CDN de tu sitio temporalmente

A veces, el problema también podría estar en tu red de entrega de contenidos (CDN). Si el servidor de origen de un sitio no es accesible, la mayoría de las CDN intentarán servir la página web completa desde su caché.

Pero la mayoría de los CDN no habilitan esta función por defecto, ya que es complejo almacenar en caché activos dinámicos en la mayoría de los sitios (por ejemplo, el panel de administración de WordPress).

Establecer la regla de la página "Cachear todo" en Cloudflare

Establecer la regla de la página «Cachear todo» en Cloudflare

Una forma sencilla de solucionar esto es desactivando tu CDN temporalmente. Por ejemplo, si utilizas el plugin gratuito CDN Enabler WordPress para vincular los activos de tu sitio a las URL de la CDN, puedes desactivar el plugin e intentar recargar tu sitio.

Lo mismo ocurre con el uso de cualquier otro plugin que puedas usar para conectarte a tu CDN (por ejemplo, WP Rocket, Breeze, W3 Total Cache).

Si no puedes acceder al panel de administración de tu sitio, puedes deshabilitar el plugin a través de SFTP cambiando el nombre de la carpeta del plugin.

Deshabilitar todos los plugins vía SFTP renombrando el nombre de la carpeta de plugins

Deshabilitar todos los plugins vía SFTP renombrando el nombre de la carpeta de plugins

Los CDN como Cloudflare o Sucuri que proporcionan servicios completos de proxy tienen cortafuegos adicionales entre sus servidores de borde y tu servidor de origen. Por lo tanto, puedes encontrar errores HTTP 5xx más frecuentemente mientras los utilizas. La mayoría de ellos almacenan errores 5xx devueltos por tu servidor de origen, por lo que es fácil solucionarlos.

El plan gratuito de Cloudflare es propenso a arrojar un error 5xx. Desafortunadamente, ya que es un servicio proxy completo, no hay una forma rápida de deshabilitarlo. Pero antes de culpar a Cloudflare por ello, tienes que saber que Cloudflare muestra dos variaciones del error 504 Gateway Timeout.

504 Gateway Timeout en Cloudflare (Variación 1)

Cloudflare te mostrará una pantalla de error 504 Gateway Timeout personalizada cuando el servidor de origen de tu sitio responda con una respuesta HTTP 504 estándar.

La pantalla personalizada de Cloudflare Error 504

La pantalla personalizada de Cloudflare Error 504

Aquí, el problema está en tu servidor web y no en Cloudflare. Puedes intentar arreglarlo con las otras soluciones mencionadas más abajo o contactar con el soporte de tu proveedor de alojamiento para obtener ayuda técnica.

504 Gateway Timeout  en Cloudflare (Variación 2)

Si Cloudflare causa el error 504 Gateway Timeout, la pantalla de error mencionará «cloudflare», que es actualmente el nombre estándar del servidor para todos los activos de Cloudflare. Por lo general, la pantalla de error aparecerá como se indica a continuación:

Pantalla de error para el 504 Gateway Timeout causado por Cloudflare

Pantalla de error para el 504 Gateway Timeout causado por Cloudflare

Como Cloudflare no responde, no verás ninguna pantalla de error de Cloudflare aquí.

Lo más probable es que Cloudflare ya sea consciente del problema y esté trabajando en un arreglo. Puedes confirmar esto revisando la página web de estado del sistema Cloudflare. Alternativamente, puedes ponerte en contacto con el soporte de Cloudflare para una resolución más rápida.

Compruebe el estado del sistema Cloudflare en cloudflarestatus.com

Comprueba el estado del sistema Cloudflare en cloudflarestatus.com

504 Gateway Timeout en Cloudflare debido a las grandes cargas

El tamaño de las subidas a tu sitio también puede ser una razón para los timeouts del servidor. Cloudflare limita el tamaño de los archivos subidos (por petición HTTP POST) a solo 100 MB tanto en los planes Free como Pro.

Los límites del "Tamaño máximo de carga" de Cloudflare para varios planes

Los límites del «Tamaño máximo de carga» de Cloudflare para los diferentes planes

El error puede estar en el lado de tu host o con Cloudflare. Puedes averiguar la causa exacta evitando Cloudflare con tu archivo de hosts DNS e intentando subirlo de nuevo.

Si estás usando Cloudflare con WordPress, te recomiendo que uses su plugin gratuito y excluyas las URL críticas del cacheo (como el panel de administración de WordPress). Puedes consultar el post detallado de Kinsta sobre cómo configurar los ajustes de Cloudflare para WordPress.

Lectura sugerida: Cómo configurar Cloudflare APO para WordPress.

Problemas con el servidor (compruébalo con tu host)

Los problemas con el servidor son una de las razones más comunes para encontrarse con un error 504 Gateway Timeout. Como la mayoría de los sitios de WordPress están alojados en servidores web Nginx o Apache, significa que Nginx o Apache está esperando una respuesta de algo y el tiempo de espera es superado.

Muchos clientes vienen a Kinsta exactamente por este problema que se encuentran en otros hosts de WordPress. La conversación es algo por el estilo:

Estamos recibiendo alrededor de 100 mil visitantes por mes con más de 200 mil visitas. Actualmente, estamos alojados en ____ y experimentamos 504 errores constantemente debido a la sobrecarga del servidor. No me gusta cómo ____ manejó el problema, y también nos avisaron que pronto tendremos que pasar a sus planes dedicados, lo cual creo que no es necesario.

Los sitios con un alto tráfico y comercio electrónico son más propensos a tener errores 504 debido a la sobrecarga del servidor, ya que generan muchas solicitudes no almacenadas. Sin embargo, este problema puede aparecer en cualquier sitio, incluyendo simples blogs. Muchos hosts te pedirán que te cambies a un plan de alto nivel para solucionar el problema, lo cual en la mayoría de los casos es innecesario.

Kinsta usa hosts gestionados por LXD y contenedores de software orquestados por LXC para cada sitio. Así, cada sitio de WordPress está alojado en su propio contenedor aislado con acceso a todo el software necesario para ejecutarlo (Linux, Nginx, PHP, MySQL). Los recursos son 100% privados y no se comparten con ningún otro sitio, ni siquiera con los tuyos.

La mayoría de los hosts de WordPress que ofrecen planes de alojamiento compartido no tienen esta capacidad. Por lo tanto, un sitio de alto tráfico alojado en el mismo servidor que el tuyo puede causar que tu sitio arroje un error 504 también.

Además de aislar cada sitio en su contenedor, Kinsta también ha diseñado su infraestructura para manejar fácilmente miles de conexiones simultáneas. Kinsta incluso aloja las bases de datos MySQL en el localhost, no en un servidor remoto. Esto significa que no hay latencia entre las máquinas, lo que hace que las consultas sean más rápidas y que haya menos posibilidades de que se produzcan timeouts.

Muchos clientes que migran a Kinsta ven enormes disminuciones en los tiempos de carga general.

Un aumento del 212,5% en el rendimiento después de cambiar a C2.

Un aumento del 212,5% en el rendimiento después de cambiar a C2.

Un servidor sobrecargado no es la única causa de un timeout del servidor. Puede haber muchas otras razones para el error 504:

Infraestructura de servidores lenta

El servidor que usas para alojar tu sitio de WordPress puede no tener suficientes recursos para manejar la carga. Es como jugar a un videojuego moderno y con muchos gráficos en un PC de hace una década.

El servidor se cuelga tratando de servir el sitio web. La única solución a este problema es cambiar a un servidor con mejor infraestructura. Por esta razón, incluso el plan de alojamiento más básico de WordPress de Kinsta manejará un sitio estático con tráfico medio.

Necesita más trabajadores de PHP

Los trabajadores de PHP se utilizan para ejecutar el código en tu sitio de WordPress. Un sitio de comercio electrónico que recibe 50.000 visitantes por mes necesita muchos más recursos que un simple blog con la misma cantidad de tráfico. Si todos los trabajadores de PHP del servidor están ocupados, se creará una fila.

Cuando la fila se hace demasiado grande, el servidor ignora las solicitudes antiguas, lo que puede causar que el servidor arroje un error 504 gateway. Puedes preguntar a tu host sobre el aumento de tu número de trabajadores de PHP. Esto permitirá a tu sitio ejecutar múltiples peticiones simultáneamente.

Problemas con el cortafuegos

El cortafuegos de tu servidor podría tener algunos errores o una configuración inadecuada. Tal vez, algunas de sus reglas impiden que el servidor establezca una conexión correctamente. Para saber si el cortafuegos es el culpable, puedes consultar los registros de errores de tu servidor.

Problemas de conectividad de la red

Los problemas de conectividad entre el servidor proxy y el servidor web podrían causar retrasos en la respuesta a las solicitudes de HTTP. Si se utiliza un equilibrador de carga, también podrías tener problemas de conectividad de red con él.

Tiempos de espera HTTP

Los timeouts de HTTP pueden pasar cuando una conexión entre el servidor web y el cliente se mantiene abierta durante demasiado tiempo. Con los sitios de WordPress, esto suele ocurrir cuando se ejecutan importaciones de WordPress. Una forma de resolver este problema es cambiar a una conexión de Internet más rápida.

También puedes usar una herramienta con soporte para WP-CLI para ejecutar los scripts directamente en el servidor, pasando por alto la conexión HTTP por completo. Por ejemplo, puedes usar el comando de importación de WP-CLI para ejecutar el plugin WordPress Importer directamente a través de la interfaz de línea de comandos.

Importante: Los errores 504 Gateway Timeout se parecen a los errores 503 Service Unavailable o a los errores 502 Bad Gateway. Pero todos son diferentes. Si experimentas un error 504 en Kinsta, abre un ticket de soporte para arreglar tu problema inmediatamente.

Para monitorear el tiempo de inactividad de tu sitio por tu cuenta, puedes usar una herramienta como updown.io. Comprobará el estado de tu sitio web (o cualquier URL) periódicamente enviándole una solicitud HTTP. Puedes establecer la frecuencia de comprobación de 15 segundos a 1 hora. Si tu sitio web no responde correctamente, te notificará con un correo electrónico o un SMS.

Controle su sitio web fácilmente con updown.io

Controla tu sitio web fácilmente con updown.io

Obtendrás una generosa cantidad de créditos gratuitos con cada cuenta de updown.io, pero si busca alternativas más baratas, puede consultar WebGazer o UptimeRobot. Ambas herramientas te ayudarán a controlar el tiempo de actividad de tu sitio cada 5 minutos, de forma gratuita. Eso es lo suficientemente bueno para la mayoría de los propietarios de sitios web.

El panel de control de la herramienta de monitoreo del sitio WebGazer

El panel de control de la herramienta de monitoreo del sitio WebGazer

Monitorear tu sitio web te dará una idea de la frecuencia con la que se cae. Esto es especialmente útil si utilizas un proveedor de alojamiento compartido. La mayoría de los proveedores de hospedaje administrados de WordPress se encargan de esto automáticamente por ti, por lo que siempre se recomienda ir con ellos.

Para una explicación más detallada, mira el post de Kinsta sobre la importancia del alojamiento gestionado de WordPress.

Ataques Spam, Bots o DDoS

Los atacantes malintencionados pueden hacer que tu servidor web se rastree enviando demasiadas solicitudes, o enviando solicitudes que requieran muchos recursos. Si tu sitio web recibe spam de bots o estás sufriendo un ataque DDoS, puede sobrecargar tu servidor y provocar errores 504 Gateway Timeout para muchos usuarios genuinos.

Puedes mirar el tráfico de tu servidor y los análisis para ver si puedes detectar algún patrón irregular en el tráfico del sitio. Si utilizas Kinsta para alojar tu sitio, puedes ver estos datos fácilmente yendo a tu panel de control MyKinsta Analytics.

Tablero de análisis de MyKinsta

Panel de control de MyKinsta Analytics

Comienza tu investigación mirando los IP de los clientes más importantes. Te dará una idea de quién está generando el máximo número de solicitudes, y desde dónde. Si tu servidor de repente consume un enorme ancho de banda o atrae mucho tráfico, entonces este reporte te será muy útil.

Viendo 'Top Client IPs' en el tablero de MyKinsta

Visualizando ‘Clientes Top IP’ en el panel de control de MyKinsta

A continuación, puedes ver el informe del análisis de la caché. Aquí, puedes ver cuántas peticiones están pasando por alto o no están en la caché, o están siendo servidas desde la caché. Por razones de rendimiento y estabilidad, quieres almacenar en la caché tantas solicitudes como sean posible, pero no siempre es posible lograrlo.

Por ejemplo, los sitios de WooCommerce generan muchas solicitudes no almacenadas de funcionalidades como el carrito de compras y el proceso de pago.

La pantalla de "Análisis de la Caché" en MyKinsta

La pantalla de «Análisis de la Caché» en MyKinsta

Finalmente, puedes usar un plugin de seguridad de WordPress para reforzar la seguridad de tu sitio web detectando y bloqueando el tráfico/IP preocupante. También puedes pedirle a tu host que bloquee ciertas IP.

¿Problemas con el tiempo de inactividad y problemas con WordPress? Kinsta es la solución de hosting diseñada teniendo en cuenta el rendimiento y la seguridad!
Consulta nuestros planes

Dependiendo de la duración y la escala del ataque, este podría ser un proceso interminable de poner en la lista negra las IP, ya que muchos atacantes cambian sus IP y direcciones proxy después de ser bloqueados.

Nota: Kinsta no permite a sus clientes instalar plugins de seguridad de WordPress, ya que pueden tener un gran efecto en el rendimiento del sitio, especialmente en sus capacidades de escaneo. Como Kinsta utiliza equilibradores de carga con Google Cloud Platform, bloquear las IP no siempre funcionaría como quisieras.

Puedes utilizar soluciones de seguridad dedicadas como Cloudflare o Sucuri para proteger tus sitios de ataques DDoS y robots de spam. Para más información, puedes consultar los artículos de Kinsta sobre cómo instalar Cloudflare en tu sitio de WordPress y cómo Sucuri ayudó a detener un ataque DDoS en su camino.

Base de datos WordPress corrompida

A veces, un error 504 Gateway Timeout puede deberse a una base de datos corrupta, especialmente en los sitios de WordPress. Típicamente, esto se debe a tablas o archivos de bases de datos corruptas. A veces, también puede ser causado por un problema de seguridad grave como que tu sitio o base de datos haya sido hackeada.

Reparar una base de datos de WordPress corrupta depende del problema. Plugins como WP-DB Manager facilitan el diagnóstico de los problemas de la base de datos y su reparación. Te recomiendo que leas el detallado recorrido de Kinsta sobre la reparación de problemas de la base de datos de WordPress para empezar.

Revisa los plugins y temas de tu sitio

En la mayoría de los casos, los plugins y temas de terceros no causan errores 504. Pero hay una ligera posibilidad de que causen timeouts en el servidor, normalmente al poner en fila un montón de peticiones no almacenadas generadas por el plugin/tema. Como esto ata a muchos de los trabajadores de PHP de tu servidor, puede causar errores 504.

Un gran ejemplo de este tema es WooCommerce, que es un plugin instalado para añadir funcionalidad de comercio electrónico a los sitios de WordPress.

La forma más sencilla de solucionar este problema es desactivando todos los plugins. Recuerda que no perderás ningún dato si solo desactivas un plugin.

Si puedes acceder a tu panel de administración, puedes ir a la pantalla de Plugins, seleccionar Desactivar en el menú de acciones masivas, marcar todos los plugins y luego pulsar el botón Aplicar. Esto desactivará todos tus plugins.

Desactivando todos los plugins de WordPress a través del panel de administración de WP

Desactivando todos los plugins de WordPress a través del panel de administración de WP

Si no puedes acceder a tu área de administración, puedes desactivar los plugins a través de SFTP usando el método descrito anteriormente. Solo tienes que cambiar el nombre de la carpeta principal de plugins para desactivar todos los plugins en masa.

Una vez que hayas desactivado todos los plugins, comprueba si tu sitio web se carga correctamente. Si funciona, entonces debes activar cada plugin uno por uno, probando el sitio después de activar cada plugin.

Por último, asegúrate de que tus plugins, temas y el núcleo de WordPress estén actualizados. También, asegúrate de que tu servidor esté ejecutando la versión recomendada de PHP.

Si sientes que esto es demasiado abrumador, siempre puedes pedir ayuda a tu host. Kinsta utiliza New Relic y otras técnicas de resolución de problemas para ayudar a los clientes a determinar qué plugin, query o script puede causar el error.

En el peor de los casos, como una consulta ineficaz o un mal código en un plugin/tema, puedes traer a un desarrollador de WordPress para arreglar el problema.

Comprobar los registros de errores

Revisar los registros de errores puede ser muy útil para la solución de problemas y la depuración de los errores del 504 en tu sitio de WordPress. Esto puede ayudarte a reducir un problema en tu sitio rápidamente, especialmente si es el resultado de un plugin exigente en tu sitio.

Si eres cliente de Kinsta, puedes ver fácilmente los errores en el visor de registros de tu panel de control MyKinsta.

Comprobando los registros de errores dentro del tablero de MyKinsta

Comprobando los registros de errores dentro del panel de contorol MyKinsta

Si tu host no tiene una herramienta de registro, entonces puedes habilitar el modo de depuración de WordPress añadiendo el siguiente código a tu archivo wp-config.php:

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

La constante WP_DEBUG activa o desactiva el modo de depuración de WordPress. Tiene dos constantes acompañantes opcionales que pueden ampliar sus funcionalidades. La constante WP_DEBUG_LOG dirige todos los errores a ser guardados en un archivo debug.log dentro del directorio /wp-content/. Si no ves este archivo, siempre puedes crear uno.

La constante WP_DEBUG_DISPLAY controla si los registros de depuración aparecen en la página HTML. Configurando esto en falso se ocultarán todos los errores, pero puedes revisar los errores más tarde, ya que también has definido WP_DEBUG_LOG como verdadero.

Importante: Si tienes WP_DEBUG habilitado en el entorno Kinsta, enrutará todos los errores al archivo debug.log y no al error.log en el panel de control MyKinsta.

También puedes descargar los archivos de registro de errores de WordPress en bruto a través de SFTP. Normalmente, puedes encontrar los registros de errores en el directorio raíz de tu servidor en una carpeta llamada «logs».

Acceder a la carpeta de registros de errores de WordPress a través de SFTP

Acceder a la carpeta de registros de errores de WordPress a través de SFTP

Los usuarios de Kinsta también pueden habilitar el modo de depuración de WordPress desde su panel de control MyKinsta. Para ello, navega a Sitios > Herramientas > Depuración de WordPress y haz clic en el botón Habilitar. Esto le permitirá ver los errores y avisos de PHP sin tener que habilitar el modo de depuración a través de SSH o SFTP.

Por último, puedes comprobar los archivos de registro del servidor. Dependiendo del servidor que uses para alojar tu sitio de WordPress, se encuentran comúnmente en estas ubicaciones:

Puedes consultar la documentación relacionada con el registro de Apache o Nginx para más información.

Configurar correctamente los parámetros de Apache o Nginx

Puedes editar los archivos de configuración del servidor para aumentar los límites de recursos para directivas específicas. Esto puede ayudarte a resolver el error 504 Gateway Timeout.

Para los servidores web Apache

Primero, agrega el siguiente código a tu httpd.conf:

TimeOut 600

Esta configuración define el tiempo que el servidor esperará para ciertas solicitudes antes de marcarlo como un problema de timeout. Su valor por defecto es de 60 segundos (versión de Apache 2.4).

Solo puedes añadir esta directiva en tu archivo httpd.conf, no en tu archivo .htaccess. Dado que la mayoría de los proveedores de alojamiento compartido no permiten modificar el archivo httpd.conf, puedes intentar aumentar el valor de la directiva LimitRequestBody en el archivo .htaccess.

Luego agrega la siguiente línea a tu archivo php.ini:

max_execution_time 300

El valor por defecto de la directiva max_execution_time de PHP es de 30 segundos. Aumentarlo permitirá que los scripts PHP de tu sitio se ejecuten más tiempo.

Para los servidores web de Nginx

Si estás ejecutando tus sitios de WordPress en Nginx + FastCGI Process Manager (PHP-FPM) o usando Nginx como proxy inverso para Apache, puedes ajustar la configuración del servidor para ayudar a prevenir errores 504 Gateway Timeout.

Error 504 Gateway Timeout en Nginx + FastCGI (PHP-FPM)

Primero, debes editar tu archivo de configuración de la pila PHP-FPM. Puedes encontrarlo en la ubicación /etc/php7.4/fpm/pool.d/www.conf en tu servidor Nginx (la ruta exacta puede variar según la versión de PHP). Alternativamente, puedes ejecutar el siguiente comando en tu terminal para editar el archivo de configuración del pool PHP-FPM:

sudo nano /etc/php/7.2/fpm/pool.d/www.conf

A continuación, establece la siguiente directiva:

request_terminate_timeout = 300

Después de esto, debes editar tu archivo php.ini. Puedes localizarlo en /etc/php.ini. Abre el archivo y agrega/cambia el valor de la directiva max_execution_time a 300 segundos.

max_execution_time = 300

Finalmente, agrega el siguiente código al bloque de ubicación de tu archivo nginx.conf:

location ~ .php$ {
...
fastcgi_read_timeout 300;
}

Recargua Nginx y PHP-FPM para que los cambios surtan efecto.

sudo service nginx reload
sudo service php7.4-fpm reload

El código exacto para recargar PHP-FPM variará según la versión de PHP instalada en tu servidor. Prueba tu sitio para ver si has solucionado el problema.

504 Gateway Timeout Error en el proxy Nginx

Si estás usando Nginx como un servidor proxy inverso para Apache, entonces puede hacerlo más permisivo con los tiempos de espera del servidor añadiendo las siguientes directivas a tu archivo nginx.conf:

proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;

No olvides recargar Nginx después de hacer tus cambios.

sudo service nginx reload

Otros errores de HTTP como el 504 Gateway Timeout

Como se mencionó anteriormente en el artículo, hay muchos otros errores HTTP 5xx que son como el error 504 Gateway Timeout. Eso es debido al hecho de que todos ellos ocurren en el lado del servidor. Estos errores incluyen:

Otros errores HTTP causados por problemas del lado del cliente, como el error 404 Not Found, son también como el error 504. Puedes consultar la guía detallada de Kinsta y la lista de códigos de estado HTTP para obtener más información.

Cuando no sabes qué fue lo que causó el error 504 Gateway Timeout, ¿cómo lo arreglas a tiempo para evitar que los visitantes que tanto te costó ganar reboten en los sitios de la competencia? 🤷 Todos los detalles están en este post. ⬆️Click to Tweet

Resumen

Tu sitio de WordPress puede verse afectado por el error de Timeout del 504 Gateway por múltiples razones. En este artículo, aprendiste a solucionar los problemas de todos ellos. Por lo general, estos errores se deben a problemas del lado del servidor, en cuyo caso puedes comunicarte con tu host y resolverlo rápidamente.

Sin embargo, también debes entender que este error puede ser causado por plugins, temas, servicios de terceros, consultas ineficientes a la base de datos, o una combinación de dos o más de estos. Si estás maximizando los recursos de tu servidor (por ejemplo, los trabajadores de PHP), te recomendamos optimizar tu sitio para el rendimiento.

Si aún así encuentras que tu sitio web se está superando el tiempo de espera, entonces puede ser que necesites actualizar tu plan de alojamiento o el número de trabajadores de PHP. Te recomiendo que consideres esta opción solo después de haber agotado todas las demás soluciones descritas en este artículo.

Desde simples sitios estáticos hasta complejos sitios de comercio electrónico y membresía, los planes de alojamiento de Kinsta están diseñados para acomodar todo tipo de sitios web. Incluso si tu sitio utiliza más recursos del servidor que los que ofrece tu plan de alojamiento, la función de escalado automático de Kinsta significa que tu sitio siempre estará en línea.

¿Nos hemos perdido algo? Si todavía te resulta difícil arreglar el error 504 Gateway Timeout error en tu sitio de WordPress, deja un comentario a continuación.


Si le ha gustado este artículo, entonces le encantará la plataforma de Kinsta WordPress hosting. Acelere su sitio y reciba soporte 24/7 de nuestro equipo de WordPress veterano. Nuestra infraestructura potenciada por Google Cloud se centra en escalamiento automático, rendimiento y seguridad. ¡Déjenos mostrarle la diferencia con Kinsta! Conozca nuestros planes