Los “Internal server errors” de WordPress están entre los peores problemas que nos podemos encontrar. No nos dan información sobre el problema real, y muy raramente serán errores de servidor.
En este artículo buscaremos la forma de lidiar con ellos:
Enciende el modo debug
Cuando WordPress te muestre una pantalla blanca de la muerte o un error de server, es muy aconsejable activar el modo debug. NO solucionará el problema pero nos dará bastantes pistas sobre lo que está ocurriendo.
Para activarlo edita el archivo wp-config.php.
Dentro de este busca WP_DEBUG.
Si lo encuentras cambia de “false” a “true”. Si no lo encuentras puedes crearlo tu mismo escribiendo:
define( "WP_DEBUG", true );
Salva el archivo y refresca la web para ver si algo cambia. Si tenemos suerte debería desaparecer el error de server reemplazado por un error distinto, uno que nos diga que está pasando realmente.
Si este es el caso fijate donde se localiza el error. Si es en una carpeta de plugin, desactiva este, el error debería desaparecer.
Si el activar el debug no nos da un buen resultado dejao activo aún así hasta que localicemos el problema. Cuando lo arreglemos lo volveremos “false”.
Desactivar todos los plugins y cambiar themes
Si tenemos acceso al Panel de administración, debemos desactivar todos los plugins y ver que pasa. Si la web se carga sin el error de server el problema está en uno de los plugins, los activaremos uno a uno hasta ver cual genera el conflicto.
También podemos cambiar el tema y poner el de por defecto sin ningún cambio, si la web carga el problema estaría en nuestro theme.
No obstante lo más común es que estos errores sean ocasionados por plugins.
Revisar el .htaccess
El archivo .htaccess, si existe, contiene un conjunto de reglas que debe cumplir el server en determinadas circunstancias. Sus usos más comunes son: reescribir URLs amigables, bloquear accesos maliciosos o realizar redirecciones.
Puedes encontrarlo usando tu FTP en la raíz de tu carpeta de WordPress. Debes activar en el FTP la opción para ver archivos ocultos.
Si lo encuentras, antes de nada realiza una copia de seguridad, luego borralo y comprueba la web para ver qué ocurre con el error de server.
Si se soluciona, aqui esta nuestro error. Restauramos el archivo y vamos borrando por bloques dentro de él hasta que la web funcione, así encontraremos el código que causaba el conflicto, una vez localizado podemos borrarlo, aunque sería interesante saber para que servia, podemos googlearlo o preguntarle a nuestro ISP.
Aumenta tu memoria
El problema puede ser que la web sea pesada y no tenga asignada suficiente memoria para realizar sus tareas. Tenemos que aumentar el límite de memoria. Para hacer esto abrimos el wp-config.php en la raíz, buscamos WP_MEMORY_LIMIT. Si existe cambiamos el valor a “128M”, si no lo creamos así:
define('WP_MEMORY_LIMIT', '128M');
Esto asume que el servidor nos permite llegar a estos valores, si no consulta a tu ISP o trata de cambiar los valores en el .htaccess.
Si esto funciona habremos solucionado el problema temporalmente, alguno de nuestros plugin o nuestro código está consumiendo demasiados recursos, sería interesante monitorear la web para localizarlo ya que ralentizará el sitio y puede generar más problemas a la larga.
Pregunta a tu host
Habrá veces que antes de seguir calentandonos la cabeza es mejor preguntarle al hosti directamente, puede haber un error de server real (aunque sea poco común en server comerciales) normalmente relacionado con permisos de archivo.
Reinstalar WordPress
No suele ser buena idea, pero en casos extremos podemos reinstalar para eliminar el problema. Esto solucionaría los problemas de permisos.
Lo haremos como un update manual de WordPress, proceso bastante común en caso de infección de la web.
En resumen
Internal server errors de WordPress raramente están provocados por el server. Usando los métodos de este artículo en orden deberías arreglarlos sin problemas. ¡Nos vemos!
¿Necesitas ayuda con tu página?
Pregúntanos y consigue tu presupuesto si ningún compromiso.