Cómo solucionar el Error 500 Internal Server en WordPress

El Error 500 Internal Server de WordPress es uno de los errores más frustrantes porque no ofrece ninguna información sobre lo que ha fallado. Puede aparecer en cualquier página, dejar tu sitio completamente fuera de línea y afectar a tu posicionamiento en los buscadores si permanece sin resolver durante más de unas pocas horas.

Descarga WP STAGING para evitar este y otros errores en el futuro. El plugin WP STAGING te permite crear una copia de tu sitio WordPress en segundos. Puedes probar nuevos plugins, diseños y otras actualizaciones en un entorno seguro en ese sitio de staging.

Resumen: Las cinco soluciones más habituales para un error 500 de WordPress son: (1) activar el modo depuración para leer el registro de errores, (2) comprobar y regenerar tu archivo .htaccess, (3) aumentar el límite de memoria de PHP, (4) desactivar todos los plugins y reactivarlos uno por uno, y (5) reinstalar los archivos del núcleo de WordPress. Empieza por el modo depuración para saber qué solución concreta debes aplicar.

¿Qué es el Error 500 Internal Server de WordPress?

Un código de estado 500 es la forma genérica que tiene el servidor de decir "algo ha salido mal". Cuando tu navegador solicita una página, el servidor ejecuta código PHP para construir esa página. Si algo en ese proceso falla antes de que se pueda formar una respuesta correcta, el servidor responde con un HTTP 500 en lugar de la propia página.

El error puede verse así:

Error-500

O puede verse así:

Error 500 - Internal Server Error

La característica clave es que el error es genérico. Te indica que la solicitud ha fallado, pero no por qué. Eso es lo que hace que sea más difícil de solucionar que un error más específico, como un 404 (página no encontrada) o un 403 (acceso denegado). El resto de esta guía te ofrece un recorrido sistemático por las causas más comunes.

¿Qué causa un error 500 en WordPress?

Las causas más comunes son:

  • Un archivo .htaccess dañado o mal formado
  • Agotamiento de la memoria de PHP
  • Un conflicto de plugin o tema que provoca un error fatal de PHP
  • Archivos del núcleo de WordPress dañados
  • Un fallo a nivel de servidor (caída de PHP-FPM, configuración incorrecta, permisos de archivo)

Utiliza la siguiente tabla para relacionar tu situación con la causa más probable y la primera solución más rápida:

¿Cuándo apareció el error 500? Alcance Causa más probable Primera solución a probar
Tras instalar o actualizar un plugin Sitio completo Conflicto de plugin Solución 4: Desactivar todos los plugins
Tras editar wp-config.php o .htaccess Sitio completo Error de sintaxis en el archivo de configuración Solución 2: Regenerar .htaccess
Tras una actualización del núcleo de WordPress Sitio completo Archivos del núcleo dañados Solución 5: Reinstalar los archivos del núcleo
Sin cambios recientes, sitio completo caído Sitio completo Agotamiento de memoria Solución 3: Aumentar el límite de memoria de PHP
Sin cambios recientes, una sola página afectada Solo una página Problema de enlaces permanentes o mod_rewrite Solución 2: Regenerar .htaccess
No puedes acceder a wp-admin en absoluto Sitio completo Causa desconocida Solución 1: Activar primero el modo depuración

Comprobaciones rápidas para probar primero

Antes de tocar ningún archivo, sigue estos dos pasos rápidos. Cualquiera de ellos puede resolver un error 500 provocado por una caché obsoleta.

Fuerza la recarga de la página: Pulsa Ctrl + F5 en Windows o Cmd + Shift + R en Mac para omitir la versión en caché y cargar la copia más reciente de la página.

Borra la caché del navegador: Borrar la caché del navegador descarta un problema de caché del lado del cliente antes de que cambies ningún archivo del servidor.

  1. Google Chrome: Pulsa Ctrl + Shift + Delete, selecciona el intervalo de tiempo deseado y haz clic en "Borrar datos".
Borrar la caché del navegador
  1. Mozilla Firefox: Pulsa Ctrl + Shift + Delete, elige el intervalo de tiempo apropiado y haz clic en "Limpiar ahora".
Borrar la caché del navegador Firefox
  1. Apple Safari: Pulsa Command + Option + E para borrar la caché al instante.
  2. Microsoft Edge: Pulsa Ctrl + Shift + Delete, marca "Imágenes y archivos en caché" y haz clic en "Borrar ahora".

Si el error desaparece después de borrar la caché, ya has terminado. Si persiste, continúa con las soluciones numeradas que se indican a continuación.

Los siguientes pasos son más complejos y afectan a la base de datos/archivos del sitio WordPress. Para no causar más daño y si aún tienes acceso al panel de WordPress, crea un sitio de staging con WP STAGING e intenta corregir el error en la página de staging en lugar de en el sitio de producción.

Puedes crear un sitio de staging para probar cada solución de forma segura antes de aplicarla a tu sitio de producción con WP STAGING.

Solución 1: Activar el modo depuración de WordPress

El primer paso más seguro es activar el registro de depuración de WordPress para que puedas leer el error exacto que provocó la respuesta 500. Sin el registro, cualquier solución posterior es pura conjetura. En los tickets de soporte de WP STAGING, la primera causa más habitual que vemos es un conflicto de plugin, y el registro de depuración lo pone de manifiesto de inmediato.

Abre tu archivo wp-config.php (ubicado en la raíz de tu instalación de WordPress, accesible mediante FTP o el administrador de archivos de tu hosting) y añade estas tres líneas:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Editar archivo Wp-Config

Consulta este artículo para ver un recorrido paso a paso de cómo activar el registro de depuración de WordPress.

El registro de depuración se escribe en /wp-content/debug.log. Abre el archivo y busca el primer error cerca de la parte superior. Si el registro apunta a un plugin concreto, cambia el nombre de la carpeta de ese plugin para desactivarlo. Por ejemplo, cambia el nombre de /wp-content/plugins/woocommerce a /wp-content/plugins/woocommerce-disabled.

Si el registro de depuración está vacío, comprueba el registro de errores a nivel de servidor:

  • Apache: /var/log/apache2/error.log
  • Nginx: /var/log/nginx/error.log

Accede a ellos mediante FTP o el panel de control de tu hosting. Algunos paneles de control también muestran el registro de errores a través de su interfaz de usuario.

Solución 2: Regenerar tu archivo .htaccess

Un archivo .htaccess dañado es una de las causas más comunes de un error 500 en servidores basados en Apache. El archivo se encuentra en el directorio raíz de tu WordPress, junto a las carpetas wp-admin, wp-includes y wp-content.

Editar archivo .htaccess

Para regenerarlo:

  1. Conéctate a tu sitio mediante FTP o el administrador de archivos de tu hosting.
  2. Cambia el nombre del archivo .htaccess existente a .htaccess_backup para tener una copia de seguridad.
  3. Crea un nuevo archivo llamado .htaccess y pega en él las reglas de reescritura predeterminadas de WordPress:
# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress

Vuelve a cargar tu sitio. Si el .htaccess dañado era la causa, el error se resuelve de inmediato.

Alternativa mediante el administrador de WordPress: Si todavía tienes acceso al escritorio, ve a Ajustes > Enlaces permanentes y haz clic en "Guardar cambios" sin modificar nada. WordPress regenera el .htaccess automáticamente al guardar.

Solución 3: Aumentar el límite de memoria de PHP

PHP procesa cada solicitud de página dentro de un presupuesto de memoria. Cuando un plugin, un tema o una consulta compleja supera ese presupuesto, el servidor responde con un error 500. Según nuestras pruebas en entornos de hosting compartido, el agotamiento de la memoria de PHP es el desencadenante más común del lado del servidor que encontramos cuando ningún cambio reciente en el sitio precedió al error.

Puedes aumentar el límite de dos maneras:

Opción A: Mediante cPanel (si tu host lo ofrece)

  1. Inicia sesión en cPanel.
  2. Abre "Select PHP Version".
  3. Haz clic en "Switch to PHP Options".
  4. Haz clic en memory_limit y aumenta el valor a 256 o 512 (MB), y luego guarda.

Opción B: Mediante wp-config.php

Editar archivo Wp-Config

Abre wp-config.php y añade esta línea cerca de la parte superior:

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

Guarda el archivo y vuelve a cargar tu sitio. Si el agotamiento de la memoria era la causa, el error se resuelve tras guardar.

Solución 4: Desactivar todos los plugins

Los conflictos de plugins son una causa raíz frecuente de un error 500 de WordPress. Si la Solución 1 confirmó un conflicto de plugin en el registro de depuración, o si no puedes leer el registro, desactivar todos los plugins y reactivarlos uno por uno identifica al culpable.

Si tienes acceso al administrador de WordPress:

  1. Ve a Plugins en el escritorio.
  2. Selecciona todos los plugins usando la casilla de la parte superior.
  3. En el desplegable "Bulk Actions", elige "Deactivate" y luego haz clic en "Apply". WordPress Dashboard Select Plugins Deactivate plugins to troubleshoot errors in the WordPress Admin Dashboard
  4. Vuelve a cargar tu sitio. Si el error ha desaparecido, reactiva los plugins uno por uno, recargando después de cada uno, hasta que el error reaparezca. El último plugin que activaste es el culpable.

Si no puedes acceder al administrador de WordPress:

Conéctate mediante FTP y cambia el nombre de la carpeta de plugins:

  1. Cambia el nombre de /wp-content/plugins a /wp-content/plugins-disabled.
  2. Vuelve a cargar tu sitio. Si vuelve a funcionar, has confirmado un conflicto de plugin.
  3. Vuelve a cambiar el nombre de la carpeta a /wp-content/plugins.
  4. Desactiva plugins individuales cambiando el nombre de sus subcarpetas (por ejemplo, cambia el nombre de /wp-content/plugins/woocommerce a /wp-content/plugins/woocommerce-disabled) y luego recarga después de cada cambio de nombre.

Solución 5: Reinstalar los archivos del núcleo de WordPress

Si el error apareció sin ningún cambio en plugins o temas, la causa pueden ser archivos del núcleo de WordPress dañados. Puedes reinstalar el núcleo sin sobrescribir tu contenido, tus plugins ni tus temas.

  1. Descarga la última copia de WordPress desde wordpress.org.
  1. Descomprime el archivo descargado.
  2. Conéctate a tu servidor mediante FTP o el administrador de archivos de tu hosting.
  3. Cambia el nombre de las carpetas existentes /wp-admin y /wp-includes a /wp-admin-backup y /wp-includes-backup.
  1. Sube las nuevas carpetas /wp-admin y /wp-includes del archivo descomprimido a la misma ubicación.
  1. Vuelve a cargar tu sitio. Si los archivos del núcleo dañados eran la causa, el error se resuelve una vez que se completa la subida.

No reemplaces wp-config.php ni la carpeta wp-content durante este proceso. Esos archivos contienen las credenciales de tu base de datos y todos los archivos multimedia que has subido.

Solución 6: Contactar con tu proveedor de hosting

Si ninguna de las cinco soluciones anteriores resolvió el error, lo más probable es que el problema esté a nivel de servidor y no dentro de tu instalación de WordPress. Las causas a nivel de servidor incluyen:

  • Un proceso PHP-FPM que se cayó o se detuvo silenciosamente
  • Una configuración incorrecta de Apache o Nginx introducida durante una actualización del servidor
  • Cambios en los permisos de archivos que impiden que PHP lea los archivos de WordPress
  • Límites de recursos a nivel de servidor no relacionados con el límite de memoria de PHP

Contacta con el equipo de soporte de tu proveedor de hosting y comparte las líneas relevantes del registro de errores del servidor que encontraste en la Solución 1. La mayoría de los hosts de WordPress gestionados pueden diagnosticar rápidamente los errores 500 a nivel de servidor a partir del registro.

Si tu host no puede resolver el problema, o si los errores 500 se repiten con frecuencia en condiciones de carga normales, puede que haya llegado el momento de evaluar un entorno de hosting más capaz para los requisitos de tu sitio.

Suscríbete a nuestro canal de YouTube para más video tutoriales de WordPress y conéctate con nosotros en Twitter y Facebook.

Qué hacer si ninguna de las soluciones funciona

Si has recorrido las seis soluciones y el error persiste, utiliza esta tabla para acotar las posibilidades restantes:

Síntoma Qué comprobar
El registro de depuración está vacío tras activar WP_DEBUG Comprueba el registro de errores a nivel de servidor (la ruta de Apache o Nginx de la Solución 1); puede que el error de PHP no esté llegando a la capa de registro de WordPress
Todos los plugins desactivados, el error sigue apareciendo Cambia a un tema predeterminado de WordPress (como Twenty Twenty-Four) mediante FTP, cambiando el nombre de la carpeta de tu tema activo en /wp-content/themes/
El error solo aparece en wp-admin, no en la parte pública Un plugin o archivo específico del administrador en /wp-content/mu-plugins/ puede estar cargándose y fallando; revisa ese directorio
El error 500 aparece solo en una URL Un shortcode, campo personalizado o bloque específico de una entrada puede estar provocando un error fatal; activa WP_DEBUG y visita esa URL para capturar la entrada del registro
El proveedor de hosting dice que no hay ningún error de servidor Pregunta específicamente por el estado del proceso PHP-FPM y si el conjunto de workers de PHP se ha reiniciado recientemente

Artículos relacionados

Rene Hermenau

Autor: Rene Hermenau

Sobre el autor: René Hermenau es el fundador de WP STAGING. Trabaja en copias de seguridad de WordPress, entornos de staging, migraciones, gestión de bases de datos y flujos de despliegue seguros.