Vous êtes ici : SeoMix » Web » Développement web » Htaccess : performances et temps de chargement

Htaccess : performances et temps de chargement

Le htaccess est un fichier de configuration de votre serveur, et celui-ci  peut vous rendre énormément service pour les performances de votre site, sur l'expérience utilisateur et sur le référencement naturel. Mais c'est un peu le flou sur la manière de le configurer.

Voici donc un guide pour coder votre fichier htaccess :

Htacces, performances et temps de chargement

Htacces, performances et temps de chargement

Avant propos

Testez, testez et testez !

Chaque code donné ici permet d'optimiser le fichier htaccess pour accélérer votre site, le sécuriser et réduire la bande passante utilisée.

Mais en fonction de la configuration de votre serveur, les codes peuvent ne pas fonctionner : vous devez absolument tester et adapter chaque code en fonction de vos besoins !

Quelques définitions

Pour mieux comprendre cet article, voici quelques explications. N'hésitez pas à me contredire en commentaire si je me trompe.
  • Htaccess : c'est un fichier de configuration pour un serveur web apache. Si vous ne savez pas sur quel type de serveur vous êtes, demandez à votre hébergeur. La configuration qui est inscrite dedans s'applique au répertoire dans lequel il est placé, ainsi que dans tous ses sous-répertoires.
  • Compression Gzip : c'est un format de compression utilisé pour réduire la taille de vos fichiers, et ainsi accélérer votre site.
  • Serveur Apache : c'est le format de serveur http le plus répandu au monde, et que l'on retrouve dans la plupart des offres d'hébergement pros et grand public.
  • Système de cache : le cache d'un site internet ou d'un programme permet d'accéder à des données ou des pages déjà prêtes, sans avoir à les régénérer ou à les recalculer. Si vos pages sont en cache sur votre serveur, les visiteurs y accéderont beaucoup plus vite.
  • Entêtes et requêtes : il s'agit d'informations transmises entre votre ordinateur et le serveur. Ces informations servent aux deux en indiquant différentes informations : emplacement des fichiers, date de mise à jour, configuration, ...
  • CHMOD : un chmod permet de modifier les droits d'un fichier en lecture, écriture et exécution, sous la forme de 3 chiffres (exemple : 777 ou 644). Chaque chiffre donne des droits différents en fonction de l'utilisateur : propriétaire, groupe et publique. C'est un point à étudier en détail pour sécuriser un site.

Compression

Compression Gzip via Deflate

Premier point à faire, activez la compression Gzip des fichiers en sortie de votre serveur.

Cela va accélérer le temps de chargement, et réduire la bande passante utilisée. Attention cependant, car cette compression n'est pas supportée par tous les navigateurs (notamment Netscape) et ne fonctionnera que sur des serveurs apaches 2.x.  Testez donc bien votre site sur plusieurs navigateurs après la mise en place de ce code.

# MOD_DEFLATE COMPRESSION
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
#Pour les navigateurs incompatibles
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
#ne pas mettre en cache si ces fichiers le sont déjà
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
#les proxies doivent donner le bon contenu
Header append Vary User-Agent env=!dont-vary

Compression Gzip via Mod_Gzip

Le code suivant remplace le précédent  mais fonctionne les serveurs apache 1.x qui ne peuvent gérer le mod_deflate (enfin, d'après ce que j'ai compris)...

RewriteEngine on
#Check to see if browser can accept gzip files. If so and we have it - serve it!
ReWriteCond %{HTTP:accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !Safari
#make sure there's no trailing .gz on the url
ReWriteCond %{REQUEST_FILENAME} !^.+\.gz$
#check to see if a .gz version of the file exists.
RewriteCond %{REQUEST_FILENAME}.gz -f
#All conditions met so add .gz to URL filename (invisibly)
RewriteRule ^(.+) $1.gz [QSA,L]
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_keep_workfiles No
mod_gzip_can_negotiate Yes
mod_gzip_add_header_count Yes
mod_gzip_send_vary Yes
mod_gzip_command_version '/mod_gzip_status'
mod_gzip_min_http 1000
mod_gzip_minimum_file_size 300
mod_gzip_maximum_file_size 512000
mod_gzip_maximum_inmem_size 60000
mod_gzip_handle_methods GET POST
mod_gzip_temp_dir /tmp
mod_gzip_item_include file \.html$
mod_gzip_item_include file \.php$
mod_gzip_item_include file \.pl$
mod_gzip_item_include file \.rb$
mod_gzip_item_include file \.py$
mod_gzip_item_include file \.cgi$
mod_gzip_item_include file \.css$
mod_gzip_item_include file \.js$
mod_gzip_item_include mime ^application/javascript$
mod_gzip_item_include mime ^application/x-javascript$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^httpd/unix-directory$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include handler ^server-status$
mod_gzip_item_include handler ^server-info$
mod_gzip_item_include handler ^application/x-httpd-php
mod_gzip_item_exclude mime ^image/.*
</IfModule>

Testez la compression de votre site

En plus des outils connus de Firefox comme Yslow et Firebug, voici deux petits sites pour tester votre compression :

Cache et headers

Expire headers

Le Expire header est un atout de taille. Il permet d'indiquer que certains types de fichiers peuvent rester en cache dans le navigateur du visiteur pendant une durée déterminée, sans que le navigateur n'ait besoin de faire des requêtes pour vérifier la validité du cache. Vous allez donc diminuer drastiquement le nombre de requêtes de votre site.

# BEGIN Expire headers
<IfModule mod_expires.c>
 ExpiresActive On
 ExpiresDefault "access plus 7200 seconds"
 ExpiresByType image/jpg "access plus 2592000 seconds"
 ExpiresByType image/jpeg "access plus 2592000 seconds"
 ExpiresByType image/png "access plus 2592000 seconds"
 ExpiresByType image/gif "access plus 2592000 seconds"
 AddType image/x-icon .ico
 ExpiresByType image/ico "access plus 2592000 seconds"
 ExpiresByType image/icon "access plus 2592000 seconds"
 ExpiresByType image/x-icon "access plus 2592000 seconds"
 ExpiresByType text/css "access plus 2592000 seconds"
 ExpiresByType text/javascript "access plus 2592000 seconds"
 ExpiresByType text/html "access plus 7200 seconds"
 ExpiresByType application/xhtml+xml "access plus 7200 seconds"
 ExpiresByType application/javascript A259200
 ExpiresByType application/x-javascript "access plus 2592000 seconds"
 ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
</IfModule>
# END Expire headers

Inutile de vous acharner si vos outils indiquent que les expire headers ne sont pas appliqués sur tous les fichiers. Si comme moi vous utilisez le système publicitaire d'Adsense, vous ne pourrez rien y faire...

Cache-control

Le cache control est un complément de l'expire headers, en fonction du serveur que vous avez ou du navigateur utilisé par vos visiteurs. Là aussi, on va déterminer une durée de cache par type de fichier :

# BEGIN Cache-Control Headers
<IfModule mod_headers.c>
 <FilesMatch "\\.(ico|jpe?g|png|gif|swf|css|gz)$">
 Header set Cache-Control "max-age=2592000, public"
 </FilesMatch>
 <FilesMatch "\\.(js)$">
 Header set Cache-Control "max-age=2592000, private"
 </FilesMatch>
<filesMatch "\\.(html|htm)$">
Header set Cache-Control "max-age=7200, public"
</filesMatch>
# Disable caching for scripts and other dynamic files
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>
# END Cache-Control Headers

Les fichiers dynamiques ne sont pas, ou très peu mis en cache (html, php, cgi, ...), tandis que le reste est mis en cache pour une longue durée.

La différence entre une cache-control public et private réside dans les proxys. Le paramètre public indique que la mise en cache est pour tout le monde, tandis que private indique que les proxys n'ont pas l'autorisation de mettre en cache.

Le Etag

Ce code permet de désactiver les etags, et donc de réduire encore le nombre de requêtes et votre bande passante utilisée.

Un etag permet de différencier deux versions d'un document ou d'un fichier. Cet Etag est transmis entre votre ordinateur et le serveur lors des requêtes HTTP. Son but est de vérifier si le document a été modifié. Si le fichier est identique, le navigateur utilisera son cache. Mais lors de chaque requête, les informations etags vont être transmises inutilement, surtout si vous avez déjà configuré comme indiqué le reste de votre fichier htaccess.

De plus, sur les serveurs apache, l'identifiant est basé sur la date de dernière modification. Mais si le site est géré par un cluster de plusieurs serveurs, on aura parfois un identifiant différent alors que le fichier n'a jamais été modifié, le tout à cause du etag... (voir sources plus bas)

# KILL THEM ETAGS
Header unset ETag
FileETag none

Et voilà, vous êtes débarrassé une bonne fois pour toute de ces fameux etags.

Sécurité

Protection du fichier htAccess

Nous allons maintenant sécuriser l'accès au fichier htaccess via ce code:

# protect the htaccess file
<files .htaccess>
order allow,deny
deny from all
</files>

Profitez-en pour faire un CHMOD 644 de votre fichier htaccess pour le sécuriser au maximum (vous donnerez ainsi les droits en écriture uniquement à l'admin serveur).

Protection de la lecture des répertoires

Pour éviter que vos visiteurs ne puisse consulter les répertoires qui ne contiennent pas de fichier index, utilisez ce code :

# protection de la lecture des répertoires
 Options -Indexes

Le code Htaccess complet

Et donc le rendu final est :

# MOD_DEFLATE COMPRESSION
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
#Pour les navigateurs incompatibles
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
#ne pas mettre en cache si ces fichiers le sont déjà
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
#les proxies doivent donner le bon contenu
Header append Vary User-Agent env=!dont-vary

# BEGIN Expire headers
<IfModule mod_expires.c>
 ExpiresActive On
 ExpiresDefault "access plus 7200 seconds"
 ExpiresByType image/jpg "access plus 2592000 seconds"
 ExpiresByType image/jpeg "access plus 2592000 seconds"
 ExpiresByType image/png "access plus 2592000 seconds"
 ExpiresByType image/gif "access plus 2592000 seconds"
 AddType image/x-icon .ico
 ExpiresByType image/ico "access plus 2592000 seconds"
 ExpiresByType image/icon "access plus 2592000 seconds"
 ExpiresByType image/x-icon "access plus 2592000 seconds"
 ExpiresByType text/css "access plus 2592000 seconds"
 ExpiresByType text/javascript "access plus 2592000 seconds"
 ExpiresByType text/html "access plus 7200 seconds"
 ExpiresByType application/xhtml+xml "access plus 7200 seconds"
 ExpiresByType application/javascript A259200
 ExpiresByType application/x-javascript "access plus 2592000 seconds"
 ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
</IfModule>
# END Expire headers

# BEGIN Cache-Control Headers
<IfModule mod_headers.c>
 <FilesMatch "\\.(ico|jpe?g|png|gif|swf|gz|ttf)$">
 Header set Cache-Control "max-age=2592000, public"
 </FilesMatch>
 <FilesMatch "\\.(css)$">
 Header set Cache-Control "max-age=2592000, public"
 </FilesMatch>
 <FilesMatch "\\.(js)$">
 Header set Cache-Control "max-age=2592000, private"
 </FilesMatch>
<filesMatch "\\.(html|htm)$">
Header set Cache-Control "max-age=7200, public"
</filesMatch>
# Disable caching for scripts and other dynamic files
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>
# END Cache-Control Headers

# KILL THEM ETAGS
Header unset ETag
FileETag none

# protect wpconfig.php
<files wp-config.php>
order allow,deny
deny from all
</files>

# protect the htaccess file
<files .htaccess>
order allow,deny
deny from all
</files>

# protection de la lecture des répertoires
Options -Indexes

En ce qui concerne mes sources, je ne les ai pas toutes retrouvées... Mon htaccess a évolué au fur et à mesure des mois, et chaque bout de code a été pris à droite à gauche. Dès que je les retrouve toutes, je vous fais signe.

Et si mon htaccess contient des erreurs ou s'il peut être amélioré, dites-le moi (car ce n'est pas vraiment mon domaine d'expertise...).

Article mis à jour le 29 Juin 2010 :

  • Ajout des expires headers pour les favicons
  • Grosse amélioration de Mod_Deflate Compression (merci à RenardDuDezert)
  • Ajout de la protection de la lecture des répertoires (merci à Geal)
Publicité SeoMix
Les thèmes relatifs

Voici les thématiques abordées par Htaccess : performances et temps de chargement:

91 commentaires sur Htaccess : performances et temps de chargement

  1. Jonathan Petitcolas
    2 messages

    Jonathan Petitcolas - Le 17 juin 2010 à 10 h 55 min

    Excellent article ! Va falloir que je teste tout ça. Merci beaucoup ! :)

  2. Geal
    5 messages

    Geal - Le 17 juin 2010 à 13 h 14 min

    Normalement, la partie « protection du fichier htaccess » est deja presente dans le fichier /etc/apache2/apache2.conf:

    Order allow,deny
    Deny from all

    Ce qui empeche aussi la consultation par le navigateur du fichier .htpasswd

  3. Robin
    3 messages

    Robin - Le 17 juin 2010 à 13 h 15 min

    Article très intéressant surtout la partie dédié aux Etags que je ne connaissaient pas du tout.

  4. Renardudezert
    6 messages

    Renardudezert - Le 17 juin 2010 à 14 h 20 min

    Tu peux ajouter les lignes juste apres ta directive :

    AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php

    (a tester bien sur suivant le type d’hebergement).

    Sinon pour info, le listing de repertoire n’a pas de rapport avec la protection du .htaccess.

    Le Listing de rep sur un serveur apache est du a l’option « Indexes » qui est activee par defaut sur les serveurs apache. Si tu veux empecher le listing de repertoire sur ton site, il te suffit d’ajouter au debut de ton .htaccess :
    Options -Indexes

    Si je trouve un peu de temps je vais essayer d’ecrire un billet pour demystifier un peu la configuration d’Apache, et donner quelques astuces pour optimiser/proteger son VirtualHost.

  5. Gpenverne
    1 message

    Gpenverne - Le 17 juin 2010 à 14 h 45 min

    De même ^ J’ai appris des choses. Merci :)

  6. 6 messages

    Julien R - Le 17 juin 2010 à 17 h 33 min

    je pense que tu as un problème d’optimisation avec tes commentaires. Supprime donc les favicon, résoud ton problème d’url d’avatar par defaut qui se duplique, combine tes js et meme insert le dans ton code html si ils sont dynamique, un sous-domain pour les fichiers statics avec le keep alive d’activer et desactiver pour les pages, etc…
    regarde : http://www.webpagetest.org/result/100617_4FK/
    Tu peux encore en faire des optim ;)

    sinon pour revenir sur les Etag, le désactivé sur une page dynamique n’est pas un bonne idée. Par contre pour tous tes fichiers statics tu vas en effet gagner. Le top c’est d’avoir un autre nom de domaine pour ceux ci et la tu configureras ton htaccess pour des fichiers statics.

  7. IBuzzyou
    5 messages

    IBuzzyou - Le 17 juin 2010 à 21 h 33 min

    Excellent récapitulatif pour optimiser son temps de chargement (maintenant un critere de Google), j’avais déjà quasiment tout appliqué sur mes sites mais pas au mieux, merci pour les Expires Headers, E-Tags et les cache control, je n’avais pas correctement configuré la durée, maintenant faut mettre à jour l’ensemble des sites..

  8. Daniel Roch
    449 messages

    Daniel Roch - Le 17 juin 2010 à 21 h 37 min

    Merci encore Renarddudezert. Je teste ça et je met à jour l’article :)

    @Julien : je sais, j’ai vraiment pas mal de boulot. Pour les favicon, il faut que je trouve le moyen de les mettre en cache. Pour le CDN avec le sous-domaine, c’est dans les projets. :)

    Par contre, j’ai pas trop compris ce que tu entend par url d’avatar par defaut qui se duplique, idem pour le keepalive.

  9. 6 messages

    Julien R - Le 18 juin 2010 à 0 h 53 min

    Je t’invite a regarder les images de ta page via l’outil que je t’ai proposé : http://www.webpagetest.org/pageimages.php?test=100617_4FK&run=1&cached=
    on y constate tout de suite les images dupliquées :)

    Pour le keep alive, ca sert a faire durée une connexion, le top si tu veux que ton site réponde vite, c’est de ne pas avoir de keep alive sur ton domain principal (tes pages donc) et d’en avoir un sur ton sous-domain qui fournie le contenu static. L’interet est de répondre le plus vite possible a une requete sur ta page, après le chargement de celle-ci c’est le sous-domain qui gere.

  10. Daniel Roch
    449 messages

    Daniel Roch - Le 18 juin 2010 à 12 h 56 min

    @Julien R : effectivement, j’ai encore beaucoup de boulot sur mon thème. L’outil est vraiment puissant (presque mieux que GTMetrix ou Yslow). Il ne me reste plus qu’à m’y mettre…

    @Geal : donc je supprime les lignes suivantes, ou je les supprime ?

    Order allow,deny
    Deny from all

    @renarddudezert : tout est mis en place. Je vais attendre deux-trois jours avant de mettre à jour l’article, au cas où cela ne fonctionne plus pour certains visiteurs ^^.

    Au fait, j’ai lu ailleurs que je devais aussi ajouter ces lignes pour Internet explorer. C’est utile ?

    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
    BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

    Ainsi que cette ligne pour les proxys:

    Header append Vary User-Agent env=!dont-vary

    Sinon, petite question à tous (qui avez l’air de bien vous y connaître). Je n’arrive pas à appliquer de expireheader à mon favicon. J’ai essayé plusieurs types de ExpiresByType, mais sans succès…

  11. Geal
    5 messages

    Geal - Le 18 juin 2010 à 14 h 33 min

    Bin tu regardes le fichier apache2.conf, et tu verifies si les fichiers ht* sont inaccessibles pour l’utilisateur

  12. Maxime
    3 messages

    Maxime - Le 18 juin 2010 à 18 h 26 min

    Exécuter toutes les bonnes pratiques de cette article, c’est s’assurer un bon score Yslow ;-)
    Quand j’ai mis en place ces techniques sur mon site, j’ai été étonné de voir que la plupart des sites ne sont pas optimisés. C’est pourtant de petites choses en petites choses que l’on améliore performances et expérience utilisateur.

  13. CédricADW
    2 messages

    CédricADW - Le 20 juin 2010 à 10 h 45 min

    Voilà un article très complet sur le .htaccess

    Je l’ajoute dans ma revue de Web ;)

  14. 2 messages

    leelooz - Le 22 juin 2010 à 15 h 27 min

    Très intéressant comme article.
    Mais que se passe-t-il par ex. si je modifie un des fichiers .css pour modifier le design ou .js pour ajouter une fonctionnalité (ou une image c’est pareil) ?
    « Expire Header » indique qu’il est en cache pour 30 jours et le Etag est coupé donc le visiteur n’aura pas la dernière version avant longtemps ?

  15. Daniel Roch
    449 messages

    Daniel Roch - Le 22 juin 2010 à 17 h 32 min

    Il y a deux solutions :

    - Soit tu change l’url de ton thème (auquel cas il va devoir tout recharger)
    - Soit tu indiques un identifiant de version, du type *.css1 (mais je n’ai jamais testé cette technique…).

  16. 2 messages

    leelooz - Le 22 juin 2010 à 19 h 51 min

    Ouais, la solution semble être de renommer le nom du fichier que l’on souhaite modifier afin qu’il soit bien pris en compte sans attendre 1 mois.

    Sinon, je pensais à un truc: par défaut les navigateurs gèrent déjà un cache des fichiers composants un site, donc à moins de vider le cache on re-télécharge pas les fichiers/image chaque fois de toute façon ?
    les seules choses qui doivent rester comme « communication » avec le serveur sont les « Etag » pour savoir s’il doit ou non re-télécharger les fichiers

  17. Daniel Roch
    449 messages

    Daniel Roch - Le 22 juin 2010 à 21 h 25 min

    Ce n’est totalement vrai que pour les images.

    En général, il va télécharger de nouveaux les fichiers générés à partir de php, les javascript et autres pubs gérées en javascript.

    Et s’il ne le fait pas, le reste de cet htaccess va compresser les données.

    Un exemple : le nouveau javascript de mon thème pèse normalement 120ko, mais plus que 45ko après compression. ;)

  18. 2 messages

    jeans - Le 26 juin 2010 à 13 h 10 min

    Merci, super article très utile!
    Grâce à toi j’ai rajouté Expire Headers et Etags. Article qui tombe au bon moment puisque Google annonce prendre encore plus en compte (dans un futur proche) le temps de chargement de nos sites.
    Je n’ai pas envie de mauvaise surprise à cause de quelques sec de chargement.
    Encore merci!!

  19. 1 message

    Guillaume - Le 22 juillet 2010 à 12 h 19 min

    Excellent article !

    J’ai passé de nombreuses heures pour réussir à configurer la compression GZIP pour mon site sans réussite puis je suis tombé par chance sur ton article qui a enfin apporté une solution fonctionnelle à tous mes problèmes.

    Merci, tout fonctionne, c’est génial !

  20. 1 message

    Lionel78 - Le 10 août 2010 à 11 h 37 min

    Merci pour cet article, Yslow m’indiquait que mon site n’avait pas de compression Gzip, avec les liens donnés dans l’article, je m’aperçois que la compression fonctionne déjà correctement.
    Il ne me reste plus qu’à tester les différentes options, j’espère gagner sensiblement en temps de chargement !

  21. Cédric
    20 messages

    Cédric - Le 17 août 2010 à 16 h 08 min

    Super article !

    Je ne trouvais pas comment désactiver les Etags, et j’utilisais un truc bien plus simpliste pour le reste (du coup mon site photo affiche un score entre 91 et 97/100 sur YSlow ^_^)

    Sur certains mutualisés il faut par contre demander au support d’activer des fonctionnalités (cas des hébergements Premium chez PHPNET par exemple ; sur leur mutu « normal » tout fonctionne sans aucun soucis)

  22. Lashon
    6 messages

    Lashon - Le 29 août 2010 à 16 h 31 min

    Oui, presque complet ton htaccess. Il manque les lignes essentielles de configurations propres à passer en php5 : http://lashon.fr/wordpress/si-plantage-verifier-forcer-hebergeur-vers-php5-code-htaccess/

    Perso j’ai déjà configuré tout ça chez moi sauf les expire headers parce que je modifie encore trop souvent mon thème, ce qui pose un problème. Certain que le cache et l’expiration font gagner encore en optimisation.
    Faire gaffe avant d’utiliser le MOD_DEFLATE COMPRESSION, cela dépend de l’hébergeur, comment celui-ci interprète Apache. Chez 1and1 par exemple, pas question de l’utiliser. Il faut alors passer par un fonction php dans son thème.

    Puis question hors sujet: je m’aperçois que tu as interdit de voir les blogs des commentateurs de ton Web. C’est un peu à sens-unique et pas très interactif comme démarche…

  23. Daniel Roch
    449 messages

    Daniel Roch - Le 30 août 2010 à 9 h 03 min

    @Lashon : merci pour ces précisions pour le mod_deflate compression. Tu utilises quoi comme alternative php quand tu ne peux pas l’utiliser ?

    En ce qui concerne le blogs des commentateurs, je modère beaucoup. Il faut que le blog soit pertinent vis-à-vis des thèmes de SeoMix ou de l’article. Donc pas mal de liens sautent (car le nombre de spammeurs SEO est impressionnant).
    Et souvent, c’est un lien par commentaire, donc soit le site, soit un lien publié dans le commentaire.

  24. Lashon
    6 messages

    Lashon - Le 30 août 2010 à 11 h 41 min

    Daniel,
    Pour les commentaires je ne parle pas de modération, la modération est normale et ton droit le plus strict (je modère aussi sur mon blog). Je parle du simple fait qu’aucun lien dans le nom de l’auteur qui commente ne soit accessible. Tu fais une grosse bourde car c’est plutôt anti web interactif, pas le jeu du blogging actuel. Le sens unique, tu sais, ça va éloigner beaucoup de tes visiteurs. Enfin tu fais comme tu veux.

    Pour ta question de mod_deflate en php, il suffit de mettre en haut de son header : < ?php ob_start("ob_gzhandler");?>

    encore faut-il aussi jouer avec le php.ini, mais c’est une autre histoire

  25. Daniel Roch
    449 messages

    Daniel Roch - Le 30 août 2010 à 18 h 55 min

    @Lashon : merci pour le bout de code php.

    Et pour les sites, je ne met que les sites pertinents (adieux sites de casinon, sur les chiens et chats ou sur la cuisine), et ceux où le commentaire tient en plus d’une ligne… je ferais un article sur la question pour mieux en discuter. ;)

  26. 1 message

    zonedevie - Le 13 septembre 2010 à 9 h 31 min

    Très bon article. merci pour toutes ces infos :-)
    j’ai pas mal galérer pour trouver l’info sur l’expiration des images !

  27. 7 messages

    Philippe Cadu - Le 25 septembre 2010 à 10 h 52 min

    Un grand merci pour cet article , moi qui ne suit pas expert,
    - j’ai mis en place progressivement les modifications du Htaccess ,
    - avec l’article sur le meilleur plug in de cache , j’ai ajouté DB Cache Reloaded à wp super cache
    - avec l’article sur les plug-in à éviter j’en ai supprimer deux ou trois , il n’y a que WP-Cumulus que je garde même si ce n’est pas le top , il est bien plus esthétique que l’horrible nuage de mots clefs .
    J’en ai essayé un autre en HTML5 aussi lourd a chargé et fait tourné les processeurs à 60%. (Si vous connaissez un qui efficace et esthétique , je suis preneur)
    – Temps de chargement, Temps de réponse serveur, Vitesse, j’ai tout contrôlé avec YSlow
    Donc résultat temps d’accès au serveur divisé par deux , temps de chargement divisé par deux .
    En page d’accueil, j’ai diminué le nombre d’articles et installé le plug-in WP-PageNavi et la aussi vitesse d’affichage bien plus rapide
    Résultats : les visites et le nombre de page en augmentation de 50 % en moyenne suivant l’actualité .

    Donc je me répète, un grand merci pour les détails et explications fournies qui permettent à un non-expert Worpress de mettre en application des techniques pointues.
    Voilà , je tenais à faire part de mes résultats et de mes encouragements à continuer.

  28. 1 message

    parierenfrance - Le 28 septembre 2010 à 20 h 09 min

    Cet article est excellent et m’a bien aidé. Après avoir passé un bon moment à réduire mon page speed pour des clopinettes, grâce aux implémentations proposées mon site est passé de 76 à 100/100 sur l’outil Page Speed de Google.
    Un bémol : Header append Vary User-Agent env=!dont-vary me fait planter le chargement de la page.
    Merci

  29. 7 messages

    Pierre Aulagne - Le 22 octobre 2010 à 10 h 40 min

    salut

    sur mon site, aveec yslow, je n’ai que des A hormis sur :
    - Compress components with gzip : F
    - add expire headers : F
    - Use a Content Delivery Network (CDN) : F
    - Make fewer HTTP requests : F

    C’est un site sous WP 301 avec le theme Atahualpa chez OVH perso (je débute)

    Me conseillez-vous de tester le remplacement pur et simple de mon fichier htaccess par le vôtre SVP ? (je ferai une sauvegarde du mien promis !)

  30. Daniel Roch
    449 messages

    Daniel Roch - Le 22 octobre 2010 à 21 h 05 min

    Toujours faire une sauvegarde avant, mais oui, je te conseille de tester chaque élément de mon fichier htaccess pour accélérer ton site.

  31. 2 messages

    Dakine - Le 8 novembre 2010 à 23 h 10 min

    Oh parfait! merci beaucoup ca à répond a 90% de mes questions concernant l’optimisation de ma boutique.

    Il en reste une de taille… Sxiste t-il une application capable de faire le ménage dans un fichier .CSS ? Car le miens à subit beaucoup de modifications, le site aussi, finalement pleins de choses y sont à présent complètement inutiles.

  32. Daniel Roch
    449 messages

    Daniel Roch - Le 9 novembre 2010 à 10 h 34 min

    Il faut chercher une application « minify » pour css (Google is your friend).

  33. DJib's
    17 messages

    DJib's - Le 9 novembre 2010 à 20 h 11 min

    Chez l’hébergeur 1&& la compression Gzip n’est pas possible par le .htaccess, il font donc créer un fichier php.ini et mettre le code ci-dessous. Ensuite il faut le mettre à la racine du site.L’outil yslow vous indiquera que qu’il n’y pas de compression Gzip, mais en veraifant sur le site http://www.gidnetwork.com/tools/gzip-test.php , vous verrez qu’elle y est bien (5 pour la compression est le bon compromis).

    zlib.output_compression = On
    zlib.output_compression_level = 5
  34. Daniel Roch
    449 messages

    Daniel Roch - Le 10 novembre 2010 à 9 h 25 min

    Excellent. Merci beaucoup pour ton code Djib’s !

  35. 11 messages

    billboc - Le 20 décembre 2010 à 18 h 17 min

    bonjour,

    y a t-il un risque que les modifications que j’apporte à un fichier n’apparaissent pas tout de suite avec ces reglages ?

    merci

  36. Daniel Roch
    449 messages

    Daniel Roch - Le 20 décembre 2010 à 22 h 09 min

    @Billboc : si tu modifiez le fichier htaccess, les modifications sont immédiates. Soit cela fonctionne tout de suite, soit cela plante l’accès à ton site (mais un accès FTP permet de revenir immédiatement en arrière en cas de soucis)

  37. 11 messages

    Billboc - Le 21 décembre 2010 à 8 h 49 min

    Bonjour Daniel,

    merci pour ta réponse. En fait ma question n’était correcte.
    J’ai pas bien compris le fonctionnement des header et cache control.
    Si je fais un changement sur mon blog est-ce que le navigateur va rester sur la version qu’il a en cache ? ou va t-il vérifier qu’il n’y en a pas une nouvelle ?

    merci encore une fois pour le beau boulot que tu fais !!

  38. Daniel Roch
    449 messages

    Daniel Roch - Le 21 décembre 2010 à 11 h 08 min

    Oui, le navigateur va garder le cache. Le moyen le plus simple de contourner le problème est de renommer le répertoire de ton thème, ce qui va forcer le navigateur à tout remettre en cache.

  39. 11 messages

    billboc - Le 7 janvier 2011 à 10 h 30 min

    salut je viens de mettre un blog privée en ligne
    tout fonctionne bien de chez moi
    mais les autres membres ne peuvent se connecter en utilisant pourtant les mots de passe qui fonctionnent chez moi ??

    est-ce que les astuces citées ci-dessus que j’utilise sur mon blog peuvent être à l’origine de ce problème ?

    merci pour ton aide

  40. Daniel Roch
    449 messages

    Daniel Roch - Le 7 janvier 2011 à 12 h 29 min

    @Billboc : normalement, aucun impact. Mais pour t’en assurer, il suffit de remettre le fichier htaccess initial.

  41. 1 message

    Limonade - Le 20 janvier 2011 à 22 h 07 min

    Bonsoir, vraiment excellent cet article!
    Je connaisser déjà le Gzip.
    Je rechercher des infos pour désactiver les Etags et aussi
    gestion du cache en Php.
    Je viens de mettre en pratique, ça marche Nikel.
    Merci! :)

  42. 3 messages

    chevrolat - Le 10 février 2011 à 11 h 51 min

    Bonjour,

    J’ai un site qui présente des photos modifiées régulièrement. Elles sont toutes dans le rep : img.
    comment puis-je enlever seulement ce répertoire de la gestion de l’expiration et du cache control du reste du site ?

    Merci encore par la clarté de ce tuto !
    sylvain.

  43. 6 messages

    Julien R - Le 10 février 2011 à 14 h 03 min

    @chevrolat
    tu dois le gerer via apache => DirectoryMatch pour selectionner ton repertoire et après il faut synchroniser la date de derniere modification du fichier avec le header du cache du fichier « Last-Modified » (n’oublie pas de mettre un must-revalidate qui renvoie du 304 ^^ )

  44. 3 messages

    chevrolat - Le 10 février 2011 à 17 h 47 min

    Je crois avoir compris pour directoryMatch mais comment implémenter le header sur un fichier image ?
    faut-il passer par demande_img.php appelé dans la source de la balise html img
    où ce script modifiera le header avec la bonne valeur ‘last-modified’,
    ou y’a t’il un moyen plus ‘automatique’ ?
    merci.

  45. 6 messages

    julien R - Le 11 février 2011 à 9 h 21 min

    @chevrolat Utilise uniquement apache : mod_include pour recuperer le flastmod et mod_header

    Si ca peu aider, Jai trouve un (enorme) article sur htacces :
    http://www.askapache.com/htaccess/speed-up-sites-with-htaccess-caching.html

  46. 3 messages

    chevrolat - Le 11 février 2011 à 11 h 30 min

    Merci,
    je posterai si j’arrive à mes fins…

  47. 1 message

    Philippe - Le 24 février 2011 à 10 h 18 min

    Merci pour cet excellent article !

  48. 1 message

    gestion de crise - Le 27 avril 2011 à 20 h 20 min

    Excellent article pour optimiser la vitesse de son site. Merci beaucoup.

  49. 3 messages

    Julien S - Le 3 mai 2011 à 10 h 37 min

    Merci pour cette article !

    J’aurais juste deux questions :

    1/ Est-ce que cela ne comporte pas de risque de faire de la compression en Gzip ? Est-ce que l’alternative PHP / HTML passe en remplacement si la navigateur ne passe pas ?

    2/ Niveau Etag, est-ce qu’on a une estimation du gain de performance ? Ayant un contenu qui s’affiche de façon aléatoire sur mon site, j’ai peur que cela embrouille ma fonction…

  50. Daniel Roch
    449 messages

    Daniel Roch - Le 3 mai 2011 à 11 h 54 min

    @Julien : le fait de mettre en place la compression Gzip ne comporte pas de risque, puisque les données transmises seront toujours au format HTML (mais compressé). Il faut juste savoir si ton serveur le permet ou non.

    Concernant les etags, on gagne entre 0.5 et 1 seconde de temps de chargement sur les pages ayant beaucoup de contenu. Normalement, cela ne devrait avoir aucun impact sur tes fonctions aléatoires.

  51. 1 message

    Emmanuel - Le 5 mai 2011 à 23 h 31 min

    Hello, merci Daniel, cela fait un bon résumé des optimisations serveur à effectuer.
    J’ai appliqué cela. A voir maintenant que cela va produire. Encore merci. Manu

  52. 3 messages

    Julien S. - Le 8 mai 2011 à 18 h 39 min

    Ok merci pour tes réponses, je verrais bine à la longue si ça passe bien ^^

    Sinon, y’a aussi 2 lignes pas mal :

    ErrorDocument 403 /403.php
    ErrorDocument 404 /404.php

    Ca permet de personnaliser vos page 403 et 404 !

  53. 2 messages

    manu - Le 21 mai 2011 à 21 h 37 min

    Salut, j’ai mis tous le code dans mon htaccess pour mon site d’article qui est très lourd.le chargement des pages est plus rapide mais j’ai un gros soucie.
    Je crois que cela ne va pas avec Adsense (si c’est possible).
    Je l’avais toute la journée sur le site (le bout de code), résultat rien dans le rapport adsense. Je viens de l’enlever et déjà presque 200 affichage…
    Tu as déjà un problème similaire?

  54. Daniel Roch
    449 messages

    Daniel Roch - Le 22 mai 2011 à 9 h 19 min

    Bizarre. J’ai mis ce code dans mon htaccess et tout fonctionne, y compris mes publicités Adsense. Essaie en ajoutant bloc par bloc, pour savoir lequel pose problème. ;)

  55. 1 message

    cob51 - Le 28 mai 2011 à 9 h 25 min

    Des heures à ramer pour pouvoir compresser et optimiser le cache…et enfin je tombe sur le site qu’il me fallait ;-)

    Très bien expliqué, mais vu mon niveau je n’ai pas tout saisi,le principale est que ça fonctionne, seul bémol : page speed ne peut plus accéder pour une analyse des performances mais ça fonce d’enfer, c’est peu important

  56. 3 messages

    Arkanys - Le 9 juin 2011 à 0 h 52 min

    Bonjour,
    Merci pour tous ces bouts de codes pour le HTaccess. Cela m’enlève une bonne épine du pied car j’ai passé beaucoup de temps à tester des codes d’autres sites … et rien ne fonctionnait.
    Selon GTmetrix, la page d’accueil (de l’un de mes sites) est passée d’un temps de chargement de 2,09 s à 1,37 s … soit 35% de gains !!

  57. Sarbacanne
    4 messages

    Sarbacanne - Le 11 juillet 2011 à 10 h 09 min

    Question bête, si je bloque le hotlink de mes images (via htaccess), y aura-t-il un impact sur mon référencement? Je gère un site de photographie amateur, et mon site est beaucoup sollicité par Google Image et Facebook, d’où ma question. Quoiqu’il en soit, merci beaucoup pour cet article très complet qui m’aura bien servi! (les etags, je ne connaissais vraiment pas).

  58. Daniel Roch
    449 messages

    Daniel Roch - Le 11 juillet 2011 à 14 h 22 min

    Normalement, cela n’aura aucun impact en référencement, à condition que ton site fasse de jolies liens vers ces images (et donc avec une balise Alt)

  59. Sarbacanne
    4 messages

    Sarbacanne - Le 11 juillet 2011 à 15 h 13 min

    Merci beaucoup, je verrai à l’usage de toutes façons. Ce qui m’inquiète c’est qu’avec un balisage de ce type :

    href="http://www.monsite/photographies/photo_maxi.jpg" rel="nofollow"

    (La balise <a> vers l’image plus grande est pour fancybox)

    …et un blocage htaccess de ce type :

    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
    RewriteCond %{HTTP_REFERER} !^$
    RewriteRule .*\.(jpe?g|gif|bmp|png)$ <a href="http://monlien/image.gif" rel="nofollow">http://monlien/image.gif</a> [L]

    …sur Google image lorsque je clique sur une de mes photos, je suis redirigé vers une miniature crée par Google, et non vers l’image d’origine. Et pour ce qui est de facebook, l’image d’article n’apparait plus. Je pense qu’il va me falloir ajouter une liste d’exclusion.

    Pour en revenir aux performances du site après modification htaccess, l’actualisation de la page principale de mon site est désormais instantanée. YES!

  60. 1 message

    Yannick - Le 24 août 2011 à 18 h 48 min

    Bonjour,

    J’ai mis en place la mise en cache sauf:
    Header unset ETag
    FileETag none
    ces deux lignes font planter le serveur.

    Par contre http://pagespeed.googlelabs.com/ me dit toujours que je devrais exploiter la mise en cache du navigateur et me donne les urls avec à droite (délai d’expiration non spécifié).

    Je ne comprends pas. Si quelqu’un à une idée du problème…

    Merci d’avance

  61. 2 messages

    Henri666 - Le 1 septembre 2011 à 1 h 52 min

    Salut, je voudrais appliquer ce fichier htaccess sur mon site : http://www.cursus-droit.fr, une fois que je remplace le fichier, la page d’accueil s’affiche parfaitement sauf… que TOUTES mes autres pages, articles… renvoient des erreurs 404. quelqu’un pourrait m’aider ?

    PS:J’utilise wordpress et je suis chez easy-hebergement.

  62. Daniel Roch
    449 messages

    Daniel Roch - Le 1 septembre 2011 à 7 h 26 min

    L’un des blocs du htaccess doit être incompatible avec hébergeur. Il faut donc tester élément par élément pour savoir lequel pose problème.

  63. Bruno
    1 message

    Bruno - Le 1 septembre 2011 à 10 h 25 min

    Bonjour,
    Je suis sur blogspot et je voudrais savoir comment installer le fichier htaccess sur mon blog mais je ne sais pas comment faire.
    Pour le HTML pas de problèmes mais le PHP ne passe pas.
    Je vous remercie.
    Cordialement,
    velane19

  64. 2 messages

    Henri666 - Le 1 septembre 2011 à 20 h 09 min

    Salut Daniel,

    J’ai déjà testé, mais rien ne marche :(

    voici mon htacces d’origine :

    # BEGIN WordPress

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    # END WordPress

    Ou me conseilles-tu de mettre le code ?

  65. Daniel Roch
    449 messages

    Daniel Roch - Le 1 septembre 2011 à 20 h 46 min

    Normalement, ce code issu de WordPress doit être placé après ceux présents dans cet article.

  66. 1 message

    Alain - Le 7 septembre 2011 à 17 h 41 min

    Bonjour et bravo pour vos conseils
    Hier, j’ai mis en application toute la partie jusqu’à # KILL THEM ETAGS compris mais je pense qu’il y a un problème.
    L’optimisation a été mise dans le htaccess se trouvant à la racine du site.
    Dans un sous répertoire, j’ai un forum avec son propre htaccess non optimisé comme le précédent

    Depuis ce matin Google crawle mon forum avec des url de ce type :
    monsite.net/forums/forum-t463-p1

    alors que les bonnes adresses sont sous la forme :
    monsite.net/forums/forum-t463-p1,titre-du-message.html
    J’ai retiré l’optimisation du htaccess principal et Google reprend mes pages avec les bonnes adresses.
    Je pense donc qu’il y a un problème qui coupe les adresses avant la virgule.
    Avez-vous une idée
    Merci par avance

  67. Daniel Roch
    449 messages

    Daniel Roch - Le 8 septembre 2011 à 8 h 05 min

    Normalement, il n’y as pas de cause à effet entre mes optimisations du htaccess et ton problème d’URL. Il faudrait que tu regardes la documentation de ton forum pour savoir comment corriger le problème.

  68. C-Jay
    1 message

    C-Jay - Le 3 octobre 2011 à 12 h 51 min

    Merci pour cet article fort intéressant !
    Petite question :
    Est-il possible d’appliquer la règle ExpiresByType image/jpg « access plus 2592000 seconds » à l’ensemble des sous-dossier présents dans le répertoire /image ?

  69. Daniel Roch
    449 messages

    Daniel Roch - Le 3 octobre 2011 à 14 h 20 min

    Oui, on peut faire cela. Si je ne dis pas de bêtises, il suffit de placer un fichier htaccess dans le répertoire que l’on cible, en l’occurrence le répertoire image.

  70. C-Jay
    1 message

    C-Jay - Le 3 octobre 2011 à 14 h 59 min

    Exact ! Merci beaucoup.

  71. Jean-Michel DAIX
    2 messages

    Jean-Michel DAIX - Le 11 octobre 2011 à 10 h 47 min

    Il reste à gérer les fichiers externes tels que celui de Google Analytics sur lequel nous n’avons pas la main pour définir une date d’expiration. Il existe pour WordPress cette extension pour gérer le script GA.js en local mais il n’est pas compatible avec la version 3 : http://wordpress.org/extend/plugins/local-analytics/

    D’autres idées pour améliorer le chargement de ces fichiers externes ?

  72. blh
    5 messages

    blh - Le 4 novembre 2011 à 0 h 21 min

    Bonjour, (bonsoir selon)
    je lis avec un réel plaisir toutes vos recommandations cependant, elles sont souvent assez techniques et ne répondent qu’à certains WP.
    1)- faut-il ou non inclure deux systèmes de cache? Quant à celui du navigateur, quel doit-être sa valeur ?
    2)- il est souvent question d’avoir un sous domaine réservé aux images et vidéos; soit, mais comment établir le lien?
    3)- il existe un plugin wp pour le php.info qui ne donne pas partout les mêmes valeurs, par exemple les valeurs de la mémoire: quel est le procédé le moins mauvais ?
    4)- beaucoup de questions’réponses des commentateurs font que l’on a tendance à s’y perdre: serait-il possible de donner un exemple de blog wp sérieusement référencé ou chacun adapterait ses particularités, et où interviendraient des google analytic et autres plugins de ce genre?

    Je suis chez nuxit, en php5.2 sous serveur dédié et me promène avec une url de cette forme:
    http://www.blh-land.fr/wp, avec blh-land comme nom de domaine. Est-il possible de simplifier cette adresse dans la mesure où j’ai un autre blog se terminant en Wa ?
    Bravo évidemment pour cet article.

    remerciements.

  73. Daniel Roch
    449 messages

    Daniel Roch - Le 4 novembre 2011 à 9 h 31 min

    1- oui : il faut que le site Internet mette en cache les pages (comme WP-Super Cache pour WordPress), en complément du htaccess qui va mettre en cache sur le navigateur les données
    2- je ferais un tutoriel là dessus car c’est un peu plus complexe
    3- le mieux, c’est de passer uniquement par le fichier wp-config, et de demander à son hébergeur comment augmenter cette valeur.
    4- le mien ;)
    5- oui, le blog pourrait être situé à la racine sans répertoire. Regarde sur Google, il y a pas mal de tutos pour déplacer un blog WordPress

  74. 1 message

    Jean lou - Le 4 novembre 2011 à 17 h 49 min

    intéressant mais tout comme il y a un lien pour tester le gzip, existe-t-il un moyen de tester que les commandes etag fonctionnent? Sur ovh mutu par exemple, si j’ai la commande :

    ########## Begin – ETag Optimization
    ## Note: It may cause problems on your server and you may need to remove it
    FileETag MTime Size
    ########## End – ETag Optimization

    Comment vérifier que ça fonctionne normalement?

  75. Daniel Roch
    449 messages

    Daniel Roch - Le 5 novembre 2011 à 8 h 57 min

    Normalement, l’outil en ligne GTMetrix l’indique quand les etags sont mal configurés.

  76. blh
    5 messages

    blh - Le 6 novembre 2011 à 22 h 09 min

    Merci pour la réponse.
    J’ai un taux de compression de 23% et un temps d’accès au site de 0,6 à 0,7 sec: est-ce correct ?
    Les autre blocs du htaccess ont l’air de bien fonctionner.
    Seul problème maintenant est de comprendre et de régler tous les plugins que vous aviez donnez, SEO… Je navique avec une page en anglais et la même en traduction french ( merci Google), c’est loin d’être évident.

    La question qui se rattache à tous ces réglages est alors: quels sont les bons réglages? Le pire est que même en français, il faille un dico pour comprendre ce qui est écrit.
    Juste deux petites questions sur cet article:
    1)comment faire pour remplacer le pas beau du tout 404 par un truc plus sympa qui réinvite à revenir sur le site ?
    2)l’icône animée en début d’url du site n’apparaît plus, est-ce en raison du htaccess ?
    Merci une nouvelle fois.

  77. Daniel Roch
    449 messages

    Daniel Roch - Le 7 novembre 2011 à 7 h 13 min

    Pour ta première question, il existe pas mal de tutoriel ou de plugins pour faire cela : fais une recherche sur Google.

    Pour la seconde, normalement le htaccess ne devrait pas bloqué les icônes animés…

  78. blheblh
    5 messages

    blheblh - Le 7 novembre 2011 à 17 h 45 min

    effectivement, pour la seconde, tout est en ordre.
    je regarde aussi pour les 404
    :)

  79. Fab
    8 messages

    Fab - Le 24 novembre 2011 à 10 h 21 min

    Daniel,

    Quel code faut-il insérer dans ton .htaccess pour mettre en cache l’affichage des plugins comme wordpress popular post, wordpress polls ou encore g-lock ?

    Merci.

    Fabien

  80. Daniel Roch
    449 messages

    Daniel Roch - Le 24 novembre 2011 à 12 h 21 min

    @Fab : cela ne dépend pas du fichier htaccess, mais des plugins de cache.

  81. Fab - Olabonga
    8 messages

    Fab - Olabonga - Le 24 novembre 2011 à 14 h 18 min

    Justement pour les plugin de cache, j’ai repris ton étude et ait opté pour DB et super cache. Une idée ?

  82. Daniel Roch
    449 messages

    Daniel Roch - Le 24 novembre 2011 à 15 h 11 min

    Normalement, ils devraient être mis en cache : regarde sur les pages dédiées à ces plugins pour en savoir plus.

  83. 7 messages

    Phil - Le 27 novembre 2011 à 17 h 58 min

    Bonjour,

    compte tenu des évolutions sur le html5 et wordpress 3.3 qui arrive, est ce qu’il n’y aurait des changements à venir dans le fichier Htaccess .
    Je te pose la question suite à la lecture d’un article sur http://fr.html5boilerplate.com/

    Peux tu nous en dire plus ?

    au plaisir de te lire
    Phil

  84. Daniel Roch
    449 messages

    Daniel Roch - Le 28 novembre 2011 à 11 h 58 min

    Le fichier HtAcces de Html5 BoilerPlate est effectivement très bien conçu, mais il n’apporte des optimisations qui ne s’appliqueront que sur un petit nombre de sites. Quand j’aurais le temps, j’essaierai de faire un article complémentaire sur les éventuels ajouts à mettre en place.

  85. 4 messages

    thomas - Le 16 décembre 2011 à 16 h 02 min

    Bonjour , excellent htaccess.

    je viens de l’installer sur un serveur mutualisé ovh pour un site (wordpress). J’ai vérifié avec YSlow et celui ci m’indique toujours des pbs avec mes Expired Header :-/

    une idée du pb ?

    merci

  86. Daniel Roch
    449 messages

    Daniel Roch - Le 16 décembre 2011 à 16 h 54 min

    Est-ce que les expires headers concernent des fichiers présents ailleurs, comme le fichier des boutons Twitter, Google + ou des publicités Google Adsense) ?

  87. 4 messages

    thomas - Le 18 décembre 2011 à 9 h 27 min

    Sur 24 liens, 6 sont extérieurs (notamment : http://fonts.googleapis.com/css?family=Yanone+Kaffeesatz ) a mon site.

    Les autes font références aux PNG du theme utilisé

    une idée ?

  88. Daniel Roch
    449 messages

    Daniel Roch - Le 18 décembre 2011 à 17 h 20 min

    Pour les PNGs, c’est bizarre car le code donné ici devrait fonctionner. Pour les autres fichiers, c’est normal car ils ne sont pas sur le serveur, donc le htaccess ne peut agir dessus.

  89. 4 messages

    thomas - Le 18 décembre 2011 à 18 h 37 min

    oui j’avoue aussi ne pas comprendre. tout semble pourtant correct.

    impossible a corrigé. Peut etre cette option n’est pas utilisable sur un serveur mutualisé OVH.

  90. 4 messages

    thomas - Le 19 décembre 2011 à 10 h 14 min

    j’ai finalement trouvé la solution de cache control via ce site : http://www.askapache.com/optimize/speed-site-caching-cache-control.html

    Semble t il la syntax en seconde semblait ne pas fonctionner.

    Au cas ou ça peut aider.

  91. Benoist Rousseau
    3 messages

    Benoist Rousseau - Le 4 janvier 2012 à 0 h 04 min

    Merci Daniel pour cette précieuse aide. Mon site a gagné 5 points au speed test instantanément.

    Je vais suivre de près les mises à jour de ce post pour le html5 et les évolutions avec wordpress 3.x

Les commentaires sont fermés. Si vous voulez rajouter un élément important à la conversation, utilisez le formulaire de contact de SeoMix.

5 sites en parlent :
Par Seo Tour #2 | Seo Powa le 06/08/2010» Htaccess : performances et temps de chargement[...] Guide Htaccess: Performance et temps de chargement [...]
Par Boostez votre worpdress !!! le 28/07/2010» Htaccess : performances et temps de chargement[...] de commencer, je tiens à vous dire que cet article est un complement à celui de SeoMix : Guide Htaccess : performances et temps de chargement. Pensez d’abord à mettre en place ce fichier .htaccess qui va vous faire gagner énormément [...]
Par BlOg'X Office 60 : petit medley du Web | Autour du Web le 20/06/2010» Htaccess : performances et temps de chargement[...] Guide Htaccess : performances et temps de chargement [...]
Par tapemoi.com le 17/06/2010» Htaccess : performances et temps de chargementGuide Htaccess : performances et temps de chargement... Configurez au mieux le fichier htaccess de votre serveur apache pour en optimiser les performances, pour des sites plus rapide et une plus fiable consommation de bande passante...
Par www.fuzz.fr le 17/06/2010» Htaccess : performances et temps de chargementHtaccess : temps de chargement et vitesse... Le fichier htaccess est un outil précieux pour diminuer le temps de chargement de votre site. Découvrez le guide pour l'optimiser au mieux....

© 2010-2012 SeoMix : WordPress & Référencement
Propulsé par WordPress & Daniel Roch. Logo par Willy Bahuaud

Suivez-nous !

4046 abonnés - 111 articles - 2271 messages

Les tests en cours
Seo et emarketing
WordPress
Mes autres sites

SeoMix, par Daniel Roch sur WordPress - 87 rue du Châtelier 44400 Rezé - Me contacter par Email