3 min read · 715 words
Si estás editando tu plantilla de Blogger y te estás volviendo loco porque los cambios no se reflejan en producción, este post es para ti. Te cuento cómo me topé con este dichoso error al guardar el tema de Blogger y cómo logré solucionarlo sin dejarme engañar por los mensajes de éxito de la interfaz.
El problema: Blogger no aplica los cambios
Estaba haciendo limpieza y organizando los comentarios CSS dentro del bloque <b:skin> (en el CDATA) de mi archivo theme.xml. Para dejar una nota clara sobre cómo dar formato al código, añadí un comentario explicativo tal que así: /* Bloque pre / code procesado con etiquetas <pre> y <code> */. Guardé los cambios, pero al recargar el blog, no se veía absolutamente nada de lo que había modificado.
Síntomas del error
En el panel de administración de Blogger, el sistema mostraba el típico mensaje flotante de "Guardado correctamente". Sin embargo, al inspeccionar el código fuente de la página en vivo, seguía apareciendo la versión antigua del tema. Esperé 5 minutos por si era un tema de caché, probé desde otro ordenador en modo incógnito... y nada, seguía el código viejo. El aviso de 'Guardado' de Google a veces es un mero acto de fe. No te fíes de la interfaz; comprueba siempre el tamaño real del recurso. Estábamos ante un claro caso de 'silent reject' (un rechazo silencioso) en el backend.
Entorno del sistema
Las pruebas y el entorno donde se produjo el error fueron los siguientes:
- Plataforma: Blogger (Google Blogspot)
- Archivo afectado: theme.xml
- Ubicación del fallo: Comentarios CSS (
/* ... */) dentro del bloque <b:skin><![CDATA[...]]>
Lo que intenté (y no funcionó)
Antes de dar con la tecla, probé varias cosas desesperadas:
- Subir el XML completo de nuevo: Intenté forzar la carga de todo el archivo, pero el sistema lo ignoraba silenciosamente.
- Esperar la propagación de la CDN: Pensé que podría ser un retraso de caché de los servidores de Google, pero tras un buen rato el código seguía intacto.
- Fetch desde entornos limpios: Usé otros navegadores y conexiones móviles para descartar problemas de caché local, con el mismo resultado negativo.
La solución definitiva
Aunque Blogger no da detalles del error, la causa parece bastante clara: el parser de SkinVariables de Blogger se atraganta al procesar las etiquetas <pre> y <code> que metí dentro del comentario CSS en el bloque CDATA. Al ver los corchetes angulares, intenta parsearlos como elementos HTML reales o variables del tema, lo que acaba lanzando un InvalidVariableException interno. La solución fue radicalmente sencilla: eliminar cualquier rastro de sintaxis HTML de los comentarios CSS. En cuanto quité los caracteres < y > y dejé el texto plano como 'pre' y 'code', el tema se guardó y se aplicó al instante.
Código de ejemplo
Aquí tienes la diferencia entre el código que rompía el parser y el código corregido:
<!-- Before (provoca silent reject) -->
/* Bloque pre / code procesado con etiquetas <pre> y <code> */
<!-- After (aplicado correctamente) -->
/* Bloque pre / code procesado con texto pre y code */Resultado y verificación
Tras corregir los comentarios y volver a subir la plantilla, el tamaño del código fuente en vivo pasó de 286.391 bytes a 294.194 bytes, confirmando que los cambios se habían aplicado. También verifiqué que el sentinel SESS140 5 sentinel llegó correctamente a producción. Estado actual del problema: fixed.
Consejo si te ocurre lo mismo
Si estás sufriendo con un tema de Blogger que no se actualiza, lo primero que debes revisar son los comentarios CSS dentro de tu bloque <b:skin>. Es muy probable que hayas escrito algo como <pre>, <code> o <div> sin querer y el parser se esté volviendo loco. Limpia esos caracteres especiales y vuelve a probar; te ahorrarás horas de frustración.
Category Coverage Notice
This article follows our label-specific editorial criteria. Details: