HTTP Error 500: Qué es y cómo solucionarlo

HTTP Error 500 - Internal Server Error
4.1
(17)

Uno de los errores más comunes (y odiados) en una página web es el HTTP Error 500, también conocido como Internal Server Error.

¿Por qué digo esto? Pues porque el código HTTP Error 500, también conocido como 500 Internal Server Error o Error 500, es uno de los errores que menos información nos proporciona sobre qué está sucediendo en nuestra web.

Lo único que sabemos es que, cuando intentamos entrar en nuestra web, el navegador nos devuelve un mensaje del tipo 500 Internal Server Error (o simplemente Error 500) y tenemos que ponernos a investigar a toda prisa por qué está sucediendo esto.

De hecho, existen tantas causas por las que se puede dar este Error 500 en una web que, muchas veces, no sabes ni por dónde empezar. Lo único que tienes claro es que quieres solucionarlo cuanto antes.

Si alguna vez te ha pasado esto o quieres ser precavido y saber cómo actuar ante un error así, este post te viene como anillo al dedo.

A continuación te explico de forma detallada qué es un Error 500, las causas más comunes de este código de estado HTTP y cómo solucionarlo. ¡Vamos a ello!

 

¿Qué es un error 500 o Internal Server Error?

El error 500 es un código de estado HTTP que indica que una determinada petición o solicitud al servidor no se pudo completar con éxito.

Aunque muchas veces se asocia este error, de forma errónea, a un fallo del servidor, lo cierto es que no esta no es el motivo.

Cuando el navegador nos devuelve un Error 500, a simple vista es muy difícil saber cuál es la causa. Únicamente sabemos que el servidor o la propia aplicación informó al navegador de un fallo inesperado, por lo que tenemos que averiguar qué es lo que está ocurriendo.

Ejemplo de error 500 en un servidor LiteSpeed.

Ejemplo de error 500 en un servidor LiteSpeed.

¿De qué otra forma se puede mostrar el HTTP error 500?

Lo más habitual es que una vez que accedas a una web (ya sea la tuya propia o cualquier otra) el navegador muestre en la pantalla el mensaje HTTP Error 500 o 500 Internal Server Error, aunque también te lo puedes encontrar de esta forma:

  • Error 500 HTTP
  • Error de HTTP 500
  • Error HTTP 500 Internal Server Error
  • 500 Internal Server
  • 500 Internal Error
  • 500 Server Error
  • Temporary Error (500)

Si se produce un error 500 en WordPress es bastante probable que se te quede la pantalla totalmente en blanco y no se muestre ningún mensaje. Si es tu caso, te recomiendo que también le eches un ojo a este post: Cómo solucionar el error de la pantalla blanca de WordPress.
Hosting SSD

¿Cómo solucionar el HTTP error 500?

Gracias a los códigos de estado HTTP, normalmente sabemos cuál es el motivo por el que nuestra web genera un error, pero en el caso de los errores tipo 5XX es mucho más difícil determinar origen del problema.

También puede interesarte:

Pero, ¿por dónde empiezo? ¿Cómo soluciono el HTTP Error 500?

Como pueden ser muchas las causas que estén generando este código de estado en tu web, yo voy a mostrarte las 6 más comunes que solemos encontrarnos, de más a menos frecuentes.

Lo ideal es que revises punto por punto hasta dar con el origen de tu HTTP Error 500 o 500 Internal Server Error. Y, una vez detectada la causa, verás que la solución es bastante sencilla.

1. La versión de PHP es incompatible con tu aplicación o tu programación

Una de las causas más comunes del Error 500 o Internal Server Error es la incompatibilidad de la versión de PHP con nuestra aplicación o la programación de nuestra página web, especialmente si lo que tenemos es un Error 500 en WordPress.

Esto suele suceder cuando haces un cambio en la versión PHP de tu plan de hosting. Quizá tienes algún plugin o plantilla que no es compatible con esta nueva versión, o incluso con el núcleo de WordPress, y el resultado es un Error 500.

También ocurre a la inversa. Actualizas un plugin o una plantilla de WordPress y esta no es compatible con la versión de PHP con la que trabajas. El resultado es el mismo, un Error 500.

Por tanto, ahora pregúntate: ¿has actualizado recientemente la versión de PHP de tu hosting? ¿Has actualizado el núcleo de WordPress? ¿Es posible que se haya actualizado algún plugin automáticamente?

Si la respuesta a alguna de estas preguntas es afirmativa, entonces ya sabes dónde está el error y puedes revertirlo.

En caso contrario, pasa al siguiente punto.

2. El archivo .htaccess está dañado

Otra de las causas habituales que nos solemos encontrar en soporte cuando un cliente nos indica que tiene un Error 500 es porque el archivo .htaccess está dañado.

Muchos plugins modifican el fichero .htaccess y cualquier error de sintaxis, por pequeño que sea, puede generar un código HTTP Error 500.

Si es tu caso, lo más rápido para solucionar el Internal Server Error es restaurar una copia de seguridad de este archivo.

¿Tienes tu hosting en LucusHost? Entonces, puedes hacerlo fácilmente utilizando la herramienta Premium Backup. En tu área de cliente, seleccionas una copia de seguridad del archivo anterior al error y la restauras en un clic. Si nunca lo has hecho, aquí te dejo una guía que te será de mucha ayuda: Cómo gestionar mis copias de seguridad con Premium Backup.

Esta sería la opción más sencilla y más rápida, pero es probable que aunque estés leyendo este artículo tengas tu web en otro proveedor. De ser así, puedes restaurar una copia a través del Administrador de archivos de cPanel o subiéndolo por FTP.

¿No tienes una copia? Entonces tienes que crear el .htaccess de WordPress con los valores por defecto. Para ello, edita el .htaccess a través del Administrador de Archivos (o por FTP) añadiendo las siguientes líneas de código:

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Nota: Recuerda que en LucusHost realizamos dos copias de seguridad al día de tu plan de hosting, con una retención de 60 días. Si estás alojado con nosotros y crees que esta es la causa del error, puedes abrir un ticket con soporte y restauramos el archivo en cuestión de un par de minutos.

Si utilizas un plugin de SEO como Rank Math, también puedes restablecer los valores del .htaccess sin salir del panel de administración de WordPress. Además, si todavía estás empezando con tu web o no te manejas muy bien en cPanel, será mucho más sencillo para ti 🙂

Para ello, accede al panel de Rank Math en tu aplicación y ve a la sección «Ajustes generales». En el menú de la izquierda haz clic sobre «Editar .htaccess» y copia y pega el código que te mostramos más arriba.

Editar el archivo .htacces de WordPress a través de Rank Math

Nota: Aunque en este caso Rank Math ya se encarga de hacer una copia de seguridad del archivo por si algo llega a pasar, es importante que antes de hacer un cambio así en tu web te asegures de tener un backup de tu sitio.

Si no has instalado ni has tocado los plugins de WordPress, sigamos buscando cuál puede ser el motivo.

3. Los permisos de tus ficheros están incorrectos

En WordPress, los permisos de archivos y carpetas controlan quién puede leer, escribir y ejecutar archivos en el servidor. Cuando los permisos de acceso a los archivos y carpetas no están asignados correctamente, se produce un Internal Server Error.

Pues bien.

Estos permisos deben ser el 755 para carpetas y el 644 para archivos pero, si alguien intenta atacar tu servicio, puede modificarlos y generar el código de estado HTTP 500 en tu web.

¿Crees que puede ser tu caso? Entonces accede al Administrador de archivos de cPanel y comprueba los permisos que tienes asignados. Asegúrate de que los archivos críticos, como .htaccess y wp-config.php, tengan los permisos correctos, es decir, 644. También las carpetas de temas y plugins deben tener los permisos adecuados porque, de lo contrario, pueden provocar que el servidor no procese las solicitudes correctamente y esto tenga como resultado un error 500.

Así se ven los permisos de tus archivos y carpetas desde cPanel:

Permisos 755 en carpetas

Permisos 755 en carpetas

Permisos 644 en archivos

Permisos 644 en archivos

En el caso de tener unos permisos diferentes, te recomiendo que los establezcas correctamente y contactes con tu proveedor de alojamiento para que revise si hay alguna actividad sospechosa en tu servicio o algún agujero de seguridad que pueda estar poniendo en peligro tu proyecto.

4. Fallo tras la actualización de un plugin o de una plantilla de WordPress

Si tras la actualización de un plugin o de una plantilla ves un Error 500 en WordPress, creo que ya está claro el motivo, ¿no?

Si solamente has realizado la actualización de un complemento, basta con volver a la versión anterior o buscar una alternativa y desinstalarlo de tu página web.

En cambio, si hasta hecho una actualización masiva o no sabes muy bien qué complemento está generando el Error 500 en WordPress, lo mejor es que desactives todos y, posteriormente, actives uno a uno para averiguar cuál es el causante de que tu web actualmente no esté funcionando.

¿El error 500 no te deja acceder a WordPress? Si no puedes desinstalar el plugin desde el dashboard de tu aplicación, recuerda que también puedes hacerlo a través del administrador de archivos de cPanel o a través de FTP. Aquí te dejo una guía en la que te explico paso a paso cómo hacerlo: Cómo desinstalar un plugin de WordPress por completo.

5. Hay errores en la programación

Un error de escritura en PHP o la propia configuración de la aplicación puede estar detrás de un HTTP Error 500 y aquí sí es un poquito más complejo detectar exactamente dónde está el problema.

Para mí, la forma más fácil de localizar el Error 500 es accediendo al registro de errores a través del log de errores de PHP. Normalmente, estos registros se guardan en la carpeta /public_html/error_log o, si error el 500 es en el administrador de  WordPress, en la carpeta /public_html/wp-admin/error_log.

Acceder a error log a través del administrador de archivos de cPanel.

Cada vez que se produce un error 500, se genera un fichero error_log en el que podrás tener un poco más de información sobre el tipo de error y dónde se encuentra. Por tanto, cuando accedas a la carpeta, puedes ordenar el nombre de los archivos por «Última Modificación» o  «Last Modified» para encontrarlo más fácilmente.

También puedes utilizar el buscador del administrador de archivos de cPanel para localizar los archivos error_log de tu cuenta.

Buscador del administrador de archivos de cPanel.

6. Límite de memoria de PHP agotado

Otra posibilidad es que tu web esté mostrando un HTTP error 500 o Internal Server Error porque se haya agotado la memoria asignada a cada ejecución de PHP.

Verás. PHP es el lenguaje de programación en el que está escrito WordPress, y cada script PHP tiene un límite de memoria asignado para ejecutarse. Si tu sitio web tiene plugins o temas que consumen mucha memoria (¡algunos son muy exigentes!), o si recibe mucho tráfico e incluye contenido dinámico, este límite puede ser insuficiente. Y resulta que, si un script PHP intenta usar más memoria de la que tiene permitida, se produce un error 500.

Para solucionarlo (ojo, solo temporalmente) puedes aumentar el límite de memoria de tu servidor. Tienes dos formas de hacerlo:

  • Modificando el archivo php.ini y estableciendo memory_limit=1024MB
  • Añadiendo la siguiente línea de código al archivo .htaccess: php_value memory_limit 1024M

¡Ojo! Esta sería únicamente la solución temporal al Error 500. Para evitar futuros errores o problemas en tu aplicación, deberías contactar con el proveedor en el que tienes alojada la página web. En el caso de que tengas tu web en LucusHost, nosotros analizaríamos estos excesos de demanda de memoria, es decir, iríamos a la raíz del problema y te daríamos soluciones para que no se vuelva a repetir.

Pon fin desde ya al código de error 500

Acabamos de ver, de mayor a menor frecuencia, cuáles son las principales causas de un HTTP Error 500, también conocido como Internal Server Error; así como la solución en cada uno de los casos.

Si tras revisar una a una estas causas tu web sigue mostrando el error, entonces te recomiendo que hables cuanto antes con tu proveedor de hosting o el desarrollador de tu sitio para que pueda echarte una mano.

¿Tienes tu web con nosotros? Entonces lo tienes muy, pero que muy fácil. Escríbenos a soporte@lucushost.com o llámanos al 982 989 112 y rápidamente le pondremos solución a ese error 500 de tu web 🙂

¡Puntúa este artículo!

Total votos: 17. Promedio: 4.1

María Acibeiro

Dicen que si trabajas en lo que te gusta, no tendrás que trabajar nunca más. Así que, por aquí nos veremos mucho más de lo que te imaginas 😜

2 Comentarios
  • Jonathan
    Posted at 14:55h, 12 noviembre Responder

    Buenas tardes, interesante este articulo.

    Entiendo que este articulo se refiere al caso de que toda una web falle ¿también aplica cuando falla sólo un apartado especifico de la web, mientras el resto funciona perfectamente?

    Saludos

    • María Acibeiro
      Posted at 15:39h, 12 noviembre Responder

      Hola Jonathan,

      Gracias por leernos 🙂

      Las causas que mencionamos pueden ser aplicables a toda una web o a determinadas secciones, a continuación te pongo un ejemplo para explicarme mejor.

      Tu imagina que tienes un error de sintaxin en el .htaccess del directorio wp-admin. Esto provocaría un error 500 en la pantalla de login, en cambio tus visitas podrían seguir navegando sin ver el error en la web. Tal como sucede en este directorio, podría ocurrir en cualquier parte de la web.

      Si tienes tu web con nosotros, no dudes en contactar con soporte para que te podamos echar una mano.

      ¡Un saludo!

Escribe un comentario