El temido error 500 internal server. Parece que siempre llega en el momento más inoportuno y de repente estás luchando por averiguar cómo volver a poner tu sitio online. Créenos, a todos nos ha pasado.

Otros errores que se comportan de forma similar y que puede que también hayas visto son el aterrador error al establecer una conexión de base de datos y la temida pantalla blanca de la muerte. Pero desde el momento en que tu sitio se cae, estás perdiendo visitantes y clientes. Por no mencionar que, sencillamente, da mala imagen a tu marca.

Hoy vamos a profundizar en el error 500 internal server y te explicaremos algunas formas de volver a pone tu sitio online rápidamente. Lee más abajo sobre las causas de este error y qué puedes hacer para evitarlo en el futuro.

Echa un Vistazo a Nuestro Videotutorial para Solucionar un Error 500 Internal Server en tu Sitio Web

Cuando visitas un sitio web, tu navegador envía una petición al servidor donde está alojado el sitio. El servidor recibe esta petición, la procesa y devuelve los recursos solicitados (PHP, HTML, CSS, etc.) junto con una cabecera HTTP.

El HTTP también incluye lo que llaman un código de estado HTTP. Un código de estado es una forma de notificarte el estado de la solicitud. Puede ser un código de estado 200 que significa «Todo va bien» o un código de estado 500 que significa que algo ha ido mal.

Hay muchos tipos diferentes de códigos de error de estado 500 (500, 501, 502, 503, 504, etc.) y todos significan algo diferente. En este caso, un error interno de servidor 500 indica que el servidor se encontró con una condición inesperada que le impidió satisfacer la solicitud (RFC 7231, sección 6.6.1).

Código de error Error HTTP 500
Tipo de error Código error
Variaciones del error «Error 500 Internal Server»
«HTTP 500»
«Error Internal Server»
«HTTP 500 – Error Internal Server»
«Error 500»
«Error HTTP 500
«500 – Error Internal Server»
«500 Internal Server Error. Sorry something went wrong»
“500. That’s an error. There was an error. Please try again later. That’s all we know.”
“The website cannot display the page – HTTP 500.”
“Is currently unable to handle this request. HTTP ERROR 500.”
Causas del error Caché del navegador.
Archivo .htaccess dañado y límite de memoria PHP.
Problemas con plugins y temas de terceros.
Archivos dañados en tu instalación de WordPress.
Problemas con tu servidor de base de datos.

Variaciones del Error 500 Internal Server

Error 500 Internal Server en WordPress
Error 500 Internal Server en WordPress

Debido a los distintos servidores web, sistemas operativos y navegadores, un error 500 internal server error puede presentarse de distintas formas. Pero todas comunican lo mismo. A continuación te mostramos sólo algunas de las muchas variaciones diferentes que puedes ver en la web:

    • “500 Internal Server Error”
    • “HTTP 500”
    • “Internal Server Error”
    • “HTTP 500 – Internal Server Error”
    • “500 Error”
    • “HTTP Error 500”
    • “500 – Internal Server Error”
    • “500 Internal Server Error. Sorry something went wrong.”
    • “500. That’s an error. There was an error. Please try again later. That’s all we know.”
    • “The website cannot display the page – HTTP 500.”
    • “Is currently unable to handle this request. HTTP ERROR 500.”

También podrías ver este mensaje acompañándolo

El servidor ha encontrado un error interno o de configuración y no ha podido completar tu solicitud. Por favor, ponte en contacto con el administrador del servidor, [email protected] e infórmale de la hora en que se ha producido el error, y de cualquier cosa que hayas podido hacer y que haya podido causar el error. Puedes encontrar más información sobre este error en el registro de errores del servidor.

Error Internal Server
Error Internal Server

Otras veces, puede que simplemente veas una pantalla blanca en blanco. Cuando se trata de errores 500 de servidor interno, esto es bastante habitual en navegadores como Firefox y Safari.

Error 500 internal server en Firefox
Error 500 internal server en Firefox

Las grandes marcas pueden incluso tener sus propios mensajes personalizados de error 500 internal server, como éste de Airbnb.

Error 500 internal server de Airbnb
Error 500 internal server de Airbnb

Aquí tienes otro ejemplo creativo de error 500 internal server de Airbnb de la gente de readme.

readme 500 error interno del servidor
readme 500 error interno del servidor

Ni siquiera el poderoso YouTube está a salvo de los errores 500 internal server

Error 500 internal server en YouTube
Error 500 internal server en YouTube

Si se trata de un servidor IIS 7.0 (Windows) o superior, disponen de códigos de estado HTTP adicionales para indicar con mayor precisión la causa del error 500:

  • 500.0 – Module or ISAPI error occurred.
  • 500.11 – Application is shutting down on the web server.
  • 500.12 – Application is busy restarting on the web server.
  • 500.13 – Web server is too busy.
  • 500.15 – Direct requests for global.asax are not allowed.
  • 500.19 – Configuration data is invalid.
  • 500.21 – Module not recognized.
  • 500.22 – An ASP.NET httpModules configuration does not apply in Managed Pipeline mode.
  • 500.23 – An ASP.NET httpHandlers configuration does not apply in Managed Pipeline mode.
  • 500.24 – An ASP.NET impersonation configuration does not apply in Managed Pipeline mode.
  • 500.50 – A rewrite error occurred during RQ_BEGIN_REQUEST notification handling. A configuration or inbound rule execution error occurred.
  • 500.51 – A rewrite error occurred during GL_PRE_BEGIN_REQUEST notification handling. A global configuration or global rule execution error occurred.
  • 500.52 – A rewrite error occurred during RQ_SEND_RESPONSE notification handling. An outbound rule execution occurred.
  • 500.53 – A rewrite error occurred during RQ_RELEASE_REQUEST_STATE notification handling. An outbound rule execution error occurred. The rule is configured to be executed before the output user cache gets updated.
    500.100 – Internal ASP error.

¿Cuáles Son las Causas de un Error 500 Internal Server?

Los errores 500 Internal server pueden estar causados por muchas cosas. Si estás experimentando uno, hay una alta probabilidad de que uno (o más) de los siguientes elementos esté causando el problema:

  • Caché del navegador.
  • Credenciales de acceso a la base de datos incorrectas.
  • Base de datos dañada.
  • Archivos dañados en tu instalación de WordPress.
  • Problemas con tu servidor de base de datos.
  • Archivos dañados del core de WordPress.
  • Archivo .htaccess dañado y límite de memoria PHP.
  • Problemas con plugins y temas de terceros.
  • Tiempo de espera de PHP o errores fatales de PHP con plugins de terceros.
  • Permisos incorrectos de archivos y carpetas.
  • Límite de memoria PHP agotado en tu servidor.
  • Archivo .htaccess dañado o roto.
  • Errores en los scripts CGI y Perl.

Impacto de los Errores 500 en el SEO

A diferencia de los errores 503, que se utilizan para el modo de mantenimiento de WordPress e indican a Google que vuelva a comprobarlo más adelante, un error 500 puede tener un impacto negativo en el SEO si no se soluciona de inmediato.

Si tu sitio sólo ha estado inactivo durante, por ejemplo, 10 minutos y está siendo rastreado de forma constante, muchas veces el rastreador obtendrá la página de la caché. O puede que Google ni siquiera tenga la oportunidad de volver a rastrearlo antes de que vuelva a estar disponible. En este caso, no hay ningún problema.

Sin embargo, si el sitio está inactivo durante un largo periodo de tiempo, por ejemplo, más de 6 horas, Google podría considerar el error 500 como un problema del sitio que hay que resolver. Esto podría afectar a tu posicionamiento. Si te preocupan los errores 500 repetidos, deberías averiguar por qué se producen. Algunas de las siguientes soluciones pueden ayudarte.

¿Cómo Solucionar el Error 500 Internal Server?

¿Por dónde debes empezar a solucionar los problemas cuando veas un error 500 internal server en tu sitio? A veces puede que ni siquiera sepas por dónde empezar. Normalmente los errores 500 están en el propio servidor, pero por nuestra experiencia, estos errores se originan por dos cosas, la primera es un error del usuario (problema del lado del cliente), y la segunda es que hay un problema con el servidor. Así que nos sumergiremos un poco en ambos.

Echa un vistazo a estas causas comunes y formas de solucionar el error 500 internal server y vuelve a funcionar en un santiamén.

1. Prueba a Recargar la Página

Esto puede parecer un poco obvio para algunos, pero una de las cosas más fáciles y la primera que debes probar cuando te encuentres con un error 500 internal server es simplemente esperar un minuto más o menos y recargar la página (F5 o Ctrl + F5). Puede ser que el alojamiento o el servidor estén simplemente sobrecargados y la página volverá enseguida. Mientras esperas, también puedes probar rápidamente con otro navegador para descartar ese problema.

Otra cosa que puedes hacer es pegar el sitio web en downforeveryoneorjustme.com. Este sitio web te dirá si el sitio está caído o si se trata de un problema tuyo. Una herramienta como ésta comprueba el código de estado HTTP que devuelve el servidor. Si es cualquier cosa que no sea un 200 «Todo va bien», entonces devolverá una indicación de caída.

downforeveryoneorjustme
downforeveryoneorjustme

También hemos observado que a veces esto puede ocurrir inmediatamente después de actualizar un plugin o un tema en tu sitio. Normalmente esto ocurre en alojamientos que no están configurados correctamente. Lo que sucede es que experimentan un tiempo de espera temporal justo al terminar. Sin embargo, las cosas suelen resolverse por sí solas en un par de segundos y, por lo tanto, todo lo que tienes que hacer es actualizar.

2. Limpia la Caché de Tu Navegador

Limpiar la caché de tu navegador es siempre otro buen método para solucionar problemas antes de sumergirte en una depuración más profunda de tu sitio. A continuación encontrarás instrucciones sobre cómo borrar la caché en los distintos navegadores:

3. Comprueba los Registros de tu Servidor

También deberías aprovechar tus registros de errores. Si eres cliente de Kinsta, puedes ver fácilmente los errores en el visor de registros del panel de MyKinsta. Esto puede ayudarte a reducir rápidamente el problema, especialmente si se debe a un plugin de tu sitio.

Comprueba los registros de errores en busca de errores 500 internal server
Comprueba los registros de errores en busca de errores 500 internal server

Si tu proveedor de alojamiento no dispone de una herramienta de registro, también puedes activar el modo de depuración de WordPress añadiendo el siguiente código a tu archivo wp-config.php para activar el registro:

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

Los registros se encuentran normalmente en el directorio /wp-content. Otros, como es el caso de Kinsta, pueden tener una carpeta específica llamada «logs».

Carpeta
Carpeta «Logs» de errores de WordPress (SFTP)

También puedes comprobar los archivos de registro en Apache y Nginx, que suelen estar ubicados aquí:

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

Si eres cliente de Kinsta también puedes aprovechar nuestra herramienta de analítica para obtener un desglose del número total de errores 500 y ver con qué frecuencia y cuándo se producen. Esto puede ayudarte a solucionar si se trata de un problema continuo, o si quizás es algo que se ha resuelto por sí solo.

Respuesta de la analítica Desglose de errores 500
Respuesta de la analítica Desglose de errores 500

Si el error 500 se está mostrando debido a un error fatal de PHP, también puedes probar a activar la notificación de errores de PHP. Simplemente añade el siguiente código al archivo que arroja el error. Normalmente puedes acotar el archivo en la pestaña de la consola de Google Chrome DevTools.

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

Y puede que también necesites modificar tu archivo php.ini con lo siguiente:

display_errors = on

4. Comprobar si Hay Errores al Establecer una Conexión con la Base de Datos

Los errores 500 internal server también pueden producirse por un error de conexión a la base de datos. Dependiendo de tu navegador puedes ver errores diferentes. Pero ambos generarán un código de estado HTTP 500 independientemente en los registros de tu servidor.

A continuación puedes ver un ejemplo de cómo se ve un mensaje de “error establishing a database connection” en tu navegador. Toda la página está en blanco porque no se pueden recuperar datos para renderizar la página, ya que la conexión no funciona correctamente. Esto no sólo rompe el front-end de tu sitio, sino que también te impedirá acceder a tu panel de WordPress.

Ejemplo del erro establishing a database connection
Ejemplo del erro establishing a database connection

¿Por qué ocurre esto exactamente? A continuación te indicamos algunas razones comunes.

  • El problema más común es que tus credenciales de acceso a la base de datos son incorrectas. Tu sitio utiliza información de inicio de sesión distinta para conectarse a su base de datos MySQL.
  • Tu base de datos de WordPress está dañada. Con tantas partes móviles con temas, plugins y usuarios borrándolos e instalándolos constantemente, a veces las bases de datos se corrompen. Esto puede deberse a que falte una tabla o a que se haya corrompido individualmente, o quizá se haya borrado alguna información por accidente.
  • Puede que tengas archivos corruptos en tu instalación de WordPress. Esto puede ocurrir incluso a veces debido a hackers.
  • Problemas con tu servidor de base de datos. Hay varias cosas que pueden ir mal en el alojamiento web, como que la base de datos esté sobrecargada por un pico de tráfico o que no responda por demasiadas conexiones simultáneas. Esto es bastante común en los servidores compartidos, ya que utilizan los mismos recursos para muchos usuarios en los mismos servidores.

Consulta nuestro post en profundidad sobre cómo solucionar el error al establecer una conexión a la base de datos.

5. Comprueba tus Plugins y Temas

Los plugins y temas de terceros pueden causar fácilmente errores 500 internal server. En Kinsta hemos visto todo tipo de causas, desde plugins de slider hasta plugins rotadores de anuncios. Muchas veces deberías ver el error inmediatamente después de instalar algo nuevo o ejecutar una actualización. Esta es una de las razones por las que siempre recomendamos utilizar un entorno staging para las actualizaciones o, al menos, ejecutar las actualizaciones de una en una. De lo contrario, si te encuentras con un error 500 internal server, de repente tendrás que averiguar cuál lo ha causado.

Una forma de solucionar este problema es desactivar todos tus plugins. Recuerda que no perderás ningún dato si simplemente desactivas un plugin. Si todavía puedes acceder a tu administrador, una forma rápida de hacerlo es ir a «Plugins» y seleccionar «Desactivar» en el menú de acciones masivas. Esto desactivará todos tus plugins.

Desactivar todos los plugins
Desactivar todos los plugins.

Si esto soluciona el problema, tendrás que encontrar al culpable. Empieza a activarlos uno a uno, recargando el sitio después de cada activación. Cuando veas que vuelve el error 500  internal server, habrás encontrado el plugin que se comporta mal. Entonces puedes ponerte en contacto con el desarrollador del plugin para obtener ayuda o enviar un ticket de soporte al repositorio de WordPress.

Si no puedes acceder al admin de WordPress, puedes entrar por FTP en tu servidor y renombrar tu carpeta de plugins a algo como plugins_old. A continuación, comprueba de nuevo tu sitio. Si funciona, entonces tendrás que probar cada plugin uno por uno. Vuelve a cambiar el nombre de tu carpeta de plugins a «plugins» y, a continuación, cambia el nombre de cada carpeta de plugins dentro de ella, una por una, hasta que la encuentres. También puedes intentar replicar esto primero en un sitio staging.

Cambiar el nombre de la carpeta de plugins
Cambiar el nombre de la carpeta de plugins

Asegúrate siempre de que tus plugins, temas y el core de WordPress están actualizados. Y comprueba que estás ejecutando una versión compatible de PHP. Si resulta ser un conflicto con código defectuoso en un plugin, puede que tengas que recurrir a un desarrollador de WordPress para solucionar el problema.

6. Reinstala el Core de WordPress

A veces los archivos del core de WordPress pueden corromperse, especialmente en sitios antiguos. En realidad, es bastante fácil volver a cargar sólo el core de WordPress sin que ello afecte a tus plugins o temas. Tenemos una guía detallada con 5 formas diferentes de reinstalar WordPress. Y, por supuesto, asegúrate de hacer una copia de seguridad antes de proceder. Salta a una de las secciones siguientes:

7. Comprueba si Hay un Error de Permisos

Un error de permisos en un archivo o carpeta de tu servidor también puede provocar un error 500 internal server. Estas son algunas recomendaciones típicas para los permisos cuando se trata de permisos de archivos y carpetas en WordPress:

  • Todos los archivos deben ser 644 (-rw-r–r–) o 640.
  • Todos los directorios deben tener 755 (drwxr-xr-x) o 750.
  • Ningún directorio debe tener nunca 777, ni siquiera los directorios de subida.
  • Fortalecimiento: wp-config.php también podría establecerse en 440 o 400 para evitar que otros usuarios del servidor lo lean.

Consulta el artículo del Codex de WordPress sobre cómo cambiar los permisos de los archivos para obtener una explicación más detallada.

Puedes ver fácilmente los permisos de tus archivos con un cliente FTP (como se ve a continuación). También puedes ponerte en contacto con el equipo de soporte de tu alojamiento y pedirles que comprueben rápidamente los permisos de tus carpetas y archivos para asegurarte de que están configurados correctamente.

Permisos de archivos SFTP
Permisos de archivos SFTP

8. Aumentar el Límite de Memoria PHP

Un error 500 interno del servidor también puede deberse a que se ha agotado el límite de memoria PHP de tu servidor. Puedes probar a aumentar el límite. Sigue las siguientes instrucciones sobre cómo cambiar este límite en cPanel, Apache, tu archivo php.ini y el archivo wp-config.php.

Aumentar el Límite de Memoria PHP en cPanel

Si estás utilizando un alojamiento que usa cPanel, puedes cambiar esto fácilmente desde la interfaz de usuario. En Software haz clic en «Seleccionar versión de PHP».

Selecciona la versión de PHP
Selecciona la versión de PHP

Haz clic en «Cambiar a Opciones PHP».

Cambiar a opciones PHP
Cambiar a opciones PHP

A continuación, puedes hacer clic en el atributo memory_limit y cambiar su valor. Después haz clic en «Guardar».

Aumentar el límite de memoria PHP en cPanel
Aumentar el límite de memoria PHP en cPanel

Aumentar el Límite de Memoria PHP en Apache

El archivo.htaccess es un archivo oculto especial que contiene varios ajustes que puedes utilizar para modificar el comportamiento del servidor, hasta un nivel específico de directorio. Primero accede a tu sitio a través de FTP o SSH, echa un vistazo a tu directorio root y comprueba si allí hay un archivo .htaccess.

Archivo .htaccess
Archivo .htaccess

Si lo hay, puedes editar ese archivo para añadir el código necesario para aumentar el límite de memoria PHP. Lo más probable es que esté fijado en 64M o menos, puedes intentar aumentar este valor.

php_value memory_limit 128M

Aumentar el Límite de Memoria PHP en el Archivo php.ini

Si lo anterior no te funciona, puedes intentar editar tu archivo php.ini. Accede a tu sitio a través de FTP o SSH, ve al directorio root de tu sitio y abre o crea un archivo php.ini.

archivo php.ini
archivo php.ini

Si el archivo ya estaba allí, busca los tres ajustes y modifícalos si es necesario. Si acabas de crear el archivo, o los ajustes no se encuentran en ninguna parte, puedes pegar el código que aparece a continuación. Por supuesto, puedes modificar los valores para adaptarlos a tus necesidades.

memory_limit = 128M

Algunos servidores compartidos también pueden requerir que añadas la directiva suPHP en tu archivo .htaccess para que funcione la configuración del archivo php.ini anterior. Para ello, edita tu archivo .htaccess, también situado en el root de tu sitio, y añade el siguiente código hacia la parte superior del archivo:

<IfModule mod_suphp.c> 
suPHP_ConfigPath /home/yourusername/public_html
</IfModule>

Si lo anterior no te ha funcionado, puede ser que tu alojamiento tenga bloqueada la configuración global y en su lugar lo tenga configurado para utilizar los archivos .user.ini. Para editar tu archivo .user.ini, accede a tu sitio a través de FTP o SSH, ve al directorio root de tu sitio y abre o crea un archivo .user.ini. A continuación, puedes pegar el siguiente código:

memory_limit = 128M

Aumentar el Límite de Memoria PHP en wp-config.php

No somos partidarios de esta última opción, pero si todo lo demás falla, puedes intentarlo. En primer lugar, accede a tu sitio mediante FTP o SSH, y localiza tu archivo wp-config.php, que suele estar en el root de tu sitio.

archivo wp-config.php
archivo wp-config.php

Añade el siguiente código al principio de tu archivo wp-config.php:

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

También puedes preguntar a tu alojamiento si tienes problemas de límite de memoria. En Kinsta utilizamos la herramienta Kinsta APM y otros métodos de resolución de problemas para ayudar a los clientes a determinar qué plugin, consulta o secuencia de comandos pueden estar agotando el límite. También puedes utilizar tu propia clave New Relic personalizada de tu propia licencia.

Depuración con New Relic
Depuración con New Relic

9. Arregla tu Archivo .htaccess

Kinsta sólo utiliza Nginx, pero si estás utilizando un alojamiento que ejecuta Apache, es muy posible que tu archivo .htaccess tenga algún problema o se haya corrompido. Sigue los pasos que se indican a continuación para volver a crear uno nuevo desde cero.

En primer lugar, accede a tu sitio a través de FTP o SSH, y cambia el nombre de tu archivo .htaccess por .htaccess_old.

Cambiar el nombre del archivo .htaccess
Cambiar el nombre del archivo .htaccess

Normalmente para recrear este archivo simplemente puedes volver a guardar tus permalinks en WordPress. Sin embargo, si te encuentras en medio de un error 500 internal server lo más probable es que no puedas acceder a tu admin de WordPress, así que esto no es una opción. Por lo tanto, puedes crear un nuevo archivo .htaccess e introducir el siguiente contenido. Luego súbelo a tu servidor.

# 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

Consulta el Codex de WordPress para ver más ejemplos, como un archivo .htaccess predeterminado para multisitios.

10. Corrige Errores de Programación o Sintaxis en tu Script CGI/Perl

Que los errores 500 estén causados por errores en CGI y Perl es mucho menos común de lo que solía ser. Aunque todavía merece la pena mencionarlo, especialmente para los que utilizan cPanel, donde todavía se utilizan muchos scripts CGI de un sólo clic. Como dice AEM en Stack Overflow:

CGI ha sido sustituido por una gran variedad de tecnologías de programación web, incluyendo PHP, varias extensiones de Apache como mod_perl, Java de varios sabores y frameworks incluyendo Java EE, Struts, Spring, etc, frameworks basados en Python como Django, Ruby on Rails y muchos otros frameworks de Ruby, y varias tecnologías de Microsoft.

Aquí tienes algunos consejos para trabajar con scripts CGI:

  • Al editarlos, utiliza siempre un editor de texto plano, como Atom, Sublime o Notepad++. Esto garantiza que permanezcan en formato ASCII.
  • Asegúrate de que se utilizan los permisos correctos de chmod 755 en los scripts y directorios CGI.
  • Sube tus scripts CGI en modo ASCII (que puedes seleccionar en tu editor FTP) al directorio cgi-bin de tu servidor.
  • Confirma que los módulos Perl que necesitas para tu script están instalados y son compatibles.

11. Comprueba con tu Alojamiento los Problemas del Servidor

Por último, como los errores 500 internal server también pueden producirse por la temporización de PHP o por errores fatales de PHP con plugins de terceros, siempre puedes consultarlo con tu proveedor de alojamiento. A veces, estos errores pueden ser difíciles de solucionar sin la ayuda de un experto. Aquí tienes algunos ejemplos comunes de algunos errores que provocan códigos de estado HTTP 500 en el servidor y que quizá te hagan pensar.

PHP message: PHP Fatal error: Uncaught Error: Call to undefined function mysql_error()...
PHP message: PHP Fatal error: Uncaught Error: Cannot use object of type WP_Error as array in /www/folder/web/shared/content/plugins/plugin/functions.php:525

En Kinsta monitorizamos todos los sitios de nuestros clientes y recibimos notificaciones automáticas cuando se producen este tipo de errores. Esto nos permite ser proactivos y empezar a solucionar el problema de inmediato. También utilizamos hosts administrados LXD y contenedores de software LXC para cada sitio. Esto significa que cada sitio está alojado en su propio contenedor aislado, que tiene todos los recursos de software necesarios para ejecutarlo (Linux, Nginx, PHP, MySQL). Los recursos son 100% privados y no se comparten con nadie más ni siquiera con tus propios sitios.

Los tiempos de espera de PHP también podrían producirse por la falta de PHP workers, aunque normalmente provocan errores 504, no 500. Éstos determinan cuántas peticiones simultáneas puede manejar tu sitio en un momento dado. En pocas palabras, cada solicitud no almacenada en caché de tu sitio web es gestionada por un PHP Worker.

Cuando los PHP workers ya están ocupados en un sitio, empiezan a acumular una cola. Una vez alcanzado el límite de PHP workers, la cola empieza a expulsar las peticiones más antiguas, lo que puede provocar errores 500 o peticiones incompletas. Lee nuestro artículo en profundidad sobre PHP workers.

Monitoriza Tu Sitio

Si te preocupa que este tipo de errores se produzcan en tu sitio en el futuro, también puedes utilizar una herramienta como updown.io para supervisar y notificarte inmediatamente si se producen. Envía periódicamente una petición HTTP HEAD a la URL que elijas. Puedes utilizar simplemente tu página de inicio. La herramienta te permite establecer frecuencias de comprobación de:

  • 15 segundos
  • 30 segundos
  • 1 minuto
  • 2 minutos
  • 5 minutos
  • 10 minutos

Te enviará un correo electrónico cuando tu sitio se caiga. Aquí tienes un ejemplo.

Notificación por correo electrónico de un error 500
Notificación por correo electrónico de un error 500

Esto puede ser especialmente útil si estás intentando depurar un plugin defectuoso o estás en un alojamiento compartido, que tiende a saturar sus servidores. Esto puede darte una prueba de la frecuencia con la que tu sitio se cae (incluso en mitad de la noche).

Por eso siempre recomendamos optar por un alojamiento de aplicaciones, bases de datos y WordPress administrado (como Kinsta).

Asegúrate de consultar nuestro post que explora las 9 razones principales para elegir un alojamiento administrado de WordPress.

Resumen

Los errores 500 internal server siempre son frustrantes, pero esperamos que ahora conozcas algunas formas adicionales de solucionarlos para que tu sitio vuelva a funcionar rápidamente. Recuerda que, normalmente, este tipo de errores están causados por plugins de terceros, errores fatales de PHP, problemas de conexión a la base de datos, problemas con tu archivo .htaccess o con los límites de memoria de PHP y, a veces, por tiempos de espera de PHP.

¿Nos hemos dejado algo? Tal vez tengas otro consejo para solucionar los errores 500 internal server. Si es así, háznoslo saber en los comentarios.

Brian Jackson

Brian tiene una gran pasión por WordPress, lo ha estado utilizando durante más de 10 años e incluso ha desarrollado un par de plugins premium. Brian disfruta de los blogs, las películas y el senderismo. Conéctese con Brian en Twitter.