Solucionar error 500 Internal Server Error en WordPress (cPanel/Plesk)
¡Hola! Si estás leyendo esto, seguramente te has encontrado con el temido error 500 Internal Server Error en tu sitio WordPress. No te preocupes, es uno de los problemas más comunes en el hosting y, aunque parece grave, en la mayoría de los casos tiene una solución sencilla que puedes aplicar tú mismo.
En esta guía extensa y paso a paso, vamos a desglosar cómo solucionar el error 500 en WordPress, tanto si tu hosting usa cPanel como si usa Plesk. Vamos a ir desde lo más básico (y que menos miedo da) hasta lo más técnico, explicando cada paso con cariño y sin tecnicismos innecesarios.
Respira hondo. Vamos a arreglar tu web.
¿Qué significa exactamente el error 500?
Antes de ponernos manos a la obra, es importante entender qué está pasando. El error 500 WordPress es un error genérico del servidor. Básicamente, le está diciendo a tu navegador: "He intentado cargar la página, pero algo ha salido mal en mi interior y no puedo completar la tarea".
No te dice qué está mal, solo que algo está mal. Es como si tu coche no arrancara; podría ser la batería, el motor de arranque o que te has quedado sin gasolina. Nuestra misión es ir descartando posibilidades hasta encontrar la culpable.
Las causas más habituales suelen ser:
- Un archivo
.htaccesscorrupto. - Un plugin o tema con errores de código.
- Falta de memoria PHP (límite de memoria agotado).
- Permisos de archivos incorrectos.
- Un error de sintaxis en el archivo
wp-config.php. - Problemas con la versión de PHP (a veces una actualización la rompe).
Vamos a atacar cada una de estas causas en orden de probabilidad y facilidad.
Fase 1: Los Primeros Auxilios (Antes de Entrar al Panel)
A veces, la solución es más tonta de lo que pensamos. Antes de tocar archivos, prueba estos dos trucos rápidos.
1. Recarga la página (Sí, en serio)
Suena ridículo, pero un error 500 puede ser un fallo puntual del servidor. Un plugin hizo un amago y se quedó a medias, o el servidor estaba sobrecargado por un segundo.
- Acción: Pulsa
F5en tu navegador o haz una recarga forzada conCtrl + F5(Windows) oCmd + Shift + R(Mac). - Resultado: Si la página carga, ¡enhorabuena! Era un susto puntual. Si sigue el error, continuamos.
2. Borra la caché de tu navegador
A veces el navegador guarda una "foto" de la página con el error. Borrar la caché puede hacer que pida la versión buena al servidor.
- Acción: Ve a la configuración de tu navegador y borra el historial y la caché (solo desde el principio de los tiempos, no hace falta borrar contraseñas).
- Resultado: Si no funciona, seguimos con el plan.
Fase 2: El Sospechoso Habitual (El Archivo .htaccess)
Este archivo es el "director de orquesta" de Apache (el software del servidor). Si está dañado o tiene una línea mal escrita, todo el concierto se va al traste. Es la causa número uno de los errores 500 en WordPress.
¿Cómo lo arreglamos? Vamos a hacer que WordPress lo regenere desde cero. Necesitamos acceso a los archivos.
Usando cPanel (File Manager)
- Entra a cPanel: Accede con tus credenciales (normalmente
tudominio.com/cPanel). - Busca "Administrador de archivos" (File Manager): Suele estar en la sección "Archivos".
- Navega a
public_html: Esta es la carpeta raíz de tu sitio web. A veces tu WordPress está en una subcarpeta (ej.public_html/blog), pero lo normal es que esté directamente enpublic_html. - Activa "Mostrar archivos ocultos": En la esquina superior derecha del Administrador de archivos, hay un botón llamado "Configuración" o "Ajustes". Márcalo para ver los archivos ocultos (los que empiezan con un punto). Esto es crucial.
- Busca el archivo
.htaccess: Ahora deberías verlo. Si no lo ves, es que no existe (a veces pasa). - Renómbralo: Haz clic derecho sobre él y elige "Renombrar". Cámbiale el nombre a
.htaccess_viejoo.htaccess.bak. No lo borres todavía, solo renómbralo. - Recarga tu web: Ve a tu sitio y pulsa
F5. - Resultado:
- Si se arregló, entonces ese era el problema. WordPress creará un nuevo
.htaccessautomáticamente en unos segundos. Ya puedes borrar el archivo.htaccess_viejosi quieres. - Si sigue el error, no pasa nada. Ve al archivo que renombraste y vuelve a ponerle su nombre original (
.htaccess) para no dejar el sitio en un estado raro. Continúa con la siguiente fase.
- Si se arregló, entonces ese era el problema. WordPress creará un nuevo
Usando Plesk (Administrador de Archivos)
- Entra a Plesk: Accede con tus credenciales (normalmente
tudominio.com:8443). - Ve a "Sitios web y dominios": En el menú lateral izquierdo.
- Haz clic en "Administrador de archivos": Está en la fila de tu dominio.
- Navega a
httpdocs: Esta es la carpeta equivalente apublic_htmlen Plesk. - Activa "Mostrar archivos ocultos": Busca el icono de engranaje o configuración y activa la opción para ver los archivos que empiezan por punto.
- Repite los pasos 5 al 8 de la sección de cPanel: Renombra el
.htaccess, prueba tu web y revierte el cambio si no funciona.
[TIP]: Si no encuentras el archivo .htaccess después de activar los archivos ocultos, no te preocupes. A veces no existe. Pasa directamente a la siguiente fase, que es la más común.
Fase 3: El Conflicto de Plugins o Temas (La Causa Más Frecuente)
Un plugin o tema con un error de programación es el culpable más habitual del error 500 WordPress. Imagina que un plugin intenta hacer algo que el servidor no le permite; el servidor se bloquea y te muestra el error.
La idea es desactivar todos los plugins y volver a un tema por defecto para ver si el error desaparece. No podemos hacerlo desde el escritorio de WordPress (porque no carga), así que lo haremos por FTP o por el administrador de archivos del panel.
Método FTP (FileZilla o similar) o Administrador de Archivos
Este método es universal, tanto para cPanel como para Plesk. La idea es renombrar la carpeta de los plugins para que WordPress "no los vea" y se desactiven solos.
- Accede a tus archivos: Usa un cliente FTP (como FileZilla) o el Administrador de archivos de tu panel (como hicimos antes).
- Ve a
wp-content: Dentro de la carpeta raíz de tu WordPress (public_htmlohttpdocs), busca la carpeta llamadawp-content. - Dentro de
wp-content, busca la carpetaplugins. - Renombra la carpeta
plugins: Este es el truco. Cámbiale el nombre a algo comoplugins_desactivados. - Recarga tu web:
- Si se arregla, entonces el conflicto estaba en uno de los plugins. Ahora, renombra la carpeta de nuevo a
plugins. Después, entra a tu escritorio de WordPress (tudominio.com/wp-admin). Verás que todos los plugins están desactivados. Ve activándolos uno a uno, recargando tu web después de cada activación, hasta encontrar el que da el error. Cuando lo encuentres, bórralo o busca una alternativa. - Si sigue el error, el problema no son los plugins. Renombra la carpeta a
pluginsotra vez y pasamos a la siguiente prueba.
- Si se arregla, entonces el conflicto estaba en uno de los plugins. Ahora, renombra la carpeta de nuevo a
¿Y si el problema es el tema?
Si desactivar los plugins no funciona, el siguiente paso es el tema.
- Ve a
wp-contenty luego athemes. - Ahora, renombra la carpeta de tu tema activo. Por ejemplo, si tu tema se llama
mi-tema-hermoso, cámbiale el nombre ami-tema-hermoso_desactivado. - Recarga tu web: WordPress, al no encontrar tu tema, usará uno por defecto (como Twenty Twenty-Four).
- Resultado:
- Si se arregla, tu tema es el problema. Puedes intentar actualizarlo, contactar al desarrollador o, como solución rápida, cambiar a otro tema desde el escritorio (ya podrás entrar) y luego volver a activar el tuyo si crees que fue un fallo puntual.
- Si sigue el error, el problema es más profundo. Renombra tu tema a su nombre original y continúa.
[WARNING]: Al renombrar carpetas, asegúrate de no equivocarte de nombre. Si renombras wp-content en vez de plugins, romperás todo. ¡Ve con calma y verifica dos veces!
Fase 4: Aumentar el Límite de Memoria PHP
WordPress necesita un mínimo de memoria para funcionar. Si un plugin o una página muy pesada requiere más memoria de la que el servidor permite por defecto, se produce el error 500.
Solución: Editar el archivo wp-config.php para pedir más memoria.
- Ve a la raíz de tu WordPress: Busca el archivo
wp-config.php(otra vez, enpublic_htmlohttpdocs). - Descárgalo y edítalo: Usa el editor de texto de tu panel o descárgalo, edítalo con un editor de texto como Notepad++ o Sublime Text, y súbelo de nuevo.
- Añade esta línea: Justo antes de la línea que dice
/* ¡Eso es todo, deja de editar! ¡Feliz blogging! */, pega esta línea:
define('WP_MEMORY_LIMIT', '256M');
- Guarda y sube el archivo: Si lo editaste localmente, súbelo reemplazando el original.
- Recarga tu web.
[TIP]: Si no te atreves a tocar el código, no pasa nada. Este cambio es muy seguro y está recomendado por WordPress. Solo estamos pidiendo al servidor permiso para usar más memoria.
Fase 5: Revisar los Permisos de Archivos y Carpetas
Los permisos son como las llaves de tu casa. Si el servidor no tiene la llave correcta para leer un archivo, no puede ejecutarlo y te da el error.
¿Cómo deben ser los permisos?
- Carpetas:
755(o750en algunos servidores más estrictos). - Archivos:
644(o640).
¿Cómo lo compruebo?
- En cPanel (Administrador de archivos): Selecciona un archivo o carpeta, haz clic derecho y elige "Permisos" o "Cambiar permisos". Verás una ventana con casillas. Asegúrate de que las marcas correspondan a
755para carpetas y644para archivos. - En Plesk (Administrador de archivos): Haz clic en el archivo o carpeta y busca el icono de "Permisos" en la barra superior.
- Por FTP: Haz clic derecho sobre el archivo/carpeta y selecciona "Permisos de archivo...".
¿Cómo lo arreglo?
- Carpetas: Pon
755. - Archivos: Pon
644.
Atención: No es necesario cambiar los permisos de todos los archivos uno a uno, sería un infierno. Normalmente, el problema está en la carpeta raíz o en la carpeta wp-content. Cambia los permisos de la carpeta wp-content y de la raíz a 755. Si el error persiste, entonces sí, tendrás que revisar archivos específicos, pero es menos común.
[WARNING]: No pongas permisos 777 (lectura, escritura y ejecución para todos). Es un riesgo de seguridad enorme. Usa 755 y 644, que son los estándares seguros.
Fase 6: El Último Recurso (y el Más Aburrido): El Registro de Errores
Si hemos llegado hasta aquí, el problema es más escurridizo. Necesitamos que el servidor nos diga exactamente qué está fallando. Para eso, vamos a activar el registro de errores de WordPress.
- Edita
wp-config.php(sí, otra vez). - Busca la línea
define('WP_DEBUG', false);(o simplementeWP_DEBUG). - Reemplázala con este bloque:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);
- Guarda el archivo.
- Recarga tu web (verás el error 500 de nuevo, no pasa nada).
- Ve a la carpeta
wp-content: Ahora debería haber un archivo llamadodebug.log. Descárgalo o ábrelo. - Lee las últimas líneas: Ahí estará el error exacto. Busca palabras como "PHP Fatal error" o "Parse error". Esa línea te dirá el archivo y la línea exacta donde está el problema.
¿Qué hago con esa información?
- Si el error menciona un plugin (ej.
/plugins/mi-plugin/funciones.php), ya sabes que el plugin es el problema. Bórralo o arréglalo. - Si menciona un tema, es el tema.
- Si menciona
wp-config.php, hay un error de sintaxis en ese archivo.
[INFO]: Cuando termines de arreglar el error, vuelve a poner WP_DEBUG en false y borra el archivo debug.log. Dejar el modo depuración activo en un sitio en producción es un riesgo de seguridad y ralentiza la web.
Fase 7: Soluciones Avanzadas (Cuando Nada de lo Anterior Funciona)
Si aún sigues con el error 500 WordPress, el problema puede estar fuera del alcance de WordPress. Son temas más de servidor.
1. La Versión de PHP
A veces, una actualización de WordPress o de un plugin requiere una versión de PHP más nueva (o más vieja) de la que tienes. Esto puede causar conflictos.
- En cPanel: Busca el icono "Select PHP Version" o "Selector de versión de PHP". Prueba a cambiar a una versión diferente (ej. de PHP 7.4 a PHP 8.0 o viceversa). Guarda los cambios y prueba.
- En Plesk: Ve a "Sitios web y dominios" > tu dominio > "PHP Settings" o "Configuración de PHP". Ahí puedes cambiar la versión.
2. Espacio en Disco o Inodos Agotados
Si tu disco duro está lleno, el servidor no puede escribir archivos temporales y falla.
- En cPanel: Mira el medidor de "Uso de disco" en la página de inicio.
- En Plesk: Ve a "Sitios web y dominios" y mira el indicador de uso.
Si está al 100%, borra archivos temporales, copias de seguridad antiguas o cachés.
3. El Firewall de Seguridad (ModSecurity)
A veces, el firewall del servidor (ModSecurity) bloquea una petición legítima por error, pensando que es un ataque.
- En cPanel: Busca la sección "Métricas" o "Seguridad" y luego "ModSecurity". Si está activado, intenta desactivarlo temporalmente para ver si el error desaparece. Si es así, tendrás que ajustar las reglas (esto ya es más técnico).
- En Plesk: Ve a "Sitios web y dominios" > tu dominio > "Pro
