2026-07-27 10:12 598
head に隠れていた11キロバイト
テンプレート1枚、アセットなしの最小構成のクラシックテーマでも、フロントページは 20 KB あった。そのほとんどはテーマのものではなかった。
head だけで 14.4 KB、うち 12.6 KB が CSS カスタムプロパティの塊で、これは WordPress が自身の既定 theme.json から生成している。色48種、グラデーション24種、フォントサイズ12種、余白7段階。ひとつも使っていないテーマでも、全部が配信される。
制限的な theme.json を置いても消えない。defaultPalette を false にしても消えない。少なくともクラシックテーマでは効かなかった。global-styles ハンドルを dequeue しても、ブロックアセットの個別読み込みを有効にしていると印字のほうが後になるため効かない。
効いたのは wp_theme_json_data_default フィルタだった。コアの既定値が CSS に変換される前に書き換えられる。プリセットの配列を空にすると、head は 14.4 KB から 3.1 KB になった。コアがこの用途のために用意しているフィルタなので、テーマディレクトリの規約が守っている領域には触れていない。
残った 2.3 KB はレイアウトとアラインメントの規則で、ブロックの表示が実際に依存している部分。ここは残す。