Cómo solucionar error 500 en WordPress en DirectAdmin
¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a resolver juntos uno de los problemas más temidos al gestionar un sitio web: el temido error 500 en WordPress. Si estás usando DirectAdmin como panel de control, no te preocupes, porque te guiaré paso a paso para que puedas solucionarlo. Este error suele ser un “Internal Server Error”, lo que significa que algo está mal en la configuración del servidor o en tu sitio, pero no te preocupes, con un poco de paciencia y siguiendo estos pasos, lo tendrás funcionando en poco tiempo.
Empecemos por lo básico: el error 500 es genérico, pero las causas más comunes incluyen problemas con el archivo .htaccess, conflictos de plugins o temas, límites de memoria de PHP, o incluso errores en los permisos de archivos. Como SysAdmin, tu trabajo es identificar la raíz del problema, y aquí te enseñaré a hacerlo de manera sencilla.
¿Qué es el error 500 en WordPress y por qué aparece en DirectAdmin?
El error 500 es un código de estado HTTP que indica que el servidor encontró un problema interno y no puede completar la solicitud. En WordPress, esto puede deberse a:
- Archivo .htaccess corrupto (muy común).
- Plugin o tema defectuoso (sobre todo después de una actualización).
- PHP memory limit insuficiente (cuando tu sitio consume más recursos de los permitidos).
- Permisos de archivos incorrectos (archivos con permisos 777 o carpetas mal configuradas).
- PHP errors (como un error de sintaxis en funciones.php).
En DirectAdmin, el entorno es bastante amigable, pero a veces los logs de error no se muestran directamente. Por eso, lo primero que haremos será habilitar la depuración para obtener más pistas.
Paso 1: Activar el modo de depuración en WordPress
Antes de tocar nada, vamos a configurar WordPress para que muestre los errores. Así podremos ver exactamente qué está fallando.
- Conéctate a tu DirectAdmin o usa un cliente FTP (como FileZilla) para acceder a los archivos de tu sitio.
- Ve a la carpeta raíz de tu instalación de WordPress (normalmente
public_htmlo una subcarpeta si tienes varios sitios). - Busca el archivo wp-config.php y ábrelo con un editor de texto (como Notepad++ o el editor integrado de DirectAdmin).
- Justo antes de la línea que dice
/* That's all, stop editing! Happy blogging. */, agrega estas líneas:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
[INFO] El
WP_DEBUG_DISPLAYlo ponemos enfalsepara que los errores no se muestren en pantalla (podrían romper el diseño), sino que se guarden en un archivo de log.
- Guarda el archivo y sube los cambios (si usas FTP). Luego, recarga tu sitio. Si el error 500 persiste, revisa la carpeta
wp-contenty busca un archivo llamado debug.log. Ábrelo y busca líneas que empiecen conPHP Fatal erroroPHP Warning. Esa será tu pista principal.
Si no ves el archivo debug.log, puede que no se haya creado aún. En ese caso, pasa al siguiente paso.
Paso 2: Desactivar plugins y temas desde el panel de control
A veces, un plugin conflictivo es el culpable. Lo bueno es que podemos desactivarlos sin necesidad de acceder al admin de WordPress (que quizá no cargue por el error).
Método 1: Desde DirectAdmin (renombrando la carpeta de plugins)
- En DirectAdmin, ve a File Manager o usa FTP para navegar a
wp-content/plugins. - Renombra la carpeta plugins a algo como plugins_backup. Esto desactivará todos los plugins de golpe.
- Vuelve a cargar tu sitio. Si el error 500 desaparece, entonces el problema está en algún plugin.
- Para identificar cuál, renombra la carpeta de nuevo a plugins y luego ve renombrando uno por uno los plugins (por ejemplo, renombra
akismetaakismet_old) hasta que el error desaparezca. El que cause el problema será el último que renombraste.
Método 2: Cambiando temporalmente el tema
Si el error persiste después de desactivar plugins, prueba con el tema:
- Ve a
wp-content/themes. - Renombra la carpeta de tu tema activo (por ejemplo,
twentytwentyfouratwentytwentyfour_backup). WordPress automáticamente usará un tema por defecto (como Twenty Twenty-Four). - Si el error se soluciona, entonces tu tema original tiene un problema. Puedes reinstalarlo o contactar al desarrollador.
[WARNING] Si renombras el tema y el sitio sigue dando error 500, puede que el problema no sea de WordPress, sino del servidor. No te desanimes, seguimos.
Paso 3: Revisar el archivo .htaccess
El archivo .htaccess es el encargado de las reglas de reescritura de URLs (los "enlaces permanentes" de WordPress). Un error aquí puede causar el error 500.
- En DirectAdmin, ve a la carpeta raíz de tu sitio (donde está
wp-config.php). - Busca el archivo .htaccess. Si no lo ves, asegúrate de que tu visor de archivos muestre archivos ocultos (en FTP, activa "Mostrar archivos ocultos").
- Renómbralo a .htaccess_backup para desactivarlo temporalmente.
- Recarga tu sitio. Si el error desaparece, entonces el .htaccess estaba corrupto.
- Para restaurarlo, ve a Ajustes > Enlaces permanentes en el admin de WordPress (si puedes acceder) y haz clic en "Guardar cambios". Esto generará un nuevo .htaccess limpio.
Si no puedes acceder al admin, crea un nuevo .htaccess con el siguiente contenido (copia y pega en un bloc de notas y súbelo como .htaccess):
# 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
[TIP] Si usas un plugin de caché o seguridad, a veces generan reglas adicionales. Si el error persiste, prueba con este .htaccess básico.
Paso 4: Aumentar el límite de memoria de PHP
WordPress a veces necesita más memoria de la que el servidor asigna por defecto. Esto es especialmente común si tienes muchos plugins o un tema pesado.
- Abre el archivo wp-config.php nuevamente.
- Justo antes de la línea de cierre (
/* That's all... */), agrega:
define('WP_MEMORY_LIMIT', '256M');
- Guarda y recarga el sitio. Si el error persiste, también puedes probar aumentando a
512M.
Si esto no funciona, es posible que el límite esté controlado por DirectAdmin a nivel de servidor. Para ello:
- Ve a DirectAdmin > Account Manager > PHP Settings (o busca "PHP Selector" en tu panel).
- Busca la opción memory_limit y cámbiala a un valor más alto (por ejemplo, 256M o 512M). También puedes ajustar
max_execution_timea 300 segundos. - Guarda los cambios y reinicia el servicio de PHP si es necesario (a veces se aplica automáticamente).
[INFO] Si no ves la opción "PHP Selector", contacta a tu proveedor de hosting para que lo ajuste.
Paso 5: Verificar permisos de archivos y carpetas
Los permisos incorrectos pueden causar errores 500, especialmente si algún archivo tiene permisos 777 (que son inseguros y a veces bloqueados por el servidor).
- En DirectAdmin, ve a File Manager y selecciona la carpeta raíz de tu sitio.
- Haz clic derecho y elige Change Permissions.
- Asegúrate de que:
- Las carpetas tengan permisos 755 (rwxr-xr-x).
- Los archivos (como .php, .html) tengan permisos 644 (rw-r--r--).
- El archivo wp-config.php debe tener permisos 600 o 640 por seguridad.
- Si ves algún archivo con permisos 777, cámbialo a 755 (si es carpeta) o 644 (si es archivo). No uses 777 a menos que sea estrictamente necesario.
Si tienes muchos archivos, puedes usar un script en SSH (si tienes acceso) para corregir todo de una vez:
find /home/usuario/public_html -type d -exec chmod 755 {} \;
find /home/usuario/public_html -type f -exec chmod 644 {} \;
chmod 600 /home/usuario/public_html/wp-config.php
[WARNING] Si no tienes acceso a SSH, no te preocupes, hazlo manualmente desde File Manager. Es más lento, pero seguro.
Paso 6: Revisar los logs de error del servidor (DirectAdmin)
DirectAdmin guarda logs de errores del servidor que pueden darte pistas adicionales.
- En DirectAdmin, ve a Logs > Error Log (o busca "Apache Error Log").
- Busca líneas que contengan tu dominio o la palabra "PHP Fatal error".
- Anota los mensajes, como
require_once(): Failed opening requiredoAllowed memory size exhausted. Estos te indicarán exactamente qué archivo o función está fallando.
Si no ves nada relevante, prueba a recargar el sitio y revisar el log de nuevo (a veces los errores se registran con un pequeño retraso).
Paso 7: Restaurar una copia de seguridad (si todo falla)
Si después de todos estos pasos el error 500 persiste, lo mejor es restaurar una copia de seguridad reciente. DirectAdmin suele tener una función de backup automático.
- Ve a DirectAdmin > Backup/Transfer > Restore Backup.
- Selecciona la copia de seguridad más reciente (idealmente de antes de que apareciera el error).
- Elige restaurar solo los archivos de WordPress (no la base de datos si no quieres perder contenido reciente).
- Una vez restaurado, revisa si el error desaparece.
[INFO] Si no tienes copia de seguridad, contacta a tu proveedor de hosting. Muchos tienen backups diarios y pueden restaurarlos por ti.
Preguntas frecuentes (FAQ)
¿Por qué aparece el error 500 solo en algunas páginas?
Esto suele deberse a un plugin o tema que se ejecuta solo en ciertas condiciones (por ejemplo, en una página específica). Activa el modo debug y revisa el log para ver qué archivo está causando el error.
¿Puede ser un problema de SSL?
Sí, a veces una configuración incorrecta de SSL (como un certificado vencido) puede causar errores 500. Revisa que tu SSL esté activo y bien configurado en DirectAdmin.
¿Necesito reiniciar servicios después de hacer cambios?
En DirectAdmin, la mayoría de los cambios (como editar wp-config.php) se aplican al instante. Si ajustas PHP settings, a veces es necesario reiniciar Apache o PHP-FPM desde el panel de administración del servidor.
¿El error 500 puede ser por un ataque DDoS?
Es poco común, pero posible. Si tu sitio recibe mucho tráfico repentino, el servidor puede colapsar. Contacta a tu proveedor de hosting para que revise el uso de recursos.
Conclusión
El error 500 en WordPress en DirectAdmin puede parecer aterrador, pero con un enfoque metódico, casi siempre se soluciona. Recuerda:
- Activa el modo debug para obtener pistas.
- Desactiva plugins y temas para aislar el problema.
- Revisa el .htaccess y los permisos de archivos.
- Aumenta el límite de memoria de PHP.
- Usa los logs del servidor para obtener información detallada.
Si después de todo esto el error persiste, no dudes en contactar a tu proveedor de hosting. Ellos tienen acceso a configuraciones del servidor que nosotros no podemos tocar. Y recuerda, siempre mantén copias de seguridad actualizadas.
¡Espero que este artículo te haya sido de gran ayuda! Si tienes más dudas, déjalas en los comentarios (si este es un blog) o consulta a tu equipo de soporte. ¡Buena suerte!
