Abres tu web y aparece el temido mensaje "500 Internal Server Error". Tu web ha dejado de funcionar y solo muestra una página en blanco o un mensaje de error críptico. No te alarmes: en esta guía detallada explicamos paso a paso qué significa un error 500, cuáles son sus causas y cómo solucionarlo rápidamente.

¿Qué es un error HTTP 500?

El código de estado HTTP 500 significa Internal Server Error. Es el mensaje de error más genérico del lado del servidor e indica que algo inesperado ha fallado en el servidor web, de modo que tu página no puede cargarse.

A diferencia de un error 503 (servidor temporalmente no disponible) o un error 404 (página no encontrada), un error 500 no indica ninguna causa concreta. El servidor solo sabe que algo ha fallado, pero no qué exactamente.

Las causas más habituales son:

  • Errores de sintaxis de PHP: una errata en tu código, plugin o tema
  • Archivo .htaccess dañado: reglas de reescritura incorrectas o ajustes en conflicto
  • Límite de memoria de PHP alcanzado: tu script consume más memoria de la permitida
  • Permisos de archivo incorrectos: los archivos o carpetas tienen permisos equivocados
  • Plugin o tema defectuoso: una actualización reciente ha provocado un conflicto
  • Problema de conexión con la base de datos: la base de datos está llena, fuera de línea o dañada
  • Incompatibilidad con la versión de PHP: tu código no funciona con la versión actual de PHP

La buena noticia: un error 500 casi siempre tiene solución si sabes dónde buscar.

Variantes del error 500

El mensaje de error 500 puede aparecer de distintas formas, según tu navegador, tu servidor o tu CMS. En cuanto veas el código 500, sabrás que esta es la guía que necesitas.

Mensaje de errorDescripción
500 Internal Server ErrorLa variante más habitual
HTTP Error 500Mensaje de error HTTP estándar
HTTP 500 - Internal Server ErrorForma alternativa
500 ErrorVariante abreviada
HTTP Error 500.0 - Internal Server ErrorVariante de servidores IIS/Windows
Esta página no funciona - HTTP ERROR 500Forma específica de Chrome
Ha habido un error crítico en esta webForma específica de WordPress
Internal Server Error - The server encountered an internal errorVariante ampliada de Apache

Solucionar un error 500 como visitante

¿Estás visitando una web que muestra un error 500? El problema está en el servidor, no en ti. Aun así, puedes probar algunas cosas:

  1. Actualiza la página: pulsa F5 o Ctrl+R. A veces el error es temporal y desaparece al actualizar.
  2. Espera unos minutos: es posible que el administrador ya esté trabajando en una solución. Vuelve a intentarlo dentro de 5-10 minutos.
  3. Vacía la caché del navegador: ve a los ajustes del navegador y elimina la caché y las cookies de esa web.
  4. Prueba con otro navegador: a veces la causa es una extensión del navegador que entra en conflicto con la web.
  5. Comprueba si la web está caída para todos: usa un servicio como downdetector.nl para comprobar si otros usuarios tienen el mismo problema.

¿Sigue sin funcionar? Ponte en contacto con el administrador de la web: el problema tiene que resolverse en el lado del servidor.

Solucionar un error 500 como propietario de la web

¿Eres el propietario de la web? Sigue estos 9 pasos para encontrar la causa y solucionarla.

1. Comprueba los registros de errores de PHP

El paso más importante: comprueba tus archivos de registro. El registro de errores te indica exactamente qué archivo y qué línea provocan el fallo.

Inicia sesión en el panel de control de tu plan de hosting (como DirectAdmin o cPanel) y busca el registro de errores de PHP (PHP error log) o el registro de errores de Apache (Apache error log).

Ejemplo de línea de registro:

[Wed Jan 15 09:23:45 2026] [error] PHP Fatal error: Uncaught Error: Call to undefined function custom_function() in /home/user/domains/example.nl/public_html/wp-content/themes/mytheme/functions.php on line 47

En este ejemplo ves que el archivo functions.php llama en la línea 47 a una función desconocida. La ruta /themes/mytheme/ te indica que el problema está en tu tema.

Consejo: Mira las líneas más recientes del archivo de registro: el error que buscas casi siempre está al final.

2. Cambia el nombre del archivo .htaccess

Un archivo .htaccess dañado o incorrecto es una de las causas más habituales de un error 500. Compruébalo cambiando temporalmente el nombre del archivo:

  1. Inicia sesión por FTP o con el administrador de archivos de tu panel de control
  2. Busca el archivo .htaccess en la raíz de tu web
  3. Cámbiale el nombre a .htaccess-backup
  4. Actualiza tu web

¿Vuelve a funcionar tu web? Entonces tu .htaccess contiene un error. Crea un archivo nuevo con las reglas estándar 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

3. Desactiva los plugins por FTP

Si ya no puedes iniciar sesión en WordPress, puedes desactivar los plugins por FTP:

  • Conéctate a tu web por FTP
  • Ve a /wp-content/plugins/
  • Cambia el nombre de la carpeta a plugins-disabled
  • Actualiza tu web: si vuelve a funcionar, la causa era un plugin
  • Devuelve a la carpeta el nombre plugins
  • Activa los plugins uno a uno desde el escritorio de WordPress para encontrar al culpable

A menudo la causa es el último plugin activado o actualizado. Empieza a probar por ahí.

4. Cambia a un tema estándar

Un tema defectuoso también puede provocar un error 500. Compruébalo cambiando por FTP el nombre de la carpeta de tu tema activo (por ejemplo, de mytheme a mytheme-disabled). WordPress cambia automáticamente a un tema estándar como Twenty Twenty-Four.

¿Vuelve a funcionar tu web? Entonces tu tema contiene un error. Comprueba si hay una actualización del tema disponible o ponte en contacto con el desarrollador del tema.

5. Aumenta el límite de memoria de PHP

PHP tiene un límite de memoria estándar (a menudo 128MB o 256MB). Si tu web necesita más memoria, aparece un error 500. Aumenta el límite de una de estas formas:

Con wp-config.php:

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

Con php.ini o .user.ini:

memory_limit = 512M

Con .htaccess (Apache):

php_value memory_limit 512M

Con DirectAdmin: Ve a tu panel de control → PHP Selector → memory_limit y ponlo en 512M.

¿Necesitas más memoria de forma continuada? Plantéate pasar a un VPS con recursos dedicados.

6. Comprueba los permisos de archivo

Unos permisos de archivo incorrectos pueden hacer que el servidor no pueda leer o ejecutar archivos. Los permisos correctos para WordPress son:

  • Carpetas: 755 (rwxr-xr-x)
  • Archivos: 644 (rw-r--r--)
  • wp-config.php: 640 o 600 (protección adicional)

Comprueba y corrige los permisos por FTP o SSH:

find /pad/naar/website -type d -exec chmod 755 {} \;
find /pad/naar/website -type f -exec chmod 644 {} \;

Atención: Nunca pongas los permisos en 777: es un grave riesgo de seguridad.

7. Comprueba la base de datos

Una base de datos dañada o llena también puede provocar un error 500. Compruébalo iniciando sesión en phpMyAdmin desde tu panel de control.

  • Reparar la base de datos: Selecciona todas las tablas → elige "Reparar tabla" en el menú desplegable
  • Optimizar la base de datos: Selecciona todas las tablas → elige "Optimizar tabla"
  • Comprobar wp-config.php: Comprueba que los datos de la base de datos (host, nombre, usuario, contraseña) sean correctos

También puedes activar el modo de reparación de bases de datos de WordPress añadiendo a wp-config.php esta línea:

define('WP_ALLOW_REPAIR', true);

A continuación, ve a example.com/wp-admin/maint/repair.php. No olvides eliminar esta línea después de la reparación.

8. Activa WP_DEBUG

Si los registros de errores no dan suficiente información, activa el modo de depuración de WordPress para obtener mensajes de error más detallados:

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

Así, todos los errores y avisos de PHP se registran en /wp-content/debug.log sin que los visitantes vean los mensajes de error. Revisa este archivo en busca de pistas sobre la causa.

Importante: Desactiva siempre WP_DEBUG (false) en cuanto termines de depurar. Un modo de depuración activo puede filtrar información sensible y ralentiza tu web.

9. Comprueba la versión de PHP

Una versión de PHP inadecuada puede provocar incompatibilidades con tu instalación de WordPress, tus plugins o tu tema. Comprueba qué versión de PHP usas:

  • Inicia sesión en tu panel de control (DirectAdmin o cPanel)
  • Ve a PHP Selector o a los ajustes de PHP
  • Comprueba la versión actual

WordPress 6.x requiere como mínimo PHP 7.4, pero se recomienda PHP 8.1 o 8.2 para obtener el mejor rendimiento y la mejor seguridad. Si usas una versión más antigua, actualiza a PHP 8.1 o superior.

Atención: Después de actualizar PHP, comprueba siempre que todos los plugins y temas sigan funcionando correctamente. Algunos plugins antiguos no son compatibles con PHP 8.x.

Evitar los errores 500

Más vale prevenir que curar. Con estas medidas reduces al mínimo la probabilidad de sufrir errores 500:

  • Haz copias de seguridad con regularidad: haz copias de seguridad automáticas a diario para poder recuperarte rápidamente si hay problemas
  • Prueba las actualizaciones en un entorno de pruebas (staging): nunca actualices plugins, temas o el núcleo de WordPress directamente en tu web en producción
  • Mantén el software actualizado: el software anticuado es la mayor causa de errores 500
  • Usa un proveedor fiable: elige un proveedor de hosting con buena monitorización de servidores y un soporte rápido
  • Instala un monitor de disponibilidad: servicios como UptimeRobot te avisan de inmediato cuando tu web se cae
  • Limita el número de plugins: cada plugin aumenta la probabilidad de conflictos y errores
  • Usa control de versiones: con Git puedes hacer un seguimiento de los cambios y revertirlos rápidamente si hay problemas

Diferencia entre los errores 500, 502 y 503

Todos los códigos de error HTTP del rango 5xx indican problemas del servidor, pero cada código tiene un significado distinto:

Código de errorNombreSignificadoCausa más habitual
500Internal Server ErrorError desconocido del servidorError de PHP, .htaccess, permisos
502Bad GatewayRespuesta no válida del servidor upstreamFallo de PHP-FPM, timeout del proxy
503Service UnavailableServidor temporalmente no disponibleSobrecarga, mantenimiento

Con un error 500, el servidor está "averiado" (error interno); con un 502, falla la comunicación entre servidores; y con un 503, el servidor está demasiado ocupado.

Preguntas frecuentes sobre el error 500

¿Qué significa exactamente HTTP Error 500 Internal Server Error?

El código de estado HTTP 500 es un mensaje de error genérico del lado del servidor. Significa que el servidor web se ha encontrado con un problema inesperado y no ha podido procesar la solicitud. El servidor sabe que algo ha fallado, pero no puede indicar qué exactamente. Por eso, comprobar los registros de errores es siempre el primer paso para depurar.

¿Cuál es la causa más habitual de un error 500?

En las webs con WordPress, la causa más habitual es un archivo .htaccess dañado o un plugin defectuoso. En otras webs, los principales culpables son los errores de sintaxis de PHP y los permisos de archivo incorrectos. En todos los casos, el registro de errores de PHP da la pista más directa sobre la causa.

¿Puede desaparecer un error 500 por sí solo?

En casos poco frecuentes sí, por ejemplo si el servidor estaba temporalmente sobrecargado o si un proceso en segundo plano se bloqueó y se reinició automáticamente. Pero en la mayoría de los casos, un error 500 exige que el administrador de la web intervenga. No te quedes esperando: comprueba tus registros de errores y soluciona el problema.

¿Afecta un error 500 a mi posición en Google?

Un error 500 breve (unos minutos) rara vez afecta a tu SEO. Pero si Google se encuentra repetidamente con un error 500 al rastrear tus páginas, esto puede provocar la desindexación y una caída en los resultados de búsqueda. Por eso, soluciona siempre los errores 500 lo antes posible y supervisa tu web con Google Search Console.

¿Cómo evito los errores 500 al actualizar WordPress?

Haz siempre una copia de seguridad completa antes de actualizar WordPress, plugins o temas. Actualiza los plugins uno a uno (no todos a la vez) y comprueba después de cada actualización que tu web sigue funcionando correctamente. Si es posible, usa un entorno de pruebas (staging) para probar primero las actualizaciones antes de aplicarlas en tu web en producción. Elige también un hosting WordPress fiable con copias de seguridad automáticas.

¿Buscas un hosting fiable sin errores 500? Consulta nuestros planes de hosting web con LiteSpeed, NVMe SSD y garantía de disponibilidad del 99,9%. O elige un VPS con control total y recursos dedicados.