Améliorer le temps de réponse de WordPress avec le .htaccess et PHP 5
J’expliquais dans un billet précédent une technique pour améliorer grandement la vitesse de réponse d’un blog sous WordPress, et de passer, pour moi, d’un temps moyen de 1.6 seconde (pour une page déjà cachée par wp-Super-Cache) à 300 ms en moyenne, ce en copiant la page directement à la racine du site, afin que Apache n’ait pas à exécuter WordPress pour envoyer la page. A la faveur d’un appel de Stan, j’ai eu les conseil prodigués par Gonzague, qui se sont révélés très payants. Ces conseils concernent le .htaccess.

Benchmark sur Ez-Publish montrant les différences entre PHP 4 et PHP5, sur un nombre de requêtes exécutables par seconde.
Quel sont ces conseils ?
Rajouter tout simplement trois lignes dans votre fichiers .htaccess, entre les lignes # BEGIN WordPress et # END WordPress les lignes :
SetEnv REGISTER_GLOBALS 0
SetEnv ZEND_OPTIMIZER 1
SetEnv MAGIC_QUOTES 0
SetEnv PHP_VER 5
A quoi servent ces lignes ?
Comme l’explique très bien OVH, « Cet exemple permet de désactiver REGISTER_GLOBALS, d’activer ZEND_OPTIMIZER et MAGIC_QUOTES et d’utiliser PHP 5 avec les fichiers en extensions php. »
Plus précisément, comme le dit Semageek :
On désactive la directive REGISTER_GLOBALS qui n’apporte rien à WordPress, tout comme la directive MAGIC_QUOTES avec « SetEnv MAGIC_QUOTES 0″.
On active cependant le module ZEND_OPTIMIZER qui permet d’optimiser le code PHP et de mettre en cache les requêtes les plus utilisées
On active aussi le PHP en version 5 qui sera bien utile pour pas de module WordPress.
Notez que la ligne ZEND_OPTIMIZER ne sert à quelque chose que si ZEND est installé sur votre serveur, ce qui n’est pas toujours le cas. Pour en savoir plus sur les MAGIC_QUOTES, je vous renvoie là .
Quels résultats ?
Sachez tout d’abord que PHP 5 est connu pour être beaucoup plus performant (et rapide) que PHP 4. Donc l’activation de PHP 5 va accélérer méchamment votre site, comme je l’ai constaté moi aussi.
En ce qui concerne le temps de réponse, j’ai pu constater une très nette amélioration, avec un temps de réponse de 300 ms en moyenne, comme le montre le graphique ci-dessous (le .htaccess a été mis en place hier, mais à 1h30 du matin, j’ai mis à jour ma version de WordPress).

Alors, ce que je ne comprends pas dans l’affaire, c’est depuis quand PHP 5 n’est plus activé, parce que j’avais déjà donné un conseil plus ou moins similaire il y a un peu plus de 6 mois. En tout cas, là c’est bien repartit, donc je ne me plaint pas
[Image]
Vous serez peut-être intéressé :
18 commentaires à Améliorer le temps de réponse de WordPress avec le .htaccess et PHP 5
Laisser un commentaire
- 29 January 2012Pas de loi de Moore dans les cartes graphiques depuis plusieurs années(1) Comments
- 29 January 2012Rénovation des structures de chauffage urbain à Paris(5) Comments
- 28 January 2012Etat des lieux de ma dépendance à Google(9) Comments
- 28 January 2012Désactiver l'accélération de la souris sous Mac OS(4) Comments
- 27 January 2012Priceminister : photos des nouveaux locaux à Réaumur(4) Comments
- 24 January 2012Les singes de doigt, ou marmousets pygmées(0) Comments
- 24 January 2012Une pénurie de développeurs ? Et si on arrêtait de prendre les gens pour des cons ?(109) Comments
- 23 January 2012Le meilleur du web en 3 minutes et demi(0) Comments
- 22 January 2012FreeMobile : comment activer les données cellulaires sur un iPhone(25) Comments
- 10 January 2012Free Mobile lance le forfait illimité sans engagement à 20 euros par mois(6) Comments
c'est juste un truc de malade !! je viens de tester sur blogdumac.com et la rapidité obtenue est juste sensationnelle !! Merci beaucoup pour cette astuce !!
excellent !!
J'imagine pas ce que sa devais être avant vu comment c'est long pour le moment …
Ces directives ne sont que pour l'hébergement mutualisé chez OVH …
Oui, elle sont « prises chez OVH », mais pas valables seulement pour l'hébergement OVH, puisque toutes les directives peuvent se retrouver chez un hébergeur comme un autre.
Si je prends l'exemple de 1and1, ces directives fonctionnent (en tout cas, chez moi, elles fonctionne, et je suis chez 1and1).
Et bien je passe d'un temps de réponse maximum de 0.5 secondes actuellement (pour la page HTML), contre jusqu'à 2 secondes précédemment. Donc un gain de 1.5 seconde tout de même !
Oui, toi tu es chez OVH, donc on est sûr et certain que ça fonctionne ! J'ai été sur ton blog, c'est effectivement assez rapide actuellement
Perso sur mon serveur dédié (Mac Mini, Mac Os X léopard Server + iTools) cela fonctionne très bien, cependant je travaille en parallèle dessus alors certains ralentissements peuvent se faire sentir !! Ensuite j'ai aussi fait des test avec mon.itor.us et le gain est réel !
Ensuite il y a Google Page Speed pour vérifier les optimisations possibles au niveau caching / compression des ressources ..
http://code.google.com/speed/page-speed/
Oui, j'utilises Google page Speed quand je suis sur FF, mais les dev tools de Chrome 4 Dev sont aussi bien.
moi je n'ai pas un gain énorme en modifiant le htacces je passe de 1.5 seconde a 1.35, Par contre je n'utilise pas super cache car avec ovh il semblerais qu'il y ai des problèmes et que cela ne fasse qu'augmenter le temps de chargement, ( info trouver sur le forum d'ovh )
Et sinon, tu as trouvé un moyen de diminuer le temps de chargement ? Je serais intéressé si tu as quelque chose !
[...] au maximum WordPress pour éviter les problèmes. Et justement, Louis nous file des conseils pour améliorer le temps de réponse du CMS avec un fichier [...]
[...] la base : WP-Super-Cache peut faire [...]
Cette solution est compatible avec wp super cache.
Voici ce que donne mon htaccess en tenant compte de vos infos, est-ce correct ?
SetEnv PHP_VER 5
SetEnv REGISTER_GLOBALS 0
SetEnv ZEND_OPTIMIZER 1
SetEnv MAGIC_QUOTES 0
SetEnv PHP_VER 5
# BEGIN WPSuperCache
RewriteEngine On
RewriteBase /
AddDefaultCharset UTF-8
RewriteCond %{REQUEST_URI} !^.*[^/]$
RewriteCond %{REQUEST_URI} !^.*//.*$
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{HTTP_USER_AGENT} !^.*(2.0\ MMP|240×320|400X240|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|Googlebot-Mobile|hiptop|IEMobile|KYOCERA/WX310K|LG/U990|MIDP-2.|MMEF20|MOT-V|NetFront|Newt|Nintendo\ Wii|Nitro|Nokia|Opera\ Mini|Palm|PlayStation\ Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|SHG-i900|Small|SonyEricsson|Symbian\ OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|webOS|Windows\ CE|WinWAP|YahooSeeker/M1A1-R2D2|iPhone|iPod|Android|BlackBerry9530|LG-TU915\ Obigo|LGE\ VX|webOS|Nokia5800).*
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz [L]
RewriteCond %{REQUEST_URI} !^.*[^/]$
RewriteCond %{REQUEST_URI} !^.*//.*$
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress|wp-postpass_).*$
RewriteCond %{HTTP_USER_AGENT} !^.*(2.0\ MMP|240×320|400X240|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|Googlebot-Mobile|hiptop|IEMobile|KYOCERA/WX310K|LG/U990|MIDP-2.|MMEF20|MOT-V|NetFront|Newt|Nintendo\ Wii|Nitro|Nokia|Opera\ Mini|Palm|PlayStation\ Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|SHG-i900|Small|SonyEricsson|Symbian\ OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|webOS|Windows\ CE|WinWAP|YahooSeeker/M1A1-R2D2|iPhone|iPod|Android|BlackBerry9530|LG-TU915\ Obigo|LGE\ VX|webOS|Nokia5800).*
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html [L]
# END WPSuperCache
Merci !!
[...] me connaissez, j’apporte un intérêt assez particulier à toutes les techniques permettant d’accélérer le chargement des pages web, ce [...]
[...] de la rapidité de mon blog est un sujet que je rumine assez fréquemment, et qui a d’ailleurs tendance à empiéter sur ma vie [...]
Excellente ressource que voici. Suite à la lenteur du chargement de mes pages, j’ai appliqué vos recommandations, reconfiguré mon plugin de cache et c’est beaucoup plus rapide qu’avant. J’ai aussi quelques soucis de chargement de javascript qui ralentissent mes pages.
Il va falloir que je me penche sérieusement sur la question. Merci pour les tuyaux en tout cas.