Error 500 en WordPress: cómo encontrar la causa en cinco minutos
Publicado el 24 de julio de 2026 · Actualizado el 5 de agosto de 2026
Por Rubén Ortega · 12 años en soporte técnico y preventa de empresas de hosting (Abansys, Arsys, Nominalia) · Declaración de vínculos
📌 Datos clave
- Qué significa
- El servidor falló y no puede decir por qué
- Dónde está la causa real
- En el registro de errores, no en pantalla
- Causa nº 1
- Plugin o tema incompatible tras actualizar
- Cómo verla
WP_DEBUG_LOGenwp-config.php- Lo que NO hay que hacer
- Mostrar los errores en pantalla en producción
Respuesta rápida
El error 500 es el equivalente a «algo ha fallado» sin más detalle. No es un diagnóstico: es la ausencia de uno.
La buena noticia es que la causa real sí está registrada en alguna parte. En cinco minutos puedes verla, y con ella el problema se resuelve solo.
Antes de tocar nada, una pregunta que ahorra la mitad del trabajo: ¿qué hiciste justo antes?
- Actualicé algo → plugin o tema incompatible
- Instalé un plugin → ese plugin
- Toqué el
.htaccess→ sintaxis - Cambié la versión de PHP → incompatibilidad
- No hice nada → memoria, límite de recursos o actualización automática
Paso 1: ver el error de verdad
Añade esto a wp-config.php, antes de la línea «Eso es todo, deja de editar»:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false); // NO mostrarlo a los visitantes
@ini_set('display_errors', 0);
Esas cuatro líneas escriben el error completo en wp-content/debug.log sin enseñárselo a nadie.
⚠️ WP_DEBUG_DISPLAY en false no es opcional. Mostrar errores en producción expone rutas del servidor y detalles de tu instalación a cualquiera que pase por ahí.
Recarga la página que falla y abre wp-content/debug.log. La última línea te dirá el fichero y el número de línea exactos.
Si no aparece nada, mira el error_log de la carpeta de tu web o los registros de errores del panel de control.
Paso 2: las cuatro causas habituales
Plugin o tema incompatible
La más común, con diferencia. Si el log señala un fichero dentro de wp-content/plugins/, ya tienes el culpable.
Cómo desactivarlo sin poder entrar al escritorio: por FTP, renombra la carpeta del plugin —de plugin-x a plugin-x-off—. WordPress no lo encontrará y lo desactivará solo.
Si no sabes cuál es, renombra la carpeta plugins entera: eso desactiva todos. Si la web vuelve, devuélvela a su nombre y ve activando de uno en uno.
Memoria PHP agotada
Si el log dice Allowed memory size exhausted, es esto. Está desarrollado en memoria PHP en WordPress.
.htaccess mal formado
Una directiva incorrecta —casi siempre de un plugin de caché o seguridad— tumba el sitio entero.
Prueba rápida: renómbralo a .htaccess-old por FTP. Si la web vuelve, era eso. Regenéralo entrando en Ajustes → Enlaces permanentes y pulsando Guardar.
Versión de PHP incompatible
Si has subido de versión y algo antiguo no lo soporta, el log lo dirá con un error de sintaxis en un fichero concreto.
Solución temporal: vuelve a la versión anterior desde el panel. Solución real: actualiza o sustituye el componente que no es compatible. Quedarse en una versión de PHP sin soporte no es una opción a medio plazo.
Cómo se distingue cada causa
| Lo que ves en el log | Causa | Qué hacer |
|---|---|---|
Ruta dentro de wp-content/plugins/ |
Plugin incompatible | Renombrar su carpeta por FTP |
Ruta dentro de wp-content/themes/ |
Tema | Activar un tema por defecto |
Allowed memory size exhausted |
Memoria agotada | Subir el límite |
syntax error, unexpected |
PHP incompatible o fichero editado | Volver a la versión anterior de PHP |
Invalid command o .htaccess |
Directiva incorrecta | Renombrar .htaccess |
| El log está vacío | Fallo por encima de PHP | Mirar los registros del panel |
Esa última fila es la que más despista: si PHP no llega a arrancar, no escribe nada.
Paso 3: limpiar
Quita el modo depuración cuando termines. Deja WP_DEBUG en false y borra el debug.log, que puede contener rutas y datos internos.
Cuándo NO es culpa tuya
Si no has tocado nada, el 500 aparece y desaparece solo y el debug.log está vacío, puede ser del servidor: un límite de recursos alcanzado o una incidencia.
Distinguirlo es sencillo: un 500 por límite de recursos es intermitente y coincide con las horas de más tráfico. Uno por código es constante y reproducible.
Si sospechas lo primero, mira procesos concurrentes y abre un ticket con la hora exacta.
Preguntas frecuentes
¿Qué significa el error 500?
Que el servidor ha encontrado un problema al ejecutar tu web pero no puede decir cuál. La causa real está en el registro de errores.
¿Cómo veo la causa real?
Activando WP_DEBUG_LOG en wp-config.php, que escribe el error en wp-content/debug.log sin mostrarlo a los visitantes.
¿Qué causa más errores 500?
Un plugin o tema incompatible tras actualizar, seguido de falta de memoria PHP, un .htaccess mal formado y una versión de PHP incompatible.
¿Puedo perder contenido?
El error en sí no borra nada: la web no se ejecuta, pero la base de datos y los ficheros siguen ahí. Aun así, haz una copia antes de tocar nada.
Guía general de diagnóstico para WordPress sobre alojamiento compartido. Los pasos son aplicables en cualquier proveedor.