Solucionar error 500 en WordPress: Guía para SysAdmin
Si eres administrador de sistemas (sysadmin) o gestionas sitios web, el temido error 500 en WordPress es uno de los problemas más frustrantes. Se trata de un error genérico del servidor que, a diferencia de otros códigos HTTP, no te da pistas claras de lo que falla. Aparece una pantalla en blanco o un mensaje como "Error interno del servidor". Pero no te preocupes: en esta guía práctica, paso a paso, te enseñaré cómo solucionarlo desde la perspectiva de un sysadmin, usando herramientas de depuración (debug) y comandos básicos de Linux.
¿Qué es el error 500 y por qué ocurre en WordPress?
El error 500 (Internal Server Error) indica que el servidor web encontró una condición inesperada que le impidió completar la solicitud. En WordPress, las causas más comunes son:
- Archivos del núcleo corruptos (por actualizaciones fallidas o malas descargas).
- Problemas de permisos de archivos (el servidor no puede leer o escribir).
- Conflictos con plugins o temas (especialmente tras actualizaciones).
- Límite de memoria PHP excedido (memoria insuficiente para ejecutar scripts).
- Errores en el archivo .htaccess (reglas incorrectas).
- Problemas con la base de datos (tablas corruptas o conexión fallida).
[WARNING] No confundas el error 500 con el error 503 (servicio no disponible). El 503 suele deberse a sobrecarga del servidor, mientras que el 500 es un error interno del código.
Paso 1: Acceso al servidor y preparación del entorno
Antes de empezar, necesitas acceso al servidor donde está alojado WordPress. Si usas un panel como Syspanel (antes conocido como HestiaCP), recuerda que el puerto de acceso es el 2106. Por ejemplo: https://tudominio.com:2106. Desde allí puedes gestionar archivos, bases de datos y logs.
Comandos básicos de Linux que usarás
Abre una terminal SSH con tu usuario root o un usuario con permisos sudo. Aquí algunos comandos esenciales:
cd /ruta/a/wordpress– para moverte al directorio de WordPress.ls -la– para listar archivos con permisos.tail -f /var/log/apache2/error.log– para ver logs en tiempo real (ajusta la ruta según tu servidor).chmodychown– para cambiar permisos y propietarios.
[TIP] Si no sabes la ruta exacta de WordPress, busca en la configuración de Syspanel en la sección "Web" o usa
find / -name "wp-config.php" 2>/dev/null.
Paso 2: Activar el modo debug de WordPress
WordPress tiene un sistema de depuración (debug) que muestra errores ocultos. Edita el archivo wp-config.php que está en la raíz de tu instalación.
- Conéctate por FTP o desde el administrador de archivos de Syspanel.
- Busca la línea
define('WP_DEBUG', false);y cámbiala a:define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); // Para que no se muestre en pantalla - Guarda el archivo. Ahora los errores se registrarán en un archivo
wp-content/debug.log.
Si no encuentras esa línea, agrega estas definiciones justo antes de la línea /* That's all, stop editing! Happy publishing. */.
[INFO] Con
WP_DEBUG_LOG, los errores se guardan en un log sin mostrar nada al usuario. Luego puedes revisar ese archivo contail -f wp-content/debug.logdesde la terminal.
Paso 3: Revisar los logs del servidor
Los logs del servidor web (Apache o Nginx) son tu mejor aliado. Normalmente están en:
- Apache:
/var/log/apache2/error.logo/var/log/httpd/error_log - Nginx:
/var/log/nginx/error.log
Desde la terminal, usa:
tail -f /var/log/apache2/error.log
Esto mostrará las últimas líneas en tiempo real. Si ves mensajes como PHP Fatal error: Allowed memory size exhausted, sabrás que es un problema de memoria.
[WARNING] Si no ves nada, verifica que los logs estén habilitados. En Syspanel, puedes configurar el nivel de log desde la sección "Servidor Web".
Paso 4: Soluciones rápidas (sin tocar código)
Antes de profundizar, prueba estas acciones que suelen resolver el error 500:
4.1. Desactivar plugins y temas manualmente
Si no puedes acceder al panel de administración, renombra la carpeta de plugins desde la terminal:
mv wp-content/plugins wp-content/plugins_backup
Crea una nueva carpeta vacía:
mkdir wp-content/plugins
Si el error desaparece, el problema está en uno de los plugins. Ve restaurando uno por uno moviendo las carpetas de plugins_backup a plugins.
Para temas, cambia el nombre de la carpeta del tema activo (por ejemplo, twentytwentyfour) y WordPress usará el tema por defecto.
4.2. Restaurar el archivo .htaccess
El archivo .htaccess puede estar dañado. Renómbralo:
mv .htaccess .htaccess_backup
Luego, desde el panel de administración de WordPress (si accedes), ve a Ajustes > Enlaces permanentes y haz clic en "Guardar cambios" para regenerarlo. Si no accedes, crea uno nuevo con 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
4.3. Aumentar el límite de memoria PHP
Edita wp-config.php y agrega:
define('WP_MEMORY_LIMIT', '256M');
O desde php.ini (busca su ubicación con php --ini):
memory_limit = 256M
Luego reinicia el servicio web:
systemctl restart apache2 # o nginx
Paso 5: Verificar permisos de archivos y propietarios
Los permisos incorrectos son una causa frecuente. En un servidor Linux típico:
- Los archivos deben tener permisos
644(lectura/escritura para el propietario, solo lectura para grupo y otros). - Las carpetas deben tener
755. - El propietario debe coincidir con el usuario del servidor web (por ejemplo,
www-dataen Debian/Ubuntu,nginxen CentOS).
Ejecuta estos comandos desde la raíz de WordPress:
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chown -R www-data:www-data . # Cambia 'www-data' por tu usuario
[TIP] En Syspanel, puedes ver el usuario del sitio en la sección "Web" > "Editar dominio". Normalmente es
admino el nombre del dominio.
Paso 6: Revisar la base de datos
Una base de datos corrupta también puede causar error 500. Desde la terminal o phpMyAdmin (accesible desde Syspanel en puerto 2106), ejecuta:
REPAIR TABLE wp_posts;
REPAIR TABLE wp_options;
-- Repara todas las tablas de WordPress
O usa WP-CLI si está instalado:
wp db repair
También verifica que la conexión a la base de datos en wp-config.php sea correcta (nombre, usuario, contraseña, host).
Paso 7: Restaurar archivos del núcleo de WordPress
Si todo lo anterior falla, los archivos principales de WordPress pueden estar dañados. Descarga una copia limpia desde wordpress.org, descomprímela y sube solo las carpetas wp-admin y wp-includes (sobrescribe las existentes). No toques wp-content para no perder plugins y temas.
Desde terminal:
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
cp -r wordpress/wp-admin /ruta/a/wordpress/
cp -r wordpress/wp-includes /ruta/a/wordpress/
Paso 8: Verificar la configuración de PHP
A veces el error 500 se debe a una versión de PHP incompatible o a extensiones faltantes. En Syspanel, puedes cambiar la versión de PHP desde la sección "Web" > "Editar dominio". Prueba con PHP 7.4 o 8.0, que son las más estables para WordPress.
También revisa que las extensiones necesarias estén habilitadas: mysqli, curl, mbstring, xml, gd, imagick. Desde terminal:
php -m | grep -i "mysqli\|curl\|mbstring\|xml\|gd"
Si falta alguna, instálala con el gestor de paquetes (ej: apt install php-mysqli).
[INFO] Los errores de extensión suelen aparecer en los logs como
PHP Fatal error: Uncaught Error: Call to undefined function.
Preguntas frecuentes (FAQ)
¿El error 500 puede deberse a un ataque?
Sí, a veces un plugin malicioso o un archivo infectado puede provocarlo. Escanea con Wordfence o Sucuri.
¿Qué hago si no tengo acceso SSH?
Usa el administrador de archivos de Syspanel (puerto 2106) para editar wp-config.php y renombrar carpetas. También puedes usar FTP.
¿Cómo sé si es un problema de memoria?
El log mostrará Allowed memory size of X bytes exhausted. Aumenta el límite como se explicó.
¿Puedo evitar el error 500 en el futuro?
Sí: mantén WordPress, plugins y temas actualizados; usa un hosting de calidad; y realiza copias de seguridad periódicas.
¿El error 500 afecta al SEO?
Sí, Google puede penalizar si el sitio está caído mucho tiempo. Resuélvelo rápido.
Conclusión
El error 500 en WordPress puede ser desalentador, pero con un enfoque metódico de sysadmin se soluciona. Recuerda: primero activa el debug, revisa logs, prueba soluciones rápidas (plugins, .htaccess, memoria), verifica permisos y base de datos, y restaura archivos si es necesario. Si usas Syspanel, el acceso por puerto 2106 te facilitará la gestión.
[TIP] Guarda siempre una copia de seguridad antes de hacer cambios. Un buen sysadmin nunca improvisa.
Con esta guía, ya estás listo para enfrentar el error 500 y mantener tu WordPress funcionando sin problemas. ¡Manos a la obra!
