Cómo solucionar el error 504 gateway timeout en WordPress

504 gateway timeout es uno de los códigos de estado HTTP que aparece cuando un servidor no consigue obtener una respuesta a tiempo por parte de otro servidor.

Como el error 500 del servidor o 502 bad gateway, es uno de los errores de servidor más comunes que encuentran tanto los usuarios como los propietarios de sitios web.

Cada segundo de inactividad puede perjudicar el rendimiento de tu sitio de WordPress en los motores de búsqueda. Por lo tanto, como dueño de un sitio web, debes solucionar este problema lo antes posible.

Depurar el error 504 gateway time-out puede ser un reto debido al gran número de motivos posibles. En la mayoría de los casos, se puede resolver actualizando la página web.

En este artículo, repasaremos las posibles causas del error 504 gateway timeout. Incluimos consejos que te ayudarán a solucionar el problema y a poner en marcha el sitio en un abrir y cerrar de ojos.

Descarga la hoja de trucos de WordPress definitiva

El error 504 gateway time-out indica que el navegador envió una solicitud HTTP al servidor y no recibió una respuesta a tiempo de otro servidor para completar la solicitud. En la mayoría de los casos, se puede resolver actualizando la página web.

Variaciones y Causas del Error 504 Bad Gateway Timeout

Cuando te encuentres con el error 504 Bad Gateway, normalmente se verá algo así:

Ejemplo de error 504 gateway timeout

Este error HTTP también puede aparecer en diferentes formas y con varios mensajes de error en los distintos navegadores, servidores y sistemas operativos. Estos son los más comunes:

  • 504 Gateway Timeout nginx
  • Gateway Timeout Error
  • Gateway Timeout (504)
  • HTTP Error 504
  • Error 504
  • 504 Error
  • 504 Gateway Timeout – The server didn’t respond in time
  • This page isn’t working. Domain took too long to respond
  • HTTP Error 504 – Gateway Timeout
  • 504 Status Code
  • 504 Error Code

Determinar las causas es el primer paso para solucionar el error 504 Gateway Timeout. Aquí hay varios problemas que pueden causar este error:

  • Problemas de firewall. Los sistemas de protección y mitigación de DDoS de algunos firewalls pueden bloquear las solicitudes de un proveedor de servicios de Internet específico o una red de distribución de contenidos como Cloudflare. Una configuración defectuosa del firewall también puede ser el problema.
  • Dominio sin resolver. Esto ocurre cuando un dominio no se resuelve a una dirección IP correcta. Este problema puede producirse cuando un sitio web ha sido recientemente trasladado a una dirección IP o a un nameserver diferente.
  • Problemas de conectividad. Si el error 504 Gateway Timeout aparece en varios navegadores, dispositivos o sitios web, es posible que tu dispositivo de red esté experimentando problemas temporales de conexión.
  • Sobrecarga del servidor web. Un servidor web con pocos recursos puede sobrecargarse y, por tanto, responder a las peticiones del navegador con lentitud, haciendo que se agote el tiempo de espera del otro servidor.
  • Workers de PHP limitados. Estos componentes gestionan las peticiones cada vez que un visitante realiza una acción en un sitio web de WordPress. Sin suficientes workers de PHP, tu sitio web puede fallar al procesar múltiples peticiones.
  • Problemas con el sistema de nombres de dominio (DNS). Estos incluyen una configuración DNS incorrecta y una caché DNS obsoleta o corrupta.

Cómo solucionar el error 504 Gateway Timeout

En la mayoría de los casos, los errores 504 tienen su causa en el lado del servidor. Sin embargo, también pueden aparecer debido a problemas o a una configuración incorrecta en el lado del cliente.

Vamos a repasar los pasos básicos para solucionar el problema teniendo en cuenta ambas opciones. La mayoría de las soluciones se aplican a cualquier sitio web, pero algunas son específicas de WordPress.

1. Actualizar la página

Este consejo puede parecer simple, pero es una de las soluciones más comunes para resolver el error 504 gateway timeout. Es posible que el servidor esté recibiendo más peticiones de lo habitual, así que vale la pena intentar refrescar la página.

La forma más fácil de hacerlo es hacer clic en el botón Actualizar situado junto a la barra de direcciones del navegador o pulsar F5. También puedes pulsar Ctrl + F5 para borrar la caché del navegador y forzar la actualización de la página.

Mientras esperas a que la página se actualice, comprueba si el sitio web está caído. Esto confirmará si el problema está relacionado con tu red local.

2. Revisar la utilización del pedido

Cada plan de hosting asigna una determinada cantidad de recursos para un rendimiento óptimo del sitio web. Los usuarios de Hostinger pueden comprobar los recursos que tienen asignados accediendo al menú de Uso de Recursos en el hPanel.

El botón de uso de recursos en hPanel

Si tu sitio de WordPress ha alcanzado los límites del plan de alojamiento, los usuarios verán un mensaje de error del servidor. Si este es el caso, contacta con tu proveedor de alojamiento para actualizar a un plan a uno con más recursos que se adapte mejor a las necesidades de tu sitio.

Otra posible solución a este problema es aumentar el límite de tiempo máximo de ejecución de PHP. Los tiempos de espera del servidor pueden ocurrir cuando los scripts de PHP tardan más en completarse que la duración definida.

Extender el límite de tiempo máximo de ejecución ayudará a evitar que los scripts sean marcados como un error a mitad del proceso. Para ello, edita manualmente el archivo .htaccess, instala el plugin Google Pagespeed Insights o cambia la configuración de PHP a través del panel de control de tu cuenta de hosting.

Estos son los pasos para aumentar el valor max-execution-time de WordPress a través del hPanel:

  1. Ve a Configuración de PHP en la sección Avanzado del hPanel.
  2. Haz clic en la pestaña Opciones PHP y desplázate hacia abajo hasta que localices el campo maxExecutionTime.
    Sección maxExecutionTime en el hPanel
  3. El valor por defecto es de 30 segundos. Auméntalo a 60 y haz clic en Guardar. Si eso no resuelve el problema, aumenta el valor a 120-180 segundos.

¡Importante! No establezcas el valor de tiempo máximo de ejecución en 0, ya que esto hará que los scripts de PHP se ejecuten durante un período infinito y consuman los recursos de tu servidor.

3. Probar un navegador diferente

Si al actualizar la página y aumentar el límite de tiempo máximo de ejecución de los scripts PHP no se ha resuelto el error 504 gateway timeout, el problema podría estar relacionado con el navegador.

Prueba cargar el sitio de WordPress en otro navegador y utilizar el modo de incógnito para comprobar que no se trata de un error del lado del servidor. Borrar la caché del navegador antes de recargar la página también aumentará el tiempo de carga y reducirá la probabilidad de que se produzcan tiempos de espera del servidor.

4. Renovar la caché DNS

Los problemas de DNS pueden originarse tanto en el lado del servidor como del cliente. Los del lado del servidor generalmente ocurren en sitios web con direcciones IP no resueltas, mientras que los del lado del cliente son causados por una caché de DNS obsoleta o corrupta.

Si el sitio de WordPress fue trasladado recientemente a un dominio o servidor diferente, es posible que el cambio no haya terminado de propagarse globalmente. La propagación de DNS tarda entre 24 y 48 horas en completarse, así que usa un comprobador de propagación de DNS para verificar si el proceso se ha completado.

Para solucionar los problemas de DNS del lado del cliente, intenta vaciar tu caché DNS. Al igual que los navegadores, tu sistema operativo mantiene una caché local. El vaciado de DNS eliminará los archivos dañados y obsoletos de la caché que puedan estar causando errores.

La forma de hacerlo difiere dependiendo de tu sistema operativo. Por ejemplo, estos son los pasos para vaciar la caché DNS en Microsoft Windows:

  1. Pulsa las teclas Windows+R a la vez y escribe cmd para abrir la línea de comandos.
  2. Escribe ipconfig /flushdns y pulsa Intro para borrar los archivos de la caché DNS y restablecer la caché del resolutor DNS.
  3. Aparecerá un mensaje de confirmación si el proceso se realiza correctamente.
    Línea de comandos de Windows

¡Importante! El vaciado de la caché DNS es especialmente beneficioso para los usuarios de Google Chrome, ya que el navegador almacena una caché independiente del sistema operativo.

Cambiar temporalmente el servidor DNS por uno público es una excelente manera de descartar la posibilidad de un problema relacionado con el DNS. Algunos de los servidores DNS públicos más populares son Cloudflare 1.1.1.1, Google Public DNS y Comodo Secure DNS.

5. Probar en diferentes dispositivos

Intenta cargar la página web en una computadora, una conexión de red o un teléfono móvil diferentes. También puedes probar reiniciar los dispositivos de red para comprobar si se trata de un problema de hardware o de conexión a Internet.

Si el error 504 persiste en múltiples dispositivos, es probable que se trate de un problema del lado del servidor.

6. Verificar el registro de errores

El error 504 gateway timeout también puede ser causado por los cambios o actualizaciones recientes en el sitio web. La forma más rápida de averiguarlo es verificar el registro de errores para encontrar pistas.

Los usuarios de Hostinger pueden activar la función de registro de errores PHP en hPanel. Así es como se hace:

1. Ve a Configuración de PHP en la sección Avanzado del hPanel.

2. Accede a la pestaña Opciones PHP y marca la casilla logErrors.

Captura que muestra el casillero logErrors marcado en la configuración de PHP del hPanel

3. Desplázate hasta el final y pulsa Guardar.

Si s tu proveedor de hosting no ofrece el registro de errores de PHP por defecto, puedes habilitar el modo de depuración de WordPress añadiendo las siguientes líneas al archivo wp-config.php:

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

Al establecer WP_DEBUG_LOG en true se documentará cualquier error en el archivo wp-content/debug.log. Mientras tanto, WP_DEBUG_DISPLAY dicta si los mensajes de depuración aparecerán o no en las páginas HTML.

El archivo debug.log en el gestor de archivos Hostinger

7. Verificar plugins

En raras ocasiones, un plugin de WordPress puede estar causando el error 504. Algunos plugins, especialmente los relacionados con el almacenamiento en caché, envían peticiones al servidor, aumentando así la carga de los workers de PHP, lo que podría desencadenar el problema.

Los plugins obsoletos o incompatibles también pueden causar problemas. Desactivar temporalmente todos ellos te ayudará a comprobar si hay un plugin defectuoso.

Ve al directorio wp-content y cambia el nombre de la carpeta de plugins. Esto desactivará todos los plugins de WordPress. Puedes hacerlo a través del Administrador de Archivos de tu cuenta de hosting o de un cliente FTP como FileZilla.

El proceso de cambiar el nombre de la carpeta de plugins de WordPress para desactivarlos

Si tu sitio funciona bien cuando todos los plugins están deshabilitados, lo siguiente es localizar cuál de ellos está causando el error. Restaura el nombre original del directorio de plugins y desactiva los plugins uno por uno para localizar el origen del problema.

8. Comprobar CDNs

Si utilizas una red de distribución de contenidos (CDN) para que los contenidos se entreguen más rápido, conviene comprobar si funciona correctamente.

Una de las soluciones CDN más utilizadas es CloudFlare, que también actúa como servicio de mitigación de DDoS. Al utilizarlo, puedes encontrarte con dos versiones del error 504.

Si el mensaje de error menciona CloudFlare, entonces el problema se origina allí. Puedes comprobar el estado del sistema de Cloudflare para ver si la empresa está al tanto de algún problema de red.

En este caso, contactar con el soporte de CloudFlare es la forma más rápida de resolver el problema. De lo contrario, desactiva la CDN por completo y espera hasta que el DNS se propague por completo.

Primera versión en que se muestra el error 504 gateway timeout
Segunda versión en que aparece el error 504

Esta versión de la página de error 504 indica que el problema proviene del proveedor de alojamiento web, con el que deberás ponerte en contacto para obtener ayuda.

9. Ajustar la configuración del servidor

Los problemas del servidor web son una causa común del error 504 gateway timeout en los sitios web con hosting VPS.

Si estás usando el servidor web Apache, el error puede ser provocado por el límite de tiempo de ejecución de los scripts PHP.

El error 504 suele ser causado por un límite en el tiempo de conexión del proxy en los sitios web que se ejecutan sobre Nginx.

La siguiente página de error 504 indica que el problema está relacionado con un error del servidor web Nginx:

Página de error 504 indicando que el problema está relacionado con el servidor Nginx

En las siguientes secciones, hablaremos de cómo ajustar la configuración del servidor y aumentar los límites de recursos específicos para resolver el error 504 en ambas plataformas.

Apache

Los usuarios de Apache pueden aumentar el valor de tiempo de espera (timeout) predeterminado en el archivo httpd.conf. Agrega la siguiente línea al archivo de configuración de Apache para aumentar el valor del tiempo de espera por defecto de 300 a 600 segundos:

Timeout 600

El nuevo valor hará que el servidor espere más tiempo la petición antes de que se agote el tiempo de ejecución.

También puede aumentar el límite de max_execution_time en php.ini para que los scripts PHP se ejecuten durante más tiempo:

max_execution_time 300

Después de guardar los cambios, reinicia Apache. El error 504 gateway timeout debería haber desaparecido si la causa era un valor de tiempo de espera insuficiente.

Nginx

Si tu VPS utiliza Nginx como proxy inverso para Apache, intenta aumentar los siguientes valores en /etc/nginx/conf.d/timeout.conf:

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

Si utilizas Nginx con el Manejador de Procesos FastCGI (PHP-FPM), tendrás que editar el archivo PHP-FPM. Navega a /etc/php5/fpm/pool.d/www.conf y añade la siguiente línea:

Request_terminate_timeout = 300

También es aconsejable aumentar max_execution_time en php.ini:

max_execution_time 300

¡Importante! Ten en cuenta que la ubicación del archivo de configuración varía según la instalación.

Guarda los cambios, reinicia Nginx y vuelve a cargar el sitio web.

10. Contactar con Atención al cliente

En caso de que persista el error 504 gateway timeout después de intentar todas las soluciones anteriores, es recomendable ponerse en contacto con el personal de soporte del hosting web. Describe las soluciones que probaste para resolver el problema y proporciona tanta información como sea posible para acelerar el proceso.

Los usuarios de Hostinger pueden ponerse en contacto con nuestro equipo de Customer Success a través del correo electrónico o del chat en vivo. Este último se puede acceder desde la sección Ayuda del hPanel.

Conclusión

El error 504 gateway timeout es uno de los códigos de estado HTTP más comunes que encuentran los usuarios de Internet. Aunque el mensaje de error contiene información limitada sobre el origen del problema, hay varios métodos para solucionarlo.

Aquí te dejamos un resumen de las diez posibles soluciones al error 504:

  1. Actualizar la página.
  2. Comprobar la utilización del pedido del hosting.
  3. Abrir la página en otro navegador.
  4. Vaciar la caché de DNS.
  5. Abrir la página en diferentes dispositivos y reiniciar los dispositivos de red.
  6. Comprobar el registro de errores en busca de código defectuoso y configuraciones erróneas.
  7. Revisar los plugins instalados.
  8. Comprobar el estado del CDN.
  9. Ajustar la configuración de Apache o Nginx para resolver los problemas de conectividad del servidor.
  10. Ponerse en contacto con el equipo de soporte de tu proveedor de alojamiento.

Esperamos que este artículo te haya ayudado a resolver el error 504 gateway timeout. Si tienes alguna pregunta o sugerencia sobre cómo solucionar este problema, deja un comentario a continuación.

Author
El autor

Gustavo B.

Gustavo es un apasionado por la creación de sitios web. Se enfoca en la aplicación de estrategias SEO en Hostinger para España y Latinoamérica, así como la creación de contenidos de alto nivel. Cuando no está aplicando nuevos trucos en WordPress lo puedes encontrar tocando la guitarra, viajando o tomando un curso online.