Solución a error 500 Internal Server Error en WordPress
¡Hola! Soy tu técnico de soporte amigable. Si estás aquí es porque te has topado con el temido error 500 Internal Server Error en tu WordPress. No te preocupes, es uno de los problemas más comunes y, por suerte, casi siempre tiene solución. Vamos a desglosarlo paso a paso para que puedas recuperar tu web en minutos. Este error simplemente significa que el servidor encontró una condición inesperada que le impidió cumplir con la solicitud. En otras palabras, algo se rompió, pero no te asustes: lo vamos a arreglar juntos.
¿Qué es el error 500 Internal Server Error en WordPress?
En términos sencillos, cuando visitas tu sitio y ves una pantalla en blanco o un mensaje que dice "Error 500 Internal Server Error", es como si el servidor te dijera: "Lo siento, no sé qué pasó, pero no puedo mostrar la página". En WordPress, las causas más frecuentes son:
- Un plugin o tema conflictivo (el culpable número uno).
- Un archivo .htaccess dañado.
- Límite de memoria de PHP agotado.
- Problemas con los permisos de archivos.
- Un error en el archivo wp-config.php.
- Problemas con el servidor web o PHP (a veces es algo externo).
Lo bueno es que podemos ir probando soluciones una por una, desde las más simples hasta las más técnicas. No necesitas ser un experto en Linux, solo seguir los pasos con calma.
[INFO] Antes de empezar, si tienes acceso a tu panel de control (como cPanel, Syspanel, Plesk, etc.), te recomiendo hacer una copia de seguridad de tu base de datos y archivos. ¡Más vale prevenir!
Paso 1: Activar el modo debug de WordPress (para ver el error real)
El error 500 es genérico. Para saber exactamente qué falla, necesitamos que WordPress nos muestre el error real. Esto se hace editando el archivo wp-config.php que está en la raíz de tu instalación.
¿Cómo acceder a wp-config.php?
Puedes hacerlo mediante FTP (con un programa como FileZilla) o desde el Administrador de Archivos de tu hosting. Busca la carpeta donde está instalado WordPress (normalmente public_html o www).
Una vez localices el archivo wp-config.php, ábrelo con un editor de texto (Bloc de notas, Sublime Text, etc.). Busca la línea que dice:
define('WP_DEBUG', false);
Si no existe, puedes añadirla justo antes de la línea que dice /* That's all, stop editing! Happy publishing. */. Cámbiala por esto:
define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', true);
Guarda el archivo y vuelve a cargar tu web. Ahora, en lugar de la pantalla en blanco, verás un mensaje de error específico, como por ejemplo:
- "Fatal error: Call to undefined function..." (indica un plugin o tema roto).
- "Allowed memory size of X bytes exhausted" (problema de memoria).
- "Parse error: syntax error, unexpected..." (error en algún archivo PHP).
Anota ese mensaje, porque te dará la pista exacta. Si no ves nada, no te preocupes, sigue con los pasos siguientes.
[TIP] Una vez solucionado el problema, vuelve a poner
define('WP_DEBUG', false);para que tu web no muestre errores a los visitantes.
Paso 2: Desactivar todos los plugins (la solución más común)
Si el error se debe a un plugin, desactivarlos todos es la forma más rápida de confirmarlo. Puedes hacerlo de dos maneras:
Opción A: Desde el panel de administración (si aún puedes acceder)
Ve a Plugins > Plugins instalados, selecciona todos y elige "Desactivar" en el menú desplegable. Luego, ve a tu web y comprueba si el error desapareció. Si es así, ve activando uno por uno hasta encontrar el culpable.
Opción B: Desde FTP o el Administrador de Archivos (si no puedes acceder al panel)
- Conéctate a tu servidor vía FTP o al administrador de archivos.
- Navega a la carpeta
wp-content. - Renombra la carpeta
pluginsaplugins_old(o algo similar). Esto desactiva todos los plugins de golpe. - Vuelve a cargar tu web. Si el error 500 desaparece, el problema está en uno de los plugins.
- Para identificarlo, crea una nueva carpeta llamada
plugins(vacía) y luego mueve los plugins deplugins_oldapluginsde uno en uno, comprobando la web después de cada movimiento.
Paso 3: Cambiar al tema por defecto (Twenty Twenty-Five o similar)
A veces el tema que usas tiene un error. Para probar, desactívalo temporalmente:
- Desde FTP o el Administrador de Archivos, ve a
wp-content/themes. - Verás carpetas con los nombres de tus temas (por ejemplo,
tu-tema-personalizado,twentytwentyfive). - Renombra la carpeta de tu tema activo añadiendo
_oldal final (ejemplo:tu-tema-personalizado_old). - WordPress automáticamente usará el tema por defecto (Twenty Twenty-Five). Vuelve a cargar tu web.
- Si el error se soluciona, el problema es de tu tema. Puedes reinstalarlo o contactar al desarrollador.
[WARNING] Si tu tema es de pago o muy personalizado, renombrarlo puede hacer que pierdas algunos ajustes. Siempre ten una copia de seguridad.
Paso 4: Restaurar el archivo .htaccess
El archivo .htaccess es un archivo de configuración que controla los enlaces permanentes y otras reglas. Si está dañado, puede causar el error 500.
Cómo restaurarlo:
- Conéctate vía FTP o al Administrador de Archivos.
- Localiza el archivo
.htaccessen la raíz de tu WordPress (junto awp-config.php). - Renómbralo a
.htaccess_old(por si acaso). - Ve a tu web. Si el error desaparece, el problema era ese archivo.
- Ahora, para regenerarlo, ve a Ajustes > Enlaces permanentes en tu panel de WordPress (si puedes acceder) y haz clic en "Guardar cambios" sin modificar nada. Esto crea un nuevo
.htaccesslimpio.
Si no puedes acceder al panel, puedes crear un .htaccess nuevo con este contenido básico:
# 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
Guárdalo como .htaccess (sin extensión) y súbelo a la raíz.
[INFO] Si usas Syspanel (antes HestiaCP), puedes acceder al Administrador de Archivos desde el puerto 2106 (ejemplo:
tudominio.com:2106). Busca la carpetapublic_htmly allí encontrarás el.htaccess.
Paso 5: Aumentar el límite de memoria de PHP
Si el error decía algo sobre "Allowed memory size", necesitas darle más memoria a WordPress. Puedes hacerlo de varias formas:
Opción A: Editando wp-config.php
Añade esta línea justo antes del comentario final:
define('WP_MEMORY_LIMIT', '256M');
Guarda y prueba.
Opción B: Desde el archivo php.ini (si tu hosting lo permite)
Si tienes acceso a un archivo php.ini (o puedes crear uno), añade:
memory_limit = 256M
Opción C: Desde el panel de control (Syspanel, cPanel, etc.)
Busca la sección PHP o Selector de PHP y ajusta el límite de memoria a 256 MB o más.
Paso 6: Verificar permisos de archivos y carpetas
Los permisos incorrectos pueden causar el error 500. Los valores seguros son:
- Archivos: 644
- Carpetas: 755
Puedes cambiarlos desde el FTP o el Administrador de Archivos. En FileZilla, haz clic derecho sobre la carpeta raíz de WordPress, selecciona "Permisos de archivo" y marca:
- Archivos: 644 (lectura/escritura para el dueño, solo lectura para grupo y otros).
- Directorios: 755 (lectura/escritura/ejecución para el dueño, lectura/ejecución para grupo y otros).
[WARNING] No pongas permisos 777, ya que es un riesgo de seguridad.
Paso 7: Revisar el archivo wp-config.php
A veces, un error de escritura en wp-config.php (como una línea mal cerrada, comillas extraviadas, o configuraciones incorrectas de base de datos) provoca el error 500. Ábrelo y verifica que:
- Las comillas estén correctamente cerradas.
- No haya espacios o líneas en blanco antes de
<?php. - Las constantes de base de datos (DB_NAME, DB_USER, DB_PASSWORD, DB_HOST) sean correctas.
Si tienes dudas, puedes compararlo con el archivo wp-config-sample.php que viene en la instalación de WordPress.
Paso 8: Comprobar el servidor web y PHP (contacta con tu hosting)
Si después de todos estos pasos el error persiste, es posible que el problema esté en el servidor. Algunas causas:
- PHP se ha caído o tiene una versión incompatible.
- El servidor web (Apache/Nginx) tiene una configuración incorrecta.
- Hay un límite de recursos (CPU, memoria) en tu plan de hosting.
En ese caso, contacta al soporte de tu hosting. Diles que has seguido estos pasos y que el error 500 continúa. Ellos pueden revisar los logs del servidor (archivos de error) para darte una respuesta más precisa.
[TIP] Si usas Syspanel (HestiaCP), puedes ver los logs de error en la sección "Registros" o desde la terminal con el comando
tail -f /var/log/apache2/error.log(si tienes acceso SSH).
Preguntas frecuentes (FAQ)
¿Por qué aparece el error 500 después de instalar un plugin?
Es muy común. El plugin puede ser incompatible con tu versión de WordPress, PHP, o con otro plugin. Sigue el Paso 2 para desactivarlo.
¿El error 500 puede deberse a un ataque?
Sí, aunque es menos frecuente. Un hackeo puede modificar archivos y causar errores. Si sospechas, revisa los archivos en busca de código extraño (como eval() o base64_decode) y cambia todas tus contraseñas.
¿Qué hago si no puedo acceder ni al panel ni al FTP?
Si no tienes acceso, contacta a tu proveedor de hosting de inmediato. Ellos pueden darte acceso temporal o ayudarte a restaurar una copia de seguridad.
¿El error 500 afecta el SEO?
Sí, si el error persiste por horas o días, Google puede penalizar tu sitio porque no está disponible. Por eso es importante solucionarlo rápido.
¿Debo borrar WordPress y reinstalarlo?
Solo como último recurso. Antes de eso, prueba todos los pasos anteriores. Si decides reinstalar, asegúrate de tener una copia de seguridad de la base de datos y la carpeta wp-content/uploads.
Resumen final
El error 500 Internal Server Error en WordPress es frustrante, pero casi siempre tiene solución. Recuerda el orden lógico:
- Activa el modo debug para ver el error real.
- Desactiva todos los plugins.
- Cambia al tema por defecto.
- Restaura el .htaccess.
- Aumenta la memoria PHP.
- Revisa permisos.
- Verifica wp-config.php.
- Contacta a tu hosting.
Con paciencia y estos pasos, tu web volverá a funcionar. Si te quedas atascado, no dudes en pedir ayuda en foros de WordPress o a tu proveedor de hosting. ¡Ánimo!
