Améliorez la vitesse de chargement de votre site Joomla : Comment avons nous obtenu un "Grade A" avec Page Speed

résultat amélioration de la vitesse de téléchargement de page speed pour un site Joomla 2.5Pour 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 :

D'autres tutoriels sur Joomla 3

Checklist SEO pour Joomla : le référencement Google avec Joomla

Performance de Joomla & Vitesse de chargement

Tutoriels Joomla 2.5

4.875 1 1 1 1 1 1 1 1 1 1 Notez cet article 4.88 (4 Votes)

Commentaires (2)

This comment was minimized by the moderator on the site

Articles intéressant merci, j'ai entendu que sur un serveur mutualise le gzip n'est pas possible !? Mon fournisseur aussi confirme cette info. Comment c'est possible pour vous ?

This comment was minimized by the moderator on the site

Bonjour,
C' est parfaitement possible sur un serveur mutualisé OVH cf : Activez Gzip, ce qui correspond à la partie de notre .htaccess commençant par la ligne :
########## Begin - Automatic compression of resources ...

Il n'y a pas encore de commentaire

Ajoutez votre commentaire

Pièces jointes (0 / 3)
Share Your Location

En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour notamment réaliser des statistiques de visites