Optimisation d’un blog

Optimiser le temps de chargement d'un blog

Optimiser un blog est simple. Et compliqué à la fois. En fait tout dépend de votre niveau technique, de l'hébergement et surtout du temps que vous allez y consacrer. Il n'existe pas une recette miracle qui va tout faire pour vous en 5 minutes. La quête de la performance est plutôt un joyeux équilibre entre plusieurs potions magiques.

Déjà, avant de faire quoi que ce soit, consacrez un peu de temps à faire des mesures via les outils dont je parlais précédement. Ensuite voyez ce qui vous semble le plus urgent. En général la liste qui suit solutionne pas mal de problèmes.

Supprimer les plugins gourmands

C'est une évidence. Lorsque vous avez installé votre blog, tout allait bien il était rapide comme l'éclair. Puis vous avez installé pléthore de plugins. C'est vrai, c'est très tentant, personnellement j'adore ça. Mais il faut bien comprendre que chaque plugin est potentiellement dangereux en ce qui concerne les performances.

Certains sont particulièrement consommateurs de ressources, particulièrement lorsqu'ils font appels à des API (par exemple twitter, facebook...). Faites donc attention à mesurer l'impact que peut avoir l'ajout d'une nouvelle fonctionnalité.

Désactivez tous les plugins, et faites une mesure. Firebug est parfait pour cela. Puis réactivez un à un les plugins, et à chaque fois refaites quelques mesures. Vous verrez les temps augmenter au fur et à mesure et détecterez les plugins les plus gourmands. A vous de voir si vous souhaitez les conserver.

Economiser les requêtes, gagner en rapidité

Vous pouvez optimiser simplement votre thème en supprimant des requêtes. Par exemple remplacer un appel du type <?php bloginfo('name'), ?> par sa valeur absolue : Le titre de mon blog. Ça sera toujours une requête en moins. Vous pouvez procéder de la sorte afin d'alléger les appels à la base donnée sur toutes les données qui ne changent pas souvent : titre du blog, menus, emplacement du thème... C'est simple et rapide à faire.

Pareil avec une blog roll. Si vous n'en changez jamais, autant la mettre en HTML pur et virer les appels systématiques et inutiles.

Quelques basiques pour afficher plus vite

Voici quelques pratiques assez simples, valables pour tous les sites :

  • optimisation des images
  • optimisation des CSS
  • optimisation des JS
  • optimisation du HTML
  • éventuellement utilisez la technique des CSS sprites

Hébergement mutualisé et rapidité d'affichage

Une fois les basiques appliqués, il reste quelques bonnes pratiques qui vont faire toute la différence. Dans le cas d'un hébergement mutualisé, même basique, il possible d'utiliser le .htaccess afin de rendre un site encore plus rapide. Ce n'est pas très complexe, puisqu'il s'agit de modifier un seul fichier à la racine du site. Je vais me limiter à vous donner des infos sur un serveur Apache/PHP. Sachez toutefois que les techniques sont les mêmes pour IIS ou RoR.

Vous pouvez faire 3 choses, assez simplement :

  • compression des fichiers(via le .htaccess)
  • mise en cache navigateur (via le .htaccess)
  • configuration des ETAGS (via le .htaccess)

Vous pouvez également vérifier si votre serveur tourne sous PHP5. A l'aide de Firebug par exemple examinez l'entête HTTP du fichier HTML de la page visualisée. C'est simple : Firebug>Réseau puis cliquez sur la croix à gauche du nom de fichier (mapage.php par exemple). Dans l'entête de réponse, vous trouvez quelque chose du genre X-Powered-By PHP/5.2.4. Dans le cas ou la réponse est PHP/4.x.x voyez du côté de votre hébergeur comment passer en PHP5.

Tout cela fait, nul doute que votre blog sera autrement plus rapide.

Serveur dédié et performance

Avant de toucher à tout, vérifiez quand même que vous avez appliqué les méthodes ci-dessus. Il serait dommage de passer à côté de choses simples et efficaces. Les méthodes qui suivent ne sont pas lourdes à mettre en place, surtout si vous avez quelques connaissances en gestion de serveur :

  • cache serveur et précompilation
  • tuning mySQL

Vous pouvez reporter les techniques liées au .htaccess directement dans la config APACHE (httpd.conf). C'est un poil moins pratique que d'utiliser le .htaccess, toutefois cela permet de gagner quelques %, particulièrement en cas d'url rewriting. C'est dû notamment à la précompilation et aux accès disques. A chaque session, le htaccess doit être lu et interprété. En le supprimant, on y gagne en temps CPU et en lecture.

Optimisation d'un blog wordpress

De bons plugins wordpress

WordPress est intéressant notamment à cause de la multitude de plugins. Si certains sont d'horribles boulets, il y en a pas mal d'intéressants en ce qui concerne l'optimisation.

Par exemple pour la mise en cache serveur "WP Super cache" fait vraiment bien le boulot. Il y en a d'autres. Pour les avoir testés, je doit dire que WP Super cache est assez efficace selon ses réglages. Testez également "Hyper cache".

Vous pouvez aussi tenter W3 Total Cache si vous disposez d'un dédié. Il y a des options supplémentaires intéressantes tels que le regroupement et la minification de .JS et .CSS mais surtout la possibilité de travailler directement avec des systèmes de cache serveur évolués (Memcached ou encore APC).

WP-optimize permet d'optimiser les tables MySQL, Ça peut valoir le coup de le faire de temps en temps.

Clean Options peut également être intéressant si vous installez/désinstallez souvent des plugins. Il va nettoyer les résidus dans la table wp-options. Faites quand même une sauvegarde avant, on peut avoir des surprises. Faire un peu de ménage n'influera pas forcément beaucoup sur les perfs, mais ce n'est pas un mal.

Désactiver la révision des articles sous wordpress

WordPress sauvegarde toutes les versions sauvegardées d'un article. C'est plutot sympa, mais fort gourmand si vous postez souvent. Pour désactiver cette fonction, il faudra modifier le fichier wp-config.php qui se trouve à la racine de wordpress, et mettre la valeur WP_POST_REVISIONS à false :

define(‘WP_POST_REVISIONS’, false),

 

Si vous avez l'intention de supprimer manuellement les révisions de billet, lancez cette commande SQL (faites une sauvegarde, on ne sait jamais) :

DELETE FROM wp_posts WHERE post_type = ‘revision’;

 

En ce qui me concerne, je préfère la méthode simple, à l'aide de WP-optimize qui le fait tout seul.

Jeter un coup d'oeil aux tables de wordpress

Désinstaller un plugin ne veut pas dire que l'on va supprimer toute trace de son passage. Il arrive fréquemment qu'il reste des infos dans la table wp-options, et pourquoi pas des tables complètes, voir des index sur certaines tables de base de wordpress.

Par exemple en testant différents plugins du style post related, j'ai pu constater qu'après suppression des plugins, il restait de multiples index redondants sur la table des billets. Index inutiles et surtout gourmands. Donc faites le ménage de temps en temps (et faites une sauvegarde avant, sinon danger).

Sources / Pour aller plus loin

Ressource Optimisation d'un blog

A propos de l'auteur

Jacques Terrier

Jacques Terrier AKA Cobolian : Premier site en 98, puis quelques belles références à son palmarès. Fort de son background technique et marketing, Jacques est consultant e-commerce.