Améliorez la vitesse de chargement de votre site Joomla : Comment avons nous obtenu un "Grade A" avec Page Speed
Pour notre site Alpha Design, nous avons obtenu un "Grade A" pour Page Speed sur notre page d'accueil.
Alors comment avons nous fait ? alors que nous n'avons :
- ni activer le cache de Joomla
- ni activer la compression Gzip de Joomla
- que nous n'utilisons pas
- de CDN (Content Delivery Network)
- JCH optimize
- Et que nous sommes sur un banal serveur mutualisé ovh
Nous n'avons pas de baguette magique mais voici ce que nous avons fait :
- notre .htaccess active la compression Gzip & le cache des navigateurs
- nous avons choisi comme template de base un template sans framework, ce qui entre autre limite les css @import
- nous avons un minimum d'extensions installées sur notre site
- le css et le javascript du template sont "minifiés" par l'une de ses options
- le poids des images a été vérifié avec GTmetrix
Optimiser son .htaccess
Voici le contenu du code que nous avons ajouter au .htaccess de Joomla qui nous a aidé à obtenir ce grade A :
########## Begin - ETag Optimization
## This rule will create an ETag for files based only on the modification
## timestamp and their size. This works wonders if you are using rsync'ed
## servers, where the inode number of identical files differs.
## Note: It may cause problems on your server and you may need to remove it
FileETag MTime Size
########## End - ETag Optimization
########## Begin - Optimal default expiration time
## Note: this might cause problems and you might have to comment it out by
## placing a hash in front of this section's lines
## Note: Some people prefer using "now plus 1 month" instead of "now plus 1 year".
## Suit to taste.
<IfModule mod_expires.c>
# Enable expiration control
ExpiresActive On
# Default expiration: 1 hour after request
ExpiresDefault "now plus 1 hour"
# CSS and JS expiration: 1 week after request
ExpiresByType text/css "now plus 1 week"
ExpiresByType application/javascript "now plus 1 week"
ExpiresByType application/x-javascript "now plus 1 week"
# Image files expiration: 1 month after request
ExpiresByType image/bmp "now plus 1 month"
ExpiresByType image/gif "now plus 1 month"
ExpiresByType image/jpeg "now plus 1 month"
ExpiresByType image/jp2 "now plus 1 month"
ExpiresByType image/pipeg "now plus 1 month"
ExpiresByType image/png "now plus 1 month"
ExpiresByType image/svg+xml "now plus 1 month"
ExpiresByType image/tiff "now plus 1 month"
ExpiresByType image/vnd.microsoft.icon "now plus 1 month"
ExpiresByType image/x-icon "now plus 1 month"
ExpiresByType image/ico "now plus 1 month"
ExpiresByType image/icon "now plus 1 month"
ExpiresByType text/ico "now plus 1 month"
ExpiresByType application/ico "now plus 1 month"
ExpiresByType image/vnd.wap.wbmp "now plus 1 month"
ExpiresByType application/vnd.wap.wbxml "now plus 1 month"
ExpiresByType application/smil "now plus 1 month"
# Audio files expiration: 1 month after request
ExpiresByType audio/basic "now plus 1 month"
ExpiresByType audio/mid "now plus 1 month"
ExpiresByType audio/midi "now plus 1 month"
ExpiresByType audio/mpeg "now plus 1 month"
ExpiresByType audio/x-aiff "now plus 1 month"
ExpiresByType audio/x-mpegurl "now plus 1 month"
ExpiresByType audio/x-pn-realaudio "now plus 1 month"
ExpiresByType audio/x-wav "now plus 1 month"
# Movie files expiration: 1 month after request
ExpiresByType application/x-shockwave-flash "now plus 1 month"
ExpiresByType x-world/x-vrml "now plus 1 month"
ExpiresByType video/x-msvideo "now plus 1 month"
ExpiresByType video/mpeg "now plus 1 month"
ExpiresByType video/mp4 "now plus 1 month"
ExpiresByType video/quicktime "now plus 1 month"
ExpiresByType video/x-la-asf "now plus 1 month"
ExpiresByType video/x-ms-asf "now plus 1 month"
</IfModule>
########## End - Optimal expiration time
########## Begin - Automatic compression of resources
# Compress text, html, javascript, css, xml, kudos to Komra.de
# May kill access to your site for old versions of Internet Explorer
# The server needs to be compiled with mod_deflate otherwise it will send HTTP 500 Error.
# mod_deflate is not available on Apache 1.x series. Can only be used with Apache 2.x server.
# AddOutputFilterByType is now deprecated by Apache. Use mod_filter in the future.
<IfModule mod_deflate.c>
############################################
## enable apache served files compression Gzip
# http://forum.ovh.com/showthread.php?45461-Magento-sur-un-mutualis%E9-OVH-Lequel&p=324717&viewfull=1#post324717 ## http://developer.yahoo.com/performance/rules.html#gzip
# Activer le filtre pour tout le contenu
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript
# Netscape 4.x crée quelques problèmes¦
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 en ont encore d'autres
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# IE se déguise en Netscape, mais OK
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# On ne compresse pas les images: le sont déja
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
# Pour que les proxies ne transmettent pas un mauvais contenu
Header append Vary User-Agent env=!dont-vary
#End Deflate
</IfModule>
########## End - Automatic compression of resources
Optimisez le poids de ses images
Pour améliorer le temps de chargement de vos pages, l'optimisation du poids de vos images est essentielle.
Soumettez vos pages pour analyses à GTmetrix dans le rapport qu'il produira, cliquez sur la rubrique "Optimize Images" et pour chacunes des images qui peuvent être améliorées en terme de poids (sans perte de définition) cliquez sur "Optimized version" vous les téléchargerez ainsi sur votre ordinateur. Il ne vous restera plus qu'à les renommer puis les renvoyer sur votre serveur.
Autres articles sur l'amélioration de la vitesse de téléchargement d'un site Joomla
Nous vous conseillons la lecture de ces articles :
- http://alphadesign.fr/joomla/performance-de-joomla-vitesse-de-telechargement.html
- http://magazine.joomla.org/international-stories-all/articles-in-french-all/10-meilleures-astuces-pour-un-site-joomla-rapide
- http://allevents.avonture.be/fr/item/463-optimisation-seo.html
- http://cinnk.com/joomla/cms/optimisation-performance/128-outils-et-astuces-pour-vérifier-la-vitesse-d-un-site-joomla-et-améliorer-les-performances
Checklist SEO pour Joomla : le référencement Google avec Joomla