Comment rendre Wordpress plus rapide

Alors que le temps que met à un site à afficher des pages est devenu un facteur de positionnement pour Google (pas le plus important mais non négligeable), on peut se demander comment faire pour accélérer un site sous Wordpress, alors que la vitesse dépend essentiellement du CMS.
Mais il est cependant possible de le rendre plus rapide en l'optimisant.

Mettre les pages en cache

C'est le moyen le plus simple, et aussi le plus mal compris. La mise en cache évite des accès répétitifs à la base de données pour retrouver les mêmes informations. Pour cela il existe des plugins à installer.

Liste de plugins de cache mis à jour récemment:

La définition suivante dans wp-config.php est recommandée par certains blogs ou même des sites très populaires:

define('ENABLE_CACHE', true); // OBSOLETE 

En réalité elle n'est plus implémentée depuis la version 2.5 (qui date de trois ans!) Elle n'a plus aucun effet. Par contre cette autre définition est supposée en avoir mais seulement en combinaison avec un des plugins de cache persistant cités plus haut:

 define('WP_CACHE', true) 

Désactiver les révisions

Pendant que vous éditez le fichier wp-config.php, désactivez les révisions pour empêcher la base de donnée de grossir inutilement, cela aussi ralentit l'accès aux données.

define('WP_POST_REVISIONS',false);

Epurer le thème

Choisir un thème entièrement prédéfini peut avoir des inconvénients, car il contient des quantités d'information, d'éléments graphiques ou non apparent, utiles chacun à un type de site, mais dont le vôtre ne fait aucun usage.

Il convient donc de voir le code source et de supprimer - avec précaution - les champs et les métas inutiles, cela allège les pages et contribue à un affichage immédiat.
Si cela semble trop compliqué, le mieux est d'essayer d'autres thèmes moins surchargés.

Beaucoup d'information sont données de façon générique par le thème. Exemple pour le nom du site:

<?php echo bloginfo(name); ?> 

C'est normal puisque le thème est conçu pour des sites différents et qu'on n'en connaît pas le nom. Mais vous connaissez le nom de votre site et vous pouvez placer ce nom en clair:

Monsite.com 

De même pour le set de caractères, il ne change jamais sur un même site:

<meta http-equiv="content-type" content="<?php bloginfo('html_type') ?>; charset=<?php bloginfo('charset') ?>" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

Seuls doivent être conservés les appels à PHP qui dépendent de l'article affiché, comme son titre par exemple.

Epurer les plugins

Supprimez tous les plugins inutilisé ou non essentiels. Plus spécialement, les plugins de statistiques, ils tendent à saturer la base de donnée et ralentissent l'affichage.

Choisir les images

Utilisez le format le plus approprié pour les images. GIF et PNG conviennent pour des dessins, JPG pour des photos. Essayez de recompresser les images car même avec le format de fichier approprié, les outils ne sont pas égaux en performance.
Et quand aux images JPG, augmenter le taux de compression fait quelquefois peu de différence quand à la qualité d'image et beaucoup quand à la taille.

A coté de cela, il est préférable quand l'image n'est pas le sujet principal de l'article, de la remplacer par une vignette sur laquelle on cliquera pour voir l'image en taille réelle. C'est quelque chose que Wordpress gère très bien.

Réduire les dépendances

Même si certains services comme Analytics sont indispensables, beaucoup d'autres ne le sont pas forcément. Dépendre d'autres sites est le meilleur moyen de ralentir le sien, et quelque fois même de le bloquer quand l'autre site ne répond pas.

Mais si vous tenez à placer du code JavaScript liant à des services, des sites sociaux par exemple, placez ce code à la fin de la page pour qu'elle soit affichée avant qu'ils ne la bloquent éventuellement.

Optimiser Wordpress

Le panel d'administration offre plusieurs options qui peuvent accélérer l'affichage. Parmi ceux-ci:

Conclusion

La dernière chose que l'on puisse faire pour optimiser un site: réduire la longueur du texte en le résumant ou en divisant l'article.
Par diviser l'article, j'entend fractionner le topic en deux sujets capables de mériter chacun un article propre. Diviser l'article en plusieurs pages, comme on le fait souvent, pour afficher plus de publicités est tout autre chose. On tend à oublier que la popularité d'un site dépend surtout de la satisfaction des lecteurs.

Voir aussi