La compression GZip – Optimiser Wordpress Partie 1
Aujourd’hui nous allons voir comment utiliser la compression GZip, car comme vous devez surement le savoir, il est important d’optimiser son site web pour qu’il réponde rapidement.
[box_info]Comment cela fonctionne ?[/box_info]
- Le client demande une page au serveur.
- Le serveur web va générer la page web demandée puis la compresser.
- Le serveur envoie la page compressée.
- Le navigateur du client reçoit les données puis les traites.
- Gain de chargement de la page (plus légère)
- Gain de bande passante
- Meilleur référencement
Avant de commencer, vérifions que votre hébergeur dispose de la compression GZip car certains hébergeurs n’installent pas l’extension… Il n’est donc pas utile de suivre la suite de l’article si votre hébergeur ne tolère pas le GZip.
Nous allons donc vérifier la configuration de votre hébergement. Pour cela, téléchargez le script ici et envoyez-le dans votre hébergement puis lancez-le…
Vous verrez cela :
Si ce qui est encadré est bien vert, c’est qu’il s’est donc bien installé. Vous pouvez alors lire la suite…
Je ne vous promets pas que cela va fonctionner chez votre hébergeur, même si vous avez bien le zip en vert ci-dessus, car il existe beaucoup de solutions pour activer le GZip.
Je vous présenterais la plus simple en utilisant le fichier ‘index.php’ et la solution pour l’hébergeur ‘1and1’ qui n’aime pas le GZip bien qu’il soit activé.
Si vous n’êtes pas chez ‘1and1’ et que votre hébergeur supporte le GZIP, alors ouvrez le fichier ‘index.php’ de votre site wordpress, puis insérez la ligne suivante à la deuxième ligne :
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler"); else ob_start();
Normalement cela devrait afficher :
<?php
if (substr_count($_SERVER[‘HTTP_ACCEPT_ENCODING’], ‘gzip’)) ob_start(« ob_gzhandler »); else ob_start();
/**
* Front to the WordPress application. This file doesn’t do anything, but loads
* wp-blog-header.php which does and tells WordPress to load the theme.
*
* @package WordPress
*/
Si vous n’avez pas d’erreur après avoir mis à jour votre ‘index.php’ et rechargé la page d’accueil, alors le GZip doit être activé nous verrons un peu plus loin comment vérifier si le GZIP fonctionne correctement.
Mais avant, nous allons voir la méthode pour la compression GZip chez ‘1and1’.
Tout d’abord, créez un fichier ‘phpinfo.php’ contenant :
<?php phpinfo(); ?>
Envoyez-le sur votre serveur puis rendez-vous sur la page.
Cherchez DOCUMENT_ROOT vous aurez cela :
Donc gardez bien cette ligne qui ressemble à :
/kunden/homepages/5/…/htdocs
Ensuite, créez un fichier ‘gzip.php’ contenant :
<?php$pathinfo
=
pathinfo
(
$_ENV
[
'SCRIPT_FILENAME'
]);
$extension
=
$pathinfo
[
'extension'
];
$offset
= 60 * 60 * 24 * 30;
if
(
$extension
==
'css'
){
header(
'Content-type: text/css; charset=utf-8'
);
header(
"Expires: "
.
gmdate
(
"D, d M Y H:i:s"
, time() +
$offset
).
" GMT"
);
}
if
(
$extension
==
'js'
){
header(
'Content-type: text/javascript; charset=utf-8'
);
header(
"Expires: "
.
gmdate
(
"D, d M Y H:i:s"
, time() +
$offset
).
" GMT"
);
}
?>
Puis envoyez ce fichier dans les dossiers de votre wordpress contenant les ‘.js’ et ‘.css’. Cela se trouve souvent dans le dossier du thème. Il se peut que vous ayez à le mettre plusieurs fois.
Ensuite, créez un fichier ‘php.ini’ contenant :
output_handler = ob_gzhandler
auto_prepend_file=/kunden/homepages/5/.../htdocs/.../montheme/js/gzip.php
auto_prepend_file=/kunden/homepages/5/.../htdocs/.../montheme/js/gzip.php
Adaptez bien les chemins en fonction de votre site. Puis envoyez le fichier à la racine de votre site.
Normalement le GZip est donc activé.
Maintenant nous allons vérifier que le GZip est bien actif.
Pour cela, rendez-vous sur le site suivant :
http://www.gidnetwork.com/tools/gzip-test.php
Puis, entrez l’adresse de votre site.
Si tout s’est bien déroulé, vous devriez alors voir cela :
Voilà, c’est terminé !
Si vous avez des problèmes ou des questions quelconques à propos du tuto, vous pouvez bien entendu les mettre en commentaire.