Un error 504 suele aparecer cuando la conexión entre el navegador y el servidor web se mantiene abierta durante más de 180 segundos, lo que provoca que se agote el tiempo de espera HTTP.

Cuando entran varias peticiones al mismo tiempo o casi, algunas peticiones pueden tener que esperar en la cola para ser atendidas. Así, aunque el servidor esté procesando peticiones, si cada una de ellas tarda mucho tiempo en ser procesada, se puede acumular un gran número de peticiones. Cuando la cola se hace demasiado grande y los procesos esperan demasiado tiempo, las solicitudes más antiguas son desatendidas por el servidor, por lo que se devuelve un error de puerta de enlace 504.

Como en la mayoría de los casos de resolución de errores, el primer paso es averiguar cuál es la causa principal del error.

Cómo encontrar y resolver un error 504 de puerta de enlace

Errores durante la importación

Si el error se produce durante una importación, intenta ejecutar la importación directamente en el servidor utilizando WP-CLI o un script local PHP o Bash. Esto evitará la conexión HTTP por completo, permitiéndote completar la importación sin un error 504.

CDN de terceros

Si tu sitio utiliza una CDN de terceros además de la integración de Cloudflare de Kinsta, desactiva temporalmente o evita esa CDN.

Comprueba la ruta de subida

Si ves un error relacionado con la ruta del archivo al intentar subir un archivo (por ejemplo, al añadir y subir una imagen al contenido), la ruta de subida puede ser incorrecta. Esto es más común justo después de migrar un sitio. Dependiendo de la configuración de tu anterior host, la ruta de subida puede haber sido personalizada. Esto puede verse en la tabla wp_options o en el panel de control de WordPress (Ajustes > Medios > Subir archivos).

En el panel de control de WordPress, si ves las opciones » Almacenar subidas en esta carpeta » y » Ruta de acceso completa a los archivos», es que se han personalizado. Los datos correspondientes en la base de datos se encuentran en wp_options table en las opciones upload_path y upload_url_path.

Puedes eliminar todo lo que haya en esos campos (ya sea en el panel de control de WordPress o en la base de datos) para devolverlos a sus valores predeterminados.

Tamaño de los archivos subidos

Si ves un error relacionado con el tamaño del archivo cuando intentas subir un archivo, comprueba el tamaño del archivo o archivos que intentas subir. Algunas CDNs limitan el tamaño de los archivos que puedes subir. Si utilizas una CDN de terceros, comprueba el tamaño máximo de subida en la configuración de la CDN y asegúrate de que tus subidas son inferiores al máximo. O, si tu sitio requiere que el tamaño del archivo sea tan grande, ajusta el tamaño máximo de subida en tu CDN (si es posible).

Base de datos corrupta

En ocasiones, una base de datos corrupta puede ser el origen de los errores 504. Si ves errores que indican una base de datos corrupta (por ejemplo, «Una o más tablas de la base de datos no están disponibles. Es posible que la base de datos necesite ser reparada» al entrar en el panel de control de WordPress), consulta nuestra guía sobre cómo reparar una base de datos corrupta.

Plugins y temas

Aunque no es tan común, a veces un plugin o un tema pueden ser la fuente de un error 504. La mejor manera de comprobarlo es desactivar todos los plugins y cambiar a un tema por defecto. Si el problema se resuelve, reactiva los plugins uno por uno y reactiva tu tema hasta que el problema vuelva a aparecer. Una vez que hayas determinado qué plugin o tema es el origen, envía una copia del error al desarrollador del plugin o del tema para que pueda ayudarte a resolver el problema.

Registro de errores

Comprueba el registro de error.log de tu sitio en MyKinsta (o descárgalo a través de SFTP) para determinar el origen del error. Si no hay nada evidente, puede ser útil activar WP-DEBUG.

Tráfico y caché

Comprueba el informe de visitantes en las analíticas de MyKinsta para ver si tu sitio está experimentando un pico de tráfico y/o un gran número de peticiones sin caché. Abrir un chat con nuestro equipo de soporte puede ser útil en este caso, para que podamos ayudarte a determinar si las peticiones son legítimas y si se necesitan más recursos (como PHP workers).

Aumentar el número de PHP Workers

En algunos casos, pueden ser necesarios más PHP workers. Si no estás seguro, nuestro equipo de soporte puede ayudarte a determinar si es necesario añadir más PHP workers para tu sitio.

Estrangulamiento del tráfico

Si tu sitio está experimentando un pico de tráfico o simplemente más tráfico en general, y aumentar los recursos no es una opción, una alternativa para evitar que lleguen demasiadas peticiones a la vez al servidor es implementar un sistema de colas como Queue-it, Queue-Fair o Crowdhandler.