Si vous créez des sites pour d’autres personnes, vous avez probablement quelques extensions importantes que vous installez sur chaque site client. Si un client désactive accidentellement l’une de ces extensions essentielles, son site risque d’être complètement endommagé.
C’est pourquoi il est important d’empêcher les clients de désactiver certaines extensions clés. Chez WPBeginner, nous avons de l’expérience dans le contrôle de qui peut voir les extensions sur notre site.
Il y a trois façons simples de procéder. Vous pouvez modifier les rôles des utilisateurs, utiliser un plugin de membres ou ajouter un code personnalisé pour empêcher l’accès aux extensions.
Dans cet article, nous allons vous afficher comment empêcher les clients de désactiver les extensions WordPress.
Pourquoi empêcher les clients de désactiver les extensions WordPress ?
Si vous créez des sites web pour d’autres personnes, il se peut que vous ayez une liste de plugins WordPress indispensables que vous installez sur chaque site. Il peut s’agir de plugins de sécurité qui protègent le client contre les pirates et les codes malveillants.
Vous pourriez même utiliser des extensions pour automatiser des tâches de maintenance WordPress cruciales, telles que la création de sauvegardes régulières ou la suppression de commentaires indésirables.
Si le client désactive accidentellement l’un de ces plugins, cela peut rendre son site web vulnérable aux attaques ou affecter sa fonctionnalité. Dans le pire des cas, le site peut même être complètement détruit.
Même si ce n’est pas de votre faute, c’est une mauvaise expérience client qui peut nuire à votre réputation. Voyons comment vous pouvez empêcher vos clients de désactiver accidentellement des plugins dans WordPress.
Il vous suffit d’utiliser les liens rapides ci-dessous pour accéder directement à la méthode que vous souhaitez utiliser :
Méthode 1 : Utilisation des rôles utilisateurs par défaut de WordPress (Aucune extension nécessaire)
WordPress est doté d’un système de gestion des utilisateurs simple mais puissant, dans lequel chaque utilisateur dispose de permissions différentes en fonction du rôle qui lui est assigné.
Lorsque vous installez WordPress, il crée automatiquement les rôles utilisateurs/utilisatrices suivants :
- Administrateurs/administratrices
- éditeur
- auteurs/autrices
- Contributeurs/contributrices
- Abonnés/abonnées
Par défaut, seul l’administrateur est autorisé à gérer les plugins, ce qui inclut leur désactivation.
Dans cette optique, nous vous recommandons de créer un seul compte administrateur pour vos clients afin qu’ils disposent d’un moyen de gérer leurs sites. Vous pouvez ensuite créer des comptes non administrateurs pour toute autre personne ayant besoin d’un accès mais ne nécessitant pas de privilèges d’administrateur.
Sans droits d’administrateur, la majorité de vos clients ne pourront pas désactiver les extensions.
Vous pouvez utiliser n’importe quel rôle pour les comptes non administrateurs/administratrices. Cependant, nous vous recommandons d’utiliser le rôle d’éditeur car il permet aux utilisateurs/utilisatrices de créer, éditer/ modifier, publier et supprimer du contenu, y compris du contenu créé par d’autres personnes. Cela peut améliorer le flux de travail éditorial et aider vos clients à gérer leur nouveau site.
Il est également conseillé de confier le compte d’administration à une personne qui a de l’expérience avec WordPress et qui sait comment gérer un site WordPress.
Pour créer un compte pour un ou plusieurs clients, allez dans Utilisateurs » Ajouter une nouvelle dans le tableau de bord WordPress. Vous pouvez alors saisir quelques informations sur la personne, notamment son nom et son adresse e-mail.
Ensuite, ouvrez le menu déroulant Rôle et choisissez le rôle que vous souhaitez assigner à cet utilisateur, par exemple Admin ou Éditeur.
Lorsque les informations saisies vous conviennent, cliquez sur « Ajouter un nouvel utilisateur ».
Pour créer d’autres comptes, il suffit de suivre le même processus décrit ci-dessus. Pour en savoir plus sur ce Sujet, veuillez consulter notre guide sur l ‘ajout de nouveaux utilisateurs/utilisatrices sur votre blog WordPress.
Méthode 2 : Utilisation de l’extension Members (Créer un rôle de client personnalisé)
Il peut arriver que vous deviez empêcher les clients de désactiver des extensions sans restreindre leur accès à d’autres zones.
Ceci étant dit, les rôles du compte intégrés peuvent ne pas convenir à votre site. Par exemple, les éditeurs/éditrices ne peuvent pas désactiver les extensions, mais ils ne peuvent pas non plus ajouter de nouveaux utilisateurs ou installer des thèmes WordPress, ce qui peut poser problème à vos clients.
Si les rôles par défaut ne conviennent pas à votre client, vous pouvez créer un rôle personnalisé doté des droits et permissions nécessaires. Vous pouvez même créer différents rôles pour différentes équipes ou même pour des employés individuels.
La façon la plus simple de créer des rôles personnalisés est d’utiliser l’extension gratuite Members. Ce plugin vous permet de créer de nouveaux rôles, puis d’ajouter et de retirer des permissions à ces rôles d’utilisateurs, y compris la possibilité d’activer et de désactiver des extensions WordPress.
Ce droit retire le réglage des extensions du menu de gauche, comme vous pouvez le voir dans l’image suivante.
La première chose à faire est d’installer et d’activer l’extension Membres. Pour plus de détails, consultez notre guide étape par étape sur l’installation d’une extension WordPress.
Une fois activé, allez dans Membres » Ajouter un nouveau rôle.
Dans le champ « Enter role name », saisissez le nom que vous souhaitez utiliser. Ce nom sera visible par toute personne ayant accès au tableau de bord de WordPress.
Ensuite, il est temps d’accorder et de refuser des droits.
La colonne de gauche affiche tous les différents types de contenu, tels que les blocs réutilisables et les produits WooCommerce. Il suffit de cliquer sur un onglet, et vous verrez tous les droits pour ce type de contenu.
Vous pouvez ensuite cocher la case « Accorder » ou « Refuser » pour chaque droit. Pour des instructions plus détaillées, veuillez consulter notre guide sur la façon d’ajouter ou de retirer des permissions à un compte.
Pour empêcher les clients de désactiver les extensions, cliquez sur l’onglet « Plugins » à gauche.
Sur cet écran, cochez la case « Deny » sur la ligne « Activate Plugins ». Cela empêche le compte d’activer et de désactiver les extensions WordPress.
Lorsque vous êtes satisfait de la façon dont le rôle de l’utilisateur est défini, cliquez sur « Ajouter un rôle ».
Vous pouvez maintenant assigner ce rôle à n’importe quel utilisateur, en suivant la même procédure que celle décrite dans la méthode 1.
Méthode 3 : Utiliser un PHP personnalisé (empêcher les clients/clientes de désactiver des extensions spécifiques)
Si vous souhaitez empêcher les clients de désactiver toutes les extensions, vous pouvez utiliser l’une des méthodes mentionnées ci-dessus.
Cependant, il peut arriver que vous souhaitiez protéger des plugins spécifiques tout en permettant aux clients de désactiver et de supprimer des logiciels non essentiels.
La meilleure façon de protéger des extensions spécifiques est d’ajouter du code personnalisé dans WordPress. Cela vous permet de retirer le lien » Désactiver » pour des extensions spécifiques.
Il s’agit d’une méthode avancée, que nous ne recommandons donc pas aux débutants.
Remarque : sachez que les clients peuvent toujours désactiver un plugin à l’aide du menu déroulant « Actions en bloc » ou d’un outil avancé tel que FTP ou phpMyAdmin. Toutefois, en supprimant le lien « Désactiver », il est beaucoup plus difficile pour les clients de désactiver accidentellement un plugin essentiel.
Pour commencer, vous devez connaître le nom du fichier de l’extension et son En direct sur votre serveur. En règle générale, ces fichiers utilisent le nom de l’extension suivi de .php et se trouvent directement dans un dossier portant le nom de l’extension. Par exemple, le fichier WooCommerce est nommé « woocommerce.php » et se trouve dans le dossier « woocommerce ».
Cependant, cela vaut toujours la peine de vérifier, surtout si l’extension a un nom long et compliqué ou plusieurs mots. Par exemple, si vous utilisez l’extension SR Product 360° View pour ajouter des images interactives à 360 degrés dans WordPress, son fichier s’appelle « sr.php ».
Vous pouvez vérifier le nom et l’Emplacement du fichier en vous connectant au serveur du site à l’aide d’un client FTP tel que FileZilla, ou vous pouvez utiliser le gestionnaire de fichiers de votre cPanel d’hébergement WordPress.
Si c’est la première fois que vous utilisez le protocole FTP, vous pouvez consulter notre guide complet sur la façon de se connecter à votre site à l’aide du protocole FTP.
Ensuite, allez dans /wp-content/plugins/. Vous consulterez cette page pour connaître les différentes extensions présentes sur votre site.
Il suffit de trouver l’extension que vous souhaitez protéger et d’ouvrir son dossier.
Ensuite, trouvez le fichier .php.
Note maintenant le nom du dossier et le fichier .php, car tu utiliseras ces informations dans ton code. Répétez simplement ce processus pour chaque extension que vous souhaitez protéger.
Ceci fait, il est temps d’ajouter un extrait de code à votre site. Souvent, vous trouverez des guides vous demandant d’ajouter du code dans le fichier functions.php du site.
Cependant, ce n’est pas recommandé, car de simples erreurs peuvent provoquer d’innombrables erreurs courantes de WordPress. Vous perdrez également le code personnalisé lorsque vous mettrez à jour votre thème WordPress.
C’est là que WPCode entre en jeu.
WPCode est le meilleur plugin d’extraits de code utilisé par plus de 2 millions de sites WordPress. Il facilite l’ajout de CSS, HTML, PHP, et plus encore.
La première chose à faire est d’installer et d’activer l’extension gratuite WPCode. Pour plus de détails, consultez notre guide étape par étape sur l’installation d’une extension WordPress.
Une fois activé, rendez-vous dans la rubrique Extraits de code » Ajouter un extrait.
Vous consulterez cette page pour connaître tous les extraits prédéfinis que vous pouvez ajouter à votre site. Il s’agit notamment d’un extrait qui vous permet de désactiver complètement les commentaires, de téléverser des types de fichiers que WordPress ne supporte généralement pas, de désactiver les pages de fichiers joints, et bien plus encore.
Au lieu de cela, passez votre souris sur « Ajouter votre code personnalisé » et sélectionnez « Extrait d’utilisateur » lorsqu’il apparaît.
Pour commencer, saisissez un titre pour l’extrait de code personnalisé. Il peut s’agir de n’importe quoi qui vous aide à identifier l’extrait dans le Tableau de bord WordPress.
Ensuite, ouvrez le menu déroulant « Code Type » et sélectionnez « PHP Snippet ».
Vous êtes maintenant prêt à ajouter le PHP personnalisé. Le code exact variera en fonction des extensions que vous protégez, mais voici un modèle que vous pouvez utiliser :
add_filter( 'plugin_action_links', 'disable_plugin_deactivation', 10, 4 );
function disable_plugin_deactivation( $actions, $plugin_file, $plugin_data, $context ) {
if ( array_key_exists( 'deactivate', $actions ) && in_array( $plugin_file, array(
'wpforms/wpforms.php',
'woocommerce/woocommerce.php'
)))
unset( $actions['deactivate'] );
return $actions;
}
Cet extrait désactive la désactivation pour WPForms et WooCommerce. Pour protéger d’autres extensions, remplacez simplement ‘wpforms/wpforms.php’ et ‘woocommerce/woocommerce.php’ par les dossiers et les noms de fichiers que vous avez obtenus à l’étape précédente.
Pour désactiver d’autres extensions, il suffit de les ajouter au code. Par exemple :
'wpforms/wpforms.php',
'woocommerce/woocommerce.php',
'service-box/service-box.php'
)))
Ensuite, allez jusqu’à la section « Insertion ». WPCode peut ajouter votre code à différents endroits, par exemple après chaque article, dans le frontend uniquement ou dans l’administration uniquement.
Vous ne devez utiliser le code PHP que dans la zone d’administration de WordPress, cliquez donc sur « Insertion automatique » si ce n’est pas déjà fait. Ensuite, ouvrez le menu déroulant « Emplacement » et choisissez « Admin only ».
Ensuite, vous pouvez faire défiler l’écran jusqu’en haut et cliquer sur le bouton « Inactif » pour qu’il devienne « Actif ».
Enfin, cliquez sur « Save Snippet » pour mettre en ligne le snippet PHP.
Maintenant, si vous sélectionnez « Plugins » dans le menu de gauche, vous verrez que le lien « Désactiver » a été retiré pour ces extensions.
Si vous avez besoin de restaurer les liens « désactiver » à un moment donné, vous pouvez désactiver l’extrait de code. Il vous suffit de vous rendre dans la rubrique « Extraits de code » et de cliquer sur l’interrupteur situé à côté de votre extrait pour le faire passer du bleu (activé) au gris (désactivé).
Vous pouvez maintenant désactiver ces extensions en vous rendant dans le menu Plugins .
Vous pouvez également désactiver les extensions protégées en utilisant phpMyAdmin ou un client FTP. Cela peut être une bonne solution si vous voulez retirer une extension spécifique mais que vous ne voulez pas désactiver complètement l’extrait de code et laisser tous vos plugins protégés vulnérables.
Pour en savoir plus, Veuillez consulter notre guide sur la façon de désactiver toutes les extensions lorsqu’on ne peut pas accéder à WP-Admin.
Nous espérons que cet article vous a aidé à apprendre comment empêcher les clients de désactiver les extensions WordPress. Vous pouvez également consulter notre guide ultime sur la façon de masquer les éléments de menu inutiles de l’admin WordPress et les meilleures applications mobiles pour gérer votre site WordPress.
Si vous avez aimé cet article, veuillez alors vous abonner à notre chaîne YouTube pour obtenir des tutoriels vidéo sur WordPress. Vous pouvez également nous trouver sur Twitter et Facebook.
THANKGOD JONATHAN
This is great, but I think for me it’s not necessary to do that. Your clients should have absolute control over their websites except where they tell you to keep on maintaining it for them.
What you should do instead is to tell them exerctly the plugins that are very important for the primary function of the website and once that should not be deleted. And also tell them what they should be careful about and advice them to hire an expert to do the technical aspects for them and also keep keep regular backups.
Ibrahim Rumani
But with this method the plugins can still be disabled via bulk options.
WPBeginner Support
The disable option should be removed from the dropdown of the bulk action options
Administrateur
Bart Kuijper
The article and code are both useful and provide some nice insights. However it’s important to note that using the example code, administrators can still easily disable plugins by simply ticking the box in front of one or more plugins and then selecting ‘Deactivate’ from the ‘Bulk Actions’ drop-down list.
WPBeginner Support
Thank you for letting us know, we’ll be sure to look into updating the code when we’re able.
Administrateur