Tabla de contenido
WordPress 5.2 “Jaco” finalmente ya está liberado, y la joya de esta versión es que al fin trae la característica de Modo de Recuperación que impide que tu sitio se caiga totalmente por un plugin o tema que funcione mal, mostrando un WSOD o una white screen of death (pantalla blanca de la muerte); ahora, cuando eso suceda, podrás entrar para corregir el problema y que tu sitio continúe funcionando. En contraste, para hacer esto antes de WordPress 5.2 tenías que entrar por algún medio (tu panel, FTP, etc.) y renombrar la carpeta del plugin o tema con problemas, luego volver a cargar tu sitio, corregir el problema o volver a subir una versión previa sin errores del plugin o tema…en fin, como seguramente ya sabes, experimentar una WSOD es un dolor en el trasero y una pérdida innecesaria de tiempo.
¿Cómo funciona el Modo de Recuperación?
Cuando ocurre un fallo fatal en tu sitio, el visitante recibirá una notificación de que el sitio en cuestión está experimentado dificultades; al mismo tiempo, la plataforma ya envió un correo al administrador notificando de que el sitio tiene problemas, y en este mismo correo va un enlace especial para que puedas entrar en el admin de tu sitio para corregir tal error; al hacer clic en el link, te llevará a tu dashboard de WordPress, pero en Modo de Recuperación, mostrándote directamente que plugin(s) y/o tienen problemas; al mismo tiempo, se pone una cookie por cliente, la cual contiene información del Modo de Recuperación. Notarás que en la parte superior derecha este modo también se indica con un botón en rojo, que te permite salir del Modo de Recuperación, si es que pudiste arreglar el error que lo causó en primera instancia.
Que hacer cuando recibes el mensaje “El sitio tiene problemas técnicos”
Así es como lucen los elementos del Modo de Recuperación; al entrar en un sitio con problemas verás este mensaje:

El correo que llega a tu bandeja muestra lo siguiente:

Al hacer clic en el link del correo, irás al login del sitio, donde se te notifica que está en Modo de Recuperación:

Una vez dentro de tu dashboard, verás notificaciones de que ha problemas y en que consisten:

Así que ya sabes que tienes problemas en tu sitio, y ya estás dentro de tu dashboard. ¿Qué puedes hacer al respecto? sigue solucionar el problema de la forma que más te convenga:
- Desactivar la extensión
- Corregir el error y después reanudar el plugin/tema
- Hacer un rollback a una versión sin el error (más sobre esto en un momento), y reanudar el plugin/tema
- Revisar en foros o levantar un ticket
Cómo reanudar un plugin con problemas
Como mencioné antes, las opciones posibles pudieran ser algo complicadas para el usuario promedio. Aquí entra un plugin maravilloso que me parece el complemento perfecto para el Modo de Recuperación de WordPress 5.2, y hablo de WP Rollback, un plugin que nos permite reinstalar la versión actual o bien regresar a una versión anterior de cualquier plugin que tengas instalado.
Reanudar plugins con problemas con WP Rollback
A esta altura ya debes tener instalado y activado WP Rollback. Ve al listado de plugins, y desactiva el plugin que tiene errores; en mi caso dañé un archivo de Pods (¡fantástico plugin de custom post types por cierto!) para forzar el error. Desactívalo primero que nada por precaución.
Ahora bien, WP Rollback añade un enlace titulado “Retroceso” como opción de cada plugin (en el listado de plugins). Haz clic sobre ese enlace:

Se te mostrará información sobre el plugin y las versiones disponibles de ese plugin; elige una menor que la que tienes actualmente, y presiona “Retroceso”:

Se te pedirá confirmación para poder aplicar los cambios:

Verás que se instala la versión indicada de manera normal como se siempre. Aprovecha la pantalla y activa el plugin que acabas de “desactualizar”; verifica que al activarlo todo esté en orden.

¡Ya casi está arriba nuestro sitio! sólo falta un pasito más…
Saliendo del Modo de Recuperación
Para dejar el modo de recuperación debes presionar el botón rojo “Salir del Modo de Recuperación” que está ubicado arriba a la derecha o bien cerrar tu sesión. Es el paso final para restaurar tu sitio a su estado normal:

Como puedes ver, es muchas veces más sencillo que el proceso anterior.
No me llegó el correo de recuperación de WordPress, ¿que hago?
Que no “panda el cúnico“, si no te llega el correo no te preocupes, aunque el proceso ya no es tan automatizado como con el correo.
El error de “El sitio experimenta problemas técnicos” o “Ha habido un error crítico en esta web” se debe en la gran mayoría de los casos a un plugin que ha hecho estragos, muy probablemente algo que hayas actualizado recientemente.
Para poder hacer una recuperación manual, mi sugerencia es que entres por FTP (ugh) o SSH o a través de tu panel de hosting usando el manejador de archivos, e intentes determinar que falla ya sea revisando el log de errores de tu servidor web o bien habilites el modo de depuración de WordPress; muy seguramente en uno de ellos se mostrará el culpable, y ya teniéndolo podrás descartar cual es con el procedimiento normal de renombrar la carpeta plugins
y crear una vacía en su lugar e intentar cargar el sitio; si carga, es casi seguro que sea un plugin. Renombra de vuelta la carpeta e intenta entrar en tu escritorio, intentando activar uno a uno los plugins; cuando te encuentres con el mismo error, ya sabes cual es el culpable.
Otros probables culpables del error crítico o problema técnico en el sitio
Si no es un plugin, pueden ser varios los culpables:
- Un cambio de versión de PHP; intenta regresar a la inmediata anterior a ver que sucede, usando tu panel de hosting.
- Un cambio en un tema; ¿actualizaste un tema recientemente? recuerda que igual puedes desactivar temas usando el mismo principio que los plugins (renombrar la carpeta del tema en este caso).
- El mismo core de WordPress, aquí el escenario es más complicado; puedes intentar echar para atrás manualmente WordPress, no tengo una guía al momento (aún la estoy terminando) pero podrás encontrar una con Google fácilmente.
- ¿Subiste alguna personalización de código en algún plugin o mu-plugin? no está de más que revises los cambios que hiciste y los desactives temporalmente para que puedas separar al culpable.
Y recuerda, no pierdas la calma; casi todo eso es fácilmente solucionable.
¿Es seguro el Modo de Recuperación de WordPress 5.2?
Aquellos con memoria afilada se acordarán que inicialmente el Modo de Recuperación iba a ser parte de WordPress 5.1, pero finalmente no fue así. La razón es que en ese momento la característica no era del todo segura, pues se argumentaba (con pruebas) que podría ser usada incluso para “apagar” otros plugins y servir como una forma nueva de atacar WordPress – y de hecho extremadamente peligrosa. A raíz de algunos artículos respecto la seguridad se determinó que lo mejor era madurar algunas consideraciones de seguridad, y mover la característica a WordPress 5.2, y aquí lo tenemos. ¿Qué ha cambiado?
Bueno, aunque no lo creas, el chiste de todo esto está en la cookie que se crea sólo en el cliente, no es global; es decir, el Modo de Recuperación está ligado a la cookie, no al usuario, lo cual mitiga las preocupaciones iniciales que habían sobre esta característica.
Algunos datos más del Modo de Recuperación
El Modo de Recuperación es bastante controlable y extensible.
Desactivar el Modo de Recuperación
El Modo de Recuperación puede ser desactivado si así lo deseas; basta con que definas en tu wp-config.php lo siguiente:
define('WP_DISABLE_FATAL_ERROR_HANDLER', true);
Y desactivarás la característica.
Cambiar el template de la página de error
Algo más que puede cambiarse es el contenido de la página que se muestra cuando el sitio tiene problemas técnicos; si lo deseas, sólo tienes que hacer un plugin drop-in, y guardarlo como php-error.php
. Para los que no sepan que son, los drop-ins son técnicamente plugins de un sólo archivo (PHP) que se guarda en la carpeta wp-content
, y que modifican o afectan una funcionalidad muy específica y predefinida.
Cambiar correo y texto de quién recibe la notificación
Para cambiar el correo puedes usar el filtro recovery_mode_email
de la siguiente manera:
add_filter( 'recovery_mode_email', function( $email_data ) { $email_data['to'] = '[email protected]'; return $email_data; });
Sólo cambia [email protected]
por la dirección de correo a la que quieras enviar la notificación de problemas. También puedes usar la constante RECOVERY_MODE_EMAIL
en tu wp-config.php
:
define('RECOVERY_MODE_EMAIL', '[email protected]');
Hacia un WordPress más seguro
WordPress 5.2 es una actualización importante, a mi parecer, de las más importantes que han habido en últimos años; no sólo por el nuevo Modo de Recuperación, que vuelve a WordPress una plataforma más manejable por el usuario común sin tener que depender de alguien con conocimientos técnicos para que le rescaten el sitio, sino por otras medidas de seguridad que se tomaron. Una de ellas no fue muy publicitada, pero si es muy importante; a partir de WordPress 5.2, las actualizaciones estarán firmadas digitalmente, y esto elimina por completo un tipo de ataque conocido en el medio como hombre en medio (man in the middle). En este caso particular, un atacante sólo tiene que comprometer un servidor de actualizaciones y envenenar la descarga y voilá, una buena parte de Internet se vería afectada, dada la popularidad de WordPress.
Ahora, para poder hacer esto los atacantes tendrían que robar las llaves usadas para firmar las descargas, algo que se antoja muchas veces más difícil. Y más aún, la comprobación criptográfica de la firma se hará usando extensiones igual añadidas en WordPress 5.2 para usar Sodium, una librería moderna y con mucho respaldo de la comunidad.
Finalmente ya tenemos una plataforma con características muy sólidas y actuales, necesarias para el tercio de Internet que usa WordPress, y esperemos que ayuden a disipar varios mitos sobre la seguridad de esta plataforma.
Antes que te vayas…
Los siguientes son enlaces de afiliado a hosting, herramientas y temas que uso en este sitio. Son el único apoyo económico del sitio, que notarás no tiene anuncios de ningún tipo ni molestos popups. Si necesitas alguno de estos productos, te pido los adquieras haciendo clic en las imágenes que se muestran a continuación. ¡Gracias de antemano!
Orlando es un ingeniero en sistemas de 45 años de edad, apasionado del desarrollo de software y con un cariño especial por WordPress. Le encantan los libros, la música, la fotografía, los cómics y es un AFOL. De último pero no menos, esposo y padre de dos trolls.
Hola Orlando,
Sólo quiero agradecerle su ayuda. Gracias a su guia pude resolver el problema y aprender.
Saludos.
Hola misegurohn,
¡Excelentes noticias! que bueno que te haya servido la guía.
¡Saludos!
Buenas tardes Orlando, fíjese que si me cae el correo de recuperación pero cuando le doy clic al enlace me aparece el siguiente mensaje “Modo de recuperación no inicializado”. Deje que caducara ese link y espere uno nuevo, hoy cuando le doy clic al enlace me aparece de nuevo el mismo mensaje. Tal vez usted sepa que es lo que ocurre. Gracias
misegurohn,
Antes que nada, ¿cambiaste algo recientemente? ¿añadiste un plugin o cambiaste de tema? las razones de que esto pase pueden ser muchas, así que lo que procede aquí es hacer un proceso de depuración para ver si obtienes más información sobre que causa el error. Un buen punto de partida es tu bitácora de errores del servidor web, dale una revisada para ver si encuentras algo raro.
También puedes intentar es habilitar el modo de depuración de WordPress; te aconsejo leer una guía como esta. Luego intenta accesar al sitio y ve si te despliega algún error, busca indicios de que plugin o si tu tema te está dando problemas.
¡No olvides deshabilitar el modo de depuración cuando termines! espero que esto te ayude a encontrar el problema.
Saludos.
Hola de nuevo….
La verdad no eh hecho ningún cambio desde que publique la página, al parecer es un plugin que necesita actualización. Vi la bitácora y no tiene ningún mensaje de error. Trato de entrar al modo de depuración desde bluehost pero no encuentro la opción, la verdad no se si se puede entrar desde allí. Help.
Estimado misegurohn,
Tienes que entrar por el manejador de archivos en tu CPanel. Ahí puedes hacer las ediciones necesarias en el archivo wp-config.php para habilitar el modo de depuración y poder ver si arroja algún error que te de la pista de que anda mal.
Saludos.
Buenas tardes
De ninguna de las formas recibo el email de recuperación. He probado a forzar en el wp-config.php poniendo esto:
define(‘RECOVERY_MODE_EMAIL’, ‘[email protected]’);
(cambiando “test” por mi correo)
Pero aun y todo sigo sin recibir correo de ninguna de las webs con las que he tenido problemas.
¿Funciona bien? Alguien ha recibido el email cuando ha tenido problemas?
Hola Kreatibu:
Cuando lo probé funcionó (en un servidor de prueba) y no tengo conocimiento de que haya algún problema relacionado con la característica – al menos no para enviar. Si experimenté un pequeño error error pero no estoy seguro que lo causa; el error que experimenté es que el correo sólo lo mandó al primer fallo; en fallos posteriores no lo mandó a menos que borrara un valor de la base de datos. Revisando en los foros tampoco me encontré con reportes de problemas significativos como para pensar que hay un bug. Por otro lado, revisa tus logs del servidor, te pueden dar la pauta de que está pasando.
Saludos.