Vous n'êtes pas identifié(e).
13 février 2024 Sortie de Dotclear 2.29
Hello,
Je viens de tester mon blog avec l'outil de google pour optimiser la vitesse de chargement des pages. J'obtiens un score de 87/100, ce qui me semble honorable.
Les deux suggestions les plus critiques sont:
1) Exploiter la mise en cache du navigateur : http://code.google.com/intl/fr/speed/pa … serCaching
2) Différer le rendu JS : http://code.google.com/intl/fr/speed/page-speed/docs/mobile.html#DeferParsingJS
Avez-vous une idée de ce que je peux faire pour mettre ça en pratique sur mon code dotclear ?
Merci d'avance
Hors ligne
Bonsoir,
Tu peux lire ce fil récent
Hors ligne
Pour le 1, il faut donner des instructions à ton serveur afin qu'il indique les durées appropriées de mise en cache par les navigateurs. Voici un exemple : http://forum.dotclear.org/viewtopic.php … 69#p306369 à adapter
Pour le 2, cela dépendra des plugins qui insèrent des scripts dans tes pages, c'est à régler au cas par cas. Dans le tien toutefois, pas mal des scripts repérés proviennent du service flattr.com : si tu peux les placer dans le footer tu y gagneras beaucoup ;)
Hors ligne
Je suis passé à 92/100 en mettant les règles de cache dans le htaccess. Pourtant, il me met toujours que les images png ont un délai non spécifié. Je pige pas trop, je ne connaissais pas tout ces trucs.
Hors ligne
Bonjour,
J'ai trouvé des explications sympa sur ce site pour gérer ces problématiques :
http://blog.chaosklub.com/post/2008/04/ … Dotclear-2
L'astuce que je préfère pour accélérer l'affichage de la page:
A coller juste après </head>
<?php flush(); ?>
Sur ce site très agréable à lire il y a aussi de nombreuses explications :
http://www.creativejuiz.fr/blog/les-tut … b-htaccess
Même si c'est un site Wordprexx, le contenu me semble vraiment bien.
Hors ligne
Bonjour,
J'ai trouvé des explications sympa sur ce site pour gérer ces problématiques :
http://blog.chaosklub.com/post/2008/04/ … Dotclear-2
L'astuce que je préfère pour accélérer l'affichage de la page:
A coller juste après </head><?php flush(); ?>
Ça c'est si on autorise du php dans les pages, le mieux c'est d'utiliser l'extension SaticCache. ;-)
Sur ce site très agréable à lire il y a aussi de nombreuses explications :
http://www.creativejuiz.fr/blog/les-tut … b-htaccess
Même si c'est un site Wordprexx, le contenu me semble vraiment bien.
Le fichier .htaccess de html5 boilerplate est optimisé aux petits oignons et fonctionne très bien chez OVH.
Voici le mien légèrement modifié (avec quelques redirections de l'ancien DC1) :
#SetEnv PHP_VER 5_TEST
SetEnv PHP_VER 5
# Force the latest IE version, in various cases when it may fall back to IE7 mode
# github.com/rails/rails/commit/123eb25#commitcomment-118920
# Use ChromeFrame if it's installed for a better experience for the poor IE folk
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
BrowserMatch MSIE ie
Header set X-UA-Compatible "IE=Edge,chrome=1" env=ie
</IfModule>
</IfModule>
<IfModule mod_headers.c>
# Because X-UA-Compatible isn't sent to non-IE (to save header bytes),
# We need to inform proxies that content changes based on UA
Header append Vary User-Agent
# Cache control is set only if mod_headers is enabled, so that's unncessary to declare
</IfModule>
<FilesMatch "\.(ttf|otf|eot|woff|font.css)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
# audio
AddType audio/ogg oga ogg
AddType audio/mp4 m4a
AddType audio/mpeg mp3
# video
AddType video/ogg ogv
AddType video/mp4 mp4
AddType video/webm webm
# Proper svg serving. Required for svg webfonts on iPad
# twitter.com/FontSquirrel/status/14855840545
AddType image/svg+xml svg svgz
AddEncoding gzip svgz
# webfonts
AddType application/vnd.ms-fontobject eot
AddType font/truetype ttf
AddType font/opentype otf
AddType application/x-font-woff woff
# assorted types
AddType image/x-icon ico
AddType image/webp webp
AddType text/cache-manifest appcache manifest
AddType text/x-component htc
AddType application/x-chrome-extension crx
AddType application/x-xpinstall xpi
AddType application/octet-stream safariextz
# ----------------------------------------------------------------------
# gzip compression
# ----------------------------------------------------------------------
<IfModule mod_deflate.c>
# force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s,?\s(gzip|deflate)?|X{4,13}|~{4,13}|-{4,13})$ HAVE_Accept-Encoding
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
</IfModule>
</IfModule>
# html, txt, css, js, json, xml, htc:
<IfModule filter_module>
FilterDeclare COMPRESS
FilterProvider COMPRESS DEFLATE resp=Content-Type /text/(html|css|javascript|plain|x(ml|-component))/
FilterProvider COMPRESS DEFLATE resp=Content-Type /application/(javascript|json|xml|x-javascript)/
FilterChain COMPRESS
FilterProtocol COMPRESS change=yes;byteranges=no
</IfModule>
<IfModule !mod_filter.c>
# Legacy versions of Apache
AddOutputFilterByType DEFLATE text/html text/xml application/xhtml+xml text/plain application/javascript application/json text/javascript text/css application/atom+xml application/xml image/svg+xml
</IfModule>
# webfonts and svg:
<FilesMatch "\.(ttf|otf|eot|svg)$" >
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
# ----------------------------------------------------------------------
# Expires headers (for better cache control)
# ----------------------------------------------------------------------
# these are pretty far-future expires headers
# they assume you control versioning with cachebusting query params like
# <script src="application.js?20100608">
# additionally, consider that outdated proxies may miscache
# www.stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring/
# if you don't use filenames to version, lower the css and js to something like
# "access plus 1 week" or so
<IfModule mod_expires.c>
ExpiresActive on
# Perhaps better to whitelist expires rules? Perhaps.
ExpiresDefault "access plus 1 month"
# cache.appcache needs re-requests in FF 3.6 (thx Remy ~Introducing HTML5)
ExpiresByType text/cache-manifest "access plus 0 seconds"
# your document html
ExpiresByType text/html "access plus 0 seconds"
ExpiresByType application/xhtml+xml "access plus 0 seconds"
# data
ExpiresByType text/xml "access plus 0 seconds"
ExpiresByType application/xml "access plus 0 seconds"
ExpiresByType application/json "access plus 0 seconds"
# rss feed
ExpiresByType application/rss+xml "access plus 1 hour"
# favicon (cannot be renamed)
ExpiresByType image/x-icon "access plus 1 week"
# media: images, video, audio
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType video/ogg "access plus 1 month"
ExpiresByType audio/ogg "access plus 1 month"
ExpiresByType audio/mpeg "access plus 1 month"
ExpiresByType video/mp4 "access plus 1 month"
ExpiresByType video/webm "access plus 1 month"
# htc files (css3pie)
ExpiresByType text/x-component "access plus 1 month"
# webfonts
ExpiresByType font/truetype "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
# css and javascript
ExpiresByType text/css "access plus 2 months"
ExpiresByType application/javascript "access plus 2 months"
ExpiresByType text/javascript "access plus 2 months"
<IfModule mod_headers.c>
Header append Cache-Control "public"
</IfModule>
</IfModule>
# ----------------------------------------------------------------------
# ETag removal
# ----------------------------------------------------------------------
# Since we're sending far-future expires, we don't need ETags for
# static content.
# developer.yahoo.com/performance/rules.html#etags
FileETag None
# ----------------------------------------------------------------------
# UTF-8 encoding
# ----------------------------------------------------------------------
# use utf-8 encoding for anything served text/plain or text/html
AddDefaultCharset utf-8
# force utf-8 for a number of file formats
AddCharset utf-8 .html .css .js .xml .json .rss
Options -MultiViews -Indexes
#pour ne pas casser les liens de l'ancien DC1
Redirect permanent /carnet/gallery http://www.lombre.net/galleries
Redirect permanent /carnet/sitemap.xml http://www.lombre.net/sitemap.xml
RedirectMatch 301 /dotclear/download/(.*)$ http://www.lombre.net/all-blogs/public/download/$1
RedirectMatch 301 /dotclear/images/(.*)$ http://www.lombre.net/all-blogs/public/imagesdc1/$1
#redirection de l'ancien dossier public dans le nouveau en dehors du dossier DC2
RedirectMatch 301 /dotclear2/public/(.*)$ http://www.lombre.net/all-blogs/public/$1
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
RewriteRule ^$ /index.php/ [L]
«Quand j'étais petit, je voulais être maître du monde. Maintenant que je suis grand, j'arrive à peine à être maître de moi-même.» Le Chat/Philippe Geluk.
Dotclear a besoin de vous
Hors ligne
Vous n'êtes pas identifié(e).