Actualización 01/30/2019: debido a varios reportes y artículos de que esta característica puede ser abusada, se incluirá hasta WordPress 5.2, pero mientras el desarrollo sigue andando.
WordPress 5.1 ya está en fase beta, y se espera que salgan dos betas más (21 y 29 de enero), un Release Candidate (febrero 7) y finalmente la versión liberada en 21 de febrero de 2019. En esta nueva entrega vienen cambios muy importantes para WordPress, entre los que podemos mencionar un nuevo mecanismo que funcionará a manera de protección contra WSOD (white screen of death, pantallazo blanco de la muerte) para “suspender” la ejecución de plugins con errores o con problemas de compatibilidad sin que pierdas acceso al administrador, y una nueva versión mínima de PHP, entre otras cosas. Pero vamos a empezar por la mejora estrella de WordPress 5.1, que es la protección contra errores fatales, la cual viene de un proyecto que se ha estado desarrollando por mucho tiempo, al que se le conoce como ServeHappy o Site Health Check Project, una iniciativa que tiene que finalidad educar a los usuarios hacia tener un mejor mantenimiento de sus sitios.
Protección contra WSOD en WordPress 5.1
Quién de nosotros no ha pasado por esto: actualizas un plugin y boom, pantallazo blanco, y adiós sitio: o no carga bien o muestra algún error estándar o peor, algún error de esos que jamás deberían de verse. Diste con un temido WSOD, o pantalla blanca de la muerte, una señal de que algo anda mal en tu sitio. Y lo peor de todo es que pierdes acceso al administrador, lo que dificulta las cosas, y tienes que valerte de cosas arcaicas como acceso por FTP y otros infiernillos. Pues bien, WordPress 5.1 tiene una nueva característica que funciona como protección contra WSOD, que permite que detecte cuando hay un problema grave, a la vez que mantiene el acceso a tu administrador para que puedas corregir el problema, cualquiera que este sea.
¿Cómo funciona la protección contra WSOD en WordPress 5.1?
Todos conocemos la WSOD o “white-screen-of-death“, algo que algunos llaman “protección”, pero que en realidad es como reacciona WordPress (al menos hasta ahora) cuando hay un error que permite que funcione correctamente: un espantoso pantallazo blanco, que poco o nada dice. La antítesis de la usabilidad, dirían algunos: no te da información de que causó el problema, cuando estará de vuelta el sitio: nada.
WordPress 5.1 pretende acabar con esto detectando cuando ocurre un error fatal y pausando al plugin culpable en el administrador, pero dejando el sitio en un estado desactivado que muestra un mensaje de que tiene problemas:

Y debajo de este un enlace para entrar al administrador y que aquel que entre solucione los problemas. Como mencioné antes, el administrador sigue vivo, por lo que puedes entrar y corregir el problema en cuestión, y cuando lo hayas hecho el plugin seguirá su ejecución normal, así como el resto del sitio. El administrador te recibirá con una notificación de que algo anda mal:

Y finalmente puedes ir a la sección de plugins donde se te informa quién es el culpable:

Y a decir verdad funciona de maravilla; lo que ves arriba fue probado en WordPress 5.1 Beta 1 en un entorno local de pruebas, y para probar la protección contra WSOD instalé WPForms Lite, al cual simplemente le edité un archivo y le modifiqué una cadena de nombre de archivo requerido, suficiente para que genere un error, y WordPress 5.1 detuvo el problema como si nada, permitiéndome el flujo antes descrito de entrar al administrador y corregir el problema. Lo vuelvo a decir: funciona de maravilla, y me parece una excelente característica que permitirá que se minimize el tiempo en que un sitio aparezca caído, y es mucho, mucho mejor que una pantalla en blanco.
Y por si fuera poco, será configurable: ya sea que no quieras la protección contra WSOD o bien no quieras el comportamiento estándar de la característica, podrás modificarlo con un poco de código; una de esas ocasiones es cuando estás desarrollando un plugin y necesitas ver los errores que genere.
Nueva versión mínima de PHP
La protección contra WSOD no se creó así nada mas porque si; existe para reforzar la idea de actualizar la versión de PHP que usas en tu servidor sin experimentar tantos problemas. Con WordPress 5.1 igual viene un cambio importante en la versión mínima de PHP recomendada, la cual será la 5.6, y de ahí hasta fin de año pasaría a ser la 7. Con este cambio de versión mínima se espera que muchos actualicen las versiones que usan en sus servidores, pero también saben que significará que habrán problemas con plugins viejos que no se actualicen, y aquí es donde entra la protección contra el WSOD.

Como pueden ver, hay mucha gente en la línea base, es decir, la versión 5.6; pero aún queda un porcentaje importante de gente en versiones más antiguas, y la adopción de versiones 7+ es mucho menor de lo deseado, así que creo que este movimiento va a hacer que muchos empiecen a pensar como actualizar sus servidores.
Para esto, y si tu versión de PHP está antigua, en tu escritorio de WordPress verás una notificación avisándote de esto, parecido a esta siguiente imagen:

Lo interesante es que la URL del botón es configurable a través de una variable de entorno (WP_UPDATE_PHP_URL
) o bien por filtros (wp_update_php_url
), esto con miras a que los proveedores de servicios que ofrezcan WordPress redireccionen a instrucciones personalizadas de como actualizar la versión de PHP. Si no se modifica, redirige a una página de WordPress donde se explica los pormenores de actualizar la versión de PHP; incluso cuando se personaliza (como ves en la imagen de arriba) se mantiene el enlace original a la página de WordPress.
Mejoras para desarrolladores
Si desarrollas para WordPress, vienen algunas mejoras que aunque si bien pudieran parecer menores, si me parecen significativas:
- Cambios en la API de cron y un nuevo mecanismo para ejecutar tareas programadas (cron jobs), con la posibilidad de que ahora podrá ser reemplazado por un mecanismo personalizado por el desarrollador.
- Una nueva tabla (y sus respectivas funciones) para instalaciones multisite, que almacenará muchos valores que antes estaban en las tablas de opciones correspondientes.
- La posibilidad de cambiar la ubicación del archivo de mensajes de depuración al usar WP_DEBUG_LOG y varias mejoras más.
- Higienización mejorada de taxonomías.
- Soporte de operador LIKE en meta keys.
Prueba WordPress 5.1 Beta 1
Si quieres probar WordPress 5.1 Beta 1, puedes instalar el plugin WordPress Beta tester, y al hacerlo ve a Herramientas > Beta testing y selecciona “Bleeding edge nighties”; ahora visita el centro de actualizaciones en Escritorio > Actualizaciones y actualiza tu versión: después de un breve momento estarás en WordPress 5.1 Beta 1…y por supuesto, ¡hazlo en un entorno de pruebas!
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.