Activer la compression GZIP chez 1and1

#Articles

Le 23 juin 2015

Lorsque ce site n’Ă©tait encore qu’un simple blog personnel le site Ă©tait hĂ©bergĂ© chez 1and1, hĂ©bergeur choisi Ă  l’Ă©poque pour son rapport qualitĂ© / prix qui Ă©tait relativement imbattable (il est maintenant hĂ©bergĂ© chez Digital OcĂ©an et toujours sur WordPress). Avec le succès grandissant du site, optimiser les performances est devenu un vĂ©ritable enjeu. Dans un premier […]
⏱Temps de lecture : 1 minute

Lorsque ce site n’Ă©tait encore qu’un simple blog personnel le site Ă©tait hĂ©bergĂ© chez 1and1, hĂ©bergeur choisi Ă  l’Ă©poque pour son rapport qualitĂ© / prix qui Ă©tait relativement imbattable (il est maintenant hĂ©bergĂ© chez Digital OcĂ©an et toujours sur WordPress).

Avec le succès grandissant du site, optimiser les performances est devenu un vĂ©ritable enjeu. Dans un premier temps, la mise en oeuvre de plusieurs tweaks comme par exemple l’optimisation du htaccess a permis quelques amĂ©liorations qui se sont vites rĂ©vĂ©lĂ©es insuffisantes jusqu’Ă  la dĂ©couverte d’une option très efficace : la compression GZIP.

screenshot 2015-06-23 Ă  23.16.22

Cette option qui s’active cotĂ© serveur permet de rĂ©duire drastiquement le poids des pages et donc d’accĂ©lĂ©rer leur affichage. Seul hic, 1and1 n’active pas cette option ni sur les serveurs mutualisĂ©s ni sur les serveurs dĂ©diĂ©s…

Mais heureusement, il existe des moyens dĂ©tournĂ©s d’activer la compression GZIP sur votre hĂ©bergement 1and1 !

L’astuce dĂ©crite ci-dessous permet en effet d’envoyer aux navigateurs qui viendront consulter les pages de vos sites web des versions compressĂ©es de ces dernières, mais attention le prix Ă  payer est que la compression sera un tache supplĂ©mentaire demandĂ©e au serveur apache. En fonction de la puissance de votre serveur, cela peut amĂ©liorer le temps de chargement pour vos visiteurs ou l’empirer si votre serveur n’est pas assez puissant. Le mieux Ă©tant bien sur de le tester, la manipulation n’Ă©tant pas compliquĂ©e et le retour arrière très facile.

1/ Modifier le .htaccess

Ajouter les lignes suivantes en dĂ©but de fichier, cela indique Ă  votre serveur apache de traiter Ă©galement les fichiers html et htm (afin de les compresser Ă  la volĂ©e, ce que nous verrons plus bas). Le RemoveHandler n’est pas obligatoire mais la compression des fichiers CSS gĂ©nĂ©rait des dysfonctionnement d’affichage.

AddHandler x-mapp-php6 .php .html .htm .txt .css .js
RemoveHandler .css

2/ Créer un fichier Gzip.php

C’est lui qui va se charger de compresser vos fichiers Ă  la volĂ©e. Vous pouvez le dĂ©poser n’importe oĂą Ă  la racine de votre rĂ©pertoire contenant vos fichiers web. Ajoutez y les lignes suivantes entre les balises “<?php” et “?>” :

if (isset($_SERVER['SCRIPT_FILENAME'])) {
$timestamp = filemtime(__FILE__);
header('Last-Modified: ' . $timestamp);
$expires = 60*60*24*14;
header("Pragma: public");
header("Cache-Control: maxage=".$expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT');
header('Vary: Accept-Encoding');
$pathinfo = pathinfo($_SERVER['SCRIPT_FILENAME']);
$extension = $pathinfo['extension'];

if ($extension == 'css') {
header('Content-type: text/css');
}
if ($extension == 'js') {
header('Content-type: text/javascript');
}
}

 

3/ Créer un fichier php.ini

À copier dans tous les répertoires de votre site. Ajoutez y les lignes suivantes sans oublier de modifier le chemin vers le répertoire contenant le fichier gzip.php.

#regle la compression
zlib.output_compression = On
zlib.output_compression_level = 8
auto_prepend_file=[chemin vers votre dossier web]/gzip.php
AllowOverride All

#Masque les warning et erreurs
display _errors = off

 

4/ Tester la compression

En vous rendant sur ce site vous allez pouvoir vĂ©rifier que vos pages sont maintenant compressĂ©es avant d’ĂŞtre envoyĂ©es et que vos performances s’en trouvent amĂ©liorĂ©es !

 

Enjoy 1and1 !

 

 

LisaJe suis l'assistante virtuelle de There is no spoon. J'occupe également le poste de rédac' chef de There is no spoon, Le mag’