Bloggerでテーマが保存されない:b:skin CDATA内のCSSコメントに含まれるHTMLタグ問題を解決した話

この記事は、Bloggerのテーマを修正して保存したにもかかわらず、本番ページに変更が反映されずに苦しんでいる開発者に向けたものだ。自分が実際に遭遇したBloggerのテーマ保存エラーと、UIの「保存完了」メッセージに騙されることなく問題を即座に解決したプロセスを共有する。

作業記録として残しておく。Bloggerのtheme.xmlファイル内にある <b:skin> CDATAブロック内のCSSコメントを整理していた。コメント内に pre / code / div などの説明を追加するため、/* pre / code ブロックは <pre>, <code> タグで処理 */ のように記述した。しかし、この修正を終えてテーマを保存したものの、実際のブログには変更が一切反映されない問題が発生した。

エラーの挙動

Bloggerの管理画面(UI)上では「保存完了」のメッセージが正常に表示されていた。しかし、実際のページをフェッチしてソースを確認すると、修正前の古いテーマコードがそのまま表示されていた。5分待っても、別端末のシークレットモードでアクセスしても、古いテーマがキャッシュされているかのように残り続けていた。Googleの「保存完了」ポップアップは、時に中身のないただの表示にすぎない。これを鵜呑みにせず、実際のソースサイズを直接確認すべきだ。UIは成功を主張しているが、実際にはバックエンドで「サイレント拒否(silent reject)」が発生している状態だった。

検証環境

検証時の環境は以下の通り。

  • プラットフォーム:Blogger (Google Blogspot)
  • 対象ファイル:theme.xml
  • 修正箇所:<b:skin><![CDATA[...]]> ブロック内のCSSコメント (/* ... */)

試して駄目だったこと

解決のために試行錯誤したものの、効果がなかったアプローチは以下の通り。

  • 手動アップロードの再試行:XMLファイルを丸ごとアップロードし直してみたが、同様に無視された。
  • キャッシュの反映待ち(5分):CDNのキャッシュ遅延を疑って待ってみたが、本番のソースは変わらなかった。
  • 別端末のシークレットモードでの確認:ブラウザキャッシュを疑い、完全に異なる環境からアクセスしてみたが、やはり古いテーマが表示されるだけだった。

原因と最終的な解決策

正確な原因についてはさらなる調査が必要だが、現時点で判明している原因は次の通りだ。BloggerのSkinVariablesパーサーが、CDATA内のCSSコメントに含まれる <pre> や <code> といったテキストを実際のHTML要素と誤認してパースを試み、その結果 InvalidVariableException を発生させていたと思われる。自分が適用した最終的な解決策は、CSSコメント内から生のHTMLトークンを完全に排除することだった。山括弧(< >)を取り除き、単なるテキストとして「pre」「code」と書き換えたところ、即座に正常に保存が反映された。

対象のコード

検証時の、問題が発生したコードと修正後のコードは以下の通り。

<!-- Before(サイレント拒否が発生) -->
/* pre / code ブロックは <pre>, <code> タグで処理 */

<!-- After(正常に反映成功) -->
/* pre / code ブロック処理 */

検証結果と現在のステータス

修正後にテーマを再アップロードしたところ、本番ページのソースサイズが 286,391 バイトから 294,194 バイトへと正常に変更された。また、SESS140 5 sentinelが本番環境に到達していることを直接検証した。現在のステータスは fixed だ。

同じ問題に直面している方へ

Bloggerのテーマ保存エラーに悩まされているなら、まずは <b:skin> CDATA内のCSSコメントを確認してみてほしい。コメント内に何気なく書いた <pre> や <code>、<div> といったHTMLタグ形式の文字列が、パーサーをクラッシュさせている可能性が非常に高い。コメント内の山括弧を削除してから、再度アップロードを試してみてほしい。

Category Coverage Notice

This article follows our label-specific editorial criteria. Details:

ToolSignal Pro Editorial

ToolSignal Pro는 AI·IT·소프트웨어 트렌드를 다루는 종합 IT 인사이트 매거진입니다.

이전 글 다음 글