Pocas cosas aceleran el pulso como abrir tu web y encontrarte un error 500 WordPress en lugar de tu página. El mensaje “Internal Server Error” (o “Error interno del servidor”, o directamente una pantalla en blanco con el código 500) es de los más desconcertantes porque no da ninguna pista: el servidor solo admite que algo ha fallado al procesar la petición, sin decir qué. La buena noticia es doble. Primero, tu contenido está intacto: el error 500 es un fallo de ejecución, no una pérdida de datos. Segundo, sus causas reales se concentran en un puñado de sospechosos habituales (un plugin conflictivo, un archivo .htaccess corrupto, el límite de memoria PHP, una actualización a medias o una versión de PHP incompatible), y todos tienen solución al alcance de cualquier usuario con acceso al hosting, sin necesidad de ser programador. En esta guía diagnosticamos y resolvemos el error paso a paso, en orden de probabilidad, y terminamos con las medidas para que no vuelva a ocurrir.
Qué es el error 500 en WordPress y por qué aparece
Los códigos de estado HTTP que empiezan por 5 indican fallos del servidor. El 500 es el genérico: la petición llegó bien, pero algo reventó al procesarla. En WordPress, “algo” es casi siempre PHP: un código que lanza un error fatal, un archivo de configuración del servidor con una instrucción inválida o un proceso que agota los recursos asignados.
Las causas, ordenadas de más a menos frecuentes:
- Un plugin o tema con un error fatal, normalmente tras una actualización o una instalación nueva.
- Un archivo
.htaccesscorrupto o con reglas incompatibles, a menudo escrito por algún plugin de seguridad o caché. - Límite de memoria PHP agotado: la web necesita más memoria de la que el hosting asigna a cada proceso.
- Versión de PHP incompatible con algún plugin o tema (demasiado nueva para código antiguo, o demasiado antigua para código moderno).
- Actualización interrumpida del núcleo, que deja la instalación en modo mantenimiento o con archivos a medias.
- Archivos del núcleo dañados o permisos incorrectos, menos habitual pero posible tras migraciones o hackeos.
Antes de tocar nada: si el error apareció justo después de hacer algo concreto (instalar un plugin, actualizar el tema, pegar código en functions.php), ya tienes al sospechoso número uno. Deshaz ese cambio y probablemente termines aquí.
Paso 0: consulta el registro de errores
El camino rápido hacia el diagnóstico es leer el log de errores, donde PHP deja escrito exactamente qué falló y en qué archivo. Tienes dos vías:
El log del hosting
Casi todos los paneles (cPanel, Plesk y propios) tienen una sección de registros o “Errores”. Busca las líneas con la fecha del fallo: un mensaje del tipo PHP Fatal error: ... in /wp-content/plugins/nombre-del-plugin/archivo.php te señala directamente al culpable.
El modo depuración de WordPress
Si puedes editar archivos por SFTP, activa el registro propio de WordPress añadiendo esto a wp-config.php (antes de la línea que dice “That’s all, stop editing”):
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Recarga la página que falla y revisa el archivo wp-content/debug.log. Con el mensaje de error en la mano, los pasos siguientes dejan de ser prueba y error para convertirse en cirugía. Cuando termines, recuerda devolver WP_DEBUG a false.
Solución 1: desactiva los plugins (el sospechoso habitual)
Si el log señala a un plugin, o si no tienes log y quieres empezar por lo más probable, desactiva los plugins. ¿Que no puedes entrar al escritorio porque también da error 500? Se hace igual de fácil por SFTP:
- Conéctate por SFTP y navega hasta
wp-content. - Renombra la carpeta
pluginsaplugins-off. Esto desactiva todos los plugins de golpe sin borrar nada. - Recarga la web. Si vuelve a funcionar, el culpable es un plugin.
- Devuelve el nombre original a la carpeta
plugins. Los plugins seguirán desactivados. - Entra al escritorio y reactívalos de uno en uno, recargando la web tras cada activación, hasta que el error reaparezca: ese es el plugin conflictivo.
Con el culpable identificado, elimínalo o busca una actualización que corrija el fallo. Si es un plugin esencial para tu web, contacta con su soporte adjuntando la línea del log; es la información que necesitan para arreglarlo. El mismo procedimiento sirve para el tema: renombra su carpeta dentro de wp-content/themes y WordPress caerá al tema por defecto.
Solución 2: regenera el archivo .htaccess
El .htaccess es un archivo de configuración de Apache que vive en la raíz de la instalación. Plugins de seguridad, caché y redirecciones escriben en él, y una sola línea inválida provoca un error 500 inmediato en toda la web.
- Por SFTP, localiza el archivo
.htaccessen la raíz (activa la vista de archivos ocultos si no lo ves). - Renómbralo a
.htaccess-viejoy recarga la web. - Si la web revive, el problema estaba ahí. Entra en Ajustes → Enlaces permanentes y pulsa Guardar cambios: WordPress generará un
.htaccesslimpio.
El contenido estándar que WordPress escribe es este; cualquier cosa fuera de este bloque la ha añadido un plugin o una persona:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Solución 3: amplía el límite de memoria PHP
Cada proceso PHP tiene un tope de memoria asignado. Si tu web (o un plugin glotón) lo supera, el proceso muere y el servidor devuelve un 500. El log lo delata con mensajes tipo Allowed memory size of X bytes exhausted. La solución rápida es ampliar el límite desde wp-config.php:
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
Ten en cuenta que el hosting impone su propio techo: si su límite global es 128M, declarar 256M no servirá y tendrás que subirlo desde el panel del hosting o su archivo php.ini. El proceso completo, con las tres vías posibles, lo explicamos en detalle en cómo aumentar el límite de memoria PHP en WordPress.
Solución 4: revisa la versión de PHP
Un salto de versión de PHP (por ejemplo, cuando el hosting actualiza automáticamente) puede romper plugins o temas antiguos que usan funciones eliminadas; y al revés, un plugin moderno puede exigir una versión superior a la instalada. El log mostrará errores fatales de funciones inexistentes o incompatibilidades de sintaxis.
Desde el panel del hosting puedes cambiar la versión de PHP en un desplegable. Como diagnóstico, prueba la versión inmediatamente anterior a la actual: si el error desaparece, ya sabes que hay código incompatible con la nueva. La estrategia correcta a medio plazo no es quedarse en una versión antigua (pierdes seguridad y velocidad), sino actualizar o sustituir el código incompatible y volver a una versión moderna, algo que además tiene premio en rendimiento como vimos al hablar de acelerar WordPress con ajustes de PHP.
Otras causas: actualizaciones a medias y archivos dañados
Actualización interrumpida
Si el error apareció durante una actualización del núcleo, de un tema o de un plugin, puede que la instalación se quedara bloqueada en modo mantenimiento. Busca en la raíz un archivo llamado .maintenance y bórralo. Si el problema persiste, repite la actualización subiendo los archivos manualmente.
Núcleo dañado
Tras un hackeo o una transferencia de archivos incompleta, el núcleo puede quedar corrupto. La solución es reinstalarlo sin tocar tu contenido: descarga WordPress desde es.wordpress.org y sube por SFTP las carpetas wp-admin y wp-includes y los archivos de la raíz, sin sobrescribir jamás wp-content ni wp-config.php. Si sospechas de un hackeo, no te quedes en el parche: sigue nuestra guía para detectar y limpiar tu WordPress tras un ataque.
Permisos incorrectos
Los permisos estándar son 755 para carpetas y 644 para archivos. Valores exóticos (como 777, o archivos sin permiso de lectura) pueden provocar errores 500 en algunos servidores. Casi todos los clientes SFTP permiten corregirlos de forma recursiva.
Cómo prevenir el próximo error 500 en WordPress
- Copia de seguridad automática y externa. Con un respaldo reciente, cualquier error 500 se convierte en una molestia menor en lugar de una crisis.
- Actualiza por tandas y con cabeza. No actualices diez plugins a la vez: hazlo por grupos pequeños y comprueba la web después de cada tanda, para poder señalar al culpable si algo falla.
- Usa un entorno de pruebas. Muchos hostings ofrecen staging con un clic: prueba ahí las actualizaciones grandes antes de pasarlas a producción.
- Mantén pocos plugins y de calidad. Cada plugin es código de terceros ejecutándose en tu servidor; menos piezas, menos papeletas. Los plugins esenciales para principiantes bien elegidos cubren casi todo.
- Vigila los recursos. Si los errores de memoria se repiten aunque subas el límite, tu web ha superado a tu hosting: toca plan superior o proveedor mejor.
Preguntas frecuentes
¿El error 500 de WordPress borra mi contenido?
No. Es un fallo de ejecución del servidor: la base de datos con tus entradas, páginas y ajustes permanece intacta. En cuanto se corrige la causa (plugin, .htaccess, memoria…), la web vuelve exactamente como estaba.
¿Por qué tengo error 500 solo en el escritorio (wp-admin) y la web se ve bien?
Suele ser un plugin que solo se ejecuta en la administración, o el límite de memoria: el escritorio consume más recursos que la parte pública. Aplica los mismos pasos (desactivar plugins por SFTP y ampliar memoria) y revisa el log para confirmar.
¿Cuánto afecta al SEO un error 500?
Un error puntual de minutos u horas no tiene impacto apreciable: Google reintenta más tarde. Si el error se prolonga días, los resultados pueden empezar a desaparecer del índice. Por eso conviene diagnosticar pronto y, si no lo resuelves tú, escalar al soporte del hosting sin dejarlo enquistarse.
¿Y si nada de esto funciona?
Contacta con el soporte de tu hosting con datos concretos: hora exacta del fallo, qué hiciste antes y qué has probado ya. Ellos ven logs del servidor que tú no puedes consultar (procesos matados, límites globales, fallos de infraestructura). Y si tienes copia de seguridad reciente, restaurarla es siempre una salida digna mientras se investiga la causa.
Conclusión
El error 500 WordPress intimida por su ambigüedad, pero se rinde ante un método ordenado: leer el log para saber qué falló, desactivar plugins por SFTP, regenerar el .htaccess, ampliar la memoria PHP y revisar la versión de PHP. Con esos cinco movimientos se resuelve la inmensa mayoría de los casos, casi siempre en menos de media hora y sin tocar una línea de código. La diferencia entre quien sufre estos errores y quien los despacha con rutina no es el nivel técnico, sino tener el procedimiento claro y una copia de seguridad reciente que quita todo el dramatismo al asunto. Guarda esta guía para el próximo susto: la próxima vez que el servidor te salude con un 500, sabrás exactamente por dónde empezar.