Plugins FAQ Guides Blog Support Contact Voir les plugins

Restreindre le contenu par rôle utilisateur dans WordPress

Content GateMis à jour le 30 septembre 20268 min de lecture

Content Gate

Pour restreindre le contenu par rôle utilisateur dans WordPress, vous donnez à chaque groupe de personnes son propre rôle (par exemple Client, Revendeur ou Équipe), puis vous ajoutez une règle, en général avec un plugin, qui dit quels rôles peuvent ouvrir quelles pages. WordPress n’a aucun réglage du type « seul ce rôle peut voir cette page » : ses options natives sont les pages privées, que seuls les administrateurs et les éditeurs peuvent lire, et la protection par mot de passe, qui fonctionne avec un seul mot de passe partagé.

Ce guide explique ce que sont les rôles, ce que WordPress sait faire ou non sans extension, les options réalistes avec leurs avantages et leurs limites, et un exemple pas à pas à reproduire sur votre propre site.

Ce qu’est un rôle utilisateur dans WordPress

Chaque compte d’un site WordPress a un rôle. Le rôle décide de ce que la personne peut faire dans l’administration : écrire des articles, les publier, modifier le travail des autres, installer des extensions. WordPress est livré avec ces rôles, décrits dans la documentation officielle Roles and Capabilities (en anglais) :

RôleCe qu’il peut faire
AdministrateurTout, sur un site unique : réglages, extensions, thèmes, comptes.
ÉditeurPublier et gérer les articles et les pages, y compris ceux des autres.
AuteurPublier et gérer ses propres articles.
ContributeurÉcrire ses propres articles, sans pouvoir les publier.
AbonnéSeulement gérer son propre profil.

Un sixième rôle, Super-admin, n’existe que sur un réseau multisite. D’autres extensions ajoutent leurs propres rôles : WooCommerce, par exemple, donne le rôle Client aux acheteurs de la boutique. Le rôle attribué à un nouveau compte se règle dans Réglages > Général, avec l’option Rôle par défaut de tout nouveau compte.

Le point essentiel : les rôles contrôlent l’administration, pas les pages publiques. Un Abonné connecté voit exactement la même page publique qu’un visiteur sans compte. Pour montrer une page seulement à certains rôles, il faut quelque chose qui vérifie le rôle avant d’envoyer la page.

Ce que WordPress sait faire sans plugin

Dans l’éditeur, le réglage de visibilité d’une page ou d’un article propose trois choix (voir la documentation Content Visibility, en anglais) :

  • Publique : tout le monde peut la voir.
  • Privée : cachée au public et absente des listes d’articles. Seuls les comptes autorisés à lire les contenus privés peuvent l’ouvrir, c’est-à-dire par défaut les Administrateurs et les Éditeurs.
  • Protégée par mot de passe : les visiteurs voient le titre et un champ de mot de passe. Quiconque tape le mot de passe voit le contenu.

Aucune de ces options n’est une restriction par rôle. Passer vos revendeurs en Éditeurs pour qu’ils lisent une page privée leur permettrait aussi de modifier et de publier du contenu sur votre site : mauvais échange. Un mot de passe convient pour une page partagée peu de temps, mais tout le monde utilise le même, vous ne savez pas qui s’en est servi, et vous ne pouvez pas retirer l’accès à une seule personne sans le changer pour tous.

Les façons de restreindre le contenu par rôle utilisateur

Une fois établi que WordPress seul ne suffit pas, il vous reste quatre voies réalistes. La bonne dépend de ce dont vous avez besoin par ailleurs.

OptionIdéal pourPoints d’attention
Un gestionnaire de rôles avec permissions de contenu (par exemple l’extension gratuite Members)Créer des rôles personnalisés et choisir, contenu par contenu, quels rôles peuvent le lire.Vous réglez l’accès page par page. Vérifiez comment il gère les listes, la recherche et ce que voient les visiteurs bloqués.
Un plugin d’abonnement complet (Paid Memberships Pro, MemberPress et équivalents)Vendre l’accès : niveaux, paiements, renouvellements, formulaires d’inscription.Beaucoup plus de configuration que nécessaire si personne ne paie et que vous connaissez déjà vos utilisateurs.
Un plugin de restriction de contenu comme Content GateDes règles par rôle sur les pages, les types de contenu, les catégories, des blocs isolés et des widgets, avec un message, une redirection ou une autre page pour tous les autres.Les conditions par rôle sont une fonction Pro. Il ne crée pas de rôles.
Du code sur mesure dans le thèmeUn développeur qui veut garder la main sur un modèle précis.Demande de l’entretien, et se casse facilement quand le thème change.

Quel que soit votre choix, les rôles passent en premier. Si les rôles par défaut ne décrivent pas vos groupes, créez-en de nouveaux avec un éditeur de rôles comme les extensions Members ou User Role Editor, toutes deux gratuites sur WordPress.org. Une bonne habitude consiste à copier le rôle Abonné et à le renommer (Revendeur, Distributeur, Équipe) : le nouveau rôle ne reçoit aucun pouvoir supplémentaire dans l’administration, seulement une étiquette que vos règles de restriction peuvent vérifier.

Pas à pas : réserver une page à un seul rôle

Cet exemple utilise Content Gate et suit ses guides. L’objectif : une page de tarifs que seuls les comptes au rôle Revendeur peuvent ouvrir, pendant que tous les autres lisent un court message.

1. Créez le rôle et attribuez-le

  1. Créez un rôle Revendeur avec votre éditeur de rôles, comme décrit plus haut.
  2. Pour une nouvelle personne, allez dans Comptes > Ajouter un compte, remplissez l’identifiant et l’e-mail, choisissez Revendeur dans Rôle et cliquez sur Ajouter un compte. Cochez Envoyer une notification au compte si la personne doit recevoir un e-mail au sujet de son compte.
  3. Pour un compte existant, ouvrez-le dans Comptes, changez le Rôle et enregistrez.

2. Trouvez l’ID de la page

Ouvrez la page de tarifs en modification et regardez la barre d’adresse : dans post.php?post=12&action=edit, l’ID est 12.

3. Écrivez la règle

  1. Allez dans Content Gate > Rules et cliquez sur Add rule (ou Write the first rule si la liste est vide).
  2. 1 Name it : un nom que vous seul verrez, comme Tarifs, revendeurs seulement.
  3. 2 Who can see it : choisissez Only certain roles et cochez Revendeur. Vous choisissez le groupe qui garde l’accès, pas celui que vous voulez bloquer.
  4. 3 What it covers : tapez 12 dans Single items, by ID.
  5. 4 What everyone else gets : choisissez A message where the content was et écrivez quelque chose d’utile, par exemple comment demander un compte revendeur.
  6. Vérifiez que This rule is on est coché et cliquez sur Save rule.
Éditeur de règle de Content Gate avec l’option Only certain roles sélectionnée, les rôles Reseller et Distributor cochés, et deux ID de pages saisis dans Single items, by ID
L’éditeur de règle : cochez les rôles qui gardent l’accès, puis choisissez ce que couvre la règle.

4. Vérifiez comme un visiteur

Les administrateurs voient toujours tout : votre propre affichage ne change donc pas. Ouvrez la page dans une fenêtre de navigation privée, puis connectez-vous-y avec un compte de test qui a le rôle Revendeur et avec un autre qui ne l’a pas. La marche à suivre complète est dans Écrire votre première règle.

Exceptions, parties de page et listes

Un vrai site s’arrête rarement à une seule page. Trois situations reviennent sans cesse.

Plusieurs règles sur le même contenu

Content Gate lit les règles de haut en bas, et la première règle qui couvre une page décide. Placez les règles précises au-dessus des règles générales : une règle « page 42 pour les revendeurs » doit se trouver au-dessus de « tous les produits pour toute personne ayant un compte », sinon la règle générale laisse entrer tous les clients. L’ordre et chaque option sont expliqués dans Comment fonctionnent les règles.

Seulement une partie de la page

Souvent, la page peut rester publique et seuls les prix sont réservés. Avec Pro, chaque bloc de l’éditeur de blocs reçoit un panneau Visibility : activez Restrict this block et choisissez Certain roles only. Le bloc est retiré sur le serveur pour tous les autres, pas seulement caché. Avec d’autres constructeurs de pages, entourez le texte du shortcode, par exemple [content_gate who="roles" roles="revendeur"]Prix nets...[/content_gate], en utilisant le nom interne du rôle, en minuscules. Les détails sont dans Restreindre un seul bloc.

Les titres dans les listes et la recherche

Bloquer une page ne retire pas son titre des listes d’articles, des pages de catégorie ni de la recherche du site. Si même le titre est confidentiel, cochez les options de l’étape 5 Outside the page itself (Pro), qui tiennent aussi le contenu à l’écart de l’API REST.

Ce que les restrictions par rôle ne protègent pas

  • Les fichiers téléversés. Un PDF ou une image de la médiathèque garde sa propre adresse directe. Masquer la page qui y renvoie ne ferme pas cette adresse, et aucun plugin ne peut la fermer depuis WordPress. Pour des documents privés, utilisez plutôt un portail de fichiers : voyez comment créer un espace client avec Dropbox.
  • Les personnes qui partagent leurs identifiants. Une restriction par rôle fait confiance au compte. Donnez à chaque personne son propre compte pour pouvoir retirer l’accès à une seule d’entre elles.
  • Votre propre affichage. En tant qu’administrateur, vous voyez tout. Testez toujours depuis une fenêtre privée ou un compte de test.

Le cache de pages pose rarement problème pour les règles par rôle, car les extensions de cache ne servent en général leurs copies toutes prêtes qu’aux visiteurs non connectés. Si une règle semble sans effet, videz le cache et vérifiez que la règle est sur On et qu’elle n’est pas marquée over the free limit.

Quelle option vous convient

Si une seule page est concernée et que l’accès est temporaire, une page protégée par mot de passe suffit. Si vous vendez l’accès avec paiements et renouvellements, un plugin d’abonnement est fait pour cela. Si vous avez besoin de rôles personnalisés et que régler l’accès contenu par contenu ne vous gêne pas, un gestionnaire de rôles avec permissions de contenu est un bon choix gratuit.

Si vous voulez restreindre le contenu par rôle utilisateur sur tout un site, avec des règles claires, des exceptions, des blocs isolés et un vrai message ou une redirection pour tous les autres, Content Gate regroupe tout dans un formulaire court. Sa version gratuite couvre déjà un espace simple pour les comptes connectés (voir comment créer un espace membre) ; les rôles font partie de Pro, dont la licence Business coûte 29,90 € / an pour 1 site, TTC.

Questions fréquentes

Peut-on réserver une page à un rôle utilisateur sans plugin ?

Pas avec les réglages standard. Les pages privées ne sont lisibles que par les administrateurs et les éditeurs, et la protection par mot de passe utilise un seul mot de passe pour tout le monde. Montrer une page à un rôle précis demande un plugin ou du code dans le thème.

Comment créer un rôle utilisateur personnalisé dans WordPress ?

WordPress n’a pas d’écran pour créer des rôles. Installez un éditeur de rôles comme Members ou User Role Editor, créez le nouveau rôle (copier Abonné est un point de départ sûr), puis attribuez-le depuis l’écran Comptes.

Un Abonné voit-il plus de choses qu’un visiteur sans compte ?

Sur les pages publiques, non. Un Abonné peut seulement gérer son propre profil dans l’administration. Il ne voit du contenu en plus que si un plugin ou votre thème vérifie son rôle ou sa connexion.

Les fichiers de la médiathèque sont-ils protégés quand je restreins une page ?

Non. Les fichiers téléversés dans la médiathèque gardent une adresse directe qui fonctionne pour quiconque la connaît. Gardez les fichiers confidentiels hors de la médiathèque, par exemple dans un dossier Dropbox ou Google Drive privé partagé via un portail.