Un block theme de WordPress es un tema construido completamente con bloques. Cada plantilla (header, footer, entrada, archivo, 404, búsqueda) se almacena como un archivo HTML en las carpetas /templates y /parts dentro del tema. Todo el sitio se puede editar visualmente en el Site Editor en /wp-admin/site-editor.php sin escribir PHP. Los block themes se introdujeron con WordPress 5.9 (enero de 2022) y requieren un archivo theme.json en la raíz del tema que define los estilos globales (colores, tipografía, espaciados, layout) en JSON. El primer block theme por defecto fue Twenty Twenty Two (enero de 2022), seguido por Twenty Twenty Three, Twenty Twenty Four y Twenty Twenty Five (enero de 2025). Full Site Editing (FSE) es el término paraguas para la experiencia de edición de los block themes: Site Editor, panel de estilos globales, edición de plantillas, template parts, bloque de navegación, bloque de Query Loop y el directorio de patrones en wordpress.org/patterns. Los block themes conviven con los temas clásicos (basados en PHP, con header.php, footer.php, functions.php y Customizer). Ambos funcionan en WordPress 6.x, pero el desarrollo nuevo se ha desplazado a block themes desde 2022.
¿Qué cambió en WordPress 5.9 (enero de 2022)?
WordPress 5.9 lanzó los block themes y Full Site Editing como característica estable tras dos años de trabajo en el plugin Gutenberg. Cambios clave:
- El Site Editor reemplaza al Customizer para block themes. Paneles del Customizer (cabecera, identidad del sitio, widgets, menús) no están presentes.
- Las plantillas son archivos HTML con marcado de bloques (comentarios HTML como
<!-- wp:paragraph -->), no PHP. - El nuevo archivo
theme.jsondefine los estilos globales. WordPress genera variables CSS a partir de él. - Las áreas de widgets se reemplazan por template parts y el bloque de Navegación.
- El bloque Query Loop reemplaza los loops personalizados WP_Query en plantillas para la mayoría de casos.
Estructura de archivos de un block theme
mi-tema/
style.css (cabecera de metadatos)
theme.json (estilos globales, settings, paleta, tipografía)
functions.php (opcional)
templates/
index.html
single.html
page.html
archive.html
404.html
search.html
parts/
header.html
footer.html
sidebar.html
patterns/
hero.php
assets/
fonts/, images/, css/, js/¿Qué controla theme.json?
- settings.color.palette: la paleta de colores mostrada en el editor.
- settings.typography.fontFamilies: familias tipográficas con declaraciones font face embebidas. Desde WordPress 6.5 (abril de 2024) la Font Library instala fuentes de Google Fonts localmente.
- settings.spacing: presets de espaciado y la escala.
- settings.layout: contentSize y wideSize controlan las opciones de alineación.
- styles: estilos por defecto a nivel global y por bloque.
- customTemplates: registra plantillas adicionales para el editor de páginas.
- templateParts: declara qué partes (header, footer) están disponibles.
Block theme vs tema clásico
| Aspecto | Tema clásico | Block theme |
|---|---|---|
| Plantillas | archivos PHP | archivos HTML con marcado de bloques |
| Personalización | Customizer | Site Editor y estilos globales |
| Menús | wp_nav_menu() | bloque de Navegación |
| Widgets | register_sidebar() y áreas de widgets | template parts y bloques |
| Estilos globales | CSS en style.css o Customizer | theme.json |
| Edición | editor de código o Customizer | Site Editor visual |
Temas híbridos y block template parts
Entre temas clásicos y block themes completos existen temas híbridos que adoptan FSE por partes: añadir theme.json, usar block_template_part() o incluir plantillas HTML en templates/ para rutas concretas mientras se mantiene PHP para el resto.
Patrones y el directorio de patrones
Los patrones son layouts reutilizables. Desde WordPress 6.0 (mayo de 2022), los temas pueden incluir patrones como archivos PHP en patterns/. El directorio wordpress.org/patterns tiene más de 600 patrones de la comunidad. Los patrones sincronizados (antes Reusable Blocks, renombrados en WordPress 6.3 agosto de 2023) almacenan una sola instancia que se actualiza en todas partes.
Block themes y rendimiento
- WordPress solo carga las hojas de estilo de bloques realmente usados en una página (desde WordPress 5.8 agosto de 2021).
theme.jsongenera un bloque CSS inline por página (5 a 15 KB típico).- El bloque de Navegación y Query Loop se renderizan en el servidor, sin JavaScript extra en el frontend.
- Twenty Twenty Four alcanza ~99 en PageSpeed Mobile en una instalación base.
Block themes populares en 2025
- Twenty Twenty Five: tema por defecto de WordPress 6.7 (noviembre de 2024).
- Twenty Twenty Four: tema de propósito general de enero de 2024.
- Blocksy, Kadence, Ollie, Frost, Spectra One, Inspiro.
Migración de un tema clásico a un block theme
- Auditar el tema clásico: cada ajuste del Customizer, cada área de widgets, cada template part personalizada.
- Elegir un block theme base o crear uno nuevo con
npx @wordpress/create-block-theme. - Migrar el sistema de diseño a
theme.json: paleta, tipografía, espaciado. - Recrear plantillas en
templates/como HTML con marcado de bloques. - Recrear header y footer como template parts en
parts/. - Convertir loops PHP en el bloque Query Loop o en bloques dinámicos registrados con
register_block_type(). - Probar en staging.
Qué comprueba InspectWP
InspectWP detecta qué tema está activo, incluyendo block themes, el tema padre e hijo y si el tema tiene problemas de seguridad conocidos. El informe señala temas desactualizados, soportes faltantes y señales como la ausencia de theme.json en WordPress 6.x que sugieren un tema clásico.