Cómo arreglar el error 500 en WordPress

Categoría: WordPress

El error 500 en WordPress suele aparecer como pantalla blanca, mensaje genérico o HTTP ERROR 500 después de actualizar un plugin, cambiar de tema o tocar wp-config.php. La causa real está en el log o en WP_DEBUG; sigue este flujo para encontrarla rápido.

Antes de empezar

  • Acceso a cPanel y a la administración de WordPress (/wp-admin/) — si no entras al admin, usa Administrador de archivos o FTP.
  • Sabe qué cambió: actualización de plugin/tema, edición manual de archivos, migración o cambio de PHP.
  • Respaldo reciente desde Asistente de respaldo o WP Toolkit.

Paso 0 — Activa WP_DEBUG

Sin debug activo, el sitio solo muestra “Internal Server Error”. Edita wp-config.php desde Administrador de archivos y agrega antes de /* That's all, stop editing! */:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

Recarga el sitio: el log se escribe en wp-content/debug.log. Ahí verás el plugin, archivo y línea exactos.

Importante: apaga WP_DEBUG cuando termines — expone información sensible si queda activo en producción.

Causas comunes en WordPress

1. Conflicto de plugin

Un plugin nuevo (o actualizado) rompe el sitio.

Si no entras al admin, desactívalos por Administrador de archivos:

  1. Ve a wp-content/.
  2. Renombra la carpeta plugins a plugins.off.
  3. Recarga el sitio. Si carga, el problema es un plugin.
  4. Vuelve a renombrar a plugins y entra al admin (todos quedan desactivados).
  5. Activa uno por uno hasta reproducir el error.

2. Conflicto de tema

Un tema con código incompatible con tu PHP o con un plugin clave.

Si no entras al admin, fuerza el tema por defecto desde phpMyAdmin:

  1. Abre la base de datos de WordPress.
  2. En la tabla wp_options busca template y stylesheet.
  3. Cambia ambos a twentytwentyfour (o el tema por defecto que tengas en wp-content/themes/).
  4. Recarga el sitio.

Una actualización de plugin de cache o un cambio de hosting deja un .htaccess que mod_rewrite no entiende.

  1. En Administrador de archivos ve a la raíz de WordPress.
  2. Renombra .htaccess a .htaccess.old.
  3. Recarga el sitio.
  4. Si carga, entra a Ajustes → Enlaces permanentes y haz clic en Guardar cambios sin tocar nada — WordPress regenera un .htaccess limpio.

4. Memoria PHP agotada

debug.log muestra Allowed memory size of … bytes exhausted.

Edita wp-config.php y agrega:

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

Si el límite del servidor es menor, también súbelo desde Seleccionar versión PHP → Opciones → memory_limit.

5. Versión de PHP incompatible

WordPress 6.x ya no soporta PHP 7.4 oficialmente.

  1. En cPanel abre Seleccionar versión PHP y cambia a PHP 8.2 o 8.3.
  2. Si un plugin viejo rompe en PHP 8, busca actualización o reemplazo; quedarte en 7.4 ya no es opción a futuro.

6. Archivos del core dañados

Migración interrumpida, FTP en modo binario o malware borraron archivos clave.

  1. Descarga la versión actual desde https://wordpress.org/download/.
  2. Sube por FTP todo excepto wp-config.php y la carpeta wp-content/.
  3. Sobrescribe wp-admin/ y wp-includes/ completos.

7. Base de datos inaccesible

debug.log muestra Error establishing a database connection.

  1. Verifica DB_NAME, DB_USER, DB_PASSWORD y DB_HOST en wp-config.php.
  2. En Bases de datos MySQL® confirma que el usuario tenga TODOS LOS PRIVILEGIOS.
  3. Si la base superó la cuota o se corrompió, soporte puede repararla.

Diagnóstico rápido (orden recomendado)

  1. Activa WP_DEBUG y revisa wp-content/debug.log.
  2. Renombra plugins/ y prueba.
  3. Renombra .htaccess y resave permalinks.
  4. Sube WP_MEMORY_LIMIT.
  5. Cambia PHP a 8.2/8.3.
  6. Si nada cambia, sube core limpio.
  7. Última opción: restaurar respaldo previo al fallo.

Verificación final

  • El frontend carga 200 en incógnito.
  • /wp-admin/ carga y permite iniciar sesión.
  • wp-content/debug.log no genera errores nuevos.
  • WP_DEBUG está apagado de nuevo.
  • Los plugins críticos están reactivados y funcionan.

Errores comunes al diagnosticar

  • Dejas WP_DEBUG activo en producción: expone rutas y versiones.
  • Reactivas todos los plugins de golpe: hazlo uno por uno o no sabrás cuál era.
  • Editas wp-config.php sin respaldo: siempre descarga una copia primero.
  • Ignoras el cache: purga LiteSpeed Cache, WP Rocket o Cloudflare después de cada prueba.
  • Confías en “está todo bien” sin abrir el log: si no leíste el log, no diagnosticaste.

¿Aún necesitas ayuda?

Si esta guía no resolvió tu problema, nuestro equipo te ayudará por ticket.