Ce n’est plus un secret, le temps de chargement est (re)devenu un point essentiel au bon référencement de votre site. Nous savons déjà que l’empilement de plugin n’est pas la meilleure des choses pour cela, et inutile de penser qu’un système de cache type W3 Total Cache sera votre sauveur, vous mettrez, au mieux, une rustine sur une roue pleine de trous.
Pour optimiser votre site, il faut partir du commencement, à savoir la machine. La performance a un prix, néanmoins, à ce jour, vous trouverez des offres pour des serveurs de type VPS à bas coût. Par exemple, 4h18 tourne sur un VPS d’entrée de gamme avec 1 part processeur (soir environ 250 Mhz, quand mon dédié tourne lui avec un dual core à 2 Ghz) et 512Mo de ram (oui, j’ai fait un petit effort de ce côté, ça peut servir pour memcached qui utilise la mémoire vive pour cacher votre contenu).
Cela n’empêche pas le site de tourner plus que convenablement. Alors forcément, il va falloir mettre les mains dedans ! Et si, comme moi, vous partez de zéro, armez-vous de patience, car la route sera longue et périlleuse. Le résultat en vaut la peine. Avoir la main sur son installation, de A à Z, c’est quand même le pied ultime.
Avant de partir tête baisser et pied au plancher, il est recommandé de mettre en place une maquette, de faire des tests. Une fois que vous aurez la bête en main, il sera temps de passer en « production ».
Optimiser son serveur
Dernièrement, j’ai quelque peu modifié la configuration de mon serveur. Il tourne toujours sur Apache 2 prefork, avec APC 3.1.9 et memcached, mais jee viens de lui adjoindre Nginx en mode reverse proxy, ainsi qu‘un sous domaine pour délivrer les images du site, ce qui soulage quelque peu le serveur primaire, celui qui dessert le contenu texte, le css, etc.
Dans l’idée, Nginx vient se placer devant Apache, c’est donc lui qui va vous retourner le contenu, une sorte de cache en gros (voir cet excellent schéma de Nicolargo). Si ce que vous demandez est dans le ventre de Nginx, hop, il vous le renvoi, sans déranger Apache.
Sachant que Nginx est plus léger qu’Apache, le gain de performance est non négligeable. Apache est alors utilisé uniquement pour les pages qui ne serait pas dans le cache de Nginx.
Un sous domaine pour les images
A cela, vous ajoutez un sous-domaine pour délivrer vos images, et vous voilà avec une petite configuration bien robuste.
Ainsi configuré, mon tout petit vps peut recevoir 50 visiteurs simultanés sans broncher. Bon, passé ce cap, le serveur affiche rapidement ses limites. Mais avec un processeur à 250 Mhz, il ne faut pas s’attendre à des miracles.
Pour compléter le tableau, du côté de WordPress, j’ai bien sûr configuré W3 Total Cache mais également un plugin que j’ai découvert un peu par hasard et qui permet de gérer le proxy Nginx depuis l’administration : Nginx Manager. Je vous en ferais une review sous peu, sachez simplement qu’il s’avère bien utile.
Une question de choix
Je me doute bien que le novice qui sommeil en vous est en train de se dire que tout ça, c’est bien beau, mais c’est d’un autre monde. A un détail près. Si vous souhaitez vraiment que votre site pulse comme il faut, vous n’avez pas 36 solutions :
- Soit vous payez un expert linux ou une boite d’infogérance
- Soit vous mettez le nez dedans
Tout dépend des objectifs que vous fixez à votre site WordPress. Pour une utilisation personnelle, il n’y a pas de débat. Pour une utilisation professionnelle, la question doit se poser, et le plus tôt est le mieux.
Ressources (fr)
- Nicolargo, cet article sur une installation de votre serveur depuis zéro puis un autre avec Varnish et Nginx
- Korben, pour l’installation de Nginx comme proxy, l’article date de 2009 mais tient toujours
- Romain Decker, une solution gratuite pour tester la montée en charge de votre serveur
- QuentinZone, un tuto pour déplacer ses images vers un sous domaine
Ayez la partigitude, la cool attidude, c'est ça la bloguitude !




Le montage que tu proposes est encore trop lourd pour une config comme la tienne. Par ailleurs, nginx a fait de gros progrès depuis la version 1 et peut désormais fiablement tout seul.
A config equivalente, j’ai opté pour une debian avec nginx PHP-fpm et apc. Ce dépote gentiment. Assez en tout cas pour supporter 4 blogs WP dotés d’un bon trafic
En ce qui concerne la lourdeur, tu as sans nul doute raison, mais cela me permet de tester et valider certains point en production.
Pour nginx seul, le soucis vient de la gestion de l’url rewriting qui restent encore un peu obscure pour moi. N’étant pas sysadmin, il arrive un moment ou je suis également confronté à mes limites.
Pour en revenir à la configuration, je suis, pour le moment, assez satisfait des résultats obtenus. Je n’ai pas besoin non plus actuellement d’avoir une bête de courses. La machine fait tourner le site sans sourciller, sans ralentissement notables, et c’est ce que je lui demande.
Pingback: L’Hebdo WordPress : WordPress 3.4 – Akismet – Android | WordPress Francophone
Pingback: WordPress Francophone : L’Hebdo WordPress : WordPress 3.4 – Akismet – Android | Planeta CMS Open Source
Pingback: L’Hebdo WordPress : WordPress 3.4 – Akismet – Android
Très intéressant par contre j’ai remarqué que Nginx a des problèmes dans ses dernières versions avec les installations WP comment avez-vous fait ?
Tout dépend comment vous l’utilisez.
Pour ma part, il est en reverse proxy, et je n’ai pas eu de soucis.
Dommage que tu n’ailles pas plus loin sur comment installer tout ça
Bonjour,
Très bon article sur l’optimisation d’un wordpress, mais comme expliqué dans l’article, il est bon d’avoir un expert linux pour faire l’infogérance de son serveur. Sur les VPS hostonomy d’Altern-IT, vous pouvez héberger tous vos wordpress. On peut y ajouter un reverse proxy en front. Consultez-nous: http://www.altern-it.fr
A bientôt.
Bonjour,
Après on peut aussi s’attaquer à un léger tuning de la base mysql… mais le couple nginx avec un bon cache sous wordpress, ça règle pas mal de problèmes en cas de montée en charge… Moi je n’hésite pas à mettre une durée de cache assez longue sur les sites… le serveur ne travaille plus beaucoup ensuite… c’est royal.
Tu as raison. Concernant Nginx, je l’aie utilisé deux fois : en mode serveur, et en reverse proxy. C’est dans cette seconde option que je l’avais trouvé le plus performant (dans le cadre de l’utilisation que j’en faisais). D’ailleurs, il tourne toujours sur 4h18 dans ce mode là. Néanmoins, ces divers tuning ne sont pas à la portée du débutant.
Pingback: Optimiser un serveur Wordpress | Support Wordpress