Error 500 Internal Server Error: checklist completo

error 500 Internal Server Error

📅 Publicado el 3 de octubre, 2026 · Por Equipo RedServicio

El error 500 Internal Server Error es de los fallos más frecuentes —y de los que más rabia dan— si te toca gestionar una web. Tu página deja de cargar, aparece una pantalla en blanco con un mensaje genérico y, por si fuera poco, el propio error no te cuenta qué lo ha provocado. Nada de pistas. Aquí tienes un checklist completo y ordenado para diagnosticar el problema y resolverlo tú mismo, empezando por las causas más comunes: el archivo .htaccess, los permisos de archivos y los límites de memoria PHP.

¿Qué es el error 500 Internal Server Error y por qué aparece?

El 500 es un código de estado HTTP que indica que el servidor se ha topado con algo inesperado y no puede completar la petición del navegador. Se diferencia de un 404 (recurso no encontrado) o un 403 (acceso denegado) en que es deliberadamente genérico: el servidor sabe que algo falla, pero no puede —o no quiere— revelar el detalle exacto. Por seguridad, entiéndase.

¿Qué lo provoca? Lo más habitual:

  • Errores de sintaxis o configuración en el archivo .htaccess.
  • Permisos de archivos y carpetas incorrectos (por ejemplo, 777 en archivos PHP).
  • Agotamiento de la memoria PHP asignada a tu cuenta de hosting.
  • Plugins, temas o scripts incompatibles, sobre todo en WordPress tras una actualización.
  • Versiones de PHP incompatibles con el código de tu aplicación.
  • Problemas temporales del servidor: picos de tráfico, mantenimiento, eso.

Antes de tocar nada, haz una captura del mensaje exacto y anota la hora en que apareció. Suena trivial, pero ahorra horas. Si tienes acceso a los logs de error de tu hosting, ahí estará la pista más valiosa. En un hosting de calidad como el de RedServicio puedes consultar los registros directamente desde el panel de control, y si te atascas, hay soporte 24/7.

Checklist paso a paso: revisa el archivo .htaccess

El .htaccess es, con diferencia, la causa número uno del error 500 en servidores Apache. Una sola línea mal escrita —un espacio de más, un módulo inexistente, una directiva no permitida— basta para tumbar toda la web. Lo he visto pasar muchas veces: el webmaster edita «una cosita» y la web entera cae.

El procedimiento seguro es este:

  1. Descarga una copia de seguridad del .htaccess actual por FTP o desde el gestor de archivos de tu panel (cPanel, Plesk…).
  2. Renómbralo a algo como .htaccess_backup para desactivarlo.
  3. Recarga tu web. ¿Vuelve a funcionar? El problema estaba aquí.
  4. Localiza la línea conflictiva: restaura el archivo por bloques, comprobando tras cada cambio, hasta dar con la directiva que rompe el sitio.

Tip: si usas WordPress, puedes generar un .htaccess limpio desde Ajustes → Enlaces permanentes → Guardar. Las reglas por defecto son estas:

# BEGIN WordPress

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ – [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

END WordPress

Ojo con un detalle que pocos mencionan: verifica que tu hosting permite las directivas que usas. php_value o php_flag solo funcionan si PHP corre como módulo de Apache; en servidores con PHP-FPM provocan un error 500 inmediato. Y no es raro que te lo encuentres después de un cambio de servidor que, en teoría, no debía afectar a nada.

Permisos de archivos y memoria PHP: causas comunes del error 500 Internal Server Error

Permisos incorrectos

Los servidores rechazan ejecutar archivos con permisos demasiado abiertos. Es una medida de seguridad, aunque a primera vista parezca un capricho. Si tu web cae de pronto tras una migración o después de subir archivos por FTP, lo primero que haría yo es mirar esto:

  • Archivos: 644 (nunca 666 ni 777).
  • Carpetas: 755 (nunca 777).
  • wp-config.php y archivos sensibles: 600 o 640.

Sé lo que pasa. A alguien le dice un tutorial viejo que ponga 777 «para que funcione todo», y funcionar funciona… hasta que el servidor lo bloquea. O peor: deja la puerta abierta.

Memoria PHP agotada

Hay un patrón que delata este problema: el error 500 aparece solo en páginas concretas. Una importación pesada, una tienda con cientos de productos, el propio panel de administración. Eso huele a memoria agotada. Puedes subirla en el php.ini o en wp-config.php:

define(‘WP_MEMORY_LIMIT’, ‘256M’);

O desde .htaccess (si tu servidor lo permite, ojo):

php_value memory_limit 256M

¿Y si sigue fallando? Toca hablar con el proveedor. En RedServicio el soporte 24/7 puede revisar los logs del servidor y los límites de tu plan para que recuperes la web cuanto antes.

Cómo usar los logs del servidor para diagnosticar el fallo

Nada te dirá qué está pasando con tanta claridad como los logs. Registran el mensaje exacto que el servidor le oculta al visitante —ese «500» anónimo— y por eso conviene ir a ellos antes de empezar a tocar cosas al azar. Suelen estar en la carpeta logs de la raíz de tu cuenta, accesibles desde el gestor de archivos o por FTP/SFTP.

Los registros que más te van a servir son tres:

  • error_log del servidor: muestra fallos de PHP, permisos incorrectos o directivas de .htaccess que el hosting no permite.
  • error_log de PHP: detalla excepciones, funciones no definidas y errores de sintaxis, con archivo y línea exacta.
  • access_log: permite comprobar qué URL devolvía el código 500 y si el fallo coincide con una petición concreta.

A veces el registro está vacío. Pasa. En ese caso actívalo temporalmente desde wp-config.php (en WordPress), añadiendo estas líneas antes de «/ That’s all… /»:

define(‘WP_DEBUG’, true);

define(‘WP_DEBUG_LOG’, true);

define(‘WP_DEBUG_DISPLAY’, false);

Con eso aparecerá un archivo debug.log dentro de wp-content, donde se apuntan cada uno de los avisos y errores. Y aquí un aviso: desactiva WP_DEBUG al terminar, porque no quieres exponer rutas internas. Un truco que me ahorra tiempo: reproduce el error justo antes de leer el log. Así la entrada relevante estará siempre al final del archivo, sin tener que rastrear miles de líneas.

Errores en plugins, temas y actualizaciones: qué verificar

En gestores de contenido como WordPress, buena parte de estos errores 500 vienen de extensiones o de actualizaciones que se quedaron a medias. El método más eficaz, con diferencia, es el aislamiento por descarte:

  1. Renombra la carpeta wp-content/plugins a «plugins_off» vía FTP. Si la web vuelve a funcionar, el problema está en algún plugin.
  2. Restaura el nombre original y ve renombrando plugins de uno en uno hasta dar con el culpable.
  3. Comprueba también el tema activo: renombra su carpeta y WordPress cargará uno por defecto si existe.
  4. Revisa la carpeta wp-content/upgrade y, si existe, el archivo .maintenance en la raíz; una actualización interrumpida puede dejar estos restos y bloquear el sitio.

Hago especial hincapié en limpiar tras actualizaciones fallidas del núcleo. Si al actualizar WordPress se cortó la conexión (una mala conexión wifi, un corte de luz, lo que sea), puede haber archivos subidos a medias. Sustituir las carpetas wp-admin y wp-includes por una copia limpia de la misma versión suele resolverlo sin más drama.

Y cuando ya hayas localizado el componente problemático, antes de reinstalarlo verifica que sea compatible con tu versión de PHP y del CMS. Un plugin que nadie ha actualizado para PHP 8.x es hoy uno de los orígenes más frecuentes de este error. Demasiado frecuente, de hecho.

Conclusión: prevención y buenas prácticas para evitar el error 500

El error 500 Internal Server Error asusta, lo reconozco. Pero con un checklist ordenado —revisar .htaccess, subir memory_limit, comprobar permisos, analizar logs y aislar plugins y temas— la inmensa mayoría de casos se resuelven en minutos. La clave es diagnosticar con método. No tocar por tocar.

Para que el riesgo quede al mínimo en el futuro, esto es lo que yo llevaría a la práctica:

  • Copias de seguridad automáticas antes de cualquier actualización o cambio de código. Sin excepción.
  • Entorno de pruebas (staging) para validar plugins y temas antes de llevarlos a producción.
  • Mantén todo actualizado: CMS, extensiones y versión de PHP soportada.
  • Monitoriza los logs de vez en cuando, para detectar avisos antes de que se conviertan en errores críticos.

Una infraestructura estable marca la diferencia. En RedServicio ofrecemos hosting con copias de seguridad, versiones de PHP configurables y soporte 24/7 que te acompaña precisamente en momentos como estos, para que un error 500 nunca llegue a ser una crisis. Tu web, siempre disponible y bajo control.

📝

Equipo RedServicio

Artículos escritos y revisados por nuestro equipo técnico especializado en hosting e infraestructura web en España.

¿Listo para un hosting de verdad?

Servidores en España · Soporte 24/7 en español · Migración gratuita

Ver Planes desde 3,95€/mes →

Te puede interesar:

Clisec — Seguridad informática

Página Gratis — Crea tu web gratis

Scroll al inicio