Nada es peor que entrar a tu sitio WordPress y encontrarte con la pantalla blanca de la muerte, por lo que es inaccesible para los administradores y visitantes. Hoy vamos a ver 5 problemas comunes que ocasionan la pantalla blanca de la muerte de WordPress, las causas más frecuentes y lo más importante, las soluciones para que puedas volver a tener tu sitio funcionando tan rápido como sea posible.
WordPress Pantalla Blanca de la Muerte
Una pantalla blanca de muerte en WordPress (WSOD) es casi siempre causada por errores de código PHP o agotamiento del límite de la memoria. Lo primero que debes hacer es determinar si el administrador de tu sitio está funcionando o no.
Si el front-end del sitio web está inactivo, pero el administrador está funcionando, es probable que tengas un tema defectuoso o un plugin. Puedes consultar tu administrador simplemente navegando a tudominio.com/wp-admin.
Una pantalla blanca de la muerte también podría aparecer ligeramente diferente dependiendo del navegador. Aquí hay un ejemplo en Google Chrome. De hecho, nos da una advertencia diciendo “Esta página no funciona y no puede manejar la solicitud”. Se trata de un error HTTP 500.
En Mozilla Firefox, es simplemente una pantalla completamente blanca sin errores ni advertencias.
Si estás viendo una pantalla como la anterior, aquí hay seis pasos comunes para resolver el problema:
- Deshabilitar plugins y temas
- Activar la depuración
- Aumento de los límites de memoria
- Comprobar los problemas de permisos de archivo
- Comprobar si la actualización automática no se ha realizado correctamente
Deshabilitar plugins y temas
Una de las maneras más fáciles y más comunes de arreglar la pantalla blanca de la muerte es simplemente desactivar todos tus complementos. Muchas veces un sitio se cae debido a una mala actualización de un complemento. Si todavía puedes acceder a tu administrador, una forma rápida de hacerlo es buscar en “Plugins” y seleccionar “Desactivar” en el menú de acciones masivas.
Esto desactivará todos tus complementos. Si esto corrige el problema, necesitarás encontrar al culpable. Comienza a activarlos uno por uno, recargando el sitio después de cada activación. Cuando tu front-end se deje de visualizar, habrás encontrado el plugin de mala conducta. A continuación, puedes comunicarte con el desarrollador del plugin para obtener ayuda o publicar un ticket de soporte en el repositorio de WordPress.
Si no puedes acceder a tu administrador puedes acceder a tu servidor via FTP y cambiar el nombre de la carpeta de plugin a algo como plugins_old. Luego revisa tu sitio de nuevo. Si funciona, entonces tendrás que probar cada plugin uno por uno. Cambiar el nombre de tu carpeta de nuevo a “plugins” y luego cambia el nombre de la carpeta de cada plugin, uno por uno, hasta que encuentres el defectuoso.
Lo mismo ocurre con los temas de WordPress. Puedes reemplazar tu tema temporalmente con uno predeterminado de WordPress, Twenty Seventeen es una buena opción. Si puedes acceder a tu administrador, ve a “Temas” en el menú Aspecto, y activa el tema Twenty Seventeen y luego prueba tu sitio de nuevo. Si tu sitio vuelve a aparecer el tema es el responsable del problema.
Si no puedes acceder a tu administrador, el proceso es exactamente el mismo que con los plugins. Cambia el nombre de tu carpeta wp-content/themes a otro, algo como themes_old. WordPress volverá al último tema por defecto, que es probablemente Twenty Seventeen (si no tienes otros temas, puedes descargar Twenty Seventeen desde el repositorio de WordPress y subirlo a tu carpeta de temas. Si funciona, entonces tal vez tu tema tiene un conflicto o una mala actualización, en cuyo caso es posible que tengas que contactar al desarrollador de tu tema.
Activar la depuración
Si todavía estás viendo la pantalla blanca, o el administrador no está funcionando (o si has encontrado al culpable pero quieres profundizar más) puedes habilitar la depuración (debug) que expondrá cualquier error. El problema es que cuando se produce un error fatal, el script simplemente termina la ejecución. Si esto sucede antes de que se muestre cualquier contenido, todo lo que verás es una pantalla en blanco con absolutamente ningún texto.
Para habilitar la depuración tendrás que abrir el archivo wp-config.php de tu instalación de WordPress. Dentro debes encontrar la siguiente línea:
Define ('WP_DEBUG', false)
Tendrás que reemplazar false con true y volver a cargar tu sitio. Si no existe, puedes agregarlo.
En lugar de la pantalla en blanco, obtendrá una pantalla en blanco y mensajes de error. No es una gran mejora, pero al menos podemos empezar! Si no has desactivado los plugins ni los temas, podrás averiguar cuál es el culpable mirando el mensaje de error. Debe indicar en qué archivo se origina el error, algo así:
Cannot redeclare get_posts() (previously declared in /var/www/html/wordpress/wp-includes/post.php:1874) in /var/www/html/wordpress/wp-content/plugins/my-test-plugin/my-test-plugin.php on line 38
Puedes ver al final del mensaje que el problema está en la línea 38 de un plugin llamado “my-test-plugin”. Deshabilitar ese plugin debería funcionar.
Si estás contento con modificar el código, también puedes arreglarlo. Si se trata de un plugin del repositorio, recomiendo escribir al autor en lugar de hacerlo por ti mismo. Si modificas el plugin tendrás que mantener todos los cambios cosa que es un dolor de cabeza, es más fácil desactivarlo hasta que sea arreglado por el desarrollador.
Si no ves ningún error en absoluto después de habilitar la depuración, puede que necesites contactar a su host, ya que es posible que la depuración no esté correctamente configurada en tu servidor.
Aumento de los límites de memoria
Si sigues viendo una página vacía o recibes un error que se queja de los límites de memoria o de la memoria agotada, deberás asignar más memoria a la aplicación. Esto se puede hacer a través del archivo wp-config.php en muchas instalaciones, simplemente agregue el siguiente código al archivo:
Define ('WP_MEMORY_LIMIT', '64M');
Si esto no parece funcionar tienes algunas opciones. En un entorno normal puedes utilizar tu archivo .htaccess -en el directorio raíz de WordPress- para aumentar el límite de memoria, simplemente agregue la línea siguiente:
Php_value memory_limit 64M
Si estás en un hosting y tu sitio web utiliza la arquitectura NGINX, el archivo .htaccess no está disponible. Puedes usar el archivo php.ini para aumentar el límite de memoria. En cualquier lugar del archivo, añade la siguiente línea:
Memory_limit = 64M
Si sigues sin memoria y necesita asignar cada vez más, puede haber un problema dentro de tu aplicación. Tal vez tu tema o uno de tus plugins está utilizando una cantidad excesiva de recursos. Pide a un desarrollador que eche un vistazo, incluso tu hosting puede ser capaz de ayudarte mostrandote los registros SQL y otras estadísticas de recursos.
Comprobar los problemas de permisos de archivo
No hemos visto una pantalla blanca de la muerte debido a esto, pero el permiso y los problemas de propiedad todavía pueden causar problemas. ¡Quién sabe, en algunas circunstancias, esto puede llevar a una pantalla blanca de la muerte! Es posible arreglarlo por uno mismo, pero a menos que realmente sepas lo que está haciendo, no te lo aconsejo. Para WordPress hay tres reglas sencillas:
- Los archivos deben ser 664,
- Carpetas debe ser 775,
- Y el archivo wp-config.php debe ser 660
Si tiene acceso SSH en tu servidor, puedes aplicar las reglas apropiadas con el siguiente comando, ejecutándolo desde el directorio raíz de WordPress.
sudo find . -type f -exec chmod 664 {} + sudo find . -type d -exec chmod 775 {} + sudo chmod 660 wp-config.php
Si no estás seguro de cómo hacer esto o eres un poco temeroso pregunta a tu proveedor de hosting. Algunos hosts específicos de WordPress incluso tienen permiso de verificación automática que pueden hacer todo esto por ti.
Comprueba si no se ha actualizado automáticamente
A veces WordPress puede encontrarse con problemas con las actualizaciones, como el tiempo de espera del servidor. A menudo, esto se resuelve automáticamente, pero en algunos casos, puede conducir a una pantalla blanca de la muerte.
Lo primero que debes hacer es ir al directorio raíz de WordPress y ver si hay un archivo .maintenance allí. Siéntete libre de eliminar ese archivo y cargar tu sitio de nuevo. Si la actualización se realizó correctamente, pero WordPress no pudo eliminar este archivo automáticamente, todo volverá a la normalidad.
Si la actualización no se completó, se puede hacer automáticamente por ti, en cuyo caso las cosas deberían volver a la normalidad de la misma manera. Si todo falla, sigue el procedimiento recomendado de actualización manual de WordPress esto debería resolver el problema de una vez por todas.
Resumen
Hay una serie de cosas que pueden salir mal, pero afortunadamente la situación no suele ser tan grave como parece. Una simple revisión de plugins / temas debería solucionar el problema y habilitar la depuración definitivamente arrojará más luz sobre el problema. Si has encontrado alguna otra situación problemática en WordPress, háznoslo saber para que podamos aprender de ella y compartir la experiencia!