¿Cómo solucionar el error 500 en WordPress? Guía para SysAdmin
Sabemos lo frustrante que es ver la temida pantalla blanca o el mensaje “Error interno del servidor 500” en tu sitio WordPress. Como SysAdmin, este es uno de los problemas más comunes y, a la vez, uno de los que más dolores de cabeza puede causar si no sabes por dónde empezar. No te preocupes, en esta guía te explicaremos paso a paso cómo diagnosticar y solucionar el error 500 en WordPress, usando herramientas como cPanel, la terminal de Linux y el modo debug de WordPress. Vamos a ello.
¿Qué es el error 500 y por qué aparece?
El error 500 es un código de estado HTTP que indica que el servidor encontró una condición inesperada que le impidió completar la solicitud. En otras palabras, el servidor no sabe exactamente qué falló, pero algo salió mal. Esto puede deberse a múltiples causas, desde un plugin conflictivo hasta un archivo .htaccess corrupto o un límite de memoria excedido.
Para un SysAdmin, lo primero es entender que el error 500 no es un problema de red ni de DNS, sino un fallo interno del servidor. Por eso, la solución suele estar en el lado del servidor o en los archivos de tu sitio.
Diagnóstico inicial: ¿qué hacer antes de tocar nada?
Antes de lanzarte a modificar archivos, es importante hacer un diagnóstico rápido para descartar causas obvias.
1. Revisa el estado del servidor
Asegúrate de que el servidor web (Apache, Nginx, LiteSpeed) esté funcionando correctamente. Puedes hacerlo desde cPanel o desde la terminal con comandos como:
systemctl status apache2 # Para Apache en Ubuntu/Debian
systemctl status nginx # Para Nginx
service httpd status # Para CentOS/RHEL
Si el servicio está caído, reinícialo con systemctl restart apache2 o el comando correspondiente.
2. Verifica los logs de errores
Los logs son tu mejor amigo. En cPanel, ve a “Registros de errores” (suele estar en la sección de “Métricas” o “Logs”). También puedes acceder por SSH:
tail -f /var/log/apache2/error.log # Para Apache
tail -f /var/log/nginx/error.log # Para Nginx
Busca líneas que contengan “PHP Fatal error”, “Out of memory” o “Premature end of script headers”. Estos mensajes te darán pistas directas.
3. Prueba con un navegador en modo incógnito
A veces el error está en la caché del navegador. Abre una ventana de incógnito o privada y visita tu sitio. Si funciona, limpia la caché del navegador y de plugins de caché como W3 Total Cache o WP Super Cache.
Soluciones paso a paso para SysAdmin
Vamos a las soluciones concretas. Sigue este orden lógico para no perder tiempo.
1. Desactiva todos los plugins (vía FTP o cPanel)
Los plugins conflictivos son la causa número 1 del error 500. Si no puedes acceder al panel de administración de WordPress, hazlo manualmente:
- Por FTP: Conéctate a tu servidor (FileZilla, por ejemplo) y navega a
/wp-content/plugins/. Renombra la carpetapluginsaplugins_old(esto desactiva todos los plugins de golpe). - Por cPanel: Ve al Administrador de Archivos, busca la misma ruta y renombra la carpeta.
Si el error desaparece, sabes que el problema está en uno de los plugins. Luego puedes ir renombrando uno por uno para identificar al culpable.
[TIP] Si usas Syspanel (antes HestiaCP), accede al panel por el puerto 2106 (ejemplo:
https://tudominio.com:2106). Luego ve a Archivos > WordPress > wp-content y renombra la carpeta plugins.
2. Cambia temporalmente al tema predeterminado
Un tema mal codificado también puede provocar el error 500. Para probarlo:
- Por FTP/cPanel: Renombra la carpeta de tu tema activo (por ejemplo,
/wp-content/themes/tu-tema/a/wp-content/themes/tu-tema_old/). WordPress automáticamente usará el tema por defecto (Twenty Twenty-Four o similar).
Si el sitio se recupera, el problema es del tema. Contacta al desarrollador o busca una alternativa.
3. Aumenta el límite de memoria de PHP
Muchos errores 500 son por falta de memoria. Para aumentarlo, edita el archivo wp-config.php (ubicado en la raíz de WordPress) y agrega esta línea justo antes del comentario final:
define('WP_MEMORY_LIMIT', '256M');
Si ya existe, cámbiala. También puedes hacerlo desde cPanel en Seleccionar versión de PHP > Opciones de PHP y aumentar memory_limit.
4. Activa el modo debug de WordPress
El modo debug te mostrará errores específicos en lugar de la pantalla en blanco. Edita wp-config.php y busca la línea:
define('WP_DEBUG', false);
Cámbiala a:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Esto creará un archivo debug.log dentro de /wp-content/. Accede a él por FTP o cPanel para ver los errores reales.
[WARNING] No dejes el modo debug activado en un sitio en producción. Una vez resuelto el error, vuelve a poner
WP_DEBUGen false y borra el archivodebug.log.
5. Revisa y repara el archivo .htaccess
Un .htaccess corrupto es otro sospechoso frecuente. Desde cPanel o FTP, renombra el archivo a .htaccess_old. Luego ve a Ajustes > Enlaces permanentes en WordPress y haz clic en “Guardar cambios” (esto regenera el archivo). Si no puedes acceder al admin, sube uno nuevo desde tu instalación local o crea uno básico:
# 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
6. Verifica permisos de archivos y carpetas
Los permisos incorrectos pueden causar errores 500. Los valores seguros son:
- Carpetas: 755
- Archivos: 644
- wp-config.php: 600
Puedes corregirlos desde cPanel (clic derecho > “Cambiar permisos”) o por SSH:
find /ruta/a/tu/wordpress -type d -exec chmod 755 {} \;
find /ruta/a/tu/wordpress -type f -exec chmod 644 {} \;
chmod 600 /ruta/a/tu/wordpress/wp-config.php
7. Comprueba la versión de PHP
WordPress requiere PHP 7.4 o superior. Desde cPanel, ve a Seleccionar versión de PHP y asegúrate de tener una versión compatible (8.0, 8.1, 8.2). Si cambias de versión, algunos plugins o temas pueden dejar de funcionar, por lo que es mejor probar primero.
[INFO] Si usas Syspanel, la versión de PHP se configura en Servidores Web > PHP-FPM. Recuerda que el puerto de acceso al panel es el 2106.
8. Reinstala los archivos principales de WordPress
A veces los archivos del núcleo de WordPress se dañan. Descarga una copia fresca de WordPress desde wordpress.org, extrae los archivos (excepto wp-content y wp-config.php) y súbelos por FTP a tu servidor, sobrescribiendo los existentes. Esto no afecta tu contenido ni configuraciones.
9. Aumenta el tiempo de ejecución de PHP
Si el error aparece al procesar tareas largas (como importaciones o backups), aumenta el límite de tiempo en wp-config.php:
set_time_limit(300);
O desde cPanel en Opciones de PHP, cambia max_execution_time a 300.
Soluciones avanzadas para SysAdmin
Si nada de lo anterior funciona, toca profundizar.
1. Revisa los logs de PHP-FPM
Si usas PHP-FPM (común en servidores modernos), los logs están en /var/log/php-fpm/ o /var/log/php8.x-fpm.log. Busca errores como “child exited with signal” o “max_children reached”. Puedes ajustar los parámetros en el archivo de configuración de PHP-FPM (por ejemplo, /etc/php/8.2/fpm/pool.d/www.conf).
2. Verifica el límite de conexiones de la base de datos
Un error 500 también puede aparecer si la base de datos MySQL/MariaDB está sobrecargada. Desde la terminal, revisa:
mysqladmin -u root -p status
Si ves Threads_connected cerca del límite, aumenta max_connections en /etc/mysql/my.cnf o /etc/my.cnf.
3. Desactiva módulos de Apache/Nginx
Algunos módulos como mod_security o mod_evasive pueden bloquear solicitudes legítimas. Desde cPanel, ve a Módulos de Apache y desactívalos temporalmente. O desde la terminal:
a2dismod mod_security # Para Apache
systemctl restart apache2
4. Usa WP-CLI para diagnóstico
Si tienes acceso SSH, WP-CLI es una herramienta poderosa. Por ejemplo:
wp plugin list --status=active # Lista plugins activos
wp theme list # Lista temas
wp db check # Revisa la base de datos
Puedes desactivar todos los plugins desde la línea de comandos:
wp plugin deactivate --all
FAQ: Preguntas frecuentes sobre el error 500
P: ¿El error 500 puede deberse a un ataque de malware?
R: Sí, el malware puede modificar archivos del núcleo o inyectar código que cause errores. Si después de todas las soluciones el error persiste, escanea tu sitio con un plugin de seguridad como Wordfence o Sucuri.
P: ¿Qué hago si no tengo acceso a cPanel ni a FTP?
R: Contacta a tu proveedor de hosting. Ellos pueden acceder a los logs y a los archivos por ti. Si tienes acceso SSH, puedes usar comandos como curl -I tudominio.com para ver el código de respuesta.
P: ¿El error 500 afecta al SEO?
R: Sí, porque los motores de búsqueda ven un código 500 y pueden interpretarlo como un sitio no disponible. Si el error es temporal (menos de 24 horas), no suele penalizar, pero es mejor solucionarlo rápido.
P: ¿Puedo prevenir el error 500?
R: Mantén WordPress, plugins y temas actualizados. Usa un hosting de calidad con suficiente memoria y recursos. Realiza copias de seguridad periódicas y prueba los cambios en un entorno de staging antes de aplicarlos en producción.
Resumen y consejos finales
El error 500 en WordPress puede ser desafiante, pero con un enfoque metódico y las herramientas adecuadas (cPanel, debug, logs), cualquier SysAdmin puede resolverlo. Recuerda:
- Siempre empieza por los logs: te darán la pista más clara.
- Desactiva plugins y temas primero: son la causa más común.
- Usa el modo debug para obtener mensajes de error específicos.
- No olvides los permisos y el .htaccess.
- Si todo falla, revisa la configuración del servidor (PHP, base de datos, módulos).
Y, por último, no tengas miedo de pedir ayuda en foros especializados o a tu proveedor de hosting. Todos hemos pasado por esto. ¡Ánimo y a solucionar ese error 500!
