UA-51298262-10 Skip to main content
WordPress

Error 504 Gateway Timeout en WordPress: soluciones

By julio 12, 2026No Comments
Error 504 Gateway Timeout en WordPress: soluciones

Si llevas tiempo administrando sitios con WordPress, te tocará vivirlo. Llega un momento en que, al cargar tu página, te encuentras con esa temida pantalla blanca o el aviso de solucionar error 504. En el mundillo técnico llaman a esto «Gateway Timeout». ¿Qué significa? Básicamente que el servidor que hace de puerta de enlace se ha cansado de esperar. Pidió una respuesta al servidor ascendente (donde vive PHP o la base de datos) y nadie contestó a tiempo. A diferencia de otros fallos, el 504 casi siempre grita que se ha agotado el tiempo de ejecución, ya sea por un proceso demasiado pesado o porque el servidor tiene una configuración un poco… estricta.

¿Qué es exactamente el Error 504 Gateway Timeout?

Para saber cómo arreglarlo, hay que entender cómo funciona la maquinaria detrás. En las instalaciones modernas de WordPress rara vez ves un único servidor haciendo todo el trabajo sucio. Lo normal es encontrarse con un servidor web (como Nginx o Apache) actuando de intermediario, y un procesador de aplicaciones (PHP-FPM) ejecutando el código.

La dinámica es esta: un usuario pide una página y el servidor web le pasa el balón a PHP. Si PHP tarda más de la cuenta en procesar esa petición (una consulta compleja a la base de datos o redimensionar una imagen gigante) de lo que el servidor web está dispuesto a aguantar, este corta la conexión. El resultado es el error 504 en el navegador. El servidor web está diciendo: «Esperé demasiado, me rindo».

Principales causas del timeout en WordPress

Antes de ponerte a tocar archivos de configuración, identifica dónde está el atasco. Por experiencia, las causas más habituales en un entorno WordPress suelen ser estas:

  • Plugins o themes mal optimizados: Un plugin que hace llamadas a APIs externas que van lentas o lleva bucles de programación ineficientes puede bloquear por completo la ejecución de PHP.
  • Límites de memoria de PHP agotados: Aunque el error 500 es el clásico por falta de memoria, un script que intenta tragarse toda la RAM disponible puede ralentizarse tanto que provoca un timeout.
  • Consultas a la base de datos lentas: Tablas sin optimizar o consultas complejas sin una indexación adecuada pueden retrasar la generación de la página.
  • Configuración estricta del servidor: A veces los valores por defecto de max_execution_time o los tiempos de espera de Nginx/Apache se quedan cortos para tareas administrativas pesadas.
  • Recursos insuficientes del servidor: Si tu VPS o servidor compartido está al límite de CPU, los procesos se ponen en cola y tardan una eternidad en procesarse.

Cómo diagnosticar el problema

Aplicar soluciones a ciegas suele ser mala idea. Es mejor comprobar primero si el error es generalizado o si solo afecta a una zona concreta del sitio.

Paso 1: Aislar el origen

Intenta entrar al panel de administración de WordPress (/wp-admin). Si el frontend se muestra con el error 504 pero el administrador carga bien, es casi seguro que el problema viene de un plugin específico, del tema activo o de un shortcode en la portada. Si el error está en todo el sitio, administrador incluido, entonces el problema es estructural: suele venir de la configuración del servidor o un fallo en la base de datos.

Paso 2: Revisar los registros del servidor

Entra a tu servidor por SSH y échale un vistazo a los registros de error. En Apache suelen estar en /var/log/apache2/error.log y en Nginx en /var/log/nginx/error.log. Busca entradas con el código «504» justo en el momento en que ocurre el fallo. Si ves mensajes tipo «upstream timed out», ya tienes la confirmación clara de dónde ajustar la configuración.

Soluciones a nivel de configuración del servidor

Si ya has descartado que sea un plugin defectuoso y el tema es una limitación de tiempo, toca ajustar los archivos de configuración de tu servidor. Es la solución más contundente para solucionar error 504, sobre todo en sitios con mucho tráfico o tareas pesadas.

Ajustando los tiempos en Nginx

Si tu sitio usa Nginx como servidor web (a menudo funciona como proxy inverso para Apache), tienes que tocar el archivo de configuración de tu bloque de servidor. Fíjate en las directivas proxy_read_timeout y proxy_connect_timeout.

Edita el archivo (suele estar en /etc/nginx/sites-available/tu-sitio o /etc/nginx/nginx.conf) y sube los valores dentro del bloque location o server:

location ~ \.php$ {
    proxy_connect_timeout 300;
    proxy_send_timeout 300;
    proxy_read_timeout 300;
    send_timeout 300;
    ...
}

Estos valores ponen el tiempo de espera en segundos (300 segundos son 5 minutos). Una vez guardes los cambios, es imprescindible reiniciar Nginx con service nginx restart o systemctl restart nginx.

Ajustando Apache y PHP-FPM

Si tu stack es Apache con PHP-FPM, revisa el archivo php.ini y la configuración del pool de PHP-FPM.

En php.ini, busca y modifica esta directiva:

max_execution_time = 300

En la configuración del pool de PHP-FPM (normalmente en /etc/php/7.4/fpm/pool.d/www.conf, según tu versión), busca el parámetro request_terminate_timeout. Por defecto suele venir comentado o en ‘0’ (que sería infinito). Puedes descomentarlo y ponerle un valor:

request_terminate_timeout = 300

No olvides reiniciar ambos servicios después de tocar esto:

service apache2 restart
service php7.4-fpm restart

Nota de seguridad: No pongas estos valores en infinito o cifras disparatadas (tipo 3600 segundos) sin una razón real. Un tiempo de espera excesivo puede dejar tu servidor vulnerable a ataques de Denegación de Servicio (DoS), manteniendo conexiones abiertas que no deberían estarlo.

Soluciones a nivel de WordPress y Plugins

A veces no tienes acceso a la configuración del servidor (piensa en un hosting compartido) o prefieres arreglarlo desde la propia aplicación. Hay cosas que puedes hacer dentro de WordPress.

Optimización de la base de datos

El timeout suele ocurrir porque WordPress tarda demasiado en reunir la información de la base de datos. Instala un plugin de optimización (yo recomiendo los que incluyan limpieza y reparación) para:

  1. Limpiar la papelera de comentarios, entradas y páginas.
  2. Borrar revisiones antiguas de posts.
  3. Optimizar las tablas de la base de datos para reducir la fragmentación.

Gestión de plugins y temas

Haz una prueba de conflictos. Desactiva todos los plugins y cámbiate al tema por defecto (como el Twenty Twenty-Four). Si el error desaparece, vuelve a activar los plugins uno a uno cada 5 minutos hasta que el fallo reaparezca. El último que activaste es el culpable. Fíjate especialmente en los plugins de seguridad, copias de seguridad o constructores visuales; suelen ser los que más recursos comen.

Aumentar el límite de memoria de PHP vía WordPress

Aunque esto suele solucionar errores de memoria pura y dura, a veces ayuda con los tiempos de ejecución. Edita el archivo wp-config.php en la raíz de tu instalación y añade esta línea antes de donde dice «That’s all, stop editing!»:

define('WP_MEMORY_LIMIT', '256M');

Uso de un sistema de caché

La mejor forma de prevenir el error 504 es evitar que el servidor tenga que procesar la página desde cero cada vez. Montar un sistema de caché como Redis o Varnish, o usar plugins de caché a nivel de PHP que generen archivos HTML estáticos, reduce la carga de procesamiento de forma drástica. Si un usuario pide una página que ya está en caché, el servidor web la sirve al instante sin preguntar nada a PHP ni a la base de datos. Así eliminas la posibilidad de un timeout por procesamiento.

Preguntas Frecuentes

¿El error 504 es culpa mía o de mi proveedor de hosting?
Depende. Si se debe a un plugin programado de forma chapucera, es culpa del sitio. Si la configuración del servidor es demasiado estricta por defecto, la responsabilidad es del administrador del servidor o del proveedor, que debería ajustarla.

¿Es seguro aumentar el tiempo de ejecución a 300 segundos?
Para la mayoría de los sitios estándar, sí. Es un tiempo razonable para tareas de administración pesadas sin comprometer la estabilidad del servidor.

Conclusión

Enfrentarse al error 504 Gateway Timeout puede ser frustrante, pero normalmente es una señal: tu sitio web ha crecido o una tarea concreta necesita más recursos de los que tenías asignados al principio. La clave de la solución está en saber si el cuello de botella está en el código de WordPress (plugins o temas) o en la configuración del servidor (tiempos de espera de PHP o Nginx). Ajusta esos parámetros de timeout y pon a punto la base de datos y los plugins; con eso deberías recuperar la estabilidad. Recuerda que en RedServicio (redservicio.net) tenemos expertos en administración de servidores y WordPress listos para echarte una mano con estos problemas técnicos si la situación se te va de las manos.

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información. ACEPTAR

Aviso de cookies