
Ayer se lanzó la Beta 1 de WordPress 7.2 y con ella vuelve el tradicional y obligado trasteo. La Beta 2 está a la vuelta de la esquina, será el 27 de octubre. La versión final está prevista para el 8 de diciembre.
Ahora el trasteo es obligatorio porque ya tengo 7 plugins propios en la colección que hay que revisar y probar y las pruebas las hago dobles, tanto en un staging en el server como en una instalación local.
Esta última versión mayor del año no viene con grandes o espectaculares novedades, pero sí las hay variadas. Si eres usuario normal no notarás grandes cambios ya que la mayoría son de trastienda. Aunque, si como yo eres un híbrido de trasteante y eterno aprendiz de desarrollador hay algunas cosas interesantes.
En el primer vistazo me he detenido solo en aquellas que añaden mejoras a funciones que uso o que pueden sustituir otras ya existentes en el blog. Como siempre, para revisar la retahíla completa de cambios y mejoras, tienes toda la información en el Roadmap. Échale un vistazo, que hay mucha cosa.
Nuevo bloque de tabla de contenidos
Los antecedentes de este bloque se remontan a hace más de cuatro años, cuando se añadió como experimental en Gutenberg 13.3.0 en mayo de 2022 y lo probé entonces. Por aquellos días se rumoreaba que se añadiría a la versión 6.1 de WordPress, cosa que nunca sucedió.
Si no hay cambios de última hora, se incorporará al core de la 7.2. Hay que recordar que cualquier cosa de lo que se añade inicialmente en las versiones beta, puede terminar descartado de la versión final y/o aplazado para una siguiente. Como es el caso de la edición colaborativa, que no vendrá tampoco con 7.2, pero se sigue desarrollando en paralelo.
Más allá de si las tablas de contenidos ayudan mucho o poco al posicionamiento (que ya te digo que no tanto como algunos piensan), siempre me han parecido imprescindibles en post largos para facilitar que el lector pueda encontrar y desplazarse rápido a aquella parte del texto que le interese leer evitando largas sesiones gastando dedo con el scroll.

Sus ajustes son básicos. Su pestaña de estilos solo tiene un selector para añadir un color de fondo plano o degradado y algunos ajustes para la tipografía. Si ya quieres maquearlo un poco más y añadir una caja con bordes, sombras, etc, tendrás que tirar de CSS
Quizá lo único que se echa de menos es un conmutador para mostrarlas plegada o desplegadas y algo que sí considero que es una carencia es que de momento no lee los H2 y otros encabezados cuando están dentro de un contenedor de GenerateBlocks. Por otro lado, es un acierto el conmutador para mostrar la tabla solo en la página actual o incluirla en todas las páginas de un post muy largo que esté paginado.
Es más que probable que este bloque nativo sustituya al plugin Simple TOC, de lo mejor como plugin ligero, que dejaré de usar cuando llegue la 7.2.
Comparando el plugin con el bloque nativo, en cuanto al SEO, posicionamiento y Schema, ambas opciones se comportan prácticamente igual, aunque el bloque nativo es mucho más limpio porque no arrastra hojas de estilo externas ni inyecta bloatware en el HTML renderizado. La caja de CSS personalizado de Gutenberg procesa las reglas de forma limpia (o aplica la clase directamente) sin inflar el marcado con clases redundantes innecesarias. Todo ello deriva en un nenor DOM.
Random Content Redirects
El núcleo de WordPress no incluye ninguna funcionalidad para redirigir una solicitud a una entrada o página seleccionada al azar. Actualmente, este comportamiento se consigue mediante plugins o código personalizado.
Según se lee en el ticket 64498, tras un debate sobre si se debería poder añadir una implementación mínima opcional en el núcleo, se propuso hacer algo sin ajustes visibles basándose en el primer plugin de Matt Mullenweg, Random Redirect.
Así, WordPress 7.2 incorporará la compatibilidad con redireccionamientos aleatorios de contenido, lo que permitirá a los visitantes descubrir una entrada seleccionada al azar a través de una URL específica. Esto, que parece una tontería, suele usarse bastante y ofrece una forma sencilla de fomentar la exploración del contenido y ayuda a los lectores a redescubrir entradas más antiguas.
En mi caso, el botón de "Post aleatorio" lo tengo funcionando desde hace años con este snippet que tuve que ajustar para salvar problemas de cacheo y otros para que rulara con la URL https://jrmora.com/?random=1. Esta nueva función, proyectada para 7.2, me permitirá limpiar un poco el código.
/**
* SISTEMA DE POST ALEATORIO - VERSIÓN MIGRADA
* Gestiona la redirección de /random/ a un post aleatorio
*/
// 1. Registrar la ruta y variable de consulta
add_action('init', function() {
global $wp;
$wp->add_query_var('random');
// La regla de reescritura es importante para permitir la URL /random/
add_rewrite_rule('random/?$', 'index.php?random=1', 'top');
});
// 2. Manejar la redirección aleatoria
add_action('template_redirect', function() {
if (get_query_var('random') == 1) {
// Headers para evitar caché y asegurar la verdadera aleatoriedad
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Pragma: no-cache");
header("Expires: Thu, 01 Jan 1970 00:00:00 GMT");
// Forzar no-cache en LiteSpeed
if (function_exists('litespeed_header')) {
litespeed_header("X-LiteSpeed-Cache-Control: no-cache");
}
// Consulta optimizada para aleatoriedad real
$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'orderby' => 'rand',
'posts_per_page' => 1,
'no_found_rows' => true, // Optimización
'fields' => 'ids' // Solo necesitamos el ID
);
// Filtrar args para permitir extensiones
$args = apply_filters('random_post_query_args', $args);
$random_post = new WP_Query($args);
if ($random_post->have_posts()) {
// Usar 307 (Temporary Redirect) para que los bots no cacheen el destino
wp_redirect(get_permalink($random_post->posts[0]), 307);
exit;
} else {
// Fallback a la página de inicio
wp_redirect(home_url(), 302);
exit;
}
}Widget "En este día"
Esta idea fue eliminada de WordPress 7.1 y ahora se está haciendo otro intento para conseguir un nuevo widget "On This Day" para el escritorio que muestre entradas al estilo efeméride, rollo "un día como hoy hace un año, dos, etc", una característica popular en distintas plataformas.
Puede ser muy útil para tener referencias de posibles aniversarios, recuperar ideas para refrescar, temas estacionales para enlazar, etc. En la Beta 1 ya aparece, aunque sin ajustes (que parece que se contemplan). No estaría de más poder añadir exclusiones por idioma, tag, categoría etc. El widget está explicado explicado aquí.

Casualmente, uno de mis plugins, Recordar for Bluesky & Mastodon, hace esto mismo, pero para reflotar contenido antiguo publicándolo en estas dos redes sociales.
Rendimiento
En este apartado, y uno de los que más me interesa, tampoco hay mucho que contar en este viaje. La atención se ha centrado en la eliminación de la concatenación de scripts y estilos en favor de la precarga y en las imágenes adaptativas mejoradas.















