WordPress 5.6 “Simone”: todo lo nuevo (y peligroso)

Por , actualizado en

WordPress 5.6 “Simone” sale el día de hoy y trae un sinfín de novedades, algunas buenas y algunas no tan buenas, y algunas hasta peligrosas terminan resultando; para los curiosos, el nombre de la versión viene de la cantante Nina Simone. Pero antes de iniciar revisando todo lo nuevo y más importante, valga una advertencia que será clave; si tuviste problemas con la actualización de WordPress 5.5 por aquello del JQuery Migrate, aguas con WordPress 5.6 que viene más de lo mismo y hasta recargado en esta versión. Si en aquel entonces cuando la 5.5 no hiciste nada, ahora es momento de hacerlo antes de que pases a WordPress 5.6, o de lo contrario podrías terminar con el sitio roto – de nuevo. No digas que no te lo advertí…ahora si vamos a revisar todo lo nuevo en esta actualización a WordPress 5.6.

Interfaz para actualizaciones automáticas mayores

Como complemento para la actualización automática de plugins que trajo WordPress 5.5, WordPress 5.6 ahora trae la interfaz de usuario para controlar si quieres o no actualizaciones automáticas mayores. Encontrarás esta nueva característica en Escritorio > Actualizaciones, como se muestra a continuación:

Captura de pantalla que muestra la nueva interfaz para controlar actualizaciones automáticas mayores en WordPress 5.6

Como puedes ver, es un simple check que habilitas si quieres actualizaciones automáticas, desmarcas si no quieres actualizaciones. Sin embargo, ten en cuenta algo muy importante: el comportamiento en las actualizaciones existentes se mantienen como siempre, es decir, actualizaciones automáticas menores por default, pero debes decir explícitamente que quieres actualizaciones mayores; pero para instalaciones nuevas, las actualizaciones menores y mayores vienen habilitadas por default. Estas actualizaciones, cuando estén habilitadas, ocasionarán que se le mande un correo al administrador del sitio cuando se apliquen.

Si las habilitas, mi recomendación sincera es que tengas un esquema de respaldos en forma, pruébalo antes de pasarte a esta modalidad. Puede que te haga falta…

Actualizaciones al editor Gutenberg

WordPress viene con las mejoras al plugin de Gutenberg desde las versiones 8.6 hasta la 9.2; esto significa más patrones, mejores opciones de diseño y estructura, soporte de subtítulos en los vídeos y edición completa de sitio entre muchas otras cosas. Para edición completa de sitio necesitarás un tema compatible, claro está, y de hecho el nuevo tema Twenty Twenty-One lo es.

Captura de pantalla que muestra el editor Gutenberg de WordPress 5.6

Ah si, el contador de palabras está mejorado con un contador adicional, esta vez de letras, adicional a los de palabras, encabezados, párrafos y bloques. Aún así, me gustaría verlos como en casi todos los procesadores – en la barra inferior, pero bueno, no se puede tener todo en la vida y este sirve bastante y hasta tiene cosillas de más.

Estas actualizaciones también vienen para los desarrolladores de la mano de muchos cambios internos; te sugiero revisar la guía de campo de WordPress 5.6 para obtener todos los detalles de estos cambios nuevos.

Nuevo tema por default y compatible con edición de sitio completo: Twenty Twenty-One

El nuevo tema Twenty Twenty-One es parte de WordPress 5.6 y vale la pena echarle un ojo sólo por ver como funciona con todos los juguetes nuevos en WordPress, como patrones, bloques reutilizacles y demás.

Muestra tres imágenes con patrones de bloques del nuevo tema Twenty Twenty-One de WordPress 5.6
Algunos patrones de Twenty Twenty-One (tomado de WP Tavern)

Mejoras al módulo de Salud del sitio

El módulo de Salud del sitio trae nuevas mejoras que me parece son más bien de funcionamiento y rendimiento; quizás no se reflejen mucho en la interfaz, pero si debes ver mejora en el funcionamiento de esta característica, pues hicieron muchas mejoras al interior de la misma que hace que el módulo se comporte mejor, como por ejemplo el pasar los chequeos a modo asíncrono y a través de la API REST, y también la introducción de chequeos programados.

Captura de pantalla que muestra el módulo de Salud del sitio en WordPress 5.6

Contraseñas de aplicación

Para los que no sepan, WordPress incluye una interfaz de programación (o API como todos lo conocemos), que no es más que un componente que nos sirve como mediador entre dos aplicaciones. Sin embargo, cuando se introdujo en WordPress 4.4 (de vuelta en 2015) esta API REST no vino con métodos de autenticación, lo que hasta la fecha ha reducido en gran medida su adopción entre los desarrolladores; a la fecha el único metodo cercano era por cookies, el cual por cierto seguirá ahí según leo.

Así que para llevar la API REST añadirán una nueva característica de autenticación llamada passwords de aplicación; quizás algunos de ustedes ya han usado características similares en otros sistemas o sitios que tienen esquemas de autenticación más elaborados. Con esta característica una aplicación externa podrá pedir permiso a conectarse a tu sitio y se le podrá generar una contraseña específica a esa aplicación; una vez que tenga acceso, dicha aplicación puede llevar a cabo acciones como si fuera un usuario a través de la API REST de WordPress.

Imagen que muestra varios candados abiertos y cerrados, como metáfora de la nueva característica de contraseña de aplicaciones de WordPress 5.6

Suena genial, ¿no? desgraciadamente de acuerdo con Wordfence esta característica trae más riesgo que innovación; en una prueba de concepto demostraron que sería fácil generar un ataque mediante ingeniería social. Y es que un riesgo grande de esta característica es que las contraseñas de aplicación funcionan con los permisos del usuario que los generó, por lo que en teoría un atacante puede hacerse del control de un sitio.

Para quedar claros, Wordfence nos dice que esto NO es un agujero de seguridad, es más bien una debilidad, y por tal razón Wordfence 7.4.14 o superior deshabilita esta característica. Si no eres usuario de Wordfence, puedes deshabilitarla desde código añadiendo lo siguiente:

add_filter( 'wp_is_application_passwords_available', '__return_false' );

Puedes añadirlo usando tu forma preferida para añadir personalizaciones a WordPress.

Finalmente, sólo queda decir que esta nueva característica de contraseñas de aplicaciones es bienvenida; como se ha dicho en muchas ocasiones en las fuentes de este artículo, es como el XML-RPC pero con capacidades mucho mayores. La recomendación es ser cuidadoso, y si deseas usar esta característica, la recomendación de Wordfence es crear un usuario con menos privilegios y las capacidades necesarias para la aplicación específica que intenta conectarse.

Más cambios de JQuery; cuidado con estos

Como seguramente recordarás, cuando salió WordPress muchos sitios se vinieron abajo; la razón es que traía un cambio importante relacionado con JQuery, pues quitaba el script JQuery Migrate, lo que causaba que plugins que dependieran de versiones viejas de JQuery echaran abajo el sitio.

Por lo tanto, si tu sitio aún usa el plugin que sacó el equipo de desarrollo de WordPress (Enable jQuery Migrate Helper), más vale que hagas pruebas extensivas para ver si tu sitio funciona con WordPress 5.6, pues esta versión actualiza a la última versión de jQuery y añade jQuery Migrate 3.3.2, mismo que puede conflictuar con el plugin antes mencionado, pues aquel es jQuery Migrate 1.4.1. Recuerda que todo esto es un plan de tres etapas para traer una versión moderna de jQuery a WordPress: esta es la segunda etapa, y la tercera será remover por completo el script jQuery Migrate en algún momento de 2021, tentativamente en marzo.

Así que de nuevo: si eres un usuario, actualiza todo lo que tengas. Olvídate de ese plugin apestoso y obsoleto y ve como actualizarlo o reemplazarlo. Si eres un desarrollador, levanta ese trasero y actualiza tus plugins (o temas incluso), ahora que todavía hay tiempo.

Compatibilidad con PHP 8

Muestra el logo de PHP 8

No sé que loco usará PHP 8.0 en estos momentos, pero por si acaso WordPress 5.6 será compatible a nivel “beta” con PHP 8.8; es decir WordPress con tema de stock y sin nada. Sobra decir que no es momento de habilitarlo en tu servidor, aún falta mucho trabajo por hacer en varios frentes.

Muchas mejoras menores

En total, WordPress 5.6 corrije 197 bugs e introduce 85 mejoras, que si bien no se reflejan 100% en la administración o en el front, siempre son importantes para estar al día con lo que hace funcionar la ardilla de nuestro sitio. Todo el detalle de de estas actualizaciones menores lo encontrarás en la Guía de campo de WordPress 5.6, la cual recomiendo leer con calma.

Solución a conflictos con plugins comunes después de actualizar a WordPress 5.6

Bueno, actualizando a WordPress 5.6 me encontré con un par de problemas (actualizaré la lista conforme sepa de más):

Autoptimize

Si observas que tu sitio se comporta raro y en la consola ves un error de “JQuery not defined”, se debe a que WordPress usa un nombre distinto para JQuery, así que sólo tienes que cambiar en las exclusiones de archivo en optimizaciones JS de js/jquery/jquery.js a js/jquery/jquery.min.js :

Como configurar Autoptimize si actualizaste a WordPress 5.6 y tu sitio funciona mal

Sólo tienes que ver que el campo incluya js/jquery/jquery.min.js, si ya tenías algo ahí déjalo y sólo haz el cambio.

El autor del plugin incluso publicó al respecto, y nos dice que puedes hacer la modificación, o bien que en la próxima versión esto ya estará reparado.

Reading Progressbar

El plugin está roto al momento, ya está reportado y esperemos que haya un parche pronto.

Palabras finales

En lo personal, las mejoras me parecen bienvenidas, sobre todo las mejoras contínuas al editor, el cual sigue mejorando con cada versión, digan lo que digan. De nuevo, mi consejo es subirse al barco de Gutenberg antes que sea demasiado tarde, y dejarse de quejas; guste o no, el futuro de WordPress está en el paradigma de los bloques, y no veo que eso cambie pronto, si es que hubiese cambio – que no lo habrá. Las demás mejoras me parecen igual excelentes, ya era hora que WordPress dejara las versiones viejas de jQuery, entiendo que para muchos este será un parto doloroso, pero algunos no entienden de razones más que de esta manera; los usuarios deberían ser sensatos y mantener bien y al día sus sitios, pero desgraciadamente no es así.

Lo vuelvo a decir: es una actualización con potencial de romper sitios; si tuviste problemas con WordPress 5.5, aguas…respalda y prueba de la manera que puedas que tu sitio seguirá andando después de actualizar a WordPress 5.6.

Deja un comentario

¡NO sigas este enlace o serás bloqueado en este sitio!