Que conseillez-vous pour optimiser ou sécuriser mon site WordPress ?
En tant qu’hébergeur spécialisé, notamment, dans les Solutions d’Hébergement WP, nous cherchons constamment à conseiller nos clients sur l’optimisation et la sécurisation de WordPress.
Si vous ne savez pas par où commencer pour améliorer la sécurité et les performances de votre site WordPress, ce billet représente un bon point de départ.
Ci-dessous, voici donc quelques interventions rapides que chacun devrait effectuer pour optimiser et sécuriser un site WP fraîchement installé.
Commençons par l’optimisation des performances…
1. Installer un plugin de cache
Vous pouvez opter pour WP Super Cache ou WP Rocket, par exemple.
Un plugin de cache permettra d’alléger votre WordPress qui n’a pas pour réputation d’être un CMS léger.
C’est un indispensable pour améliorer les performances de votre site.
Concernant la sécurité, nous préconisons l’installation de WordFence, Sucuri et le plugin Rename wp-login.php pour masquer la page de connexion.
Mais le meilleur réflexe sécurité est de conserver WordPress à jour (plugins, thème, etc).
2. Optimiser vos CRONs
WordPress est conçu pour fonctionner sur tous les systèmes, tous les types de serveurs. Donc, il ne peut pas compter sur le fait qu’il va pouvoir créer de réelles tâches CRONs sur le serveur. En effet, tous les hébergeurs ne vous permettent pas de créer vos propres tâches CRONs.
Pour cette raison, les développeurs de WordPress ont trouvé une solution détournées : le fichier wp-cron.php. Vérifiez, il est bel et bien présent à la racine de votre site WordPress.
Ce fichier est exécuté à chaque fois qu’une page WordPress est chargée. Ensuite, wp-cron.php vérifie s’il y a des tâches à réaliser en file d’attente et il les exécute si nécessaire.
Les problèmes commencent lorsque vous avez plusieurs plugins installés et de nombreuses tâches en file d’attente. Il n’est pas rare de voir que les scripts PHP de WordPress sollicitent les CRONs de WordPress, jusqu’à 20 fois par minute, ce qui crée une très forte charge sur le compte d’hébergement concerné. Alors que le site WordPress ne reçoit pas beaucoup de trafic, il peut s’en trouver ralenti, que cela soit sur la partie publique destinée aux visiteurs ou plus particulièrement, sur le tableau de bord administrateur. Ce qui rend l’administration du site plus lente et donc, frustrante.
C’est pourquoi chez EasyHoster, nous aidons nos clients à réaliser cette optimisation indispensable : remplacer les tâches CRONs PHP de WordPress, en faveur de véritables tâches CRONs optimisées, côté serveur et côté cPanel.
Voici comment procéder.
Remplacer automatiquement les tâches CRONs grâce à WP Toolkit
Le WordPress Toolkit est un outil disponible dans votre compte cPanel EasyHoster.
Il intègre une fonctionnalité géniale qui vous permet d’optimiser vos tâches CRONs en 1 clic !
Si votre site WordPress n’a pas encore été détecté par le système, cliquez sur Scan.
Ensuite, activez simplement l’option Prendre le contrôle sur wp-cron.php (voir capture d’écran). WP Toolkit va ainsi se charger de désactiver les CRONs mal optimisées de WordPress en ajoutant DISABLE_WP_CRON, true, à votre fichier wp-config.php. Il va ensuite créer, directement dans cPanel, une tâche de remplacement qui s’exécutera tranquillement, toutes les 30 minutes.
Vérifiez pas vous-même via la section Tâches Cron de cPanel.
Et voilà, le tour est joué ! Vous économisez déjà une quantité considérable de ressources dédiées à votre compte d’hébergement.
L’un de mes plugins WordPress m’avertit que mes tâches CRONs sont désactivées, que faire ?
Effectivement, maladroitement, certains plugins WordPress peuvent afficher un avertissement dans votre tableau de bord WordPress, un peu comme ceci :
C’est une catastrophe, vos tâches CRONs sont désactivées !
Non. En réalité, ces plugins regardent au mauvais endroit. Ils vérifient le fichier wp-config.php. Ils voient DISABLE_WP_CRON, true. Donc ils s’affolent.
En réalité, ils feraient mieux d’analyser la file d’attente des tâches CRONs, afin de vous avertir, uniquement dans le cas où cette queue contiendrait des tâches en attente depuis plus de 60 minutes.
Rassurez-vous. Si vous avez suivi nos instructions, vos tâches CRONs s’exécutent correctement. En cas de doute, contactez le support technique EasyHoster pour une vérification.
3. Optimiser l’API Heartbeat de WordPress
Vous pouvez optimiser l’API Heartbeat de WordPress via WP Rocket comme ceci :
Si vous n’avez pas opté pour WP Rocket comme plugin de cache, vous pouvez malgré tout contrôler votre heartbeat via le plugin Heartbeat Control.
Une fois que vous l’avez installé, définissiez les fréquences du heartbeat comme ceci :
Passons maintenant à l’optimisation de la sécurité de votre site WordPress…
4. Déplacer votre page de connexion WordPress
Vous pouvez déplacer votre page de login afin d’éviter les attaques DDoS et les les attaques par Brute Force en utilisant un plugin comme Rename Wp-login.php ou SF Move Login.
5. Désactiver votre fichier XMLRPC.php
Dans votre fichier .htaccess, vous pouvez ajouter ce code :
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
Vous pouvez également installer le plugin Disable XML-RPC.
6. Installer le plugin WordFence
La version gratuite du plugin WordFence suffira déjà amplement. Elle vous permettra d’effectuer des scans réguliers de votre site WordPress afin de détecter d’éventuels malwares.
D’ailleurs, ce plugin peut également être utilisé dans une procédure de désinfection d’un site WordPress.
Les scans vous pointeront directement les éléments dangereux dont il faut s’occuper :
7. Configurer le hardening de Sucuri
La version gratuite de Sucuri Security vous permettra également de scanner votre site WordPress.
Le plus intéressant dans ce plugin pour optimiser la sécurité de votre site est d’activer chacun des points du hardening. Pour cela, cliquez sur « Setting » et puis « Hardening ». Terminez en cliquant sur le bouton « Apply hardening » à côté de chacun ligne.
Par contre, la première ligne indiquant « Enable Website Firewall Protection » fait partie des options premium du plugin. Il n’est pas nécessaire d’upgrader pour la version premium pour bénéficier de cette option car vous êtes déjà protégé par les 2 couches de firewall d’EasyHoster.