Pulsa ESC para cerrar

Curso WordpressCurso Wordpress

«Ha habido un error crítico en esta web»: cómo salir paso a paso

Abres tu sitio y, en vez de tu portada, aparece un mensaje seco: «Ha habido un error crítico en esta web». O peor: una pantalla completamente en blanco. Intentas entrar a /wp-admin y pasa lo mismo.

Primero lo más importante: tus entradas, páginas e imágenes no se perdieron. Están en la base de datos y en el servidor. Lo que pasa es que un pedazo de código PHP (casi siempre un plugin o el tema) falló y detuvo todo. Vamos a encontrarlo.

Paso 0. Piensa qué cambió

El 90 % de las veces, el error aparece justo después de algo: actualizaste un plugin, instalaste uno nuevo, cambiaste de tema, pegaste un código en functions.php o tu hosting cambió la versión de PHP. Si sabes qué fue, ya tienes al principal sospechoso.

Paso 1. Revisa tu correo: el modo de recuperación

Cuando ocurre un error así, WordPress envía un correo al email del administrador con un asunto parecido a «Tu sitio está experimentando un problema técnico». Ese correo es oro:

  • Dice qué plugin o tema causó el error.
  • Trae un enlace especial para entrar al panel en «modo de recuperación», donde el plugin culpable queda pausado solo para ti.
  1. Busca el correo (revisa también spam y promociones).
  2. Haz clic en el enlace e inicia sesión.
  3. Ve a Plugins: el culpable aparecerá marcado. Desactívalo.
  4. Pulsa «Salir del modo de recuperación» arriba y revisa tu sitio.

Si funcionó, ya está. Más abajo te digo qué hacer con ese plugin. Si no te llegó el correo (pasa a menudo cuando el sitio no envía correos bien), sigue al paso 2.

Paso 2. Desactiva todos los plugins sin entrar al panel

Vamos a «apagar» todos los plugins de golpe cambiando el nombre de su carpeta. Es totalmente reversible y no borra nada: tus ajustes se conservan.

  1. Entra a tu cPanel y abre el Administrador de archivos.
  2. Entra a la carpeta de tu sitio (normalmente public_html) y luego a wp-content.
  3. Haz clic derecho sobre la carpeta plugins → Renombrar y ponle plugins-off.
  4. Abre tu sitio en otra pestaña.

Si el sitio volvió: el culpable es un plugin. Sigue al paso 3.

Si sigue el error: vuelve a llamar plugins-off como plugins y salta al paso 4 (el tema).

Paso 3. Encuentra el plugin culpable

  1. Vuelve a renombrar plugins-off a plugins.
  2. Entra a /wp-admin. WordPress habrá desactivado los plugins que no encontró: verás el aviso en la página Plugins.
  3. Actívalos uno por uno, revisando el sitio después de cada uno.
  4. Cuando vuelva el error, encontraste al culpable. Entra de nuevo por el Administrador de archivos y renombra solo la carpeta de ese plugin (por ejemplo, wp-content/plugins/nombre-plugin → nombre-plugin-off).

Atajo: si sospechas de un plugin concreto (el último que actualizaste), renombra directamente su carpeta, sin tocar las demás.

Paso 4. Si no es un plugin, prueba el tema

  1. En wp-content/themes, comprueba que exista algún tema por defecto de WordPress (los que se llaman «twentytwenty-algo»).
  2. Renombra la carpeta de tu tema activo; si usas un tema hijo, renombra la del hijo (por ejemplo, mi-tema-hijo → mi-tema-hijo-off).
  3. WordPress cambiará automáticamente a un tema por defecto. Si el sitio carga (con otro diseño), el problema está en el tema o en algo que pegaste en su functions.php.

Si no hay ningún tema por defecto, puedes descargar uno desde wordpress.org/themes y subirlo a esa carpeta.

Paso 5. Si aún no lo encuentras: lee el error real

WordPress oculta el detalle del error a los visitantes. Vamos a guardarlo en un archivo para leerlo tú.

  1. En el Administrador de archivos, en public_html, haz clic derecho en wp-config.php → Descargar (para tener una copia) y luego → Editar.
  2. Busca la línea define( 'WP_DEBUG', false ); y reemplázala por estas tres:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
  1. Guarda, recarga tu sitio una vez y luego abre el archivo wp-content/debug.log.
  2. Busca la última línea que diga PHP Fatal error. Fíjate en la ruta: si dice /wp-content/plugins/algo/, el culpable es ese plugin; si dice /wp-content/themes/algo/, es ese tema.

Cuando termines, vuelve a poner WP_DEBUG en false y borra debug.log. Ese archivo puede quedar visible para cualquiera y contiene rutas de tu servidor.

Otros culpables frecuentes

  • Falta de memoria: si el error dice Allowed memory size of ... bytes exhausted, PHP se quedó sin memoria. En cPanel, en Editor INI de MultiPHP, sube memory_limit a 256M.
  • Versión de PHP: si el error apareció cuando tu hosting cambió PHP, en Administrador de MultiPHP puedes volver temporalmente a la versión anterior mientras actualizas el plugin que no es compatible.
  • Un código pegado en functions.php: edita el archivo y borra lo que agregaste. Y la próxima vez usa el plugin Code Snippets, que evita este tipo de caídas.

¿Y ahora qué hago con el plugin culpable?

  • Revisa si tiene una actualización más nueva que corrija el problema.
  • Busca en su foro de soporte en wordpress.org: si otros tienen el mismo error, ahí estará la solución.
  • Si no lo necesitas, bórralo. Si sí, busca una alternativa mantenida.

¿Llegaste hasta aquí y sigue sin funcionar? Abre un debate en el foro y pega la línea del debug.log que dice «PHP Fatal error» (borra antes cualquier contraseña o dato personal). Con eso casi siempre se encuentra la causa.