Mantener tu tema de WordPress actualizado es tan importante como actualizar los plugins. Las vulnerabilidades en los temas pueden exponer todo tu sitio a ataques, y los temas obsoletos suelen provocar problemas de compatibilidad con versiones más recientes de WordPress. Sin embargo, las actualizaciones de temas requieren un cuidado especial porque pueden sobrescribir tus personalizaciones si has editado los archivos del tema directamente. Esta guía te lleva paso a paso por todo el proceso para actualizar temas de WordPress de forma segura, desde la preparación hasta la verificación.
Por qué las actualizaciones de temas de WordPress son importantes para la seguridad y la compatibilidad
Tu tema controla todo lo que ven los visitantes en tu sitio, desde el diseño y la tipografía hasta cómo se renderiza el contenido. Además, ejecuta código PHP en cada carga de página, lo que lo convierte en un objetivo potencial para los atacantes. Estas son las razones por las que mantenerlo al día importa:
- Parches de vulnerabilidades de seguridad: los temas pueden contener vulnerabilidades como Cross-Site Scripting (XSS), inyección SQL, errores de inclusión de archivos o un manejo inseguro de la subida de archivos. Una sola vulnerabilidad sin parchear en tu tema puede dar a un atacante acceso total a tu sitio. Las vulnerabilidades de los temas son especialmente peligrosas porque los temas están activos en cada página, lo que significa que el código vulnerable se ejecuta en cada petición.
- Compatibilidad con el núcleo de WordPress: WordPress se actualiza con regularidad y cada versión mayor puede marcar como obsoletas funciones de PHP, cambiar hooks de plantillas o modificar el comportamiento del editor de bloques. Un tema obsoleto que dependa de funciones eliminadas provocará avisos de PHP, romperá diseños o no renderizará los bloques correctamente.
- Compatibilidad con la versión de PHP: los proveedores de hosting actualizan PHP con regularidad por rendimiento y seguridad. PHP 8.0 y 8.1 introdujeron un manejo estricto de tipos, y PHP 8.2 marcó como obsoletas las propiedades dinámicas. Código antiguo de un tema que funcionaba bien en PHP 7.4 puede generar avisos de obsolescencia o errores fatales en PHP 8.x. Mantener tu tema actualizado garantiza que sea compatible con la última versión de PHP que ejecuta tu servidor.
- Mejoras de rendimiento y Core Web Vitals: los desarrolladores de temas optimizan su código con el tiempo, reduciendo recursos que bloquean el renderizado, mejorando la carga diferida de imágenes, añadiendo estrategias nativas de carga de fuentes y optimizando la entrega de CSS. Estas mejoras afectan directamente a tu Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS) y otras métricas de Core Web Vitals que Google utiliza como señales de posicionamiento.
- Compatibilidad con el editor de bloques y Full Site Editing: WordPress avanza hacia Full Site Editing (FSE) con temas de bloques. Las actualizaciones de temas suelen añadir compatibilidad con nuevas funciones del editor de bloques, como estilos globales, partes de plantilla y patrones de bloque personalizados. Mantenerse actualizado significa que tu tema aprovecha las últimas capacidades de edición.
Usar un tema hijo de WordPress para proteger tus personalizaciones
El paso más importante que puedes dar antes de actualizar cualquier tema es asegurarte de que tus personalizaciones residen en un tema hijo, no en los archivos del tema padre. Cuando se actualiza el tema padre, todos los archivos del directorio del tema padre se sobrescriben. Si editaste esos archivos directamente, tus cambios habrán desaparecido.
Un tema hijo hereda toda la funcionalidad de su tema padre y mantiene tus modificaciones en un directorio separado. Así puedes configurar uno:
Crea un nuevo directorio en wp-content/themes/ con el nombre de tu tema hijo (por ejemplo, flavor-child). Dentro, crea un archivo style.css:
/*
Theme Name: Flavor Child
Template: flavor
Description: Child theme for Flavor
Version: 1.0.0
*/La línea Template debe coincidir exactamente con el nombre del directorio del tema padre. A continuación, crea un archivo functions.php para encolar los estilos del tema padre:
<?php
add_action('wp_enqueue_scripts', function () {
wp_enqueue_style(
'flavor-parent-style',
get_template_directory_uri() . '/style.css'
);
}, 5);Activa el tema hijo desde Apariencia > Temas. A partir de ese momento, cualquier archivo de plantilla que quieras personalizar debe copiarse desde el tema padre al directorio del tema hijo y editarse allí. Por ejemplo, para personalizar la cabecera, copia header.php del tema padre a la carpeta de tu tema hijo y haz los cambios en esa copia. WordPress utilizará automáticamente la versión del tema hijo en lugar de la del padre.
Guía paso a paso para actualizar temas de WordPress
Sigue este proceso para cada actualización de tema, ya sea un parche menor o una actualización mayor:
- Haz una copia de seguridad de todo tu sitio: crea una copia de seguridad completa de tu base de datos y de todos los archivos. Utiliza un plugin de copias de seguridad como UpdraftPlus, BlogVault o la función de snapshot de tu proveedor de hosting. Si usas WP-CLI, puedes exportar la base de datos rápidamente:
Haz también una copia de seguridad específica del directorio de tu tema, por si necesitas comparar archivos más adelante:wp db export backup-before-theme-update.sqlcp -r wp-content/themes/flavor wp-content/themes/flavor-backup - Lee el changelog del tema: consulta la página del tema en WordPress.org o el sitio web del desarrollador para revisar el changelog. Busca menciones a cambios incompatibles, archivos de plantilla eliminados, hooks modificados o requisitos mínimos actualizados (versión de WordPress, versión de PHP). Los saltos de versión mayor merecen especial precaución.
- Compara los archivos modificados del tema padre: si editaste el tema padre directamente (sin un tema hijo), tienes que identificar exactamente qué archivos cambiaste antes de actualizar. Usa una herramienta diff o WP-CLI para comparar:
Documenta cada cambio que encuentres. Tendrás que volver a aplicar esos cambios después de la actualización, idealmente moviéndolos a un tema hijo.# Compara los archivos de tu tema con la versión del repositorio diff -r wp-content/themes/flavor /tmp/flavor-original/ - Prueba la actualización en un entorno de staging: clona tu sitio de producción a un entorno de staging y aplica primero allí la actualización del tema. Comprueba todas las áreas críticas: diseño de la página de inicio, archivo del blog, páginas de entrada individual, plantillas de página personalizadas, cabecera y pie, menús de navegación, áreas de widgets, páginas de producto de WooCommerce (si aplica) y la respuesta en móvil.
- Aplica la actualización en producción: ve a Apariencia > Temas, haz clic en tu tema activo y haz clic en "Actualizar". Si usas WP-CLI:
wp theme update flavor - Verifica tu sitio a fondo: tras actualizar, comprueba lo siguiente:
- La página de inicio se renderiza correctamente con todas las secciones e imágenes
- Los menús de navegación se muestran correctamente en ordenador y móvil
- Las entradas del blog y las páginas de archivo mantienen su diseño
- Las plantillas de página personalizadas siguen funcionando
- Los widgets y barras laterales aparecen en las posiciones correctas
- Los formularios, botones y elementos interactivos funcionan
- La consola del navegador no muestra nuevos errores de JavaScript
- El registro de errores de PHP no tiene nuevos avisos ni notificaciones
Cómo recuperar personalizaciones del tema perdidas tras una actualización
Si editaste el tema padre directamente y una actualización sobrescribe tus cambios, no te asustes. Sigue estos pasos para recuperarlos:
- Restaura la versión anterior del tema desde tu copia de seguridad: si hiciste una copia de seguridad del directorio del tema antes de actualizar (como se recomendaba arriba), copia los archivos antiguos del tema en su sitio. Si usaste una copia de seguridad completa, puedes extraer únicamente la carpeta del tema.
- Identifica todos los archivos personalizados: compara la versión antigua restaurada con la versión original (sin modificar) de esa misma versión. Esto revela exactamente qué archivos cambiaste y cuáles fueron los cambios. Usa
diffo una herramienta de comparación visual como Meld o el visor de diferencias integrado en VS Code. - Crea un tema hijo y migra tus cambios: para cada archivo que personalizaste, cópialo del tema padre a un nuevo directorio de tema hijo y aplica allí tus modificaciones. De esta forma, las futuras actualizaciones del tema padre no sobrescribirán tu trabajo.
- Vuelve a actualizar el tema padre: con tus personalizaciones a salvo en el tema hijo, actualiza el tema padre a la última versión.
- Verifica que todo funciona en conjunto: prueba tu sitio a fondo. Presta especial atención a los archivos de plantilla en los que el tema padre haya hecho cambios estructurales. Las sobrescrituras de plantilla de tu tema hijo pueden necesitar ajustes para coincidir con el nuevo marcado o cambios de hooks en el tema padre.
Cómo gestionar temas de WordPress obsoletos y abandonados
Cuando InspectWP informa de que tu tema está obsoleto, la respuesta adecuada depende de cuán obsoleto esté y de si sigue recibiendo mantenimiento:
- Comprueba la fecha de la última actualización en WordPress.org: si el tema no se ha actualizado en más de dos años, puede estar abandonado. Mira el foro de soporte: si el desarrollador ha dejado de responder a las preguntas, es probable que el tema ya no reciba mantenimiento.
- Busca vulnerabilidades de seguridad conocidas: consulta la base de datos de vulnerabilidades de WPScan, la base de datos de Patchstack y el foro de soporte del tema en busca de problemas de seguridad reportados. Un tema abandonado con vulnerabilidades conocidas es un riesgo serio.
- Considera migrar a un tema con mantenimiento activo: si tu tema está abandonado, planifica una migración a un tema moderno con mantenimiento activo. Opciones populares y bien mantenidas son GeneratePress, Flavor, Flavor, Kadence y Flavor Theme. Para temas de bloques, considera Twenty Twenty-Five o Flavor.
- Mantén instalado el último tema por defecto de WordPress: WordPress incluye temas por defecto (Twenty Twenty-Five, Twenty Twenty-Four, etc.) que sirven como temas de respaldo. Mantén siempre instalado al menos el último tema por defecto. Si tu tema activo se rompe o se desactiva automáticamente debido a un error fatal, WordPress recurrirá al tema por defecto para que tu sitio siga siendo accesible.
- Elimina los temas que no uses: igual que con los plugins, los temas inactivos que están en tu directorio
wp-content/themes/pueden ser explotados si contienen vulnerabilidades. Conserva únicamente tu tema activo, su tema padre (si usas un tema hijo) y el último tema por defecto de WordPress. Elimina todo lo demás.
Configurar las actualizaciones automáticas de temas de WordPress
WordPress 5.5 introdujo soporte integrado para las actualizaciones automáticas de temas. Así puedes habilitarlas:
- Ve a Apariencia > Temas.
- Haz clic en tu tema activo para abrir sus detalles.
- Haz clic en "Activar actualizaciones automáticas".
Para habilitar las actualizaciones automáticas para todos los temas mediante código:
add_filter('auto_update_theme', '__return_true');Para actualizaciones automáticas selectivas, puedes apuntar a temas concretos:
add_filter('auto_update_theme', function ($update, $item) {
// Actualizar automáticamente solo estos temas
$auto_update_themes = ['flavor', 'flavor-child'];
return in_array($item->theme, $auto_update_themes, true);
}, 10, 2);Las actualizaciones automáticas funcionan bien para temas que reciben pequeños parches con frecuencia. Para temas que introducen grandes cambios estructurales entre versiones (especialmente temas premium con maquetadores integrados), las actualizaciones manuales con pruebas en staging son más seguras.
Consideraciones para actualizar temas de bloques con Full Site Editing
Si usas un tema de bloques (Full Site Editing), el proceso de actualización funciona de forma distinta porque tus personalizaciones de diseño se almacenan separadas de los archivos del tema:
- Los estilos globales se almacenan en la base de datos: los colores, la tipografía, el espaciado y otros tokens de diseño que estableces a través del Editor del sitio se guardan como un tipo de contenido personalizado (
wp_global_styles), no entheme.json. Las actualizaciones del tema no sobrescriben estos ajustes. - Las plantillas personalizadas también se guardan en la base de datos: cuando creas o modificas plantillas en el Editor del sitio, WordPress las guarda en la base de datos como tipos de contenido personalizados
wp_templateywp_template_part. Estas personalizaciones persisten tras las actualizaciones del tema. - No obstante, comprueba los cambios en las plantillas: cuando el desarrollador del tema añade nuevas plantillas, reestructura las existentes o cambia patrones de bloques, tus personalizaciones almacenadas en la base de datos pueden no recoger esas mejoras automáticamente. Tras actualizar un tema de bloques, compara tus plantillas personalizadas con los nuevos valores por defecto (puedes restablecer plantillas individuales en el Editor del sitio) para ver si el tema introdujo cambios beneficiosos que quieras incorporar.
- El archivo theme.json sí se sobrescribe: aunque tus personalizaciones del Editor del sitio están a salvo, el archivo base
theme.jsondel directorio del tema se reemplazará durante una actualización. Si editaste manualmentetheme.jsonen lugar de usar el Editor del sitio, esos cambios se perderán. Buena práctica: usa eltheme.jsonde un tema hijo para cualquier personalización manual de JSON, o utiliza la interfaz del Editor del sitio, que lo guarda todo en la base de datos.
Gestionar las actualizaciones de temas de WordPress con WP-CLI
WP-CLI ofrece comandos eficientes para gestionar las actualizaciones de temas desde la línea de comandos:
# Comprobar las actualizaciones de tema disponibles
wp theme list --update=available --format=table
# Actualizar un tema concreto
wp theme update flavor
# Actualizar todos los temas
wp theme update --all
# Obtener información detallada de un tema
wp theme get flavor --fields=name,version,status,update
# Verificar las sumas de comprobación de archivos del tema con WordPress.org
wp theme verify-checksums flavor
# Instalar y activar un tema en un solo comando
wp theme install flavor --activate
# Listar todos los temas instalados con su estado
wp theme list --format=tableCómo monitoriza InspectWP tu tema de WordPress
InspectWP detecta tu tema de WordPress activo y el tema hijo analizando el código fuente de la página y las referencias a hojas de estilo. Comprueba la versión instalada del tema con el repositorio de WordPress.org y marca los temas que estén ejecutando versiones obsoletas. InspectWP también identifica si estás usando un tema hijo (lo cual se recomienda para actualizaciones seguras) y muestra la relación entre tema padre y tema hijo. Si tu tema ha sido eliminado del repositorio de WordPress, InspectWP lo marcará como un posible problema de seguridad. Con los informes automáticos programados, recibes notificaciones siempre que la versión de tu tema se quede desactualizada, dándote tiempo para planificar y probar las actualizaciones antes de que se conviertan en un riesgo de seguridad.