1 de octubre de 2026

¿Cómo solucionar el error 500 Internal Server Error en WordPress? 🛠️

El error 500 en WordPress es una de esas averías que no gritan: susurran. No te dicen qué se rompió, no señalan al culpable, no dejan una nota educada sobre la mesa. Simplemente apagan la web y muestran una frase tan vaga que casi parece escrita por un comité: Internal Server Error.

Y, sin embargo, detrás de esa cortina gris suele haber algo bastante concreto: un plugin que se ha atragantado con PHP, un archivo .htaccess torcido, un límite de memoria agotado, permisos incorrectos, una actualización incompleta o un servidor que, pobre criatura, intenta sostener más carga de la que le prometieron en el folleto comercial.

🚨 Diagnóstico paso a paso
🔐 Seguridad y permisos
⚙️ WordPress, PHP y servidor
📈 Prevención y rendimiento

Esta guía está pensada para propietarios de sitios, administradores de WordPress, desarrolladores y equipos técnicos que necesitan algo más que el consejo habitual de “desactiva los plugins y reza”. Vamos a recorrer el problema con método: primero entenderemos qué significa realmente el error HTTP 500, después localizaremos la causa y finalmente aplicaremos soluciones seguras, sin convertir una incidencia en una pequeña tragedia digital.

Contenido del artículo

  1. Qué significa el error 500 en WordPress
  2. Qué hacer antes de modificar nada
  3. Causas más habituales del 500 Internal Server Error
  4. Diagnóstico rápido según el síntoma
  5. Soluciones paso a paso
  6. Cómo leer logs y activar WP_DEBUG
  7. Casos avanzados: PHP-FPM, Nginx, ModSecurity y base de datos
  8. Cómo prevenir futuros errores 500
  9. Preguntas frecuentes

Qué significa el error 500 Internal Server Error en WordPress

El código HTTP 500 indica un fallo interno del servidor. Es decir: la petición llegó al servidor, pero algo falló al procesarla. No es un error 404, donde el recurso no existe; tampoco un 403, donde el acceso está prohibido. El 500 es más nebuloso. Es el servidor diciendo: “sé que me pediste algo, pero me he roto por dentro”. Una confesión escueta, casi victoriana.

En WordPress, este error puede aparecer en diferentes lugares:

  • En toda la web pública.
  • Solo en el panel de administración /wp-admin.
  • Al publicar o actualizar entradas.
  • Al subir imágenes o archivos multimedia.
  • Durante una actualización de WordPress, plugins o temas.
  • En llamadas AJAX, REST API o tareas programadas con WP-Cron.
  • Después de migrar el sitio a otro hosting.

La gran ironía —sutil, pero con dientes— es que WordPress suele ser acusado de todos los males, cuando muchas veces el responsable está más abajo: PHP, Apache, Nginx, LiteSpeed, permisos del sistema, reglas de seguridad del hosting, memoria insuficiente o configuraciones heredadas. WordPress es la cara visible del incendio, no siempre la cerilla.

Idea clave: el error 500 no describe una causa; describe un resultado. Es una categoría general. Para resolverlo bien, necesitas convertir ese mensaje genérico en una pista concreta mediante logs, pruebas controladas y descarte ordenado.

Antes de tocar nada: tres medidas prudentes

Cuando una web cae, la tentación es abrir el FTP y empezar a borrar cosas con la energía de quien poda un jardín en plena tormenta. Mala idea. Antes de hacer cambios, conviene asegurar el terreno. En mantenimiento web, la paciencia no es lentitud: es seguro de vida.

1. Haz una copia de seguridad completa 🧯

Si todavía tienes acceso al panel del hosting, crea una copia de:

  • Archivos del sitio: especialmente wp-content, wp-config.php y .htaccess.
  • Base de datos MySQL o MariaDB.
  • Configuraciones relevantes del servidor, si tienes acceso avanzado.

Si usas herramientas como cPanel, Plesk, Site Tools, hPanel u otro panel similar, busca opciones como “Backup”, “Copias de seguridad” o “Administrador de archivos”. Si trabajas con SSH, puedes comprimir archivos y exportar la base de datos con utilidades como mysqldump.

2. Anota qué ocurrió antes del error

La memoria humana, después de una caída, es como una linterna con pilas gastadas. Apunta lo que recuerdes:

  • ¿Actualizaste WordPress, un plugin o un tema?
  • ¿Instalaste un plugin de seguridad, caché, SEO o constructor visual?
  • ¿Cambiaste la versión de PHP?
  • ¿Migraste la web?
  • ¿Editaste functions.php, .htaccess o wp-config.php?
  • ¿El hosting reportó mantenimiento o incidencias?

Una anécdota breve, porque viene al caso: una vez vi una web caer durante horas por una coma mal puesta en un fragmento de PHP añadido al tema hijo. Una coma. No un ataque ruso, no una conspiración del algoritmo, no un plugin maldito. Una coma diminuta, arrogante, instalada en el lugar equivocado como un florero en mitad de una autopista.

3. Activa un modo de mantenimiento si tienes tráfico

Si puedes acceder al hosting, CDN o firewall, considera mostrar una página temporal o activar una regla de mantenimiento. No siempre será posible, pero si tu web recibe ventas, reservas o leads, conviene evitar que los usuarios vean errores crudos del servidor.

Causas más habituales del error 500 en WordPress

El error 500 puede nacer de muchas fuentes. Algunas son evidentes; otras se esconden como humedad detrás de una pared recién pintada. Esta tabla resume las causas más frecuentes y su pista principal.

Causa probable Señal típica Solución habitual
Plugin incompatible o defectuoso El error aparece tras instalar o actualizar un plugin Desactivar plugins y reactivar uno por uno
Tema con error PHP La web cae tras cambiar plantilla o editar functions.php Cambiar temporalmente a un tema predeterminado
.htaccess corrupto Error en páginas internas, redirecciones extrañas o caída total en Apache/LiteSpeed Renombrar y regenerar enlaces permanentes
Memoria PHP insuficiente Caídas al editar, importar, usar WooCommerce o constructores visuales Aumentar WP_MEMORY_LIMIT y límites de PHP
Versión de PHP incompatible Después de cambiar PHP o actualizar plugins antiguos Usar una versión compatible y revisar errores fatales
Permisos incorrectos Fallo tras migración, restauración o cambios por FTP Ajustar permisos y propiedad de archivos
Reglas de seguridad del servidor Error al guardar formularios, editar entradas o usar admin-ajax Revisar ModSecurity, WAF o reglas del hosting
Archivos del núcleo dañados Actualización interrumpida o archivos faltantes Reinstalar WordPress sin tocar wp-content
Base de datos dañada o saturada Errores intermitentes, lentitud extrema, consultas fallidas Reparar tablas, optimizar y revisar consultas

Diagnóstico rápido según el síntoma

No todos los errores 500 son iguales. Algunos son abruptos, como una puerta cerrada de golpe; otros aparecen solo al pulsar cierto botón, más parecidos a una baldosa suelta que únicamente cruje cuando la pisas.

Síntoma Qué sospechar primero Primera acción recomendada
Error 500 en toda la web .htaccess, plugin crítico, PHP fatal, permisos Revisar logs y renombrar carpeta de plugins
Solo falla /wp-admin Plugin de seguridad, memoria PHP, tema o conflicto admin Desactivar plugins por FTP y activar depuración
Solo falla una página concreta Shortcode, bloque, consulta pesada, constructor visual Editar desde base de datos o duplicar página para aislar contenido
Error al subir imágenes Permisos, límites PHP, Imagick/GD, espacio en disco Revisar uploads, memoria y logs de PHP
Error al guardar ajustes ModSecurity, firewall, nonce, AJAX Consultar logs del WAF y probar desactivación temporal controlada
Error intermitente Recursos agotados, procesos PHP, caché, tráfico o bots Analizar consumo de CPU/RAM, access logs y cron

Soluciones paso a paso para reparar el error 500 en WordPress

La secuencia importa. Resolver un error 500 no debería ser una ruleta rusa con FTP. Empieza por las acciones reversibles, continúa con las más probables y deja las intervenciones profundas para cuando tengas evidencia.

1. Revisa si el servidor está caído o saturado 🌐

Antes de culpar a WordPress, comprueba si el problema es general del hosting. Accede al panel del proveedor y revisa:

  • Estado del servidor.
  • Uso de CPU, RAM, procesos PHP y entrada/salida de disco.
  • Espacio disponible.
  • Incidencias publicadas por el proveedor.
  • Errores recientes en logs del servidor.

En alojamientos compartidos, una web puede verse afectada por límites estrictos: número de procesos, memoria por proceso, tiempo máximo de ejecución o reglas automáticas contra consumo excesivo. Aquí aparece una antítesis muy moderna: vendemos webs globales, veloces, siempre despiertas; las alojamos a veces en planes tan estrechos como una habitación sin ventanas.

2. Desactiva todos los plugins si no puedes entrar al administrador

Los plugins son una de las mayores virtudes de WordPress y también una de sus principales fuentes de drama. Añaden funciones, conectan servicios, automatizan tareas; pero cuando chocan entre sí o con una versión de PHP, el servidor puede responder con un 500.

Si no tienes acceso a /wp-admin, hazlo por FTP, SFTP o el administrador de archivos del hosting:

  1. Entra en la carpeta raíz de WordPress.
  2. Ve a wp-content.
  3. Renombra la carpeta plugins como plugins-desactivados.
  4. Comprueba si la web carga.

Si la web vuelve, el culpable está entre los plugins. Luego:

  1. Crea una nueva carpeta llamada plugins.
  2. Mueve los plugins uno por uno desde plugins-desactivados a plugins.
  3. Activa cada plugin desde WordPress y prueba la web.
  4. Cuando reaparezca el error 500, habrás encontrado al sospechoso.

Atención: si usas WooCommerce, membresías, reservas o pasarelas de pago, desactivar plugins puede afectar funciones críticas. En una tienda activa, lo ideal es reproducir primero el problema en staging o activar un modo mantenimiento breve.

3. Cambia temporalmente a un tema predeterminado

Un tema no es solo “el diseño”. Puede incluir funciones PHP, plantillas personalizadas, integraciones, constructores, hooks y fragmentos que se ejecutan en cada carga. Un error en functions.php puede tumbar el sitio con la elegancia de un dominó vestido de gala.

Si puedes entrar al panel:

  1. Ve a Apariencia > Temas.
  2. Activa un tema predeterminado reciente, como Twenty Twenty-Four o Twenty Twenty-Five, si está disponible.
  3. Comprueba si desaparece el error.

Si no puedes entrar:

  1. Accede a wp-content/themes.
  2. Renombra la carpeta del tema activo, por ejemplo mi-tema a mi-tema-off.
  3. WordPress intentará cargar otro tema instalado.

También puedes cambiar el tema desde la base de datos, en la tabla wp_options, modificando los valores template y stylesheet. El prefijo puede no ser wp_; muchos sitios usan otro por seguridad o por configuración histórica.

4. Regenera el archivo .htaccess

En servidores Apache o LiteSpeed, el archivo .htaccess controla reglas de reescritura, redirecciones, caché, seguridad y enlaces permanentes. Es un archivo pequeño, sí, pero también lo es una llave; y todos sabemos lo que ocurre cuando no encaja.

Para comprobar si está corrupto:

  1. Accede a la raíz de WordPress por FTP/SFTP.
  2. Localiza .htaccess. Si no lo ves, activa la visualización de archivos ocultos.
  3. Renómbralo como .htaccess-antiguo.
  4. Intenta cargar la web.

Si la web vuelve, genera uno nuevo desde WordPress:

  1. Entra en Ajustes > Enlaces permanentes.
  2. Sin cambiar nada, pulsa Guardar cambios.

El contenido básico de .htaccess para una instalación estándar de WordPress suele ser:

<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>

Nota técnica: si tu sitio está en Nginx puro, no utiliza .htaccess. Las reglas de reescritura se configuran en bloques de servidor. En ese caso, renombrar .htaccess no tendrá efecto.

5. Aumenta la memoria PHP de WordPress

WordPress necesita memoria para ejecutar plugins, procesar imágenes, construir páginas, realizar consultas, cargar traducciones y atender el panel. WooCommerce, constructores visuales, plugins multilingües y herramientas de importación pueden consumir bastante más de lo que parece. La web moderna promete ligereza, pero a veces camina con una mochila llena de piedras.

Para aumentar el límite desde wp-config.php, añade antes de la línea que dice “That’s all, stop editing” o su equivalente:

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

Esto ayuda si el servidor permite esos valores. Si el hosting tiene un límite inferior, WordPress no podrá superarlo. También puede ser necesario ajustar:

  • memory_limit en php.ini.
  • max_execution_time.
  • max_input_vars.
  • post_max_size y upload_max_filesize.

Valores razonables para muchos sitios WordPress profesionales:

Parámetro Valor orientativo Cuándo aumentarlo
memory_limit 256M a 512M WooCommerce, Elementor, Divi, WPML, importaciones
max_execution_time 120 a 300 Migraciones, backups, importaciones grandes
max_input_vars 3000 a 10000 Menús grandes, constructores, traducciones
upload_max_filesize 64M a 256M Subidas de vídeo, PDFs o imágenes pesadas

6. Comprueba la versión de PHP

WordPress funciona con PHP, y PHP cambia. Lo que ayer era compatible hoy puede emitir advertencias; lo que hace años era aceptado hoy puede provocar errores fatales. Esta es una de las paradojas más incómodas del mantenimiento: actualizar mejora la seguridad, pero puede romper código antiguo; no actualizar conserva compatibilidad, pero abre grietas. Entre el museo y el quirófano, hay que elegir con criterio.

Recomendaciones prácticas:

  • Usa una versión de PHP soportada por tu hosting y compatible con tu versión de WordPress, tema y plugins.
  • Evita mantener versiones obsoletas como PHP 7.4 o inferiores salvo necesidad temporal y controlada.
  • Antes de subir a PHP 8.2 o 8.3, prueba en staging si tu ecosistema de plugins es complejo.
  • Revisa el registro de errores tras cambiar la versión.

Si el error 500 apareció justo después de cambiar PHP, vuelve temporalmente a la versión anterior compatible y revisa qué plugin o tema genera errores. No conviertas el retroceso en costumbre: úsalo como puente, no como vivienda.

7. Corrige permisos de archivos y carpetas 🔐

Los permisos incorrectos pueden impedir que PHP lea, escriba o ejecute lo necesario. Esto suele ocurrir después de migraciones, restauraciones, cambios por FTP o instalaciones hechas con usuarios distintos en el servidor.

Como orientación general en WordPress:

  • Carpetas: 755.
  • Archivos: 644.
  • wp-config.php: 600 o 640 en entornos que lo permitan.

No uses 777 salvo en pruebas extremadamente controladas y por tiempo mínimo. Dar permisos totales para resolver un error es como quitar la puerta de casa porque la cerradura se atasca: práctico durante tres segundos, absurdo después.

Si tienes SSH, un ajuste típico sería:

find /ruta/a/wordpress/ -type d -exec chmod 755 {} \;
find /ruta/a/wordpress/ -type f -exec chmod 644 {} \;

Además de permisos, revisa la propiedad de los archivos. En servidores con PHP-FPM, el usuario propietario debe coincidir con el usuario bajo el cual se ejecuta el sitio. Si no sabes cuál es, consulta al proveedor antes de aplicar cambios masivos.

8. Reinstala los archivos del núcleo de WordPress

Una actualización interrumpida, una transferencia FTP incompleta o un archivo dañado pueden provocar errores internos. La solución es reemplazar los archivos del núcleo sin tocar el contenido propio del sitio.

Pasos seguros:

  1. Descarga WordPress desde wordpress.org.
  2. Descomprime el paquete en tu ordenador.
  3. Elimina del paquete local la carpeta wp-content para no sobrescribir temas, plugins y medios.
  4. Sube y reemplaza las carpetas wp-admin y wp-includes.
  5. Reemplaza archivos raíz de WordPress, excepto wp-config.php y, si quieres conservarlo, .htaccess.

No sobrescribas wp-content ni wp-config.php a ciegas. Ahí vive buena parte de la identidad de tu sitio: plugins, temas, uploads, claves, conexión con base de datos y configuraciones sensibles.

9. Revisa el archivo wp-config.php

El archivo wp-config.php contiene la conexión con la base de datos, claves de seguridad, configuración de memoria, prefijo de tablas y otras constantes. Un carácter mal añadido puede provocar un error fatal.

Comprueba especialmente:

  • Que no haya espacios o caracteres extra antes de <?php.
  • Que las comillas estén correctamente cerradas.
  • Que los datos de base de datos sean correctos.
  • Que las constantes añadidas manualmente no estén duplicadas.
  • Que no se haya pegado código con formato extraño desde un procesador de texto.

Si editas este archivo, usa un editor de texto plano o un IDE. Evita herramientas que cambien comillas, codificación o saltos de línea. WordPress es tolerante en muchas cosas; PHP, cuando quiere, tiene la paciencia de un notario.

10. Comprueba el espacio en disco e inodos

Un sitio puede fallar si el servidor se queda sin espacio o sin inodos, aunque todavía “parezca” que todo está ahí. Backups acumulados, cachés gigantes, registros de error desbocados o carpetas de staging olvidadas pueden llenar el alojamiento.

Revisa:

  • Espacio usado por wp-content/uploads.
  • Carpetas de caché: wp-content/cache, caché de plugins, caché de LiteSpeed, etc.
  • Backups locales dentro del propio hosting.
  • Archivos error_log enormes.
  • Inodos disponibles, si tu hosting los limita.

Eliminar caché y backups antiguos puede recuperar el sitio si el problema era falta de espacio. Eso sí: descarga una copia antes de borrar respaldos, por si acaso.

Cómo leer logs y activar WP_DEBUG

Los logs son el diario íntimo del servidor. No siempre escriben bonito, pero casi siempre dicen la verdad. Si quieres resolver un error 500 con precisión profesional, necesitas mirar registros.

Activar depuración en WordPress

Edita wp-config.php y añade o ajusta estas líneas:

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

Con esto, WordPress guardará errores en:

wp-content/debug.log

El ajuste WP_DEBUG_DISPLAY en false evita mostrar errores a visitantes. Es más profesional y más seguro. Mostrar rutas internas, nombres de plugins o mensajes técnicos en producción es regalar migas de pan a quien no siempre viene con buenas intenciones.

Qué buscar en los logs

Busca frases como:

  • PHP Fatal error
  • Allowed memory size exhausted
  • Uncaught Error
  • Call to undefined function
  • Maximum execution time exceeded
  • Permission denied
  • Premature end of script headers

Un ejemplo típico:

PHP Fatal error: Uncaught Error: Call to undefined function example_function()
in /home/usuario/public_html/wp-content/plugins/plugin-ejemplo/includes/core.php:128

Ese mensaje ya no es una niebla: es una dirección postal. Te dice que el fallo ocurre en un plugin concreto, en un archivo concreto, en una línea concreta. A partir de ahí puedes desactivar ese plugin, actualizarlo, reemplazarlo o contactar con el desarrollador.

Dónde encontrar logs del servidor

Según el hosting, los registros pueden estar en:

  • Panel de control: sección “Errores”, “Logs”, “Registro de errores” o similar.
  • Archivos llamados error_log dentro de la raíz del sitio.
  • /var/log/apache2/error.log en servidores Apache.
  • /var/log/nginx/error.log en servidores Nginx.
  • Logs de PHP-FPM, por ejemplo /var/log/php-fpm.log o rutas específicas por pool.

Consejo profesional: después de resolver el problema, desactiva WP_DEBUG en producción o, como mínimo, evita que el archivo debug.log sea accesible públicamente. La depuración es una linterna, no una lámpara encendida toda la noche en la ventana.

Casos avanzados: cuando el error 500 no se deja cazar fácilmente

ModSecurity o firewall bloqueando peticiones legítimas 🛡️

ModSecurity, WAF del hosting, Cloudflare u otros firewalls pueden bloquear peticiones que consideran sospechosas. A veces aciertan; otras veces ven un ataque donde solo hay un formulario largo, una regla CSS rara o un bloque de Gutenberg especialmente entusiasta.

Sospecha de esto si el error 500 aparece al:

  • Guardar ajustes de plugins.
  • Enviar formularios.
  • Editar páginas con mucho contenido.
  • Usar constructores visuales.
  • Enviar código, scripts o iframes dentro de campos permitidos.

Qué hacer:

  1. Consulta los logs de seguridad del hosting.
  2. Identifica la regla bloqueada.
  3. Pide al proveedor que cree una excepción específica, no que desactive todo el firewall sin más.
  4. Si usas Cloudflare, revisa eventos de seguridad y reglas WAF.

PHP-FPM agotado o mal configurado

En servidores con PHP-FPM, los procesos PHP atienden las peticiones. Si se agotan, se bloquean o tardan demasiado, pueden aparecer errores 500, 502 o 504. El usuario ve una pantalla fría; el servidor, entretanto, está como una cocina diminuta intentando preparar cien cenas a la vez.

Indicadores:

  • Errores intermitentes en horas punta.
  • Mensajes como server reached pm.max_children.
  • Procesos PHP en cola.
  • Alta latencia en admin-ajax.php o WooCommerce.

Soluciones posibles:

  • Aumentar pm.max_children si el servidor tiene RAM suficiente.
  • Optimizar plugins pesados y consultas lentas.
  • Implementar caché de página, objeto y OPcache.
  • Reducir llamadas AJAX innecesarias.
  • Bloquear bots abusivos.

Nginx y reglas de reescritura incorrectas

Si tu sitio usa Nginx, las reglas de enlaces permanentes no viven en .htaccess. Una configuración incorrecta puede romper rutas internas, API REST o archivos estáticos.

Un bloque básico para WordPress en Nginx suele incluir algo parecido a:

location / {
    try_files $uri $uri/ /index.php?$args;
}

Si migraste desde Apache a Nginx y empezaron los problemas, revisa configuración de servidor, fastcgi, rutas raíz, certificados, caché y cabeceras. Aquí conviene tener manos técnicas: Nginx es rápido y elegante, sí, pero no perdona configuraciones improvisadas.

Base de datos dañada o sobrecargada

WordPress depende de MySQL o MariaDB. Si la base de datos tiene tablas dañadas, consultas lentas, opciones autoload gigantes o transients acumulados, puede contribuir a errores internos o tiempos de espera.

Acciones recomendadas:

  • Revisar el estado de las tablas desde phpMyAdmin.
  • Ejecutar reparación si hay tablas marcadas como dañadas.
  • Optimizar tablas grandes con prudencia.
  • Revisar la tabla wp_options, especialmente opciones con autoload = yes.
  • Eliminar transients expirados con herramientas fiables.
  • Comprobar consultas lentas si tienes acceso a slow query log.

WordPress incluye una utilidad de reparación que puede activarse temporalmente añadiendo en wp-config.php:

define('WP_ALLOW_REPAIR', true);

Luego accede a:

https://tudominio.com/wp-admin/maint/repair.php

Después de usarla, elimina esa línea. No requiere login, por lo que dejarla activa sería una descortesía con tu propia seguridad.

Error 500 tras una migración

Las migraciones son mudanzas: siempre aparece una caja que nadie etiquetó. Si el error 500 surge después de mover la web, revisa:

  • Versión de PHP del nuevo servidor.
  • Extensiones PHP necesarias: mysqli, curl, mbstring, xml, zip, gd o imagick.
  • Rutas absolutas antiguas en caché o configuración.
  • Permisos y propietarios de archivos.
  • .htaccess con reglas específicas del hosting anterior.
  • Credenciales de base de datos.
  • URLs antiguas en la base de datos.

Si usaste un plugin de migración, borra cachés generadas y guarda enlaces permanentes. Si la migración fue manual, revisa también serialización de datos al reemplazar URLs; hacerlo mal puede romper widgets, constructores y opciones del tema.

Orden recomendado de actuación

Si necesitas una ruta clara, aquí tienes un flujo profesional para solucionar el error 500 en WordPress sin perderte en bifurcaciones:

  1. Comprobar si el hosting tiene incidencias o límites agotados.
  2. Crear copia de seguridad de archivos y base de datos.
  3. Revisar logs del servidor y activar WP_DEBUG_LOG.
  4. Desactivar plugins mediante renombrado de carpeta.
  5. Cambiar temporalmente a un tema predeterminado.
  6. Renombrar y regenerar .htaccess.
  7. Aumentar memoria PHP y revisar límites.
  8. Comprobar versión de PHP y compatibilidad.
  9. Corregir permisos y propietarios.
  10. Reinstalar núcleo de WordPress si hay indicios de archivos dañados.
  11. Revisar ModSecurity, WAF, PHP-FPM, Nginx o base de datos si el fallo persiste.

Regla de oro: cambia una sola cosa cada vez y prueba. Si modificas cinco elementos a la vez y la web vuelve, habrás solucionado el problema, sí, pero no sabrás cuál era. Y el misterio volverá, porque los misterios técnicos tienen mala memoria pero excelente puntualidad.

Cómo prevenir futuros errores 500 en WordPress 🚀

La prevención no tiene el glamour de una reparación urgente. Nadie aplaude una web que no se cae. Pero ahí está el oficio: en lo que no sucede, en la alarma que no suena, en el lunes que transcurre sin incendio.

Mantén un entorno de pruebas

Un sitio de staging permite probar actualizaciones de WordPress, plugins, temas y PHP antes de aplicarlas en producción. Para webs corporativas, tiendas online, medios o academias, no es un lujo: es una red de seguridad.

Actualiza con método, no con ansiedad

  • Haz backup antes de actualizar.
  • Actualiza primero en staging.
  • Lee changelogs de plugins críticos.
  • No actualices veinte plugins a la vez si el sitio es complejo.
  • Evita plugins abandonados o sin compatibilidad reciente.

Elige hosting adecuado

Un WordPress básico puede vivir en hosting compartido. Un WooCommerce con tráfico, sincronizaciones, pasarelas, filtros y campañas no debería sobrevivir a base de milagros. Busca:

  • PHP actualizado y configurable.
  • OPcache activo.
  • Backups automáticos restaurables.
  • Acceso a logs.
  • Soporte técnico competente.
  • Recursos suficientes para tráfico real.
  • Entorno staging.

Reduce la dependencia de plugins innecesarios

Cada plugin añade código, consultas, archivos, hooks y potenciales conflictos. No se trata de demonizarlos; WordPress sin plugins sería como una navaja suiza sin hojas. Pero conviene auditar periódicamente:

  • Plugins inactivos.
  • Plugins duplicados en función.
  • Extensiones que cargan recursos en todo el sitio sin necesidad.
  • Plugins abandonados o sin soporte.
  • Herramientas que podrían sustituirse por una función ligera.

Implementa caché y optimización

Una buena estrategia de rendimiento reduce presión sobre PHP y base de datos. Considera:

  • Caché de página.
  • Caché de objeto con Redis o Memcached si el hosting lo permite.
  • OPcache para PHP.
  • CDN para recursos estáticos.
  • Optimización de imágenes.
  • Control de bots y tráfico malicioso.

Monitoriza errores y disponibilidad

Configura alertas para saber si tu sitio cae. Herramientas de uptime monitoring, logs centralizados o servicios de observabilidad pueden avisarte antes de que lo haga un cliente enfadado. Y créeme, el cliente enfadado es un sistema de monitorización muy eficiente, pero algo ruidoso.

Checklist profesional para resolver un error 500

  • ✅ Hice copia de seguridad completa.
  • ✅ Revisé cambios recientes.
  • ✅ Consulté logs del hosting.
  • ✅ Activé WP_DEBUG_LOG sin mostrar errores al público.
  • ✅ Desactivé plugins por FTP/SFTP.
  • ✅ Probé con tema predeterminado.
  • ✅ Regeneré .htaccess.
  • ✅ Aumenté memoria PHP si era necesario.
  • ✅ Verifiqué versión de PHP.
  • ✅ Revisé permisos y propietario de archivos.
  • ✅ Comprobé espacio en disco e inodos.
  • ✅ Revisé ModSecurity o firewall.
  • ✅ Analicé base de datos si había lentitud o errores SQL.
  • ✅ Documenté la causa para evitar que se repita.

Preguntas frecuentes sobre el error 500 en WordPress

¿El error 500 significa que WordPress está dañado?

No necesariamente. Puede deberse a WordPress, pero también al servidor, PHP, permisos, memoria, reglas de seguridad, base de datos o un plugin. El 500 es un síntoma general, no un diagnóstico.

¿Puedo solucionar el error 500 sin acceder a wp-admin?

Sí. Muchas soluciones se aplican desde FTP/SFTP, administrador de archivos del hosting, phpMyAdmin o SSH. Puedes desactivar plugins renombrando carpetas, cambiar temas, revisar logs, editar wp-config.php y regenerar archivos.

¿Renombrar la carpeta plugins borra mis plugins?

No. Renombrarla solo impide que WordPress los cargue. Los archivos siguen ahí. Aun así, conviene tener backup antes de hacer cambios, especialmente en sitios con tienda online o funciones críticas.

¿Cuál es la causa más común del error 500?

En WordPress, una de las causas más habituales es un plugin incompatible o con error fatal. También son muy frecuentes los problemas con .htaccess, memoria PHP insuficiente y versiones de PHP incompatibles.

¿El error 500 afecta al SEO?

Sí, si dura demasiado o se repite con frecuencia. Google puede reducir temporalmente el rastreo si encuentra errores del servidor. Una caída breve no suele ser grave; una web inestable durante días puede perjudicar indexación, experiencia de usuario y conversiones.

¿Debo contactar con el hosting?

Sí, especialmente si no tienes acceso a logs, si el error es intermitente, si sospechas de ModSecurity, PHP-FPM, límites de recursos o problemas de servidor. Un buen soporte puede ver información que desde WordPress no está disponible.

¿Es seguro activar WP_DEBUG?

Sí, si se hace correctamente. Lo recomendable en producción es usar WP_DEBUG_LOG en true y WP_DEBUG_DISPLAY en false, para registrar errores sin mostrarlos a los visitantes.

Un cierre práctico: del susto al método

El error 500 Internal Server Error en WordPress parece, al principio, una pared sin puertas. Pero casi siempre hay una grieta por donde mirar: un log, un plugin recién actualizado, una regla de servidor, un límite de memoria, una versión de PHP que ya no se lleva bien con cierto código antiguo. La tarea consiste en no golpear la pared a ciegas.

La buena noticia es que el error 500 rara vez es el final de nada. Es una interrupción, a veces aparatosa, a veces inoportuna, casi siempre reparable. Con backups, registros, pruebas ordenadas y una infraestructura razonable, la web vuelve. Y cuando vuelve, conviene no olvidar la lección: WordPress no es solo publicar páginas bonitas; es mantener un ecosistema vivo, un pequeño organismo técnico donde servidor, código, base de datos y seguridad respiran juntos.

Porque una web estable no es la que nunca falla. Esa web no existe. Una web verdaderamente profesional es la que, cuando falla, deja pistas, tiene respaldo y puede levantarse sin que nadie tenga que sacrificar una tarde entera al dios caprichoso del FTP. ⚙️✨

Deja una respuesta