Cada día son más recurrentes los errores de pantalla blanca o de solicitud de depuración (debug) en los sitios desarrollados con WordPress.
Los principales motivos para estos errore son:
Falta de memoria
Alcanzar el límite de memoria suele ser una de las explicaciones más habituales a este error y, si ese es el caso, aumentar ese límite de memoria es bastante sencillo. Para ello, accede al archivowp-config.php
usando tu cliente de FTP (o lo que sea que tengas para ver los ficheros de tu instalación WordPress) y añade la siguiente instrucción dentro de la etiqueta <?php
para aumentar el límite:
define( 'WP_MEMORY_LIMIT', '256M' );
Puedes establecer este límite al valor que quieras (por ejemplo, 128 Mb o 256 Mb…), pero no se recomienda asignar un valor muy alto para usar en cada proceso ya que WordPress debería funcionar correctamente con esas cantidades de memoria. Si arrojara error por falta de memoria cambiando este parámetro, es posible que el problema sea otro. Los procesos que funcionan de forma correcta no debiesen utilizar mayor cantidad de memoria para ser ejecutados de forma exitosa.
Plugin en conflicto
Si aún tienes acceso al escritorio de WordPress, entonces solucionar este error es bastante sencillo. Simplemente ve a la sección de plugins y desactiva el último plugin que hayas instalado. Si eso no corrige el problema, lo más probable es que el error lo esté generando la actualización de algún otro plugin, así que para descubrir cuál es desactiva todos los plugins de golpe (puedes usar la cajita de selección que aparece en la cabecera de la tabla de plugins para marcarlos todos y, a continuación, seleccionar la acción en lote Desactivar). A continuación, puedes ir activando los plugins uno a uno hasta encontrar el que genera el error.
Si no tienes acceso al escritorio, tendremos que desactivar los plugins vía FTP. Usando tu cliente de FTP (o la herramienta de la que dispongas para manipular los ficheros en tu servidor de WordPress, yo uso Filezilla), ve al directorio wp-content
y cambia el nombre de la carpeta plugins
a plugins-debug
. Después de cambiar el nombre, accede a tu site para verificar que las cosas funcionan correctamente. Para activar los plugins uno a uno, vuelve a crear el directorio plugins
(recuerda que acabamos de cambiarle el nombre a plugins-debug
y que, por tanto, el directorio plugins
no existe) y ve moviendo los plugins de plugins-debug
a plugins
, de tal forma que puedas detectar cuál es el que falla. Cuando acabes, puedes deshacerte del directorio plugins-debug
, el cual, por cierto, debería estar vacío.
Una vez hayas identificado qué plugin está dando problemas, tienes dos opciones:
- Instala una versión anterior que sepas que no falla (y evita actualizarlo).
- Reemplaza el plugin por otro que te dé la misma funcionalidad.
Tema en conflicto
Si desactivando los plugins no se ha solucionado el problema, entonces es muy probable que lo que falle sea tu tema.
Para analizar si el error lo está provocando el tema haremos lo mismo que con los plugins. Accede al directorio wp-content/themes
y cambia el nombre del directorio de tu tema (por ejemplo, de my-theme
a my-theme-debug
) para que WordPress crea que has desinstalado el tema y, por lo tanto, se vea obligado a usar algún tema por defecto (Siempre debes tener un tema por defecto en tu instalación de WordPress).
Si descubrimos que el problema era con el tema ya puedes tomar acciones para corregirlo:
- Si has editado el tema manualmente (comunmente al modificar algo del fichero
functions.php
), te recomiendo que deshagas los cambios. Si no tienes muy claro qué has hecho y cómo volver al estado anterior, entonces vuelve a instalar el tema de cero. - Contacta con el autor del tema y pídele ayuda.
- Usa otro tema.
¿Aún nada?
Activa el modo DEBUG en PHP
A estas alturas lo único que está en nuestras manos es intentar conseguir más información sobre el problema. Para ello, abre el fichero wp-config.php
y busca la siguiente línea:
define( 'WP_DEBUG', false );
Una vez localizada, añadele un // al principio (eso es para comentar la linea):
// define( 'WP_DEBUG', false );
A continuación, añade las siguientes instrucciones:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true );
las cuales activan la información de DEBUG de PHP. Gracias al DEBUG, cuando accedas a tu web ya no verás una pantalla en blanco, sino que podrás ver los errores hay en el código PHP que evitan que tu web se muestre además de los ficheros y líneas donde se encuentran.
Si no deseas que esa información se vea en tu web mientras lo corriges, puedes evitar que aparezca en el navegador y hacer que aparezca en un fichero log añadiendo estas dos líneas adicionales:
define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 );
Con ellas, toda la información de log aparecerá en un fichero llamado error.log
, el cual encontrarás en el directorio wp-content
.
Error 500
Internal Server Error
Si tu servidor responde con un error 500, Internal Server Error (error interno del servidor). puede ser prácticamente «cualquier cosa», por lo que recomendamos como primera instancia volver a los items anteriores en los que hablamos sobre cómo solucionar problemas de plugins y del tema instalado.
Corrige el fichero .htaccess
Si no eran errores de tus plugins o del tema quizás lo que está provocando fallas es tu fichero .htaccess
.
Accede vía FTP al sistema de ficheros de tu WordPress y cámbiale el nombre a .htaccess_backup
. Si no lo encuentras, seguramente sea porque está oculto; asegúrate de marcar la opción «Mostrar archivos ocultos» en tu programa de FTP.
Una vez «renombrado» el fichero , ve al escritorio de WordPress » Ajustes » Enlaces Permanentes y haz clic en el botón Guardar cambios. El cambio de ajustes regenera automáticamente el fichero .htaccess
y, así, puedes validar que la nueva versión funciona correctamente.
ESTABLISHING DATABASE CONNECTION
Otro error que suele suceder es el de la conexión a la base de datos. Muchas veces es algo bastante simple y solo es que cambiaste el usuario y/o contraseña a la base de datos.
Repasa el fichero wp-config.php
Lo primero que tienes que hacer es ver si el error aparece sólo en la parte pública de tu web o también aparece en el escritorio (wp-admin
).
A) Si sólo aparece en tu parte pública y, además, ves un texto del tipo «La base de datos necesita ser reparada», entonces sólo tienes que añadir esto en tu fichero wp-config.php
:
define( 'WP_ALLOW_REPAIR', true );
A continuación, visita la siguiente página en tu web http://tuweb.es/wp-admin/maint/repair.php y sigue los pasos para reparar la base de datos. Una vez hayas acabado, no olvides eliminar la línea que acabamos de añadir en wp-config.php
.
B) Si has cambiado el nombre de usuario o la contraseña de tu base de datos, comprueba que la información que hay en wp-config.php
sobre la base de datos es correcta:
define( 'DB_NAME', 'database-name' ); define( 'DB_USER', 'database-username' ); define( 'DB_PASSWORD', 'database-password' ); define( 'DB_HOST', 'localhost' );
En el ejemplo anterior he dado por sentado que el servidor que tiene la base de datos es el mismo que el que está ejecutando WordPress (de ahí que use localhost), pero en algunos casos no es así.
Si aún no se corrige el error
Contacta a tu proveedor de hosting ya que el error pasa por un tema de servidor y no de tu instalación de WordPress.