Que son y como solucionar los errores 500 o 400 en WordPress.

errores 500 y errores 400 en WordPress imagen cabecera

Si has acudido aquí porque tienes errores 500 o 400 en WordPress, tranquilo, te voy a enseñar a como solucionarlos. Normalmente son problemas que se pueden solventar prácticamente sin intervención técnica (Sobre todo en lo errores 400) por lo que no te debería ser muy complicado seguir los pasos de a continuación. Por el contrario, si tras seguir los pasos no has logrado una solución te recomiendo ponerte en manos de gente experta como los técnicos de soporte de Raiola Networks.

Que son los errores 500 o 400 en WordPress

Son errores a nivel servidor (errores 500) y errores a nivel cliente (errores 400) los que dificultan la navegación de la web al usuario y a los motores de búsqueda. A continuación te explico la diferencia entre los errores 500 y 400 en WordPress.

Que son los errores 500 en WordPress

errores 500 y errores 400 en WordPress imagen errores 500

Los errores 500 son producidos a nivel interno de tu servidor o por un mal funcionamiento en tu web que está provocando que esta se vea en blanco. En ningún momento se trata de un error por parte del usuario, como su conexión a Internet o del navegador de este. Ya tienes una pista de por donde puedes empezar a trabajar.

Por que se producen los errores 500

Como te decía anteriormente, esto se debe únicamente a un problema interno del servidor o en el funcionamiento de tu web. En el primer caso puede ser, por ejemplo, que el servidor no sea apto de ejecutar funciones PHP deprecadas que solicita tu versión de WordPress. Este problema se debe a que el servidor trabaja con una versión de PHP, por ejemplo, la 5.3 y tu estás trabajando con funciones PHP que necesitan tirar de una versión PHP 7.X o superiores.

Otro caso sería, por ejemplo, que el servidor donde se aloja tu página web tuviera un problema puntual como el de no poder procesar todas las peticiones que le son solicitadas. Es decir, si tu servidor tiene asignado, para que me entiendas, un límite en el que puede servir 10 peticiones y recibe 15 es muy probable que el error 500 se muestre y que incluso este servidor se caiga dejando de funcionar.

¿Son malos los errores 500? 

Depende del punto de vista desde el que lo veas. Ya te aviso que todos los errores 500 son nefastos, pero pueden tener diferentes consecuencia en función de:

  • Usabilidad para el usuario: Si un usuario recurrente a tu web se encuentra con que tu web no es accesible, no pasa nada porque sabe o pensará por sentido común que es un error puntual y que podrá acceder nuevamente en un corto lapso de tiempo. Si se trata de un usuario nuevo puede que jamás vuelva a acceder a tu web debido a que cree que esta puede estar cerrada o que nunca llegó a funcionar. Puede tratarse de un cliente potencial que has perdido por tener un error 500 en tu web.
  • Rastreabilidad de los motores de búsqueda: Los motores de búsqueda como Google, Yahoo, Bing, Yandex, etc tienen un ejercito de servidores que rastrean (llamados ‘crawlers‘) y analizan el contenido de tu web para indexarlas en sus resultados de búsqueda (saber más sobre el rastreo de mototes de búsqueda). Si un motor accede justo en un momento en el que la web está con errores, pueden pasar dos cosas:
    • Puede que el crawler, si es la primera vez que se encuentra con el error, haga caso omiso y vuelva a intentar rastrear el contenido en nuevas ocasiones.
    • Si no es la primera vez o el primer impacto erróneo y el error persiste, Google te dejará de asignar recursos para analizar tu web.

Contacta con tu proveedor de alojamiento web

Te recomiendo ponerte en contacto con tu proveedor de alojamiento web para que te proporcione una solución lo más rápida posible. Estás bloqueando el acceso a tu web a los usuarios y a los motores de búsqueda, cuanto más tiempo tengas tu web ese estado peor será la represalia en cuanto a ventas se refiere. Puede que el error se esté produciendo por un cambio técnico en el servidor por parte del proveedor de tu alojamiento web por lo que quizá deberías asegurarte que esto es así y no un error producido por ti.

Errores 500 a nivel web (que no servidor)

Otra de las posibilidades es que hayas hecho un cambio en tu web que implique que el servidor no pueda responder provocando así un error 500. Aquí tu proveedor puede lavarse las manos si tu servidor no está administrado. Es tu responsabilidad solucionarlo. Pero tranquilo, te voy a enseñar cuales son los puntos más habituales que hacen que aparezcan errores 500 en una web:

Memoria insuficiente y como aumentarla

errores 500 y errores 400 en WordPress memoria insuficiente

¿Recuerdas el ejemplo que te ponía más arriba en la sección de por qué se producen los errores 500?. Resulta que tu web está alojada en un servidor que tiene unos recursos limitados como puede ser la memoria RAM, el procesamiento de datos (CPU), lectura en disco (discos SSD o discos HDD), etc. Normalmente la mayoría de casos es la memoria RAM que es insuficiente para procesar de forma rápida las peticiones.

Imagina que el tope de memoria RAM que tiene asignada tu web es 64MB. En función de si tu web está albergada en un hosting compartido, un servidor VPS o servidor dedicado puedes hacer lo siguiente:

  • Hosting compartido: Será muy difícil solucionar esto debido a que estás compartiendo recursos con otros clientes. Normalmente, en los paquetes de hostings tan básicos como estos no se puede aumentar de forma manual la cantidad de memoria RAM que tiene asignada. Por eso tienes que hablar con tu proveedor de alojamiento web para solicitar un aumento de memoria o bien contratar un producto más avanzado.
  • Servidor VPS: Dentro de un servidor dedicado viven los servidores VPS y dentro de estos últimos los paquetes de hosting compartido. A diferencia de los hostings compartidos, los servidores VPS tienen destinada una cantidad de memoria RAM mucho mayor con independencia sin tener que compartirla con el resto de usuarios. Por eso aquí si podrás aumentar el límite de memoria en WordPress. Si, por ejemplo, tu VPS tienen garantizada una cantidad de 1GB de RAM (1024 MB) y tu web necesita 128 MB podrás aumentar el límite de memoria con un código que te enseñaré más abajo.
  • Servidores dedicados: Tienes todos los recursos físicos destinados para hacer con ellos los que quieras. Tendrás tanta memoria RAM como tengas contratada. Al igual que los VPS tienes la posibilidad de aumentar la memoria RAM de tu web según tus necesidades.

Lo mismo ocurre si el problema reside en la versión de PHP usada. En función del tipo de alojamiento web podrás hacer un upgrade o un downgrade de la versión de PHP. Los errores 500 producidos por este problema son fáciles de arreglar con solo cambiar la versión de PHP por la que corre o necesita tu página web. Recuerda llamar a tu proveedor de alojamiento web si tienes dudas.

Para aumentar la memoria de tu WordPress basta con modificar el archivo wp-config.php y añadir esta línea de código:

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

Aquí le estamos definiendo a WordPress la cantidad de memoria con la que puede jugar. Si necesitaras más memoria solo tienes que cambiar el valor de 32M por, por ejemplo, 128M (128 MB). Hay que recalcar que cuantas más visitas, instalación de plugins tengas, funciones pesadas, etc.. más memoria RAM debemos destinar a WordPress.

¿Cómo puedes saber si el problema es la memoria RAM y no otra cosa?. Buena pregunta. El servidor siempre deja rastro de todo lo que hace y uno de esos rastros es el archivo error_log donde va recopilando los problemas que están sucediendo en el servidor. Si abres el archivo error_log conectándote al FTP del hosting (Está en la raíz del servidor) y ves una linea como esta:

Allowed memory size of XXXXXXXXXX bytes exhausted

Como bien dice la línea si lo traduces al castellano, esta dice que la memoria permitida de 32MB (Por ejemplo) está exhausta y que necesita de más memoria para seguir trabajando. Puedes aumentarlas como te enseñé anteriormente modificado el wp-config ó añadir esta linea al .htaccess:

php_value memory_limit 64M

Donde nuevamente el valor numérico es el valor de memoria RAM destinada a nuestro servidor. Si por lo que fuera la solución de wp-config o el .htaccess no funcionase, puedes aplicar una última solución sin acceder al servidor. Esta se trata de aplicar una linea en el archivo PHP que esté dando el problema y añadir al comienzo del archivo:

<?php
ini_set(‘memory_limit’, ‘64M’);
?>

No siempre funciona ya que depende de como tenga configurado el servidor el administrador de sistemas que configuró el servidor. En caso de que ninguna de las solucione funcionaran, solo te queda recurrir a tu proveedor de alojamiento web y solicitar un aumento de memoria RAM o cambio de producto a un plan mejor que tenga más memoria RAM si esta fuese necesaria.

Versión de PHP incompatible

errores 500 y errores 400 en WordPress version de PHP

Si vienes de otro proveedor de alojamiento web donde esta trabajaba bajo una versión de PHP superior y te migras a otro que sea inferior, sin posibilidad de cambiarla, se producirá un error 500. Hace unos días escribí un artículo sobre la configuración de la versión de PHP que estaría muy bien que la leyeras.

Desactivar los plugins que creen conflicto

Es muy probable que los plugins que tengas instalados en tu WordPress estén provocando un error 500 debido a que entran en conflicto o consumen mucha memoria o que sus funcionalidades son incompatibles con el servidor. Como no sabemos si el problema lo está produciendo uno o varios plugins, si es que ese es el problema de origen, lo que yo recomiendo es desactivar todos los plugins del FTP. Si WordPress funcionara, aunque quizá con menos funcionalidades que ejercen los plugins, ya sabes que el problema está ahí.

Como desactivar los plugins de WordPress desde el FTP

Como es casi imposible acceder al panel de administración debido al error 500, la solución que puedes emplear es desactivar los plugins a través del FTP. Ojo, digo desactivar, no eliminarlos. Para desactivar los plugins, accede a tu FTP del alojamiento web y accede a la siguiente ruta:

\wp-content\plugins

Allí encontrarás una lista, en forma de carpetas, de los plugins instalados en WordPress. Como te interesa desactivarlo, te recomiendo que los renombres simplemente y no que los elimines. Por ejemplo, si sospecho que el plugin que está dando conflicto es WP Rocket y en el FTP se llama wp-rocket lo renombraré a wp-rocket-back para desactivarlo. Es decir, el resultado sería:

  • Antes: wp-rocket
  • Después: wp-rocket-back

Realiza esta operación con todos los plugins para averiguar si el problema del error 500 procede de algún problema con algún plugin. Si es este el problema, restaura los plugins a su nombre original (Es decir, removiendo el “-back”) uno por uno hasta dar con el que esté causando el conflicto. OJO: Puede que no sea solo un único plugin el que esté dando problemas, puede tratarse de varios a la vez. Por eso es muy importante que si detectas uno, sigas aún así el proceso por si también otro más da conflicto.

Como desactivar los plugins de WordPress desde la base de datos

Si por un casual, sea cual sea, solo tienes acceso a tu panel de hosting y a la base de datos, podemos replicar la operación del FTP pero con uno cambio en la base de datos. Todas las configuraciones de plugins activos, inactivos e instalados se guardan en un campo en la base de datos. Por ello, suponiendo que ya sabes acceder al phpMyAdmin o gestor de base de datos de tu alojamiento web, te voy a explicar como erradicar el problema.

Primero localiza la base de datos donde se alberga la información de tu WordPress (Supón que se llama basededatos_wordpress). Dentro de la hipotética base de datos basededatos_wordpress localiza la tabla que se llama wp_options:

errores 500 y errores 400 en WordPress tabla wp_options

Localiza la herramienta de “Buscar” una vez seleccionada tabla:

errores 500 y errores 400 en WordPress herramienta buscar

Dentro de la sección de “Buscar” rellena los campos de la siguiente forma:

errores 500 y errores 400 en WordPress herramienta buscar rellena

Tras darle a buscar aparecerán estos valores:

errores 500 y errores 400 en WordPress herramienta buscar active plugins

Haz doble click en el campo donde está el valor que comienza por a:12:{… (No es el mismo valor para todas las webs, te digo este valor a modo de referencia), a continuación se desplegará el contenido de la información de los plugins. Cópialo y pégalo en un bloc de notas o donde tu prefieras a muy buen recaudo. En la base de datos, elimina el contenido dejándolo en blanco. Esa acción provocará que se desactiven todos los plugins consiguiendo el mismo efecto que si los renombraras en el FTP. Si tu web carga, mal, pero carga, el problema reside en los plugins.

Si esto es así, trata de ir activando plugins por plugin hasta dar con el que está provocando el problema. ¡Y ya has detectado el problema! Solo te queda buscar una alternativa al plugin para que haga una funcionalidad parecida o igual y que sea compatible con la instalación de tu WordPress y servidor.

El error podría estar en el archivo .htaccess

Es más probable de lo que pueda parecer. Muchas veces tienes que modificar el contenido de este archivo pues, por ejemplo, para estos casos:

  • Activar la compresión GZip
  • Activar el Keep Alive
  • Activar la caché de archivos en el navegador del cliente
  • Crear reglas avanzadas
  • Etc…

Por ello es muy común cometer un error en WordPress en la modificación del archivo, olvidarnos de un punto, una coma, un punto y coma, un paréntesis, etc. Incluso hay algunos plugins que pueden modificar la configuración del archivo .htaccess, que recordemos que es vital para el funcionamiento de WordPress. Por ello una incompatibilidad por parte tuya sumada a la de algún plugin que estés usando es muy posible. El archivo .htaccess se encuentra localizado en:

errores 500 y errores 400 en WordPress archivo htacces en raiz del FTP

La forma más sencilla de hacer que tu web se vea temporalmente hasta que el problema se solucione es eliminar este archivo .htaccess corrupto (Con su previa copia de seguridad correspondiente) y generar uno nuevo. Para generar un .htaccess nuevo, basta con hacer click en “Guardar cambios” dentro de la sección “Ajustes” > “Enlaces permanentes“. WordPress, que es muy listo, detectará que no hay ningún .htaccess en la raíz del servidor por lo que procederá a crear uno automáticamente como el original de una instalación limpia.

Revisa los permisos de las carpetas y de los archivos

Aunque no es lo más habitual, el problema podría venir por una mala configuración de los permisos de las carpetas y los archivos de la web. Cuando instalas WordPress en un hosting, estas carpetas ya tienen el permiso correspondiente. Los valores de permisos de carpetas más habituales son:

  • Permisos 755 para carpetas: Este permiso indica que los visitantes de una web pueden leer y ejecutar la carpeta.
  • Permisos 644 para archivos: Este permiso indica que los visitantes de una web puede leer archivos

Si por un casual esta regla de permisos de archivos y carpetas se viera alterada es probable que el problema de los errores 500 provenga de ahí.

Activar el modo Debug

Por defecto esta opción está desmarcada en el wp-config.php de nuestro WordPress. Si la activas, es probable que el servidor te chive donde está el problema si es que los errores 500 provienen por parte nuestra y no por un mal funcionamiento interno del servidor. Para ver estos errores, abre el archivo wp-config.php y busca o añade esta linea:

define(‘WP_DEBUG’, true);

Cambia el valor true a false para desactivar esta funcionalidad. Mientras esté activo, en tu web, si es que el problema proviene de alguna configuración hecha por ti anteriormente, saldrán unos errores de los que podrían estar originando los errores 500 en WordPress. Te recomiendo leer esta guía sobre los errores más comunes en PageSpeed y como solucionarlos donde hablo del WP_DEBUG.

Listado de errores 500

  • 500 Internal Server Error: Este es el error más común puesto que te indica que el problema proviene de un error de tu plataforma (En este caso, WordPress) que está afectando al funcionamiento ordinario del servidor.
  • 501 Not Implemented: Este error se produce cuando el navegador del cliente no puede soportar la pasarela de la petición que hace el tipo de navegador.
  • 502 Bad Gateway: El servidor está actuando como pasarela o servidor proxy. Este recibe una mala respuesta de otro servidor e indica en pantalla el error producido al navegador del cliente.
  • 503 Service Unavailable: El servidor está realizando una tarea de mantenimiento o está colapsado de tantos procesos que le están pidiendo al servidor.
  • 504 Gateway Timeout: Es un error que se produce de la mano del error 502 solo que este especifica que el tiempo de espera hasta que se espera la respuesta del servidor se ha acabado.
  • 505 HTTP Version Not Supported: El servidor no acepta o no quiere aceptar el protocolo HTTP que utiliza el navegador del que se origina la petición.
  • 507 Insufficient Storage: Cuando tenemos reservado para nuestro alojamiento una cantidad determinada de espacio y la sobrepasamos, el servidor tira la web abajo y nos retorna este error.
  • 508 Loop Detected: Cuando una web entra en constante bucle para procesar una o varias peticiones, la web se cae y el servidor nos lo notifica.
  • 509 Bandwidth Limit Exceeded: Cuando nuestra web excede el ancho de banda que tenemos asignado para nuestra web o hosting, el servidor nos lo notifica con este error.
  • 510 Not Extended: El navegador del cliente donde se origina la petición no se hace correctamente o no especifica del todo bien la petición en sí.
  • 511 Network Authentication Required: El navegador desde el que procede la petición debe loguearse en el servidor para procesar la petición de origen.
  • 512 Not updated: Prácticamente no verás este error con casi total certeza. Este error es el que tira el servidor cuando está en tareas de actualización.

Que son los errores 400 en WordPress

errores 500 y errores 400 en WordPress imagen errores 400

Los errores 400 son los errores que se producen por parte del webmaster o del navegador del cliente. El servidor poco o nada tiene que ver con este tipo de errores. Uno de los errores más típicos es cuando un usuario accede a una de las secciones de la web y sale el típico “Oooops, esta sección no está disponible” (Lo mismo que ven los motores de búsqueda). Esto es debido a que nosotros, como webmasters hemos colocado un enlace apuntando a una sección de la web que no existe y el servidor no puede procesar porque no existe (Esto diluirá el Crawl Budget del crawler)

¿Son malos los errores 400? 

Algunos sí, algunos no. En el caso de los errores 500, estos suelen ser muy nocivos tanto de cara al usuarios que navega por la web como al servidor en si puesto que siempre estará “caído”. Sin embargo, los errores 400 algunos pueden ser perjudiciales y otros “beneficiosos” (Sobre todo si practicamos o ejecutamos una estrategia SEO).

Listado de errores 400

Existen muchos códigos 400 por lo que pondré los más habituales y cuales son su utilidad.

  • 400 Bad Request: La solicitud hecha por el usuario al servidor es errónea por parte de este primero.
  • 401 Unauthorized: Resultado de no tener acceso o no ser privilegiados de acceder a esa sección o página web.
  • 402 Payment Required: Es el resultado del código de la sección o web que intentaba hacer uso del código como pasarela de pagos o micropagos pero la operación fue denegada.
  • 403 Forbidden: La petición del cliente al servidor es correcta pero este último reniega a proporcionarle el archivo o información debido a que no tienen permisos. Es un error que mantiene una estrecha relación con el error 401.
  • 404 Not Found: Este es quizá el más conocido por una persona normal que no sea webmaster o administrador de sistemas. Este error se produce cuando el elemento, recurso o información que solicita al navegador no existe. Por ejemplo, intentamos acceder a: optimizarwordpress.com/contacto pero la sección no existe. Por eso nos saltará un error 404 que puede ser personalizado.
  • 405 Method Not Allowed: Es un error que se produce cuando intentamos obtener información a través de una URI incorrecta a través de GET cuando el servidor solo responde a peticiones POST.
  • 408 Request Timeout: Es el resultado procedente de que el cliente ha agotado en procesar la respuesta que le ha proporcionado el servidor. Ha agotado el tiempo de espera de entrega de información del servidor al cliente.
  • 410 Gone: Es el primo hermano de los errores 404. Si el error 404 indica que el recurso al que se intenta acceder no existe temporalmente, especificar un “error” 410 ayuda a los crawlers o motores de búsqueda que efectivamente ese recurso no existe y que jamás existirá por lo que no hay necesidad de que intenten buscar contenido nuevo en esa página.
  • 429 Too Many Request: Existen muchas peticiones al servidor desde esa misma dirección IP del cliente.

Conclusión de los errores 500 y errores 400

Con esto has visto todos los errores que podemos encontrarnos cotidianamente en el día a día. Estos errores tienen solución salvo los que sean puramente técnicos que tengan que ver con el servidor y tu proveedor de alojamiento web debería subsanar. Los errores 400, a pesar de ser errores, son “informativos” de cara al usuario. No afectan, en principio, a una mala ejecución del servidor internamente.

Si tu web tiene problemas con errores 500 o 400 o incluso errores del tipo 300 es necesario que te detengas a analizar que es lo que está provocando el error. También es vital contar con un buen hosting administrado para que tu proveedor te eche una mano cuando tengas problemas. Es un poco más caro, pero merece la pena. Si necesitas un hosting avanzado administrado de calidad, llama a los comerciales de Raiola Networks para que te puedan asesorar y llevar tu web a otro nivel con un producto tan bueno.