🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Resolver error 500 en WordPress con DirectAdmin

Actualizado el 7 de mayo de 2026

¡Hola! Soy tu asistente técnico de confianza. Hoy vamos a enfrentarnos a uno de los errores más temidos por cualquier administrador de sitios web: el temido error 500 en WordPress. Si estás leyendo esto, probablemente tu página se ha vuelto blanca o ha mostrado un mensaje genérico de "Error interno del servidor". No te preocupes, es un problema muy común y, con las herramientas adecuadas (como DirectAdmin), suele tener solución.

En esta guía completa, te explicaré paso a paso cómo diagnosticar y solucionar error 500 en tu instalación de WordPress alojada en un servidor con panel DirectAdmin. Vamos a desglosar las causas más frecuentes y las soluciones más efectivas, desde las más sencillas hasta las más técnicas. ¡Manos a la obra!


¿Qué es exactamente un error 500 en WordPress?

El error 500 WordPress es un código de estado HTTP que indica que algo ha salido mal en el servidor, pero sin dar detalles específicos. Es la forma que tiene el servidor de decir: "Algo se rompió, pero no sé decirte exactamente qué". Esto puede deberse a un plugin conflictivo, un tema defectuoso, un archivo .htaccess corrupto, un límite de memoria excedido o, incluso, un problema de permisos de archivos.

Lo bueno es que, al usar DirectAdmin, tienes acceso a herramientas muy potentes para rastrear el problema, como los logs de errores.

[INFO] No confundas el error 500 con el error 502 (Bad Gateway) o el 503 (Servicio no disponible). El 500 es un error general del servidor, mientras que los otros suelen indicar problemas con proxies o sobrecarga.


Paso 1: Lo primero, no entrar en pánico. Causas comunes

Antes de meternos en comandos y logs, vamos a identificar rápidamente las causas más habituales de un DirectAdmin error 500 en WordPress:

  1. Plugin o tema defectuoso: Es la causa número 1. Una actualización reciente o un plugin mal codificado puede romper todo.
  2. Archivo .htaccess dañado: Un error al modificar las reglas de reescritura (por ejemplo, al activar un plugin de caché) puede provocar un bucle infinito.
  3. Límite de memoria PHP (memory_limit) insuficiente: Si tu WordPress necesita más memoria de la que el servidor le asigna, se cuelga.
  4. Permisos de archivos incorrectos: Archivos con permisos demasiado restrictivos o demasiado abiertos pueden causar conflictos.
  5. Corrupción de archivos del núcleo de WordPress: Una actualización fallida puede dejar archivos dañados.
  6. Problemas con el archivo wp-config.php: Una configuración incorrecta de la base de datos o de las constantes de depuración.

Ahora, veamos cómo abordar cada una de ellas desde DirectAdmin.


Paso 2: Accede al panel de DirectAdmin y activa el modo de depuración

El primer paso técnico es intentar obtener más información. WordPress tiene un modo de depuración que, en lugar de mostrar una pantalla en blanco, muestra el error real (por ejemplo, "Fatal error: Call to undefined function...").

¿Cómo activar la depuración desde DirectAdmin?

  1. Accede a tu panel de DirectAdmin.

  2. Ve a Administrador de Archivos (File Manager) en la sección de tu dominio.

  3. Localiza el archivo wp-config.php en la raíz de tu instalación de WordPress (normalmente en public_html o domains/tudominio.com/public_html).

  4. Haz clic derecho sobre él y selecciona Editar.

  5. 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 blogging. */.

  6. Cambia false por true y añade estas dos líneas adicionales justo debajo:

    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_DISPLAY', true );
    define( 'WP_DEBUG_LOG', true );
    

    [WARNING] No dejes esto activado en un sitio en producción para siempre. Solo es para diagnóstico. Una vez solucionado, vuelve a poner false.

  7. Guarda el archivo. Ahora, al recargar tu web, en lugar del error 500, verás un mensaje de error específico. Anota ese mensaje, nos será muy útil.

Si no ves nada y la página sigue en blanco, el error puede estar en el propio archivo wp-config.php o en el servidor. Entonces pasamos al siguiente paso.


Paso 3: Revisa los logs de errores del servidor (DirectAdmin)

Si el modo depuración no da resultado, los logs del servidor son tu mejor amigo. DirectAdmin los almacena en una ubicación estándar.

¿Dónde están los logs en DirectAdmin?

  1. Vuelve al Administrador de Archivos.

  2. Navega a la carpeta domains/tudominio.com/logs/.

  3. Busca el archivo error.log (o tudominio.com.error.log). Ábrelo.

  4. Busca las últimas líneas (las de la fecha/hora en que ocurrió el error). Verás algo como:

    [Tue Oct 24 10:00:00 2023] [error] [client IP] ... PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate ...)

    Este mensaje te dirá exactamente qué archivo de plugin o tema está causando el problema y por qué (por ejemplo, límite de memoria, función no definida, etc.).

[TIP] Si el archivo error.log está vacío, asegúrate de que el registro de errores esté habilitado en la configuración de PHP de tu plan de hosting. En DirectAdmin, puedes hacerlo desde Configuración de PHP (PHP Settings) dentro del menú de tu dominio.


Paso 4: Soluciones rápidas desde DirectAdmin (sin tocar código)

Basado en lo que viste en el log, aquí tienes las soluciones más efectivas.

Solución 1: Desactivar todos los plugins (la solución milagrosa)

Si el log menciona un plugin, esta es la vía más rápida. No necesitas entrar a WordPress.

  1. En el Administrador de Archivos, ve a public_html/wp-content/plugins/.
  2. Renombra la carpeta plugins a plugins_desactivados (o cualquier otro nombre). Esto hará que WordPress no encuentre los plugins y los desactive todos automáticamente.
  3. Recarga tu web. Si funciona, el problema está en uno de los plugins.
  4. Para identificar cuál, ve creando una nueva carpeta plugins y mueve los plugins de uno en uno (o en grupos) desde plugins_desactivados a la nueva carpeta plugins. Recarga la web después de cada movimiento. Cuando el error vuelva a aparecer, habrás encontrado al culpable.

Solución 2: Restaurar el tema por defecto (Twenty Twenty-Four)

Si el log menciona tu tema, haz lo mismo:

  1. Ve a public_html/wp-content/themes/.
  2. Renombra la carpeta de tu tema activo (por ejemplo, mi-tema a mi-tema-ok). WordPress detectará que no existe y activará automáticamente un tema por defecto (Twenty Twenty-Four, Twenty Twenty-Three, etc.).
  3. Si la web funciona, el problema es del tema. Puedes reinstalarlo o contactar al desarrollador.

Solución 3: Regenerar el archivo .htaccess

Un .htaccess dañado es otra causa común.

  1. En el Administrador de Archivos, localiza el archivo .htaccess en public_html.

  2. Renómbralo a .htaccess_old (esto lo desactiva).

  3. Recarga tu web. Si funciona, el .htaccess estaba corrupto.

  4. Para regenerarlo: Ve a Ajustes > Enlaces permanentes en tu WordPress (si puedes acceder) y haz clic en Guardar cambios. Si no puedes acceder, crea un nuevo archivo .htaccess con el siguiente contenido básico:

    # 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
    

Solución 4: Aumentar el límite de memoria PHP (memory_limit)

Si el log decía "Allowed memory size exhausted", necesitas darle más memoria a PHP.

  1. En DirectAdmin, ve a Configuración de PHP (PHP Settings) de tu dominio.
  2. Busca la opción memory_limit. Por defecto suele estar en 128M o 256M.
  3. Auméntalo a 512M o incluso 1024M (1GB) si tu plan lo permite.
  4. Haz clic en Guardar. Espera unos segundos y recarga tu web.

Si no tienes acceso a esta opción, puedes intentar añadir esta línea en tu wp-config.php (justo antes del /* That's all... */):

define('WP_MEMORY_LIMIT', '512M');

[WARNING] No subas la memoria a niveles absurdos (como 2GB) a menos que sea estrictamente necesario, ya que podría afectar a otros sitios en el mismo servidor.


Paso 5: Soluciones más avanzadas (para usuarios con algo de experiencia)

Si nada de lo anterior funciona, toca revisar permisos y archivos del núcleo.

Solución 5: Verificar permisos de archivos y carpetas

Los permisos incorrectos pueden causar un error 500 WordPress.

  1. En el Administrador de Archivos, selecciona toda la carpeta public_html.
  2. Haz clic en Cambiar permisos (Change Permissions).
  3. Aplica los siguientes valores estándar:
    • Carpetas (directorios): 755
    • Archivos: 644
    • wp-config.php: 644 (o 440 para mayor seguridad)
    • Carpeta wp-content: 755 (a veces 775 si hay problemas de escritura de plugins)
  4. Marca la opción Recursivo (Recursive) para que se aplique a todas las subcarpetas y archivos.
  5. Haz clic en Guardar.

Solución 6: Reinstalar el núcleo de WordPress (sin perder contenido)

A veces, un archivo del core se corrompe.

  1. Descarga la última versión de WordPress desde wordpress.org.
  2. Descomprime el archivo en tu ordenador.
  3. Sube solo las carpetas wp-admin y wp-includes (y el contenido de la raíz, excepto wp-config.php y wp-content) a tu servidor mediante el Administrador de Archivos o FTP. No subas la carpeta wp-content, ya que ahí están tus plugins, temas y medios.
  4. Sobrescribe los archivos existentes cuando el sistema te lo pida.
  5. Recarga tu web.

FAQ: Preguntas frecuentes sobre el error 500 en DirectAdmin

P: ¿Puedo solucionar el error 500 sin perder mi contenido?
R: Sí, absolutamente. Todas las soluciones aquí descritas (desactivar plugins, cambiar tema, modificar .htaccess, reinstalar core) no borran tus entradas, páginas o medios. Solo desactivan temporalmente funcionalidades.

P: Mi web da error 500 después de instalar un plugin de caché. ¿Qué hago?
R: Es muy común. Sigue la Solución 1 (renombrar la carpeta plugins). Luego, dentro de la carpeta plugins_desactivados, busca el plugin de caché y elimínalo. Vuelve a renombrar la carpeta a plugins y tu web debería funcionar. Luego instala otro plugin de caché más estable.

P: No veo el archivo .htaccess en DirectAdmin. ¿Por qué?
R: Es posible que esté oculto. En el Administrador de Archivos, busca la opción Mostrar archivos ocultos (Show Hidden Files) y actívala. También puedes crearlo manualmente desde la interfaz.

P: ¿Qué hago si el error persiste incluso después de desactivar todo?
R: Entonces el problema probablemente esté en el servidor (configuración de PHP, módulos de Apache, permisos de usuario). Contacta a tu proveedor de hosting y diles que has seguido todos los pasos de esta guía. Ellos podrán revisar los logs del servidor a nivel de sistema.

P: ¿Y si uso otro panel como Syspanel?
R: Si tu hosting usa Syspanel (antes conocido como HestiaCP), el proceso es muy similar. El puerto de acceso a Syspanel es el 2106 (ejemplo: https://tudominio.com:2106). Los pasos de diagnóstico son los mismos: activar WP_DEBUG, revisar logs (en /var/log/apache2/error.log o en la carpeta del dominio dentro de /home/usuario/web/tudominio/logs/), y las soluciones de plugins y temas son idénticas.


Conclusión final

El error 500 WordPress puede ser frustrante, pero con un enfoque metódico y las herramientas de DirectAdmin (logs, administrador de archivos, configuración PHP), casi siempre tiene solución. Recuerda:

  • Activa WP_DEBUG para obtener pistas.
  • Revisa los logs en domains/tudominio.com/logs/error.log.
  • Desactiva plugins y temas renombrando carpetas.
  • Regenera el .htaccess.
  • Aumenta la memoria PHP si es necesario.

Si después de todo esto el problema continúa, no dudes en contactar a tu soporte técnico proporcionándoles los mensajes de error exactos que hayas encontrado. ¡Estarás un paso más cerca de recuperar tu web!

Espero que esta guía te haya sido de gran ayuda. Si tienes alguna duda, recuerda que estoy aquí para ayudarte. ¡Buena suerte y a seguir creando contenido!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel