Cómo solucionar error 500 en WordPress (cPanel/Plesk)
¡Vaya! Ver el temido error 500 en tu web WordPress puede ser frustrante, sobre todo si no eres experto en hosting. Este error es un "error interno del servidor", lo que significa que algo está roto en la configuración de tu web o del servidor, pero no te da una pista clara de qué es.
No te preocupes. Como técnico de soporte, te guiaré paso a paso para que puedas solucionar el error 500 en WordPress usando herramientas que tienes a mano en cPanel o Plesk. También veremos cómo actuar si tu panel es Syspanel (HestiaCP). Vamos a ello.
¿Qué es el error 500 y por qué aparece?
El error 500 es un mensaje genérico que indica que el servidor encontró un problema inesperado y no pudo completar tu solicitud. Las causas más comunes en WordPress son:
- Un plugin o tema defectuoso (la causa más frecuente).
- El archivo .htaccess corrupto.
- Límite de memoria PHP agotado.
- Permisos de archivos incorrectos.
- Problemas con el archivo wp-config.php.
- Error en la base de datos.
Lo bueno es que, en la mayoría de los casos, tú mismo puedes resolverlo sin necesidad de contactar al soporte técnico. Solo necesitas acceso a tu panel de hosting (cPanel, Plesk o Syspanel) y seguir estos pasos.
[INFO] Antes de empezar, si tu panel es Syspanel (HestiaCP), recuerda que el acceso es por el puerto 2106 (ejemplo:
tudominio.com:2106). Los pasos son muy similares a cPanel, pero la interfaz varía un poco.
Paso 1: Habilita la depuración de WordPress (Debug Mode)
Lo primero es hacer que WordPress te muestre el error real. Por defecto, el error 500 oculta los detalles. Activar el modo debug te dará una pista exacta del problema.
¿Cómo hacerlo?
- Accede a tu panel de hosting (cPanel, Plesk o Syspanel) y abre el Administrador de Archivos.
- Navega hasta la carpeta raíz de tu WordPress (normalmente
public_htmlowww). - Busca el archivo wp-config.php y haz clic derecho para Editarlo.
- Busca la línea que dice:
define('WP_DEBUG', false); - Cámbiala por:
Si no existe esa línea, pégala justo antes de la línea que dicedefine('WP_DEBUG', true); define('WP_DEBUG_DISPLAY', true);/* That's all, stop editing! */. - Guarda el archivo. Ahora, al recargar tu web, en lugar del error 500, verás un mensaje de error específico (por ejemplo, "Error de análisis: error de sintaxis..." o "Llamada a función indefinida...").
[WARNING] Una vez que tengas el mensaje de error, vuelve a poner
falseen esas líneas. Dejar el debug activo en un sitio en producción puede exponer información sensible a los visitantes.
Si ves un error de sintaxis (por ejemplo, en un plugin), ya sabes qué archivo está causando el problema. Puedes desactivar ese plugin renombrando su carpeta (lo veremos más adelante). Si no ves ningún error, continúa con el siguiente paso.
Paso 2: Desactiva todos los plugins (la solución más común)
Un plugin incompatible o mal actualizado es el culpable en el 80% de los casos. Vamos a desactivarlos todos de golpe desde el servidor, sin necesidad de acceder al panel de administración de WordPress (que seguramente tampoco funciona).
En cPanel o Plesk:
- Ve al Administrador de Archivos.
- Entra en la carpeta
wp-content. - Busca la carpeta plugins.
- Renómbrala a algo como
plugins_desactivadosoplugins.old. (No la borres, solo cámbiale el nombre). - Recarga tu web. Si el error desaparece, el problema está en uno de los plugins que tenías.
¿Cómo identificar el plugin problemático?
- Vuelve a renombrar la carpeta a
plugins(su nombre original). - Ahora, desde el panel de administración de WordPress (si ya puedes acceder), ve a Plugins.
- Ve activándolos uno por uno y recargando tu web después de cada activación. Cuando el error 500 vuelva a aparecer, ¡ese es el plugin malo! Desactívalo y busca una alternativa o contacta al desarrollador.
[TIP] Si no puedes acceder al panel de admin (wp-admin), puedes desactivar plugins desde el Administrador de Archivos renombrando la carpeta del plugin sospechoso dentro de
wp-content/plugins. Por ejemplo, cámbiale el nombre anombre-plugin-desactivado.
Paso 3: Restaura el tema por defecto
Si desactivar los plugins no solucionó el error, el problema podría estar en tu tema activo.
Para cambiar el tema desde el servidor:
- Ve al Administrador de Archivos.
- Navega a
wp-content/themes. - Verás una carpeta con el nombre de tu tema actual (ej.
mi-tema-personalizado). - Renómbrala a
mi-tema-personalizado_desactivado. - WordPress, al no encontrar el tema, activará automáticamente uno de los temas por defecto (Twenty Twenty-Four, Twenty Twenty-Three, etc.).
- Recarga tu web. Si funciona, el problema es de tu tema. Puedes reinstalarlo o contactar al desarrollador.
Paso 4: Revisa el archivo .htaccess
Un archivo .htaccess corrupto puede causar un error 500. Este archivo controla las reglas de reescritura de URLs y otras configuraciones del servidor.
Cómo solucionarlo:
- En el Administrador de Archivos, asegúrate de mostrar archivos ocultos (suele haber un botón "Mostrar archivos ocultos" o "Configuración").
- Busca el archivo .htaccess en la raíz de tu WordPress.
- Renómbralo a
.htaccess_old(nunca lo borres sin hacer copia). - Recarga tu web. Si el error 500 desaparece, el
.htaccessestaba dañado. - Ahora, ve a Ajustes > Enlaces permanentes en tu panel de WordPress y haz clic en Guardar cambios. Esto generará un nuevo
.htaccesslimpio.
[WARNING] Si no puedes acceder a wp-admin, puedes crear un
.htaccessnuevo manualmente. Crea un archivo vacío llamado.htaccessy pégalo dentro:# BEGIN WordPress 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] # END WordPress
Paso 5: Aumenta el límite de memoria PHP
Si tu web usa muchos recursos, puede que el límite de memoria PHP sea insuficiente y cause el error 500. Esto es común en sitios con muchos plugins o con WooCommerce.
En cPanel:
- Busca la sección Software y haz clic en Seleccionar versión de PHP (o "MultiPHP Manager").
- Haz clic en Opciones o Switch to PHP Options.
- Busca
memory_limity cámbialo a un valor más alto, por ejemplo256Mo512M. También puedes subirmax_execution_timea300yupload_max_filesizea64M. - Guarda los cambios. Recarga tu web.
En Plesk:
- Ve a Hosting & DNS > Configuración de Hosting.
- Busca la sección Configuración de PHP.
- Ajusta el
memory_limita256Mo más. - Haz clic en Aceptar.
En Syspanel (HestiaCP):
- Accede por el puerto 2106.
- Ve a Ajustes > Configuración de PHP.
- Aumenta el
memory_limity guarda.
Si no tienes acceso a estas opciones, puedes intentar añadir esta línea al archivo wp-config.php (justo antes del "That's all..."):
define('WP_MEMORY_LIMIT', '256M');
Paso 6: Revisa los permisos de archivos y carpetas
Los permisos incorrectos pueden impedir que WordPress lea o escriba archivos, provocando un error 500. Los permisos estándar seguros son:
- Carpetas: 755
- Archivos: 644
Cómo corregirlos en cPanel/Plesk:
- En el Administrador de Archivos, selecciona toda la carpeta raíz de tu web.
- Haz clic derecho y elige Cambiar permisos.
- Marca las casillas para 755 en directorios y 644 en archivos. Algunos paneles tienen una opción para "Aplicar a subdirectorios". Actívala.
- Aplica los cambios.
[INFO] Si tu web usa Syspanel, la opción suele estar en "Herramientas > Permisos de archivos".
Paso 7: Verifica la base de datos
Una base de datos corrupta también puede dar error 500. La mayoría de paneles tienen una herramienta para repararla.
En cPanel:
- Busca la sección Bases de Datos y haz clic en phpMyAdmin.
- Selecciona tu base de datos de WordPress (la que aparece en tu
wp-config.php). - Marca la casilla Seleccionar todo (en la parte inferior de la lista de tablas).
- En el menú desplegable, elige Reparar tabla.
En Plesk:
- Ve a Bases de Datos, selecciona tu base de datos y haz clic en phpMyAdmin.
- Sigue los mismos pasos que en cPanel.
En Syspanel (HestiaCP):
- Ve a Bases de Datos y haz clic en el icono de phpMyAdmin.
- Procede igual.
Paso 8: Revisa los logs del servidor (para técnicos)
Si nada de lo anterior funciona, el error está en un nivel más profundo. Los logs del servidor son el último recurso.
En cPanel:
- Busca la sección Métricas y haz clic en Errores o Error Log.
- Busca la entrada más reciente con la hora en que viste el error 500. Te dará una pista como "Allowed memory size exhausted" o "Premature end of script headers".
En Plesk:
- Ve a Sitios web y dominios.
- Haz clic en Registros (Logs) para tu dominio.
- Busca el archivo
error_logmás reciente.
En Syspanel (HestiaCP):
- Ve a Registros > Registro de errores.
- También puedes consultar el archivo
/var/log/httpd/domains/tudominio.error.logsi tienes acceso SSH.
Preguntas Frecuentes (FAQ)
¿Qué hago si no puedo acceder ni al panel de hosting?
Si no tienes acceso a cPanel, Plesk o Syspanel, contacta a tu proveedor de hosting inmediatamente. Ellos pueden verificar los logs del servidor y solucionar el problema desde su lado (por ejemplo, si el servidor está caído o hay un error de configuración global).
¿El error 500 puede deberse a un ataque?
Sí, un ataque de fuerza bruta o un malware puede modificar archivos clave y causar un error 500. Si después de seguir estos pasos el error persiste, escanea tu web con un plugin de seguridad (si puedes acceder) o pide a tu hosting que lo revise.
¿Por qué aparece solo en algunas páginas?
Si el error 500 aparece solo en una página específica (por ejemplo, en el carrito de WooCommerce), el problema suele ser un plugin o un fragmento de código en esa página. Prueba a desactivar plugins relacionados con esa funcionalidad.
¿Debo borrar la carpeta plugins o solo renombrarla?
Nunca la borres. Renombrarla es seguro y te permite restaurarla fácilmente. Si la borras, perderás todos los plugins instalados (aunque no los datos, solo los archivos).
¿Cuánto tiempo se tarda en solucionar?
Depende de la causa. Si es un plugin, en 5 minutos lo tienes. Si es un problema de servidor, puede llevar horas si tienes que esperar al soporte técnico. Con esta guía, la mayoría de los casos se resuelven en menos de 15 minutos.
Resumen rápido para solucionar el error 500 en WordPress
- Activa el debug en
wp-config.phppara ver el error real. - Desactiva todos los plugins renombrando la carpeta
plugins. - Cambia al tema por defecto renombrando la carpeta de tu tema.
- Renombra el .htaccess y luego regenéralo.
- Aumenta el límite de memoria PHP desde tu panel.
- Corrige los permisos de archivos (755/644).
- Repara la base de datos desde phpMyAdmin.
- Revisa los logs del servidor si todo lo demás falla.
[TIP] Si después de todo sigues con el error, contacta al soporte de tu hosting. Diles que ya has seguido estos pasos y pídeles que revisen los logs del servidor a nivel de sistema. Ellos podrán ver si es un problema de configuración del servidor (como un módulo de PHP deshabilitado).
Espero que esta guía te haya sido de ayuda. Recuerda que, como técnico de soporte, mi objetivo es que puedas solucionar el error 500 en hosting por ti mismo la próxima vez. ¡Buena suerte!
