Cómo usar el Modo de Recuperación de WordPress 5.2

Por , actualizado en

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.

Así es como lucen los elementos del Modo de Recuperación; al entrar en un sitio con problemas verás este mensaje:

Texto que se muestra al entrar en un sitio con problemas técnicos en WordPress 5.2

El correo que llega a tu bandeja muestra lo siguiente:

Correo que se envía al administrador del sitio con problemas bajo WordPress 5.2

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:

Login de WordPress con indicación que está en Modo de Recuperación

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

Dashboard de WordPress 5.2 en Modo de Recuperación

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:

Muestra el enlace de WP Rollback

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”:

Pantalla de WP Rollback donde se muestran las versiones disponibles de un plugin

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

Muestra la pantalla de confirmación de regresar a una versión anterior de un plugin de WP Rollback

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.

Muestra el progreso de WP Rollback al regresar a una versión anterior de un plugin

¡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:

Muestra el botón para salir del Modo de Recuperación

Como puedes ver, es muchas veces más sencillo que el proceso anterior.

¿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.

2 comentarios en “Cómo usar el Modo de Recuperación de WordPress 5.2”

  1. 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?

    Responder
    • 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.

      Responder

Deja un comentario

Do NOT follow this link or you will be banned from the site!

A %d blogueros les gusta esto: