¿Cómo solucionar el error 500 en WordPress? (cPanel/Plesk/DirectAdmin)
¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a desentrañar uno de los errores más temidos y, a la vez, más comunes en el mundo WordPress: el temido Error 500 o Internal Server Error. No te preocupes, es un problema que tiene solución y, paso a paso, lo resolveremos juntos.
El error 500 en WordPress es un mensaje genérico que indica que algo salió mal en el servidor, pero no nos dice exactamente qué. Es como si tu coche se encendiera la luz de "check engine": sabemos que hay un problema, pero necesitamos hacer un pequeño diagnóstico. Lo bueno es que, siguiendo esta guía, podrás solucionar error 500 incluso si no eres un experto técnico. Vamos a centrarnos en los tres paneles de control de hosting más comunes: cPanel, Plesk y DirectAdmin. También mencionaremos Syspanel (el nuevo nombre de HestiaCP, que accede por el puerto 2106), por si tu hosting lo utiliza.
¿Qué causa el Error 500 en WordPress?
Antes de lanzarnos a las soluciones, es bueno entender por qué ocurre. El Internal Server Error WordPress puede deberse a varias razones, pero las más frecuentes son:
- Un plugin o tema defectuoso: Es la causa más común. Una mala actualización o un plugin incompatible puede romper todo.
- Un archivo .htaccess corrupto: Este archivo es como el director de tráfico de tu web; si se estropea, todo se detiene.
- Límite de memoria PHP agotado: Si tu web necesita más memoria de la que el servidor le permite, se cuelga.
- Problemas con los permisos de archivos: Los archivos y carpetas de tu web necesitan tener los permisos correctos para ser leídos y ejecutados.
- Errores en el archivo wp-config.php: Una configuración incorrecta en este archivo puede provocar el error.
No te asustes con la lista. Vamos a ir probando soluciones de la más simple a la más compleja. La mayoría de las veces, con los primeros pasos lo solucionarás.
Paso 1: La Prueba Rápida (Reiniciamos el Servidor)
A veces, el error es un simple "tropiezo" temporal del servidor. Antes de hacer nada complicado, intenta esto:
- Accede a tu panel de control (cPanel, Plesk, DirectAdmin o Syspanel).
- Busca la opción "Reiniciar Servidor Web" o "Restart Apache" (o Nginx, según tu hosting). En cPanel suele estar en "Software" > "Apache Status" o "Restart Services". En Plesk, en "Herramientas y Ajustes" > "Servicios". En DirectAdmin, en "Admin Tools" > "Services".
- Haz clic en reiniciar y espera unos segundos.
- Recarga tu web. ¿Sigue el error? Pasa al siguiente paso.
Si no encuentras la opción, no te preocupes. Muchas veces el error se soluciona con los pasos siguientes.
[TIP] Si tu hosting usa Syspanel (HestiaCP), accede a través de
https://tudominio.com:2106y busca en la sección "Servicios" la opción de reiniciar Apache o Nginx. Es muy similar a los demás paneles.
Paso 2: Desactivar Plugins y Temas (El Método Más Efectivo)
Esta es la solución más común para solucionar error 500. Lo haremos de dos formas: a través del panel de control (sin necesidad de entrar a WordPress) y, si eso no funciona, mediante FTP.
Opción A: Desactivar plugins desde el panel de control (cPanel/Plesk/DirectAdmin/Syspanel)
- Accede a tu panel de control y busca el Administrador de Archivos (File Manager). En cPanel está en "Archivos" > "Administrador de Archivos". En Plesk, en "Sitios web y dominios" > "Administrador de Archivos". En DirectAdmin, en "Administrador de Archivos". En Syspanel, en "Avanzado" > "Administrador de Archivos".
- Dentro del Administrador de Archivos, navega a la carpeta de tu web (normalmente
public_htmlohttpdocs). - Busca la carpeta
wp-contenty ábrela. - Dentro de
wp-content, busca la carpetaplugins. - Renombra la carpeta
pluginsa algo comoplugins_desactivadosoplugins.old. Esto desactivará todos los plugins a la vez. - Ahora, intenta acceder a tu web. Si el error desaparece, ¡genial! El problema está en uno de los plugins.
- Para identificar cuál es: Vuelve a renombrar la carpeta a
plugins(su nombre original). Luego, dentro de la carpetaplugins, ve renombrando las carpetas de los plugins una por una (ponles un_al inicio, por ejemplo_akismet). Cada vez que renombres una, prueba tu web. Cuando el error vuelva a aparecer, ese es el plugin problemático. Elimínalo o actualízalo.
Opción B: Desactivar el tema desde el panel de control
Si desactivar los plugins no funcionó, el problema podría ser el tema.
- En la misma carpeta
wp-content, busca la carpetathemes. - Renombra la carpeta de tu tema activo (por ejemplo, si usas "twentytwentyfour", renómbrala a
twentytwentyfour_desactivado). - WordPress automáticamente usará un tema por defecto (como Twenty Twenty-Three o Twenty Twenty-Four).
- Recarga tu web. Si funciona, el tema es el culpable. Actualízalo o cámbialo.
[WARNING] Si renombras la carpeta del tema y el error persiste, no te preocupes. El tema por defecto debería estar presente. Si no lo está, puedes descargarlo desde wordpress.org y subirlo por FTP.
Paso 3: Restaurar el Archivo .htaccess
El archivo .htaccess es un archivo oculto que controla las reglas de reescritura de URLs. Si se corrompe, provoca el Internal Server Error WordPress.
-
Desde el Administrador de Archivos de tu panel de control, asegúrate de tener activada la opción "Mostrar archivos ocultos" (en cPanel suele ser un checkbox). El archivo
.htaccessestá en la raíz de tu web (normalmente enpublic_html). -
Renombra el archivo
.htaccessa.htaccess_old(o.htaccess.bak). Esto lo desactivará. -
Recarga tu web. Si funciona, el problema era el
.htaccess. -
Para generar uno nuevo:
- Ve a Ajustes > Enlaces permanentes en tu escritorio de WordPress (si puedes acceder).
- Simplemente haz clic en "Guardar cambios" sin modificar nada. WordPress generará un nuevo
.htaccessautomáticamente. - Si no puedes acceder a WordPress, puedes crear un
.htaccessmanualmente. Copia y pega este código en un bloc de notas, guárdalo como.htaccess(sin extensión .txt) y súbelo a la raíz de tu web:
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
[INFO] Si usas un hosting con Syspanel, el proceso es exactamente el mismo. El archivo
.htaccesstambién está en la raíz de tu web, dentro depublic_html.
Paso 4: Aumentar el Límite de Memoria PHP
A veces, tu web necesita más memoria de la que tiene asignada. Podemos aumentarla fácilmente.
-
Desde el Administrador de Archivos, busca el archivo
wp-config.phpen la raíz de tu web. -
Ábrelo con un editor de texto (clic derecho > Editar o Ver/Editar).
-
Busca la línea que dice
define('WP_MEMORY_LIMIT', '64M');o similar. Si no existe, la añadiremos. -
Justo antes de la línea que dice
/* That's all, stop editing! Happy blogging. */, añade esta línea:define('WP_MEMORY_LIMIT', '256M'); -
Guarda el archivo y recarga tu web.
Si no tienes acceso al archivo wp-config.php o prefieres hacerlo desde el panel de control, también puedes hacerlo desde cPanel (en "Software" > "Seleccionar versión de PHP" > "Opciones" y buscar memory_limit), Plesk (en "Sitios web y dominios" > "Configuración de PHP" > "Opciones" > memory_limit), DirectAdmin (en "Configuración de PHP" > "Opciones" > memory_limit) o Syspanel (en "Avanzado" > "Configuración de PHP" > "Opciones" > memory_limit). En todos ellos, cambia el valor a 256M o 512M.
[WARNING] No aumentes la memoria a valores excesivos (como 2GB) a menos que tu hosting lo permita. 256M suele ser suficiente para la mayoría de los sitios.
Paso 5: Verificar los Permisos de Archivos y Carpetas
Los archivos y carpetas de tu web deben tener permisos específicos para funcionar correctamente. Si están mal, pueden causar el error.
- Desde el Administrador de Archivos, selecciona la carpeta raíz de tu web (normalmente
public_htmlohttpdocs). - Busca la opción "Permisos" o "Cambiar permisos" (suele estar en el menú superior o al hacer clic derecho).
- Los permisos correctos son:
- Carpetas: 755 (o 750 en algunos servidores más estrictos).
- Archivos: 644 (o 640).
- El archivo
wp-config.php: 600 o 644 (nunca 777).
- Puedes aplicar los permisos de forma recursiva a todas las carpetas y archivos (marca la opción "Recursivo" o "Aplicar a subcarpetas y archivos").
- Espera a que termine el proceso y recarga tu web.
[TIP] Si no estás seguro de qué permisos poner, empieza con 755 para carpetas y 644 para archivos. Es la configuración más estándar y segura.
Paso 6: Revisar el Archivo wp-config.php
Un error de sintaxis en el archivo wp-config.php puede provocar el error 500.
- Abre el archivo
wp-config.phpdesde el Administrador de Archivos. - Verifica que no haya espacios en blanco al principio o al final del archivo (antes de
<?phpy después del último?>si lo tiene). Lo ideal es que no tenga la etiqueta de cierre?>. - Revisa que las líneas de configuración de la base de datos (
DB_NAME,DB_USER,DB_PASSWORD,DB_HOST) sean correctas. Si has cambiado la contraseña de la base de datos recientemente, este podría ser el problema. - Guarda los cambios y recarga la web.
Paso 7: Activar el Modo Debug de WordPress (Para Usuarios Avanzados)
Si ninguno de los pasos anteriores funcionó, podemos activar el modo de depuración de WordPress para obtener un mensaje de error más específico.
-
Abre el archivo
wp-config.php. -
Busca la línea
define('WP_DEBUG', false);y cámbiala a:define('WP_DEBUG', true); -
Justo debajo, añade estas líneas para que los errores se muestren en pantalla:
define('WP_DEBUG_DISPLAY', true);
define('WP_DEBUG_LOG', false); -
Guarda el archivo y recarga la web. Ahora, en lugar del error 500, verás un mensaje de error específico (por ejemplo, "Fatal error: Call to undefined function...").
-
Anota ese mensaje y búscalo en Google o en los foros de WordPress. Te dará la pista exacta del problema.
-
Una vez solucionado, no olvides volver a poner
WP_DEBUGafalsepara que tu web no muestre errores a los visitantes.
[WARNING] Nunca dejes el modo debug activado en un sitio en producción. Solo úsalo para diagnosticar y luego desactívalo.
Preguntas Frecuentes (FAQ)
P: ¿El error 500 puede deberse a un ataque de hackers?
R: Sí, es posible. Un hacker puede modificar archivos o inyectar código malicioso que rompa tu web. Si sospechas de esto, revisa los archivos de tu web en busca de código extraño (especialmente en wp-config.php, functions.php y la carpeta plugins). También puedes instalar un plugin de seguridad como Wordfence (aunque tendrías que acceder a WordPress primero).
P: ¿Qué hago si no tengo acceso al panel de control (cPanel, Plesk, etc.)?
R: Si no tienes acceso al panel de control, deberás contactar con tu proveedor de hosting. Ellos podrán ayudarte a diagnosticar el problema desde su lado. Si tienes acceso por FTP, puedes intentar los pasos 2, 3, 4 y 5 usando un cliente FTP como FileZilla.
P: ¿El error 500 puede deberse a un problema con el certificado SSL?
R: No directamente. Un problema con el SSL suele mostrar otros errores (como "ERR_SSL_PROTOCOL_ERROR" o "Your connection is not private"). Sin embargo, una mala configuración del SSL podría, en casos muy raros, causar un error 500 si interfiere con la reescritura de URLs.
P: ¿Cómo puedo prevenir el error 500 en el futuro?
R: Aquí tienes algunos consejos:
- Actualiza siempre WordPress, plugins y temas a sus últimas versiones.
- Haz copias de seguridad periódicas (tu hosting puede ofrecerlas automáticamente).
- No instales plugins de fuentes dudosas.
- Aumenta el límite de memoria PHP de forma preventiva (como vimos en el paso 4).
- Mantén un tema hijo si personalizas el tema, para que las actualizaciones no borren tus cambios.
P: ¿Y si mi hosting usa Syspanel (HestiaCP)?
R: No te preocupes. Todos los pasos que hemos visto son válidos para Syspanel. El acceso es a través del puerto 2106 (https://tudominio.com:2106). El Administrador de Archivos, la opción de reiniciar servicios y la configuración de PHP se encuentran en lugares similares a los de cPanel o DirectAdmin. Si tienes dudas, consulta la documentación de tu hosting.
Resumen Final
Hemos recorrido un camino paso a paso para solucionar el error 500 en WordPress. Recuerda, la paciencia es clave. Empieza siempre por lo más simple (reiniciar el servidor, desactivar plugins) y ve subiendo en complejidad.
Si después de seguir todos estos pasos el error persiste, contacta con tu proveedor de hosting. Ellos tienen acceso a los logs del servidor y podrán ver el error exacto. Diles que ya has probado a desactivar plugins, temas, restaurar el .htaccess y aumentar la memoria PHP. Así les ahorrarás tiempo y te ayudarán más rápido.
¡Espero que esta guía te haya sido de gran ayuda! No dudes en dejar un comentario si tienes alguna duda. ¡Buena suerte con tu WordPress!
