Solucionar error 500 en WordPress: Guía de SysAdmin
¡Hola! Soy tu técnico de soporte amigable. Si estás aquí es porque tu página de WordPress ha decidido tomarse un descanso no programado y muestra un temido Error 500 (Internal Server Error). No te preocupes, es uno de los problemas más comunes y, con esta guía de SysAdmin, lo resolveremos paso a paso.
Este error es como un "apagón" genérico: el servidor está funcionando, pero algo en la configuración o en un archivo le impide procesar tu página. Como SysAdmin, tu trabajo es encender las luces una por una hasta encontrar el fusible fundido. Vamos a ello.
¿Qué es el Error 500 en WordPress? (Y por qué no deberías asustarte)
El error 500 es un código de estado HTTP que significa "Error Interno del Servidor". En términos simples, el servidor (Apache, Nginx, LiteSpeed) recibe una petición de tu navegador, intenta procesarla con PHP y la base de datos, pero algo falla en el camino y no puede generar la página. No te da más detalles para no exponer información sensible del sistema.
Causas más comunes:
- Un plugin o tema defectuoso (la causa #1).
- Un archivo
.htaccesscorrupto. - Límite de memoria PHP agotado (memory_limit).
- Permisos de archivos incorrectos.
- Un error de sintaxis en un archivo de funciones (functions.php).
Paso 1: El Primer Diagnóstico – Activar el Modo Debug de WordPress
Antes de tocar nada, vamos a pedirle a WordPress que nos cuente el error específico. Normalmente, el error 500 es "mudo", pero podemos forzarlo a hablar.
Instrucciones:
-
Accede a tu panel de control de hosting o a tu servidor vía FTP o Syspanel (HestiaCP, puerto 2106).
-
Localiza el archivo
wp-config.phpen la raíz de tu instalación de WordPress. -
Ábrelo con un editor de texto (Bloc de notas, Sublime Text, etc.).
-
Busca la línea que dice:
define('WP_DEBUG', false); -
Cámbiala por:
define('WP_DEBUG', true); define('WP_DEBUG_DISPLAY', true); define('WP_DEBUG_LOG', true);Si no existe la línea original, simplemente pégala antes de la línea que dice
/* ¡Eso es todo, deja de editar! */. -
Guarda el archivo y recarga tu página web. Ahora, en lugar del error 500, verás un mensaje de error específico (ej: "Fatal error: Call to undefined function...").
-
También se creará un archivo
wp-content/debug.logcon todos los errores. Revísalo.
[TIP]: Si ves el error 500 incluso en el panel de administración (/wp-admin), puedes editar wp-config.php directamente desde Syspanel (HestiaCP) usando el "Administrador de archivos" o desde un cliente FTP como FileZilla.
Paso 2: El Sospechoso #1 – Desactivar Plugins y Temas
El 90% de los errores 500 se deben a un plugin o tema conflictivo. Vamos a desactivarlos sin entrar al panel de administración.
Opción A: Renombrar la carpeta de plugins (Recomendado)
- Conéctate por FTP o al administrador de archivos de Syspanel.
- Ve a la carpeta
/wp-content/. - Busca la carpeta
pluginsy cámbiale el nombre aplugins_old. - Recarga tu web. Si el error desaparece, el culpable está en los plugins.
- Ahora, crea una nueva carpeta vacía llamada
pluginsy ve moviendo los plugins deplugins_oldapluginsde uno en uno, refrescando la web cada vez, hasta que el error vuelva a aparecer. ¡Ahí tienes al malhechor!
Opción B: Forzar un tema por defecto
Si renombrar los plugins no funciona, el problema puede ser el tema activo.
- En la misma carpeta
/wp-content/, busca la carpetathemes. - Renombra la carpeta de tu tema actual (ej:
mi-temaami-tema_old). - WordPress automáticamente intentará cargar un tema por defecto (Twenty Twenty-Four, etc.). Si el error se soluciona, tu tema es el problema.
[WARNING]: Si al renombrar la carpeta de plugins pierdes la configuración de algunos plugins (como los de caché), no te preocupes, al activarlos de nuevo se regenerará. Es un mal menor.
Paso 3: El Archivo .htaccess – El Guardián Corrupto
El archivo .htaccess (sin nombre, solo extensión) controla las reglas de reescritura de URL y otras configuraciones. A veces se corrompe.
Cómo solucionarlo:
- Conéctate por FTP y busca el archivo
.htaccessen la raíz de WordPress. - Renómbralo a
.htaccess_old(para tener un backup). - Recarga tu web. Si funciona, el archivo estaba dañado.
- Ahora, ve a Ajustes > Enlaces permanentes en tu panel de WordPress y haz clic en Guardar cambios. Esto regenerará un
.htaccesslimpio.
Si no puedes acceder al panel, crea un archivo .htaccess nuevo con este contenido mínimo:
# BEGIN WordPress
<IfModule mod_rewrite.c>
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]
</IfModule>
# END WordPress
Paso 4: Límite de Memoria PHP – Cuando WordPress se Queda sin Gasolina
A veces, un plugin pesado consume toda la memoria permitida y el servidor dice "basta".
Aumenta el límite de memoria en wp-config.php:
Añade esta línea justo antes del comentario final (/* ¡Eso es todo! */):
define('WP_MEMORY_LIMIT', '256M');
Si el problema persiste, también puedes intentar aumentar el límite en el archivo php.ini (si tu hosting lo permite) o mediante Syspanel (HestiaCP) en Ajustes de PHP (busca la opción memory_limit y cámbiala a 256M o 512M).
Paso 5: Permisos de Archivos – La Seguridad que Bloquea
Los archivos y carpetas de WordPress deben tener permisos específicos. Si están mal configurados, el servidor no puede leerlos o escribirlos.
Permisos correctos:
- Carpetas: 755 (rwxr-xr-x)
- Archivos: 644 (rw-r--r--)
- wp-config.php: 600 o 640 (más seguro)
Cómo corregirlos desde Syspanel (HestiaCP):
- Ve a Administrador de archivos.
- Selecciona toda la carpeta de WordPress.
- Haz clic en Permisos.
- Marca Recursivamente y establece 755 para carpetas y 644 para archivos. Luego aplica.
[INFO]: Si usas un cliente FTP como FileZilla, puedes hacer clic derecho en la carpeta raíz, seleccionar "Atributos de archivo" y marcar "Recursión en subdirectorios".
Paso 6: El Enemigo Silencioso – Errores de Sintaxis (functions.php)
Si has editado recientemente el archivo functions.php de tu tema (a través del editor de temas o FTP), un punto y coma faltante o una llave mal cerrada pueden causar el error 500.
Solución:
- Accede por FTP a
/wp-content/themes/[tu-tema]/functions.php. - Abre el archivo y revisa la última línea. A menudo, si añadiste código al final, puede faltar un
?>o tener un espacio extra. - Si tienes un backup del archivo original, restáuralo.
- Si no, comenta las últimas líneas que añadiste con
//al principio de cada línea para desactivarlas temporalmente.
FAQ: Preguntas Frecuentes sobre el Error 500 en WordPress
¿El error 500 puede deberse a un ataque de hackers?
Sí, aunque es menos común. Si después de todos estos pasos el error persiste, revisa los archivos de tu tema y plugins en busca de código sospechoso (ej: archivos con nombres extraños, código ofuscado). También escanea tu web con un plugin de seguridad como Wordfence.
¿Qué hago si el error 500 aparece solo en una página específica?
Esto suele indicar un conflicto con un shortcode, un bloque de Gutenberg o una consulta a la base de datos mal optimizada. Prueba a desactivar plugins relacionados con esa página (galerías, formularios, etc.) y revisa el debug.log.
¿Puedo solucionar el error 500 sin acceso a FTP?
Sí, si tu hosting tiene un panel de control (como Syspanel/HestiaCP). Desde el administrador de archivos puedes editar wp-config.php, renombrar carpetas de plugins y cambiar permisos. Si no tienes ni FTP ni panel, contacta a tu proveedor de hosting.
¿El error 500 es lo mismo que el error 503?
No. El error 500 es interno del servidor (algo está mal en tu configuración). El error 503 indica que el servidor está sobrecargado o en mantenimiento. Ambos son diferentes.
¿Debo contactar a mi hosting si nada funciona?
¡Sí! Si has seguido todos los pasos (debug, plugins, .htaccess, memoria, permisos) y el error persiste, el problema puede estar en el servidor (ej: versión de PHP incompatible, módulo de Apache deshabilitado). Proporciónales el debug.log y diles qué has intentado.
Conclusión y Resumen Rápido
El error 500 en WordPress es un dolor de cabeza, pero es 100% solucionable con un enfoque metódico. Aquí tienes tu checklist de SysAdmin:
- Activar DEBUG en
wp-config.phppara ver el error real. - Desactivar plugins renombrando la carpeta
/wp-content/plugins. - Desactivar el tema renombrando su carpeta en
/wp-content/themes/. - Renombrar
.htaccessy regenerarlo desde Ajustes > Enlaces permanentes. - Aumentar memoria PHP a 256M en
wp-config.php. - Corregir permisos a 755 para carpetas y 644 para archivos.
- Revisar
functions.phppor errores de sintaxis.
Si después de todo esto tu web sigue mostrando el error 500, respira hondo, toma el debug.log y llama a tu hosting. ¡Tú ya hiciste el trabajo duro!
[TIP FINAL]: Para futuros sustos, mantén siempre un backup reciente de tu WordPress (archivos y base de datos). Así, si algo sale mal, puedes restaurar en minutos desde Syspanel o tu herramienta de backups favorita.
Espero que esta guía te haya sido útil. ¡Tu WordPress volverá a la vida en poco tiempo! Si tienes más dudas, aquí estoy para ayudarte.
