Un thème bloc livré en 2022 pour un client du secteur culturel, à l’époque où WordPress 6.0 venait à peine de généraliser le schéma v2 de theme.json, commençait à accuser son âge début 2026 : des sections stylées via des classes CSS maison plutôt que le mécanisme natif introduit depuis, une organisation de patterns héritée des débuts de notre pratique des thèmes blocs, et un fichier theme.json resté figé en v2 malgré deux évolutions de schéma depuis. Voici le retour d’expérience de cette remise à niveau.
Ce texte ne traite pas de la migration d’un thème classique vers un thème bloc : le thème d’origine était déjà en blocs, il s’agissait ici de le moderniser à architecture équivalente.
Étape 1 : passage au schéma v3 de theme.json
La bascule technique elle-même, changer version à 3, a immédiatement fait apparaître le même piège que sur d’autres projets similaires : des tailles de police par défaut du cœur de WordPress, masquées avec succès en v2, sont réapparues dans le sélecteur de l’éditeur. L’ajout explicite de defaultFontSizes: false et defaultSpacingSizes: false a réglé le problème, après comparaison manuelle du sélecteur avant et après migration.
{
"version": 3,
"settings": {
"typography": { "defaultFontSizes": false },
"spacing": { "defaultSpacingSizes": false }
}
}
Étape 2 : remplacer les classes CSS maison par des sections styles
En 2022, styler une section en couleur sombre ou encadrée passait par des classes CSS personnalisées ajoutées manuellement à chaque bloc Groupe concerné, du type .section-sombre, déclarées dans une feuille CSS classique et appliquées à la main depuis l’éditeur via le champ de classe additionnelle. Ce mécanisme, correct à l’époque puisque les sections styles n’existaient pas encore, est aujourd’hui remplacé par des fichiers de variation dans le dossier styles/, ciblés via blockTypes.

styles/
section-sombre.json
section-encadree.json
Le bénéfice concret pour l’équipe éditoriale du client : ces variations apparaissent désormais directement dans le panneau Styles du bloc sélectionné, sans avoir à connaître ni saisir le nom exact d’une classe CSS, une manipulation qui donnait lieu à des erreurs de frappe régulières auparavant.
Étape 3 : actualiser les patterns
Les patterns du thème, conçus en blocs assez larges et peu combinables (une section héros entière en un seul pattern figé), ont été redécoupés en fragments plus petits, à l’image de ce que proposent les thèmes par défaut récents de WordPress. Ce redécoupage a demandé de reprendre une quinzaine de patterns, en isolant les éléments réellement réutilisables (une grille de témoignages, un bloc de chiffres clés) plutôt que de conserver des blocs monolithiques.
| Aspect | Avant (2022) | Après (2026) |
|---|---|---|
| theme.json | Schéma v2 | Schéma v3, presets natifs maîtrisés |
| Styles de section | Classes CSS maison | Sections styles natives |
| Patterns | Blocs larges figés | Fragments combinables |
Étape 4 : nettoyer le CSS historique
Un audit du fichier style.css du thème, en recherchant les sélecteurs sans correspondance dans l’inspecteur du navigateur sur l’ensemble des gabarits du site, a révélé qu’environ un tiers des règles n’étaient plus appliquées nulle part : d’anciennes classes liées à des blocs supprimés depuis, des correctifs ponctuels devenus obsolètes après une évolution du thème. Ce CSS mort a été supprimé sans aucune perte de rendu constatée après vérification complète.
Un audit de CSS mort sur un thème de plusieurs années demande de la rigueur, pas de la précipitation : vérifiez chaque gabarit du site, pas seulement la page d’accueil, avant de supprimer une règle qui semble inutilisée. Une classe appliquée uniquement sur une page d’erreur ou un gabarit rarement visité passe facilement inaperçue.
Ce que nous n’avons délibérément pas touché
La remise à niveau n’a pas inclus de migration depuis un thème classique, puisque le point de départ était déjà un thème bloc : ce chantier, plus lourd et de nature différente, n’entrait pas dans le périmètre de cette intervention et aurait mérité un projet à part entière si le client l’avait demandé.
En résumé
Remettre à niveau un thème bloc de 2022 aux standards de 2026 tient moins d’une refonte que d’un rattrapage méthodique : schéma theme.json à jour, sections styles natives à la place de classes CSS maison, patterns redécoupés en fragments combinables, et un nettoyage du CSS historique qui a permis de retirer près d’un tiers du fichier sans aucune conséquence visible pour l’utilisateur final.