DigitalProduit

Voici comment réduire l’utilisation du processeur CPU dans WordPress peut importe le thème

Réduire l'utilisation du processeur CPU dans WordPress

Bienvenue dans notre guide sur la réduction de l’utilisation du CPU dans WordPress.

Car une utilisation élevée du CPU est souvent causée par les plugins qui collectent constamment des données, les paramètres de préchargement/expiration du cache dans les plugins de cache, ainsi que les bots, CDNs, plugins, et le noyeau de WordPress

L’hébergement mutualisé est connu pour la consommation élevée du CPU. Lorsque votre site internet utilise trop de CPU, il est surchargé afin de ne pas affecter les autres sites internet qui partagent le serveur. Cela peut entraîner un site internet lent, des erreurs d’administration et même des erreurs 5xx, c’est à dire rendre votre site hors ligne pendant quelques secondes, minutes voir des heures ! Si vous avez un site de type ecommerce vous allez perdre en visiteurs, en cliquant, des utilisateurs pourront avoir des problèmes lors de leurs achat et être mécontant de votre site internet et vous allez perdre en crédibilité.

J’ai écrit ce guide après avoir vu que ces problèmes courants dans les groupes Facebook. Et bien sur je ne pas que vous pensez que vous devez changer obligatoirement d’hébergeur. Mais souvent nous faisons souvent le mauvais choix du premier hébergeur.

Les plugins sont tristement célèbres pour créer des tâches d’arrière-plan.

Tout plugin (ou module de plugin) qui doit collecter des données sera probablement votre pire coupable. Il peut s’agir du rapport de trafic en direct de Wordfence, des journaux 404 de Rank Math et de l’intégration de Google Analytics, ou même de plugins comme Broken Link Checker et Query Monitor qui analysent constamment votre site Web.

1. Supprimez les plugins à processeur élevé

Certaines personnes vous diront de désactiver et de réactiver les plugins un par un et de vous assurer qu’ils sont légers. Il s’agit d’un conseil général qui peut s’avérer peu pratique. Vous pouvez toujours utiliser certains de ces plugins, à condition de les désactiver ou de modifier leurs paramètres pour qu’ils utilisent moins de ressources en limitant les tâches en arrière-plan. Cependant, certains plugins sont tristement célèbres pour leur capacité à augmenter l’utilisation du processeur et doivent être entièrement supprimés.

Outils dont vous aurez besoin :

  • Query Monitor – trouvez vos plugins les plus lents. Une fois installé, affichez une page de votre site, trouvez le menu Query Monitor dans votre barre d’administration, et allez dans Requêtes → Requêtes par composant.
  • WP Hive – extension Chrome gratuite qui vous permet de parcourir le référentiel de plugins WordPress et de voir si un plugin a un impact sur l’utilisation de la mémoire (ainsi que sur les scores PageSpeed Insights).
  • WP-Optimize – vous montre quels plugins (ou modules de plugins) ajoutent le plus de frais de base de données. Vous pouvez également supprimer les tables des anciens plugins ainsi que d’autres déchets de base de données. L’image ci-dessous montre comment l’utilisation de plusieurs modules Rank Math peut ajouter beaucoup de surcharge.

2. Limiter le heartbeat, les sauvegardes automatiques et les révisions

Le heartbeart c’est la fonction de tâches d’arrière-plan.

Heartbeat s’exécute toutes les 15 à 60 secondes, les sauvegardes automatiques sont créées toutes les 60 secondes pendant que vous éditez, et les révisions d’articles sont stockées chaque fois que vous mettez à jour un article (ce qui n’est pas du tout limité).

Perfmatters fait tout cela. Vous pouvez également le faire manuellement avec du code ou de nombreux plugins de cache vous permettent de limiter Heartbeat (par exemple, FlyingPress + LiteSpeed Cache) ainsi que le plugin Heartbeat Control.

Limiter Heartbeat – crée des requêtes vers admin-ajax.php. Je le désactiverais dans le frontend et le tableau de bord, puis je limiterais l’éditeur de post à 120s puisque vous le voulez probablement pour les sauvegardes automatiques, etc.

Ou tu peux aussi utilier cette fonction et l’insérer dans le fichier functions.php de ton thème <?php tag.

add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}

Augmentez l’intervalle de sauvegarde automatique – WordPress enregistre une sauvegarde automatique toutes les 60s, ce qui est un peu trop. Vous pouvez augmenter cet intervalle à 120s ou même à 300s en ajoutant le code à votre fichier wp-config.php.

define('AUTOSAVE_INTERVAL', 300); // seconds

Limiter les révisions d’articles – WordPress stocke une révision d’article chaque fois que vous modifiez un article et appuyez sur le bouton de publication. Cela crée beaucoup d’encombrement dans la base de données puisque les révisions ne sont pas limitées par défaut. Puisque vous voulez toujours avoir quelques sauvegardes de vos anciens articles (juste au cas où), vous pouvez limiter les révisions d’articles à 10.

define( 'WP_POST_REVISIONS', 10 );

Limitez le préchargement dans les plugins de cache

Le préchargement dans les plugins de cache est un autre coupable. Certains plugins vous permettent de modifier la façon dont le préchargement fonctionne, tandis que d’autres ne le font pas (dans ce cas, essayez de le désactiver complètement).

  • Préchargement de WP Rocket
  • Crawler de LiteSpeed Cache
  • Cache de préchargement de SG Optimizer

Vous ne devez précharger que les URL importantes du sitemap. Précharger l’intégralité de votre sitemap signifie que les balises et autres pages non critiques sont préchargées et consomme des ressources. Trouvez l’URL de votre sitemap (c’est-à-dire https://example.com/sitemap_index.xml), copiez les URL les plus importantes (c’est-à-dire les pages/posts) et ajoutez-les manuellement. Désactiver entièrement le préchargement est une autre option, car il est connu pour augmenter l’utilisation du CPU. La capture d’écran ci-dessous concerne WP Rocket, mais le LiteSpeed Cache Crawler et la plupart des autres plugins de cache disposent d’options permettant de contrôler le fonctionnement du préchargement. Consultez leur documentation.

3. Utilisez Cloudflare pour réduire l’utilisation du CPU

Cloudflare WordPress

Cloudflare est votre meilleur ami pour réduire l’utilisation du CPU.

Une chose qui réduit l’utilisation du CPU est l’amélioration du taux de réussite du cache (avec la mise en cache de la page complète/APO), car les demandes non mises en cache vers votre origine causent plus de stress que les demandes mises en cache par Cloudflare.

  • CDN : décharge la bande passante vers ses plus de 270 centres de données.
  • Mode de lutte contre les robots : empêche les mauvais robots d’explorer votre site.
  • Indications pour les robots : aide les moteurs de recherche à éviter les recherches inutiles.
  • Protection contre les liens dynamiques : empêche les sites Web de voler la bande passante des images.
  • Contrôle d’intégrité du navigateur : couche supplémentaire pour bloquer les robots, les spammeurs et les robots d’exploration.
  • Argo : limite le nombre de centres de données qui demandent le contenu à l’origine (service payant).
  • WAF : le pare-feu améliore la sécurité et réduit l’utilisation simultanément (service payant).
  • Règles de pare-feu – bloquent les mauvais bots, les pays les plus pirates, les URL spécifiques, XML-RPC, etc.
  • Limitation du débit – identifie/réduit les demandes excessives adressées à des URL spécifiques (service payant).
  • Mise en cache de la page complète : met en cache le HTML pour améliorer le taux de réussite du cache et réduit les demandes d’origine.
  • Cloudflare Enterprise : Rocket.net possède le meilleur Cloudflare Enterprise (comparé à Cloudways/Kinsta), principalement parce qu’il dispose d’un cache pleine page, d’un WAF et de règles WAF intégrées pour protéger votre site tout en ne permettant qu’à environ 10 % du trafic d’atteindre réellement votre serveur d’origine.

4. Protégez votre page de connexion WP

Votre page de connexion est une cible commune pour les bots/attaques. Même s’ils ne parviennent pas à se connecter, ils tentent de créer des requêtes. Voici comment protéger la page de connexion et arrêter ces requêtes.

  • Limitez les tentatives de connexion : contrôlez le nombre de tentatives de connexion des utilisateurs, la période de verrouillage, la protection de la passerelle XMLRPC et d’autres fonctionnalités à l’aide du plugin Limit Login Attempts.
  • Déplacez la page wp-login : les robots ne sont généralement pas assez intelligents pour trouver une page de connexion personnalisée que vous pouvez modifier en utilisant Perfmatters (si vous l’utilisez déjà) ou WPS Hide Login.
  • Utiliser QUIC.cloud pour protéger le login : si vous utilisez QUIC.cloud avec LiteSpeed, ils ont plusieurs fonctions de sécurité pour protéger la page de login, donc je ne le déplacerais pas dans ce cas.
  • Plugin de sécurité SiteGround : bien que je ne sois pas un fan de SiteGround, leur plugin de sécurité peut déplacer votre page de connexion, limiter les tentatives de connexion, désactiver XML-RPC, et aider à protéger votre site.

5. Utiliser la dernière version de PHP 8.1 ou 8.2

Passez à PHP 8.1 ou 8.2 dans votre compte d’hébergement (si vous voyez des erreurs, revenez à PHP 7.4).

Attention : faites une sauvegarde complète de votre site internet ou demander à un expert

Vous devriez également envisager d’augmenter :

  • La limite de mémoire (i.e. 512MB)
  • Temps d’exécution maximum
  • Temps d’entrée maximal (Max_input_time)

6. Désactiver XML-RPC

Si vous n’utilisez pas d’appareils mobiles pour publier du contenu (ou des plugins comme JetPack), vous devriez désactiver XML-RPC non seulement pour des raisons de CPU, mais aussi pour empêcher les attaques par force brute et DDoS. Pour le désactiver, collez le code dans .htaccess et remplacez xxx.xxx.xxx.xxx par votre adresse IP au cas où vous en auriez besoin. Vous pouvez également désactiver XML-RPC dans Perfmatters ou en utilisant le plugin Disable XML-RPC.

7. Bloquer les commentaires indésirables

Je suis récemment passé à Antispam Bee (qui n’utilise pas le CAPTCHA) depuis qu’Akismet est devenu un plugin payant. Sinon, mon blog reçoit trop de spam, ce qui n’est pas bon pour le processeur ni pour mon temps.

8. Lancez une analyse des logiciels malveillants

Wordfence

Exécutez une analyse à l’aide de Wordfence ou d’un autre plugin de sécurité pour vérifier la présence de logiciels malveillants et d’autres vulnérabilités. La résolution d’autres problèmes peut améliorer la sécurité et peut également contribuer à réduire l’utilisation du processeur.

De nombreuses personnes ont réussi à utiliser Wordfence pour réduire l’utilisation du processeur, mais vous devrez probablement configurer un certain nombre de paramètres ou les analyses en cours peuvent aggraver votre problème.

Ces articles qui pourraient vous intéresser