J'essaie d'utiliser Google PageSpeed Insights pour accélérer mon site Web - www.edmhunters.com.
Tout d'abord, voici à quoi ressemble mon fichier .htaccess
# -----------------------------------------------------------------------
# Caching for 1 Year
# -----------------------------------------------------------------------
<FilesMatch "\.(ico|svg|woff|eot|ttf)$">
Header set Cache-Control "max-age=31536000, public"
</FilesMatch>
# -----------------------------------------------------------------------
# Caching for 1 Week
# -----------------------------------------------------------------------
<FilesMatch "\.(jpg|png|gif|css|js)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
# -----------------------------------------------------------------------
# Defining MIME types to ensure the web server actually knows about them
# -----------------------------------------------------------------------
<IfModule mod_mime.c>
AddType application/javascript js
AddType application/vnd.ms-fontobject eot
AddType application/x-font-ttf ttf ttc
AddType font/opentype otf
AddType application/x-font-woff woff
AddType image/svg+xml svg svgz
AddEncoding gzip svgz
</Ifmodule>
# -----------------------------------------------------------------------
# Compressing output
# -----------------------------------------------------------------------
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css application/json
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/xml application/xml text/x-component
AddOutputFilterByType DEFLATE application/xhtml+xml application/rss+xml application/atom+xml
AddOutputFilterByType DEFLATE image/x-icon image/svg+xml application/vnd.ms-fontobject application/x-font-ttf font/opentype
</Ifmodule>
L'en-tête Cache-Control
ne fonctionne étrangement que pour les fichiers multimédias et non les fichiers statiques.
Par exemple. La sortie de www.edmhunters.com/media/dj/images/deadmau5_2.jpg sur redbot.org ressemble à ceci
HTTP/1.1 200 OK
Date: Sun, 14 Sep 2014 06:01:54 GMT
Server: Apache/2.4.7 (Ubuntu)
Last-Modified: Thu, 11 Sep 2014 13:52:29 GMT
ETag: "7391-502ca7aba5a6e"
Accept-Ranges: bytes
Content-Length: 29585
Cache-Control: max-age=604800, public
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: image/jpeg
La sortie de www.edmhunters.com/static/img/bp-logo.9bf55788f1b6.jpg ressemble à ceci
HTTP/1.1 200 OK
Date: Sun, 14 Sep 2014 05:43:28 GMT
Server: Apache/2.4.7 (Ubuntu)
Last-Modified: Tue, 26 Aug 2014 05:43:32 GMT
ETag: 1409031812.62
Content-Length: 2592
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: image/jpeg
Toujours selon Google PageSpeed Insights pour ma page d'accueil , le code HTML est réduit, alors que Google PageSpeed Insights pour une autre page indique que mon code HTML n'est pas réduit.
Pourquoi ce comportement différent?
Je servais mes fichiers statiques avec Django, tandis que mes fichiers multimédias utilisaient Apache. Servir mes fichiers statiques via Apache a résolu ce problème.