WordPress en blanco o error 500

Si tu WordPress está dando un error 500 o si se queda en blanco,  puede deberse a varios motivos.

Para detectar cual puede ser el problema y solucionarlo debes primero habilitar el modo ‘Debug’ y el ‘Display_errors’ para que los posibles errores que se están dando se  puedan ver a través del navegador al acceder a la web.

Para esto tienes acceder al directorio en el que tiene instalado tu wordpress, puedes hacerlo por FTP o si a través del administrador de archivos del panel que uses.  En este ejemplo accedemos desde el cPanel, en la  opción ‘Administrador de archivos’

Una vez dentro, tiene que moverte al directorio en el cual tienes instalado tu WordPress y en concreto al fichero wp-config, pinchando con el botón derecho encima y luego en ‘Editar’

Pulsando al mismo tiempo Ctrl + F nos ofrece la posibilidad de hacer una búsqueda dentro de este fichero, establecemos la palabra ‘debug’

Al realizar la búsqueda podremos ver la siguiente linea:

define('WP_DEBUG', false);

y el ‘false’ lo pasamos a ‘true’, quedando del siguiente modo:

define('WP_DEBUG', true);

La siguiente configuración que tenemos que llevar a cabo es activar la opción ‘display_errors’ para poder visualizar el error por pantalla cuando accedemos a la web.

Para ello nos vamos nuevamente a cPanel a la opción ‘Editor INI de MultiPHP’ :

En la pestaña desplegable que tienes en el margen superior izquierdo seleccionamos el nombre de nuestro dominio.

Luego, en la lista de opciones que te aparecen en la parte inferior debes marcar a ‘Habilitado’ la opción ‘display_errors’

Ahora, si accedes a tu web, debería mostrarse los errores, dándonos alguna noción de donde puede estar el problema.

Si por ejemplo hace referencia a alguno de tus plugins, puedes renombrarlo para que no se cargue y así ver si el problema se resuelve.

La ruta en la que se instalan los plugins es wp-content >> Plugins, puedes conectarte por FTP a la carpeta donde tienes instalado el WordPress o a través del administrador de archivos de tu panel como te comentábamos anteriormente.

En este ejemplo hemos accedido por cPanel y renombrado el plugin akismet como akismet_old, pinchando encima una vez lo iluminamos y pinchando nuevamente con unos segundos de diferencia ya te dejará editar el nombre (como en Windows).

Otro fichero que  siempre te  puede ayudar para resolver problemas de aplicación, es el llamado ‘error_log’.

Este fichero guarda los errores de PHP que genera tu WordPress o cualquier otra aplicación que tengas instalada.

Dicho fichero lo encontrarás en la ruta en la cual se genera el error, las localizaciones habituales son el directorio en el cual instalamos WordPress (directorio raíz) o dentro del directorio a de administración (wp-admin) si el error se produce realizando alguna acción desde el dashboard.

Si encontramos un error del  tipo:

Allowed memory size of 33554432 bytes exhausted (tried to allocate 43148176 bytes) in php

Se debe normalmente a la variable ‘memory_limit’, la cual tendría un valor muy bajo y no nos estaría permitiendo ejecutar un proceso de forma normal. A continuación te explicaremos como aumentar las variables más comunes de PHP.

Otras posibles opciones que tenemos son:

1. Aumentar la variables que suelen generar errores comúnmente: Para esto tienes que acceder a tu panel de control e ir a la opción que comentábamos anteriormente ‘Editor INI de MultiPHP’

Si usas cPanel lo verás así:

Si usas Plesk, lo las variables las encontrarás dentro de la opción ‘Configuración de PHP’

Las variables que suelen generar más conflictos son las siguientes:

memory_limit : Establece el tamaño máximo de memoria, en Megas, que se puede reservar para ejecutar un proceso PHP. Por defecto está en 32Mb, puedes subirlo a 128Mb.

max_input_time : Establece el tiempo máximo en segundos que se permite a un script analizar datos de entrada, como POST y GET. La medición comienza en el momento en que PHP es invocado en el servidor y finaliza cuando la ejecución comienza. Por defecto está en 60, puedes subirlo a 120.

max_execution_time : Este valor establece el tiempo máximo en segundos que se permite ejecutar antes de que el analizador termine. Por defecto está en 30, puedes subirlo a 60.

upload_max_filesize : Limita el tamaño máximo de un fichero subido. Cuando no puedas subir un fichero desde tu Dashboard al WordPress, suele deberse por esta variable.

El valor por defecto varia en función del servidor, puedes modificarlo según tus necesidades y establecer un valor un poco más alto del peso del fichero a subir, sin exceder los 100 Mb.  Si excedes los 100 Mb. lo ideal es que lo subas por FTP a la ruta en lo que lo necesites.

post_max_size : Define el tamaño máximo de datos de POST permitidos. Esta opción también afecta a la subida de ficheros.

El valor por defecto varia en función del servidor, puedes modificarlo según tus necesidades y establecer un valor un poco más alto del peso del fichero a subir sin exceder los 100 Mb. Si excedes los 100 Mb. lo ideal es que lo subas por FTP a la ruta en lo que lo necesites.

max_input_vars : Limita cuantas variables de entrada pueden ser aceptadas.

http://php.net/manual/es/info.configuration.php

Alguna de estas variables no aparecen en el listado, pero podemos añadirla manualmente y te explicamos como.

Cuando aplicamos los cambios, en el directorio raíz de tu dominio, normalmente en el que tenemos instalado WordPress, se creará un fichero php.ini

Tienes que pinchar con el botón derecho ‘Editar’ y añadir el resto de variables respetando el formato,  como se ve en la imagen, por último, solo tienes que ‘Guardar’ los cambios

2.  Renombrar el fichero .htaccess , muchas veces el propio WordPress o alguno de sus plugins añaden lineas en este fichero provocando incompatibilidades y generando errores.

Podemos tener varios .htaccess, el que suele generar conflicto suele ser el que está  situado en el directorio en el que está instalado WordPress, pero puede existir también dentro de wp-admin.

También puede afectar el que esté en el directorio inmediatamente superior a nuestra instalación,  ya  que ciertas reglas se pueden heredar en subdirectorios.

Este fichero puedes renombrarlo añadiendo por ejemplo _old al final para que no se cargue y luego cargar la web para ver si te ha funcionado:

3. Otro punto muy importante es tener correctamente establecidos los permisos de los directorios y ficheros.

En nuestros alojamientos, para que tus aplicaciones funcionen correctamente, los permisos que debes tener dentro de public_html deben ser:

755 para directorios

644 para ficheros

4.  También si has pasado por un cambio de servidor recientemente  y tenías algún php.ini en tu proyecto web personalizando alguna configuración,  este puede generar incompatibilidades en la nueva plataforma a la que has sido migrado,  por lo que sería necesario eliminarlo.

Luego podrás crear uno nuevo acorde al nuevo alojamiento.  Puedes renombrarlo siguiendo las reglas anteriores y añadiéndole _old al fichero para que no se cargue y así ver si se soluciona el problema.

Es muy importante que cada vez que hagas cualquier cambio de los anteriores y revises si han tenido efectos sobre la web, abras siempre una sesión privada nueva para cargar la web. Con esto evitarás ver cache. También puedes abrir otro navegador diferente que no uses o acceder desde otro dispositivo desde el cual no hubiésemos accedido antes.

Si desconoces a que puede hacer referencia el error que se muestra en los logs o a través de pantalla,  puedes buscar en google la parte común de dicho error. Es posible que este error sea común y que en los foros oficiales de WordPress venga recogida la solución a tu problema, si no, siempre puedes abrir un ticket con soporte para buscar nuestro asesoramiento.