vendredi 25 septembre 2026

À propos

Contact

FSE

Verrouiller les blocs dans l’éditeur de site sans frustrer les clients

Livrer un site à un client sans qu'il casse la structure : tour des options de verrouillage de blocs, de l'interface jusqu'à l'attribut templateLock.

Par Clément Hadrot • 18 janvier 2023 • 6 min de lecture • Aucun commentaire
Verrouiller les blocs dans l'éditeur de site sans frustrer les clients

Livrer un site en éditeur de site complet change la relation entre l’agence et le client sur un point précis : le client a désormais accès à la structure elle-même, pas seulement au contenu. Un en-tête peut être déplacé, un groupe supprimé par erreur, une colonne dupliquée sans le vouloir. Le verrouillage de blocs, présent depuis WordPress 5.9 et affiné au fil des versions, répond directement à ce problème sans pour autant transformer l’éditeur en formulaire figé.

L’enjeu est un dosage : verrouiller trop, et le client ne peut plus modifier son propre texte ; verrouiller trop peu, et la mise en page soigneusement construite ne survit pas à la première session d’édition autonome. Cet article détaille les deux niveaux de verrouillage disponibles, l’interface pour un réglage ponctuel et l’attribut templateLock pour une protection structurelle, avec les cas d’usage typiques d’une agence.

Verrouiller un bloc depuis l’interface

Le moyen le plus direct de verrouiller un bloc reste le menu contextuel de l’éditeur : clic droit sur un bloc, ou menu à trois points dans la barre d’outils du bloc, puis Verrouiller. Une fenêtre propose deux cases à cocher indépendantes :

  • Empêcher le déplacement : le bloc reste à sa place dans l’arborescence, impossible à glisser ailleurs.
  • Empêcher la suppression : le bloc ne peut plus être retiré, ni par la corbeille de la barre d’outils, ni par la touche Suppr.

Ce verrouillage s’applique bloc par bloc et se voit dans l’éditeur par une icône de cadenas dans la liste de navigation des blocs. Il reste réversible à tout moment par quiconque a les droits d’édition suffisants, ce qui en fait un outil pour éviter les erreurs de manipulation, pas une protection contre un utilisateur déterminé à tout casser.

Protéger une structure entière avec templateLock

Pour une protection plus large, portant sur un template part entier (un en-tête, un pied de page) ou sur un groupe de blocs, l’attribut templateLock intervient au niveau du code. Il accepte trois valeurs :

  • all : aucun bloc ne peut être ajouté, déplacé ou supprimé à l’intérieur du conteneur verrouillé.
  • insert : les blocs existants peuvent être déplacés ou modifiés, mais aucun nouveau bloc ne peut être inséré.
  • contentOnly : la structure est entièrement figée, mais le contenu de chaque bloc (texte, image, lien) reste modifiable normalement.
L'essentiel à retenir : Verrouiller déplacement et suppression d'un bloc depuis l'interface ; Utiliser templateLock pour protéger une structure entière ; Doser le verrouillage pour ne pas bloquer le travail éditorial

L’option contentOnly, la plus utile en agence

Sur les projets livrés à des clients autonomes pour la rédaction mais pas pour la mise en page, contentOnly est de loin le réglage le plus pertinent. Il transforme l’expérience d’édition : le client voit ses blocs comme des champs à remplir (changer un titre, remplacer une image, ajuster un lien), sans jamais pouvoir déplacer une colonne ou supprimer une section. C’est l’équivalent moderne d’un ancien champ ACF dans une page constructeur, mais entièrement basé sur les blocs natifs.

Voici comment l’appliquer à un template part de pied de page, par exemple dans le fichier HTML du template part :

<!-- wp:group {"templateLock":"contentOnly","layout":{"type":"constrained"}} -->
<div class="wp-block-group">
  <!-- wp:heading -->
  <h2 class="wp-block-heading">Restons en contact</h2>
  <!-- /wp:heading -->

  <!-- wp:paragraph -->
  <p>Abonnez-vous à la newsletter pour ne rien manquer.</p>
  <!-- /wp:paragraph -->

  <!-- wp:buttons -->
  <div class="wp-block-buttons">
    <!-- wp:button -->
    <div class="wp-block-button"><a class="wp-block-button__link">S'abonner</a></div>
    <!-- /wp:button -->
  </div>
  <!-- /wp:buttons -->
</div>
<!-- /wp:group -->

Un enfant du groupe hérite du verrouillage de son parent, sauf s’il porte son propre attribut templateLock qui vient le préciser ou l’assouplir localement. Cela permet, par exemple, de figer toute la structure d’un en-tête tout en laissant un unique bloc bouton entièrement libre pour un usage ponctuel.

Verrouillage et template parts : ce qu’il faut retenir

Au niveau d’un template part entier, le verrouillage se définit au moment de l’enregistrement du template part côté thème, ou directement dans l’éditeur via le même menu contextuel appliqué au bloc racine du template part. Un point de vigilance : un verrouillage à all posé sur un en-tête empêche aussi l’ajout d’un simple lien supplémentaire dans le bloc Navigation qu’il contient, ce qui est parfois trop restrictif pour un client qui doit ajouter une page ponctuelle à son menu.

Récapitulatif des options de verrouillage

  1. Interface, déplacement seul : évite qu’un bloc ne soit glissé accidentellement ailleurs dans la page.
  2. Interface, suppression seule : évite qu’un bloc essentiel (logo, bouton d’appel à l’action) ne disparaisse par erreur.
  3. templateLock="all" : verrouille totalement un conteneur, ni ajout, ni déplacement, ni suppression.
  4. templateLock="insert" : autorise le réarrangement des blocs existants, bloque tout ajout de nouveau bloc.
  5. templateLock="contentOnly" : verrouille la structure, laisse le contenu de chaque bloc librement éditable.

Avant de verrouiller un template part complet en contentOnly, testez la session avec le compte du client (rôle éditeur, pas administrateur). Un verrouillage qui semble raisonnable pour un administrateur peut s’avérer trop strict, ou au contraire inefficace, selon les capacités réellement accordées au rôle utilisé au quotidien.

Notre verdict

Le verrouillage de blocs, combiné à templateLock="contentOnly" sur les zones structurelles, change concrètement la façon de livrer un site en éditeur de site complet. Il permet de proposer à un client la liberté de modifier son contenu sans craindre qu’il ne démonte, même involontairement, une mise en page pensée avec soin. La bonne pratique qui s’est confirmée sur plusieurs livraisons récentes : verrouiller par défaut tout ce qui relève de la structure (en-tête, pied de page, colonnes de mise en page), et laisser entièrement libres les zones de contenu pur, comme le corps d’un article ou une page de destination éditoriale.

Partager :

À propos de l'auteur

Clément Hadrot

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi