2 min read · 562 words
If you've ever spent hours tearing your hair out because your Blogger theme updates won't apply to the live site despite the UI claiming success, this post is for you. Here is how I diagnosed and fixed a frustrating silent reject issue when saving Blogger themes.
The Problem: Blogger Theme Updates Silently Failing
I was cleaning up some CSS comments inside the <b:skin> CDATA block of my Blogger theme.xml. I added a descriptive comment to explain how pre/code blocks were styled, writing something like: /* Style pre / code blocks using <pre> and <code> tags */. After saving the changes, I noticed the live blog wasn't updating at all.
Symptoms
The Blogger theme editor UI happily popped up a "Save Successful" toast. However, when I fetched the live page source, it was still serving the old, unmodified theme. Even after waiting 5 minutes and testing via incognito mode on a different machine, the old theme persisted. Blogger's "Saved" confirmation is a lie—the UI reports success while the backend silently rejects the payload.
Environment
- Platform: Blogger (Google Blogspot)
- Target File:
theme.xml - Location: CSS comments (
/* ... */) inside the<b:skin><![CDATA[...]]>block
What Didn't Work
Before finding the root cause, I tried the usual suspects:
- Manual XML Re-upload: Re-uploading the entire XML file. The upload succeeded in the UI but was ignored live.
- Waiting out the CDN: Thought it might be a caching delay, but the live source remained unchanged.
- Incognito Fetching: Tested on a completely separate network/machine to bypass local browser cache. Still served the stale theme.
The Root Cause & Resolution
While I can't inspect Blogger's proprietary backend, the behavior points to a parser issue. It seems Blogger's SkinVariables parser attempts to parse text inside CDATA CSS comments. When it encountered the <pre> and <code> strings, it mistook them for actual HTML elements, threw an unhandled InvalidVariableException, and aborted the write operation silently.
The fix was simple: strip all raw HTML tokens (angle brackets) from the CSS comments. Once I replaced the bracketed tags with plain text (e.g., changing <pre> to just pre), the theme saved and updated instantly.
Code Comparison
Here is the problematic comment versus the fixed version:
<!-- Before (Triggered silent reject) -->
/* Style pre / code blocks using <pre> and <code> tags */
<!-- After (Saved successfully) -->
/* Style pre / code blocks */Verification
Immediately after uploading the fixed XML, the live page source size updated from 286,391 bytes to 294,194 bytes. I also verified that the SESS140 5 sentinel successfully reached the live environment. Status: Fixed.
Takeaway
If your Blogger theme updates are silently failing to apply, audit your <b:skin> CDATA block immediately. Look for any CSS comments containing HTML-like tags (e.g., <pre>, <code>, <div>). Strip out the angle brackets, re-upload, and your changes should go live instantly.
Category Coverage Notice
This article follows our label-specific editorial criteria. Details: