Cómo arreglar el error interno del servidor (500) en WordPress

El error interno del servidor (500) es uno de los mensajes menos útiles de WordPress, porque casi no le dice nada. Lo único que dice en realidad es: “algo salió mal en el servidor y no puedo ser más concreto”. La buena noticia es que la lista de cosas que de verdad lo causan es corta, y puede revisarlas en orden. Esta guía hace exactamente eso — desde los arreglos de dos minutos hasta los que apuntan directamente a su proveedor de hosting.

Puede que lo vea escrito de varias formas — “500 Internal Server Error”, “HTTP Error 500” o “The server encountered an internal error” — pero todas significan lo mismo, y los arreglos son los mismos.

Primero, active el registro de errores

El error 500 es genérico a propósito, así que haga que WordPress le cuente la historia real. Abra wp-config.php (el archivo principal de configuración de WordPress) por SFTP (una forma segura de conectarse a los archivos de su sitio) o con el administrador de archivos de su proveedor, busque define('WP_DEBUG', false); y cámbielo por:

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

Vuelva a cargar la página y lea wp-content/debug.log. Si detrás hay un plugin o un tema, las últimas líneas suelen nombrar el archivo. También vale la pena revisar el registro de errores de su proveedor (en el panel de control) — un error 500 a menudo deja ahí una nota más detallada. Cuando termine, vuelva a poner WP_DEBUG en false.

Causa 1: un archivo .htaccess dañado

En la mayoría de los servidores de WordPress, un archivo oculto llamado .htaccess controla cómo se manejan las URL. Un plugin defectuoso o una edición mal hecha pueden dañarlo y provocar un error 500. El arreglo es fácil: por SFTP, cambie el nombre de .htaccess en la carpeta principal de WordPress a .htaccess-old y vuelva a cargar su sitio. Si funciona, el problema era ese archivo. Genere uno nuevo entrando en WordPress y yendo a Ajustes, Enlaces permanentes, y haciendo clic en “Guardar cambios” — no hace falta cambiar nada, el clic basta para escribir un archivo limpio.

Causa 2: se agotó la memoria de PHP

Si su sitio se quedó sin memoria a mitad de una solicitud, el servidor puede responder con un error 500. Dele más espacio agregando esto a wp-config.php:

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

Si eso quita el error, el problema de fondo es un límite de memoria demasiado bajo — algo común en los planes económicos llenos de gente. Nuestra guía sobre cómo aumentar el límite de memoria de PHP explica los otros lugares donde se puede subir y qué hacer si su proveedor no cede.

Causa 3: un conflicto de plugin o de tema

Un solo plugin que se porta mal — o una edición del tema que salió mal — es una causa frecuente, sobre todo justo después de una actualización. Desactive todos los plugins (si no puede entrar al Escritorio de WordPress, cambie el nombre de wp-content/plugins a plugins-off por SFTP). Si el sitio vuelve, reactívelos uno por uno para encontrar al culpable. Si no son los plugins, cambie a un tema predeterminado como Twenty Twenty-Four para descartar el tema.

Cuando un plugin provoca la caída, muchas veces verá la página más amable de “Ha habido un error crítico en esta web” en lugar de un 500 a secas — es la misma familia de problemas, y el modo de recuperación puede decirle quién es el culpable.

Causa 4: la versión equivocada de PHP

Si hace poco el servidor se cambió a una versión más nueva (o más vieja) de PHP (el lenguaje de programación con el que funciona WordPress), los plugins o temas que no están hechos para ella pueden romperse y dar un error 500. El registro de errores suele dejarlo claro con un error fatal relacionado con la versión. Cambiar la versión de PHP es un ajuste del proveedor; si un cambio causó esto, volver atrás es el arreglo rápido mientras resuelve el plugin incompatible.

Causa 5: es el propio servidor

A veces no hay nada mal en sus archivos — el servidor está sobrecargado, sin recursos o mal configurado, y responde a todas las solicitudes con un 500. Si ya revisó el registro, el .htaccess, la memoria y los plugins y el error sigue sin irse, el problema está más arriba. Una versión muy parecida, por tiempo de espera, es el error 502 Bad Gateway, que apunta todavía más directamente al servidor.

Cuando el arreglo es el proveedor, no el archivo

Vea otra vez esa lista: archivos dañados tras una mala actualización, memoria demasiado baja, una versión de PHP cambiada sin aviso, un servidor sobrecargado. La mayoría de los errores 500 son problemas de hosting disfrazados de algo técnico. En el hosting compartido barato, los recursos están muy repartidos y las actualizaciones se hacen sin supervisión, así que estas caídas son parte del trato.

Esa es la diferencia con el hosting de WordPress administrado. Los planes incluyen memoria y recursos de sobra para que el límite no sea una pelea constante, y cada vez que actualizamos su sitio verificamos que se siga viendo y funcionando bien — así que una mala actualización se detecta y se deshace antes de que su sitio en vivo dé un 500. Cuando algo se rompe, del otro lado hay un equipo real con base en EE. UU. — y un precio que sigue siendo predecible a medida que crece su sitio, sin cobros según el tráfico. El mantenimiento crece con su sitio; la factura no pasa a depender del número de visitas.

Si nada funciona: restaure una copia limpia

Si revisó todas las causas y el 500 no se va, o una edición empeoró las cosas, restaure. Una copia de seguridad limpia y reciente devuelve todo su sitio a su último estado bueno en minutos. Nuestra guía sobre cómo restaurar WordPress desde una copia de seguridad le lleva paso a paso, y cada plan que administramos guarda copias de seguridad externas 3 veces al día, vigiladas y bloqueadas durante 90 días contra cambios o borrados, incluso por ransomware, así que siempre hay una copia limpia esperando.

Un resumen rápido

  1. Active el registro de errores y lea debug.log.
  2. Cambie el nombre de .htaccess y luego vuelva a generarlo desde Enlaces permanentes.
  3. Suba el límite de memoria de PHP.
  4. Desactive los plugins y cambie a un tema predeterminado.
  5. Revise la versión de PHP; deshaga un cambio reciente.
  6. ¿Sigue roto? Es el servidor — o restaure desde una copia de seguridad.

Si el error 500 es un visitante frecuente — o prefiere no editar archivos de configuración en vivo con su negocio fuera de línea — déjelo en nuestras manos. Es trabajo de rutina para nuestro equipo con base en EE. UU., y mudarse a un hosting donde su sitio no tenga que pelear por las sobras suele acabar con él para siempre.