Cómo arreglar el error 'Internal Server Error 500' en WordPress (cPanel)
¡Vaya! Ver el temido error 500 wordpress en pantalla es como recibir un jarro de agua fría. Tu sitio web está caído y, para colmo, el mensaje no te dice nada útil. Solo dice "Internal Server Error" o un escueto "Error 500". Tranquilo, respira hondo.
Este es uno de los errores más comunes en WordPress, y la buena noticia es que, en la mayoría de los casos, tiene una solución sencilla que puedes aplicar tú mismo desde el cPanel de tu hosting sin necesidad de ser un experto en programación.
En esta guía extensa y paso a paso, te voy a explicar exactamente qué significa este error, por qué ocurre y, lo más importante, cómo solucionar el error 500 en cPanel de forma segura y eficaz. Iremos desde las soluciones más simples hasta las más técnicas, siempre con un lenguaje claro y didáctico.
Vamos a ello. Recuperemos tu web.
¿Qué significa realmente el "Internal Server Error"?
Antes de ponernos manos a la obra, es importante entender qué está pasando. El protocolo HTTP tiene una serie de códigos de estado para comunicar qué ocurre con una petición web.
- Errores 4xx: Son errores del cliente. Por ejemplo, el famoso "404 Not Found" significa que la página que buscas no existe. El problema está en la URL que pediste.
- Errores 5xx: Son errores del servidor. El error 500 (Internal Server Error) es un error genérico que indica que el servidor encontró una condición inesperada que le impidió completar la petición. En otras palabras, el servidor de tu hosting, donde vive tu web, ha tenido un problema interno al procesar la solicitud de tu navegador.
Es un error "genérico" a propósito. El servidor no quiere darte detalles técnicos al visitante por razones de seguridad. Por eso, el mensaje que ves no te dice nada útil. La solución está en investigar nosotros mismos.
Causas comunes del error 500 en WordPress
Las causas pueden ser variadas, pero las más frecuentes son:
- Un archivo
.htaccesscorrupto o con código erróneo: Este es un archivo de configuración muy importante en servidores Apache. Un simple error de sintaxis o una regla mal escrita puede tumbar tu web. - Permisos de archivos y carpetas incorrectos: WordPress necesita permisos específicos para leer y escribir archivos. Si los permisos son demasiado restrictivos o demasiado permisivos, el servidor se bloquea.
- Un plugin o tema con un error fatal de PHP: Un pequeño fallo en el código de un plugin o tema puede provocar un error fatal que detiene la ejecución de WordPress por completo.
- Límite de memoria de PHP agotado (Memory Limit): Si tu sitio es grande o un plugin consume muchos recursos, puedes superar el límite de memoria asignado por tu hosting.
- Un archivo
.maintenanceolvidado: WordPress crea este archivo temporal durante las actualizaciones automáticas. Si el proceso se interrumpe, el archivo puede quedarse ahí y tu sitio se mostrará en "modo mantenimiento" o dará error.
Ahora que sabemos qué buscar, vamos a las soluciones. Te recomiendo seguir estos pasos en orden, de menor a mayor complejidad. Antes de empezar, haz una copia de seguridad de tu sitio web si tienes acceso a alguna herramienta para ello. Es una red de seguridad por si algo sale mal.
Paso 1: Recargar la página y limpiar la caché (La solución fácil)
A veces la solución es tan simple como un espejismo. El servidor puede haber tenido un fallo momentáneo o tu navegador puede estar mostrando una versión en caché del error.
- Fuerza la recarga: En tu navegador, presiona
Ctrl + F5(oCmd + Shift + Ren Mac) para omitir la caché y recargar la página. - Prueba en otro navegador o en modo incógnito: Abre tu web en una ventana de incógnito o en otro navegador para descartar problemas de caché o extensiones del tuyo.
- Reinicia tu router y módem: A veces el problema puede estar en tu conexión a internet, no en el servidor.
Si después de esto el error persiste, pasamos a la acción real.
Paso 2: Desactivar todos los plugins (La causa más probable)
Los plugins son la causa número uno del internal server error wordpress. Un plugin recién actualizado o con un conflicto puede estar generando el error. La forma más rápida de comprobarlo es desactivarlos todos.
No te preocupes, no perderás la configuración de tus plugins. Solo se desactivan temporalmente.
Método A: Desde el Escritorio de WordPress (si tienes acceso)
- Ve a tu panel de administración de WordPress (
tudominio.com/wp-admin). - Navega a Plugins → Plugins instalados.
- Selecciona todos los plugins con la casilla de verificación superior.
- En el desplegable "Acciones en bloque", elige Desactivar y haz clic en Aplicar.
Si el error se soluciona, ya sabes que uno de los plugins es el culpable. Ahora, ve activándolos uno por uno (o en grupos pequeños) hasta encontrar al infractor. Una vez lo encuentres, puedes actualizarlo, buscar una alternativa o contactar con su soporte.
Método B: Desde cPanel (Si no tienes acceso al escritorio)
Si el error no te deja ni entrar a tu panel de administración, tendrás que hacerlo por FTP o desde el administrador de archivos de cPanel.
- Accede a tu cPanel (normalmente en
tudominio.com/cpanel). - Busca la sección Archivos y haz clic en Administrador de archivos.
- Navega hasta la carpeta
public_html(owww). Ahí es donde está instalado WordPress. - Busca la carpeta
wp-content. - Dentro de
wp-content, verás una carpeta llamadaplugins. Haz clic derecho sobre ella y selecciona Renombrar. - Cámbiale el nombre a algo como
plugins_desactivados. Esto fuerza a WordPress a no encontrar ningún plugin y, por tanto, los desactiva todos.
[INFO] Si al renombrar la carpeta tu web vuelve a funcionar, significa que efectivamente un plugin era el problema. Ahora, dentro de
plugins_desactivados, puedes ir renombrando cada subcarpeta de plugin individual aplugins(una a la vez) para ir aislándolo. Es más tedioso, pero muy efectivo.
Paso 3: Verificar y restaurar el archivo .htaccess
El archivo .htaccess es un archivo de configuración crucial para WordPress. Si está dañado, es un clásico causante del wordpress .htaccess error 500.
Método A: Restaurar el .htaccess por defecto
- Ve a Administrador de archivos en tu cPanel.
- Asegúrate de tener activada la opción Mostrar archivos ocultos (dotfiles) en la configuración del administrador de archivos (arriba a la derecha).
- Busca el archivo
.htaccessen la raíz de tu instalación de WordPress (normalmente enpublic_html). - Haz clic derecho sobre él y selecciona Renombrar. Cámbiale el nombre a
.htaccess_backup. Esto lo desactiva. - Ahora, intenta acceder a tu web.
Si el error desaparece, significa que el .htaccess era el problema. Ahora necesitas crear uno nuevo limpio.
- Ve a tu escritorio de WordPress (si ahora puedes entrar) o crea el archivo manualmente.
- En el escritorio, ve a Ajustes → Enlaces permanentes y haz clic en Guardar cambios. Esto regenera automáticamente el
.htaccess.
Método B: Crear un .htaccess manualmente
Si no puedes entrar al escritorio, crea un archivo nuevo en el administrador de archivos:
- En la raíz de tu WordPress, haz clic en + Archivo.
- Nómbralo
.htaccess. - Haz clic en Editar y pega el siguiente código:
# 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
- Guarda los cambios.
[TIP] Este es el código
.htaccessestándar para WordPress y funciona en la mayoría de los servidores Apache.
Paso 4: Aumentar el límite de memoria de PHP
Si tu sitio es pesado o un plugin necesita más recursos, aumentar el límite de memoria puede solucionar el error. Es un cambio muy sencillo.
- En el Administrador de archivos de cPanel, busca el archivo
wp-config.phpen la raíz de tu WordPress. - Haz clic derecho y selecciona Editar.
- Busca la línea que dice
define('WP_DEBUG', false);(o similar). - Justo antes de esa línea, añade esta otra:
define('WP_MEMORY_LIMIT', '256M');
Esto aumenta el límite a 256MB, que es un buen valor para la mayoría de los sitios.
- Guarda el archivo y comprueba tu web.
[WARNING] Si no encuentras la línea
WP_DEBUG, busca la línea que dice/* That's all, stop editing! Happy publishing. */y añade el código justo antes de esa línea. Nunca lo añadas al final del archivo.
Paso 5: Corregir los permisos de archivos y carpetas
Los permisos incorrectos son otra causa muy común. Los permisos correctos para WordPress son:
- Carpetas (Directorios):
755 - Archivos:
644
Método A: Desde el Administrador de archivos de cPanel
- Ve a la raíz de tu instalación de WordPress (
public_html). - Haz clic en Seleccionar todo (arriba a la derecha).
- Haz clic en el botón Permisos en la barra superior.
- Se abrirá una ventana. Asegúrate de que los permisos estén establecidos en
755para las carpetas y644para los archivos. Si no estás seguro, puedes marcar las casillas que correspondan a esos números. - Haz clic en Guardar.
- Importante: Repite esto, pero entrando dentro de cada subcarpeta (
wp-content,wp-includes, etc.) para asegurarte de que todas las subcarpetas y archivos internos tengan los permisos correctos. Es un poco tedioso, pero es la forma más visual.
Método B: Usar FTP (FileZilla, por ejemplo)
- Conéctate a tu servidor por FTP.
- Selecciona la carpeta principal de tu WordPress.
- Haz clic derecho y selecciona Atributos de archivo....
- Marca los permisos como
755y asegúrate de marcar la casilla "Redirigir a subdirectorios". - En el desplegable de abajo, elige "Solo directorios" y haz clic en Aceptar. Esto cambiará los permisos de todas las carpetas.
- Repite el proceso, pero ahora con un archivo cualquiera (por ejemplo, el
index.phpde la raíz). Esta vez, elige644y en el desplegable elige "Solo archivos".
[INFO] Esta es la forma más eficiente de cambiar permisos masivamente, ya que no tienes que ir carpeta por carpeta.
Paso 6: Revisar el error fatal de PHP en el registro de errores
Si nada de lo anterior funciona, necesitamos más información. WordPress y el servidor guardan registros de errores que nos pueden dar la pista exacta.
- En el Administrador de archivos, busca un archivo llamado
error_logen la raíz de tu WordPress. - Si existe, descárgalo o ábrelo para ver su contenido. Las últimas líneas son las más importantes.
- Busca líneas que contengan
PHP Fatal erroroPHP Parse error. Te dirán exactamente qué archivo de qué plugin o tema está causando el problema. - Con esa información, puedes ir a ese archivo específico y corregirlo o, si es de un plugin, desactivarlo directamente renombrando su carpeta (como vimos en el Paso 2).
Si no existe el archivo error_log en la raíz, puede estar en la carpeta wp-admin o wp-includes. También puedes activar el registro de errores de WordPress editando el wp-config.php y añadiendo estas líneas:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Esto creará un archivo debug.log en la carpeta wp-content. Después de reproducir el error, revisa ese archivo.
[WARNING] IMPORTANTE: Después de solucionar el problema, debes revertir estos cambios. Vuelve a poner
WP_DEBUGenfalsey elimina el archivodebug.log. Dejar el modo depuración activo en un sitio en producción es un riesgo de seguridad.
Paso 7: Revisar el archivo .maintenance
Como mencionamos, si una actualización automática se interrumpió, puede quedar un archivo .maintenance en la raíz de tu WordPress que pone tu sitio en modo mantenimiento.
- En el Administrador de archivos, activa Mostrar archivos ocultos.
- Busca un archivo llamado
.maintenanceen la raíz. - Si existe, bórralo o renómbralo a
.maintenance_backup. - Recarga tu web.
Paso 8: Contactar con tu proveedor de hosting
Si has llegado hasta aquí y el error 500 wordpress persiste, es hora de pedir ayuda profesional. El problema puede estar en la configuración del servidor, en la base de datos o en un recurso del servidor que está agotado.
Contacta con el soporte técnico de tu hosting y proporciónales toda la información que hayas recopilado: qué pasos has seguido, qué mensajes de error has visto en los logs, etc. Ellos tienen acceso a las herramientas de nivel servidor que tú no tienes.
[TIP] Si tu hosting usa Syspanel (antes conocido como HestiaCP), recuerda que el acceso a tu panel de control es a través del puerto 2106 (ejemplo:
tudominio.com:2106). La navegación en Syspanel es similar a cPanel, pero con una interfaz más moderna. Busca las secciones de "Administrador de archivos" o "Registros de error" para seguir los pasos anteriores.
Preguntas Frecuentes (FAQ)
¿El error 500 puede dañar mi sitio web?
No, el error 500 es un estado del servidor. No daña tus archivos ni tu base de datos. Simplemente impide que tu web se muestre. Una vez que se soluciona la causa, todo vuelve a la normalidad.
¿Cuánto tiempo se tarda en arreglar el error 500?
Depende de la causa. Si es un plugin, puede ser cuestión de minutos. Si es un problema más profundo del servidor, puede llevar más tiempo. Siguiendo esta guía, la mayoría de los casos se resuelven en menos de 30 minutos.
¿Por qué veo el error 500 solo en una página y no en todo el sitio?
Esto suele indicar que el problema está en un plugin o función específica que se ejecuta solo en esa página, o que el límite de memoria se agota al cargar una página concreta con muchos recursos.
¿Qué es un error 500 en WordPress sin acceso al wp-admin?
Es la combinación más frustrante. Pero no te preocupes, todas las soluciones que hemos visto (desactivar plugins renombrando la carpeta, restaurar .htaccess, cambiar permisos) se hacen desde cPanel o FTP, sin necesidad de entrar al panel de administración.
¿Debo contratar a un profesional para arreglar el error 500?
No necesariamente. Si te sientes cómodo siguiendo los pasos de esta gu
