Saltar al contenido principal

Pantalla de WordPress con el mensaje «Ha habido un error crítico en esta web» y terminal con la solución

Entras en tu web y, en lugar de tu página, aparece un mensaje en blanco: «Ha habido un error crítico en esta web». Ni la web ni, a veces, el escritorio de WordPress cargan. Es uno de los fallos más habituales de WordPress y, en la mayoría de los casos, se soluciona sin perder nada. Te explico qué significa, por qué pasa y cómo arreglarlo paso a paso.

Qué significa «ha habido un error crítico»

Es la forma en que WordPress te avisa de un error fatal de PHP: alguna parte del código (un plugin, el tema o el propio WordPress) ha fallado y la página no se puede terminar de generar. Antes, en estos casos salía la famosa «pantalla blanca»; desde la versión 5.2, WordPress muestra este mensaje y activa un modo de recuperación para que puedas entrar a arreglarlo.

Al mismo tiempo, WordPress envía un correo al email del administrador con el asunto «Tu sitio está experimentando un problema técnico». Ese correo es la pista más valiosa: suele decir qué plugin o tema ha causado el fallo.

Las causas más habituales

  • Una actualización de un plugin o del tema que no es compatible con el resto de la web. Es la causa número uno.
  • El hosting ha cambiado la versión de PHP y algún plugin antiguo no funciona con la nueva.
  • Falta de memoria: la web necesita más memoria de la que el servidor le permite usar.
  • Una actualización que se quedó a medias y dejó archivos incompletos.
  • Código añadido a mano en el functions.php con un error.
  • Con menos frecuencia, malware que ha modificado archivos de WordPress.

Paso 1: busca el correo del modo de recuperación

Revisa la bandeja de entrada (y la carpeta de spam) del email del administrador. El correo de WordPress indica qué plugin o tema ha fallado e incluye un enlace para entrar en modo de recuperación. Ese enlace caduca a las 24 horas.

Al entrar por él, WordPress pausa el plugin que da problemas y te deja acceder al escritorio. Desde ahí puedes desactivarlo y comprobar si la web vuelve a funcionar. Si es así, ya sabes quién es el culpable: busca una actualización que lo corrija o una alternativa.

Paso 2: activa el registro de errores

Si no te ha llegado el correo, el siguiente paso es averiguar qué está fallando. Para eso, entra en los archivos de tu web (por FTP o desde el administrador de archivos de tu hosting), abre el archivo wp-config.php y, justo antes de la línea «¡Eso es todo, deja de editar!», añade:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Vuelve a cargar la web y abre el archivo wp-content/debug.log. Busca la línea que empieza por «PHP Fatal error»: al final indica la ruta del archivo que ha fallado, por ejemplo /wp-content/plugins/nombre-del-plugin/…. Esa carpeta te dice qué plugin o tema es.

Cuando termines, cambia WP_DEBUG a false: el registro no debe quedarse activo en una web en producción.

Paso 3: desactiva el plugin o el tema sin entrar al escritorio

Si no puedes acceder al escritorio de WordPress, puedes desactivar un plugin renombrando su carpeta dentro de wp-content/plugins/, por ejemplo de nombre-del-plugin a nombre-del-plugin-off. WordPress lo dará por desactivado y no se pierde ningún ajuste.

Si no sabes cuál es, renombra la carpeta plugins entera a plugins-off: se desactivan todos. Si la web vuelve, devuelve el nombre original a la carpeta y ve activándolos uno a uno desde el escritorio hasta que reaparezca el error.

Si el fallo está en el tema, renombra su carpeta en wp-content/themes/ y WordPress cargará uno de los temas por defecto que tengas instalados.

Paso 4: revisa la versión de PHP y la memoria

Si el error empezó sin que tocaras nada, entra en el panel de tu hosting y mira si ha cambiado la versión de PHP. Volver temporalmente a la anterior puede devolverte la web mientras se actualiza el plugin incompatible.

Si el registro de errores habla de «Allowed memory size exhausted», la web se ha quedado sin memoria. Puedes subir el límite añadiendo en el wp-config.php:

define( 'WP_MEMORY_LIMIT', '256M' );

Si aun así no basta, el límite lo fija tu hosting y tendrás que pedirle que lo aumente.

Paso 5: si nada funciona, restaura una copia de seguridad

Si tienes copias de seguridad recientes, restaurar la del día anterior al fallo suele ser lo más rápido. Antes de hacerlo, guarda una copia del estado actual: si en la tienda han entrado pedidos o en el formulario hay mensajes nuevos, no quieres perderlos.

Lo que no deberías hacer

  • Borrar plugins a lo loco. Muchos guardan configuración y datos: renombrar la carpeta es seguro, borrarla no siempre.
  • Actualizar todo a la vez para «ver si se arregla». Puedes encadenar varios errores y no sabrás cuál es el bueno.
  • Dejar WP_DEBUG_DISPLAY en true. Mostraría los errores a cualquier visitante, con rutas y datos de tu servidor.

Cómo evitar que vuelva a pasar

La mayoría de los errores críticos aparecen después de una actualización. Hacer una copia antes de actualizar, actualizar los plugins de uno en uno y revisar la web después evita casi todos los sustos. Es justo lo que hago en el mantenimiento web: si algo falla, lo corrijo o vuelvo a la copia antes de que lo note nadie.

Si el error vino acompañado de redirecciones raras, usuarios que no conoces o avisos de Google, puede que no sea solo un fallo técnico: en ese caso, revisa la limpieza de malware en WordPress.

¿Tu web sigue sin funcionar?

Si prefieres no tocar archivos o ya lo has intentado y la web sigue caída, me encargo yo. Localizo el fallo en los registros, lo soluciono sin perder tu contenido y te explico qué pasó.

Jorge Rey
Diseñador y programador web en Alhaurín de la Torre, especializado en WordPress y PrestaShop. Más sobre mí

Sigue leyendo