webleads-tracker

WordPress & Référencement naturel
Mes servicesWordPress - Référencement
Hébergement WordPress
Vous êtes ici : SeoMix » Web » Développement & ergonomie » 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 A2592000
 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)
Les thèmes relatifs

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

137 commentaires
  1. Jonathan Petitcolas
    2 messages

    Jonathan Petitcolas - Le 17 juin 2010, 10:55

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

  2. Geal
    9 messages

    Geal - Le 17 juin 2010, 13:14

    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:15

    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:20

    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:45

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

  6. Julien R
    6 messages

    Julien R - Le 17 juin 2010, 17:33

    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:33

    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
    726 messages

    Daniel Roch - Le 17 juin 2010, 21:37

    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. Julien R
    6 messages

    Julien R - Le 18 juin 2010, 00:53

    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
    726 messages

    Daniel Roch - Le 18 juin 2010, 12:56

    @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
    9 messages

    Geal - Le 18 juin 2010, 14:33

    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:26

    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:45

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

    Je l’ajoute dans ma revue de Web ;)

  14. leelooz
    2 messages

    leelooz - Le 22 juin 2010, 15:27

    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
    726 messages

    Daniel Roch - Le 22 juin 2010, 17:32

    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. leelooz
    2 messages

    leelooz - Le 22 juin 2010, 19:51

    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
    726 messages

    Daniel Roch - Le 22 juin 2010, 21:25

    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. jeans
    2 messages

    jeans - Le 26 juin 2010, 13:10

    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. Guillaume
    1 message

    Guillaume - Le 22 juillet 2010, 12:19

    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. Lionel78
    1 message

    Lionel78 - Le 10 août 2010, 11:37

    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:08

    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:31

    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
    726 messages

    Daniel Roch - Le 30 août 2010, 09:03

    @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:41

    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
    726 messages

    Daniel Roch - Le 30 août 2010, 18:55

    @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. zonedevie
    1 message

    zonedevie - Le 13 septembre 2010, 09:31

    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. Philippe Cadu
    7 messages

    Philippe Cadu - Le 25 septembre 2010, 10:52

    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. parierenfrance
    1 message

    parierenfrance - Le 28 septembre 2010, 20:09

    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. Pierre Aulagne
    7 messages

    Pierre Aulagne - Le 22 octobre 2010, 10:40

    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
    726 messages

    Daniel Roch - Le 22 octobre 2010, 21:05

    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. Dakine
    2 messages

    Dakine - Le 08 novembre 2010, 23:10

    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
    726 messages

    Daniel Roch - Le 09 novembre 2010, 10:34

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

  33. DJib's
    27 messages

    DJib's - Le 09 novembre 2010, 20:11

    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
    726 messages

    Daniel Roch - Le 10 novembre 2010, 09:25

    Excellent. Merci beaucoup pour ton code Djib’s !

  35. billboc
    11 messages

    billboc - Le 20 décembre 2010, 18:17

    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
    726 messages

    Daniel Roch - Le 20 décembre 2010, 22:09

    @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. Billboc
    11 messages

    Billboc - Le 21 décembre 2010, 08:49

    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
    726 messages

    Daniel Roch - Le 21 décembre 2010, 11:08

    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. billboc
    11 messages

    billboc - Le 07 janvier 2011, 10:30

    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
    726 messages

    Daniel Roch - Le 07 janvier 2011, 12:29

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

  41. Limonade
    1 message

    Limonade - Le 20 janvier 2011, 22:07

    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. chevrolat
    4 messages

    chevrolat - Le 10 février 2011, 11:51

    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. Julien R
    6 messages

    Julien R - Le 10 février 2011, 14:03

    @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. chevrolat
    4 messages

    chevrolat - Le 10 février 2011, 17:47

    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. julien R
    6 messages

    julien R - Le 11 février 2011, 09:21

    @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. chevrolat
    4 messages

    chevrolat - Le 11 février 2011, 11:30

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

  47. Philippe
    1 message

    Philippe - Le 24 février 2011, 10:18

    Merci pour cet excellent article !

  48. gestion de crise
    1 message

    gestion de crise - Le 27 avril 2011, 20:20

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

  49. Julien S
    4 messages

    Julien S - Le 03 mai 2011, 10:37

    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
    726 messages

    Daniel Roch - Le 03 mai 2011, 11:54

    @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. Emmanuel
    1 message

    Emmanuel - Le 05 mai 2011, 23:31

    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. Julien S.
    4 messages

    Julien S. - Le 08 mai 2011, 18:39

    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. manu
    2 messages

    manu - Le 21 mai 2011, 21:37

    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
    726 messages

    Daniel Roch - Le 22 mai 2011, 09:19

    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. cob51
    1 message

    cob51 - Le 28 mai 2011, 09:25

    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. Arkanys
    3 messages

    Arkanys - Le 09 juin 2011, 00:52

    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:09

    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
    726 messages

    Daniel Roch - Le 11 juillet 2011, 14:22

    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:13

    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)$ http://monlien/image.gif [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. Yannick
    1 message

    Yannick - Le 24 août 2011, 18:48

    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. Henri666
    2 messages

    Henri666 - Le 01 septembre 2011, 01:52

    Salut, je voudrais appliquer ce fichier htaccess sur mon site : 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
    726 messages

    Daniel Roch - Le 01 septembre 2011, 07:26

    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 01 septembre 2011, 10:25

    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. Henri666
    2 messages

    Henri666 - Le 01 septembre 2011, 20:09

    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
    726 messages

    Daniel Roch - Le 01 septembre 2011, 20:46

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

  66. Alain
    1 message

    Alain - Le 07 septembre 2011, 17:41

    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
    726 messages

    Daniel Roch - Le 08 septembre 2011, 08:05

    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 03 octobre 2011, 12:51

    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
    726 messages

    Daniel Roch - Le 03 octobre 2011, 14:20

    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 03 octobre 2011, 14:59

    Exact ! Merci beaucoup.

  71. Jean-Michel DAIX
    3 messages

    Jean-Michel DAIX - Le 11 octobre 2011, 10:47

    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 04 novembre 2011, 00:21

    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:
    , 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
    726 messages

    Daniel Roch - Le 04 novembre 2011, 09:31

    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. Jean lou
    1 message

    Jean lou - Le 04 novembre 2011, 17:49

    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
    726 messages

    Daniel Roch - Le 05 novembre 2011, 08:57

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

  76. blh
    5 messages

    blh - Le 06 novembre 2011, 22:09

    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
    726 messages

    Daniel Roch - Le 07 novembre 2011, 07:13

    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 07 novembre 2011, 17:45

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

  79. Fab
    8 messages

    Fab - Le 24 novembre 2011, 10:21

    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
    726 messages

    Daniel Roch - Le 24 novembre 2011, 12:21

    @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:18

    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
    726 messages

    Daniel Roch - Le 24 novembre 2011, 15:11

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

  83. Phil
    7 messages

    Phil - Le 27 novembre 2011, 17:58

    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
    726 messages

    Daniel Roch - Le 28 novembre 2011, 11:58

    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. thomas
    4 messages

    thomas - Le 16 décembre 2011, 16:02

    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
    726 messages

    Daniel Roch - Le 16 décembre 2011, 16:54

    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. thomas
    4 messages

    thomas - Le 18 décembre 2011, 09:27

    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
    726 messages

    Daniel Roch - Le 18 décembre 2011, 17:20

    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. thomas
    4 messages

    thomas - Le 18 décembre 2011, 18:37

    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. thomas
    4 messages

    thomas - Le 19 décembre 2011, 10:14

    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 04 janvier 2012, 00:04

    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

  92. Julien
    1 message

    Julien - Le 18 février 2012, 20:50

    Merci, je recherchais pour les Expire headers

  93. Nabil
    1 message

    Nabil - Le 15 avril 2012, 03:23

    Bonjour,

    Tout d’abord, merci pour cet article, il est effectivement de très grande utilité.

    Je l’ai utilisé pour mon site http://nadorpresse.com qui tourne sous Joomla v2.5.*

    Cependant le problème qui se pose actuellement, puisqu’il s’agit d’un portail d’actualités, concerne la mise à jour du site lors de la mise en ligne de nouveau articles.

    Je remarque suite à l’ajour d’un nouvel article qu’il n’est pas visible immédiatement, ce qui pose un énorme problème.

    Sachant que le plugin système du cache est activé, en plus des lignes rajoutées au fichier .htaccess, j’avoue que je ne sais plus ce qui empêche la mise à jour immédiate des nouveaux articles, est-ce le système de cache ou les lignes ajoutées au .htaccess…

    J’utilise toutes les lignes proposées dans cet article.

    Merci pour votre assistance.

  94. Daniel Roch
    726 messages

    Daniel Roch - Le 15 avril 2012, 14:39

    @Nabil : faites d’abord un essai sans les optimisations du fichier htaccess afin de voir si c’est cela qui pose problème.

  95. Oscar
    2 messages

    Oscar - Le 17 avril 2012, 21:52

    Bonjour Daniel,
    Je suis entrain d’optimiser la vitesse de sites sous WP et suis tombé sur plusieurs de tes articles bien utiles.
    Pour le htaccess ci-dessus que j’utilise sur un sous-domaine cdn pour les ressources statiques est-ce vraiment utile d’ajouter le CacheControl si tu as déjà précisé le Expires ?
    Voir ce lien :
    http://gtmetrix.com/leverage-browser-caching.html

    « It is important to specify one of Expires or Cache-Control max-age, and one of Last-Modified or ETag, for all cacheable resources. It is redundant to specify both Expires and Cache-Control: max-age, or to specify both Last-Modified and ETag. »

    Merci
    @+, Oscar

  96. Daniel Roch
    726 messages

    Daniel Roch - Le 18 avril 2012, 09:09

    @Oscar : effectivement, cela peut être redondant. A l’époque, je n’avais pas eu de remontée d’info comme quoi il est inutile de préciser des directives qui auraient la même finalité.

  97. Lisa
    1 message

    Lisa - Le 22 avril 2012, 02:57

    Salut Daniel. Merci pour cet excellent article. J’ai bien mis en place le code Etags et expire header mais je ne vois aucune différence sous GtMetrix… J’ai toujours F en expire header et 78 (C) pour les Etags. Voici mon code :

    SetEnv PHP_VER 5
    DirectoryIndex index.php

    order allow,deny
    deny from all

    # BEGIN WordPress
    //xxx
    # END WordPress

    # BEGIN Expire headers
     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"
    # END Expire headers
    ####################
    Header unset ETag
    FileETag None

  98. Daniel Roch
    726 messages

    Daniel Roch - Le 23 avril 2012, 11:14

    @Lisa : aurais-tu l’adresse de ton site pour voir d’où peut provenir le problème ?

  99. Frédérique
    1 message

    Frédérique - Le 23 avril 2012, 12:01

    Bonjour,
    Je suis contente de voir que cette discussion est toujours active car j’ai le même soucis que Lisa. Cela fait pas mal de temps que j’essaie d’optimiser mon site grâce au htaccess (www.sestrea.fr). J’ai réussi à régler pas mal de problème grâce à vos astuces mais j’ai tjrs des mauvaises notes sur les expiration dates des header et sur la compressions.
    Mon site est hébergé par 1&1, j’ai donc utilisé la solution donnée plus haut pour la compression : créé php.ini à la racine de mon site afin de gérer la compression mais GIDnetwork ne voit tjrs pas le résultat.
    Est-il possible que des header dans les sources php écrasent les règles du .htaccess ?
    Merci d’avance de votre aide :)

    PS : je n’ai pas produit le code source du site que je récupère pour optimisation et je ne suis pas wed-developper malheureusement :/

  100. Sylvain
    4 messages

    Sylvain - Le 26 avril 2012, 13:18

    Hello à tous,

    Voilà ce que je viens de trouver dans mon htaccess :

    # BEGIN WPSuperCache
    RewriteEngine On
    RewriteBase /
    #If you serve pages from behind a proxy you may want to change 'RewriteCond %{HTTPS} on' to something more sensible
    RewriteCond %{REQUEST_URI} !^.*[^/]$
    RewriteCond %{REQUEST_URI} !^.*//.*$
    ...

    Merci SUPER CACHE ! :P
    Aurais-tu une idée Daniel de la façon dont ce code s’est retrouvé là ?

  101. Daniel Roch
    726 messages

    Daniel Roch - Le 26 avril 2012, 19:11

    C’est le plugin qui l’ajoute pour pouvoir fonctionner. Rien de grave donc à retrouver des codes Htaccess propres au plugin WP Super Cache.

  102. Sylvain
    4 messages

    Sylvain - Le 27 avril 2012, 09:58

    Désolé pour le long bout de code ^^ Pour expliquer plus en profondeur, j’ai fait il y a quelques mois un audit de sécurité de mon site et j’ai appris qu’il y avait un trojan JS-redirector qui avait pour effet de rediriger les visiteurs sur un autre site. J’ai localisé le code malicieux qui se trouvait dans le fichier functions.php et l’ai supprimé, mais chaque fois il revenait au bout de 2 ou 3 jours. Il a fallu une update du thème pour que le problème ne revienne plus.

    J’ai quand même changé les mots de passe ftp, BDD et admin par mesure de sécurité.

    Jusqu’à la semaine dernière où je reçois ce message de Google Webmasters Tools qui m’annonce que quelques pages de mon site contiennent un code malicieux.

    Or, je ne trouve aucun code malicieux dans les fichiers du thème. Je précise que mon WordPress est à jour.

    D’où mon message précédent : j’ai mis le plugin wp-supercache en cause car cette alerte est survenue juste après que je l’aie réactivé (je l’avais désactivé quelques semaines auparavant le temps de régler le problème).

    Effectivement j’ai analysé les lignes de code un peu rapidement. Je savais que le plugin ajoutait des lignes au fichier .htaccess, mais j’ai pensé à tort que les lignes avec les appareils mobiles ressemblaient aux lignes de code que je supprimais dans mon functions.php à l’époque où il était infecté. Ça doit être sans doute du aux fichiers de cache que je n’avais pas du effacer convenablement.
    Cela me ramène donc au point de départ :/ Merci pour ton aide !

  103. Nico
    2 messages

    Nico - Le 14 juin 2012, 23:18

    Bonjour Daniel, petite question, est il possible de cumuler les techniques ci dessus et le plugin wp cache ou cela n’est pas trop conseille voir meme inutile. Merci par avance

  104. Daniel Roch
    726 messages

    Daniel Roch - Le 15 juin 2012, 09:18

    Oui, aucun soucis à ce niveau là. C’est même recommandé. ;)

  105. NIco
    2 messages

    NIco - Le 15 juin 2012, 10:30

    Ok, super, merci daniel. Juste autre chose, j’ai trouvé ce plugin de compression, WP PHP Speedy est ce que tu crois que cela vaut le coup de l’utiliser ? Merci

    EDIT @daniel, je viens de m apercevoir, en regardant les entetes, que le site wordpress sur lequel je travaille, est sur un serveur Windows, en asp. Est ce que tout ce qui est au-dessus fonctionne aussi pour ce genre de serveur ? Et autre chose, est ce que cela fonctionne aussi sur un site wordpress multisite ? Merci ;)

  106. Philippe
    2 messages

    Philippe - Le 15 juin 2012, 13:34

    Bonjour, depuis que j’ai mis en place ce code dans mon htaccess, j’ai remarqué (d’après google analytics) que les utilisateurs de FIREFOX ont des temps de chargement extrêmement longs (en moyenne 12s) alors que les autres tournent à moins de 2s. C’est surtout vrai avec la version 12.

    Sinon dans la ligne données, il n’y aurait pas un \ de trop?

  107. Daniel Roch
    726 messages

    Daniel Roch - Le 15 juin 2012, 16:06

    @Nico : cela peut valoir le coup. Je ne connais pas ce plugin donc il faudra tester. Et concernant le type de serveur, cela n’aura normalement pas d’incidence.

    @Philippe : bizarre, car tu es le seul à avoir eu ce problème. As-tu essayé d’enlever le code pour voir si cela venait de là ?

  108. Philippe
    2 messages

    Philippe - Le 15 juin 2012, 16:20

    Il y a 3 jours je n’avais pas ce code et Google analytics m’indiquait environ 3s pour charger la page avec Firefox et depuis lorsque je regarde heure par heure je descends rarement sous les 6 secondes.

  109. Daniel Roch
    726 messages

    Daniel Roch - Le 15 juin 2012, 16:43

    @Philippe : dans cas, essayez de désactiver le code entier pour voir si cela vient de là. Si oui, alors je vous invite à rajouter progressivement chaque bloc pour savoir lequel pourrait poser problème sur votre hébergement.

  110. vilto
    1 message

    vilto - Le 16 juillet 2012, 09:56

    Bonjour, merci pour cet article très intéressant. Je me suis empressé de modifier mon ht access en rajoutant ces lignes de codes en plus de celles préconisées par wp-supercache.

    Il apparait que les lignes concernant les Etags et le mode deflate fassent cracher mon site. tandis que le mod-Gzip a l’air de fonctionner. J’ai protégé mon ht access, est-ce pour cela que wp super-cache ne trouve aucune page mise en cache?

    Dernière statistiques de mise en cache générées il y a 2 minutes.
    WP-Cache (0KB)
    0 Pages Mises en Cache 0 Pages Expirées
    WP-Super-Cache (0KB)
    0 Pages Mises en Cache 0 Pages Expirées

    EDIT :J’ai effectué les modifications au htaccess, et pourtant voici ce que me dit pagespeed :

    There are 72 static components without a far-future expiration date. Pourtant je n’ai pas adsense. J’ai dut modifier manuellement mon htaccess même si celui-ci etait en 755. Peut être parce-que j’ai mis ces lignes de code avant l’installation des plugins :

    order allow,deny
    deny from all

    Merci pour votre aide

  111. Etienne
    4 messages

    Etienne - Le 02 août 2012, 11:22

    Je sais que l’article est vieux et tout et tout, que je vais surement le déterrer, mais je voulais juste te remercier pour toutes les explications.

    Des htaccess on va en trouver tout fait sur internet, mais on a aucune explication quant à leur fonctionnement. La partie qui m’interesse notamment c’est la partie ou l’on peut empecher l’utilisateur d’acceder à un dossier sans index (jusqu’à présent j’utilisais la technique de mettre un index.htm vide dans mes dossiers)

    Etienne

  112. JibsouX
    2 messages

    JibsouX - Le 11 février 2013, 19:52

    onjour un petit plus pour tout ceux qui ne peuvent pas mettre la compression gzip pas htaccess a cause de leur hébergeur :

    il suffit de rajouter dans le header.php
    Apres le premier »?php :

    ini_set('zlib.output_compression_level', 8);  ob_start("ob_gzhandler");

    détail :

    ini_set // Intitialisation

    ('zlib.output_compression_level', 8); // Level de compression de 1 a 9

    ob_start("ob_gzhandler"); // compression

  113. phil
    1 message

    phil - Le 06 mars 2013, 15:51

    Super cette optimisation !

    à ceci je rajouterais une protection contre les attaque des mauvais robots qui polluent nos serveurs (et donc les ralentissent)

    avec ceci :

    SetEnvIfNoCase User-Agent « ^libwww-perl* » block_bad_bots
    Deny from env=block_bad_bots

  114. Jeremy
    1 message

    Jeremy - Le 20 mars 2013, 01:22

    Bonjour,

    Tout d’abord bravo pour cette article, pour moi le meilleur pour optimiser son site wordpress via le .htaccess

    J’ai bien rentrer le code complet et j’ai bien gagner en % au niveau des tests GTmétrix.

    J’ai juste une question :

    Le code est sensé améliorer la note du « Add Expires headers »

    Hors moi c’est vraiment le point où la modification du .htaccess ne change rien, ma note est F

    Que dois je faire ? C’est vraiment le dernier point que je dois régler mais je n’ai rien trouvé à ce sujet.

    Merci et bonne continuation

  115. Daniel Roch
    726 messages

    Daniel Roch - Le 20 mars 2013, 14:13

    Malheureusement, l’ajout des règles dans le htaccess peut ne pas avoir d’impact pour les ressources externes. Par exemple, le simple fait d’utiliser adsense bloquera la note à F pour les Expires Headers.

  116. Neaj
    1 message

    Neaj - Le 07 mai 2013, 10:39

    Il me semble que la meilleure option pour améliorer les performances de son serveur web/ site (en terme d’utilisation ressource) est de ne pas utiliser de .htaccess. Les .htaccess modifient localement la configuration Apache2 à chaque connexion (visites). Plus il y a de visites, plus le nombre de reconfigurations locales va prendre des ressources. Il est plus judicieux d’utiliser toutes ces règles (qui sont très utiles ! =) ) directement dans la configuration Apache2 pour économiser pas mal de ressources serveur. Je suis en train de constater moi aussi une utilisation excessive de mes ressources sur le serveur par Apache2 qui peut être du à un grand nombre de .htaccess sur mes sites web.

  117. lulu
    2 messages

    lulu - Le 05 juin 2013, 18:04

    Bonjour,

    En accédant à mon ftp, je suis un peu perdu. J’ai un htaccess à la racine et un autre dans le dossier www.

    Lequel prendre ? Dois-je en supprimer un ?

    Merci d’avance,

  118. Daniel Roch
    726 messages

    Daniel Roch - Le 08 juin 2013, 14:21

    Celui dès la connexion ne vous servira pas : utilisez directement le htaccess situé dans le répertoire www.

  119. Aymeric
    3 messages

    Aymeric - Le 10 juin 2013, 13:42

    Hello, je retombe sur ton post et je me permets une petite correction (c’est toi qui a dit qu’on pouvait ;-) ) car il me semble qu’il manque un élément très important surtout quand on parle de performances Web: « Le htaccess est un fichier de configuration de votre serveur ».

    En fait, c’est une extension du fichier de configuration du serveur qui fournit une méthode pour modifier sa configuration au niveau des répertoires.

    D’ailleurs Apache déconseille l’utilisation de .htaccess quand cela est possible: « En principe, vous ne devriez utiliser les fichiers .htaccess que lorsque vous n’avez pas accès au fichier de configuration du serveur principal. » view-source: https://httpd.apache.org/docs/current/fr/howto/htaccess.html#when

    Pour chaque requête, l’ensemble des répertoires dans lequel se trouve le fichier appelé sur le serveur sont parcourus à la recherche d’un éventuel .htaccess pour en exécuter le contenu. Multiplié à l’ensemble des requêtes, cela peut s’avérer assez gourmand!

    Leur utilisation est utile uniquement lorsque la configuration du serveur n’est pas accessible, cas du serveur mutualisé par exemple.

    Mais si vous avez un serveur dédié, ne les utilisez surtout pas et passez la directive « AllowOverride » à None en plaçant vos règles dans la configuration (apache2.conf/httpd.conf ou vhosts) pour stopper la détection des .htaccess dans chaque répertoire pour l’ensemble des requêtes, vos performances n’en seront que meilleures!

    Plus d’infos ici: http://www.yapasdequoi.com/apache/2649-les-fichiers-htaccess-a-utiliser-avec-moderation.html

  120. Yvaninho
    2 messages

    Yvaninho - Le 14 juin 2013, 23:48

    Bonjour,

    mon blog wordpress n’est pas installé à la racine de mon serveur mais dans un dossier.

    Dois je avoir un fichier htaccess à la racine et dans le dossier d’installation de wordpress ?

    Force htaccess optimisé doit être installé à quel niveau ?

    Merci pour vos précisions

  121. Daniel Roch
    726 messages

    Daniel Roch - Le 17 juin 2013, 09:37

    Le htaccess s’applique pour le dossier et tous les sous-dossiers qu’il contient. Donc en le plaçant à la racine, il s’appliquera à la perfection sur le dossier d’installation de WordPress.

  122. Yvaninho
    2 messages

    Yvaninho - Le 17 juin 2013, 18:45

    Merci pour ta réponse. C’est ce que j’avais fait ;)

  123. Frank
    1 message

    Frank - Le 04 juillet 2013, 09:49

    Merci pour ton message du 17 juin 2013, je me posais la question étant donné que je n’utilise pas de CMS pour certains de mes sites mais je les codes moi même. Et je me retrouve des fois avec des dossiers et sous dossiers. Enfin, une horreur quoi…

    J’ai trouvé sur un autre site une autre façon d’écrire :
    ExpiresDefault « access plus 1 week »

    Au final, est-ce que ce n’est pas plus pratique que de sortir sa calculette pour transcrire les secondes ?

    Je précise que le HTACCESS et moi, ça fait 2.

  124. Patrick
    2 messages

    Patrick - Le 06 juillet 2013, 12:54

    Bonjour et merci pour cet article.

    J’utiise un CMS Prestashop sur un serveur dédié, mais avec un page speed de 35/40.

    Après la mise en pala ce de ton htaccess avec Expire, je suis passé à 61, net progrés.
    Par contre le ETAG me plante mon serveur avec une erreur 500, pas cool.
    Une dernière chose, si comme moi des personnes mettent EXPIRE dans le htaccès et que GG trouve qu’il n’y est pas, il faut rentrer en SSH sur son serveur et passer les commandes :
    a2enmod headers

    a2enmod expires

    Bon WE
    Patrick

  125. Mathieu
    3 messages

    Mathieu - Le 17 août 2013, 14:31

    Salut Daniel,

    Merci pour ces infos toujours intéressantes pour bien optimiser un WordPress, ce qui n’est pas toujours facile quand on n’est pas né dans un bain de code.

    Grâce à cet article et aux améliorations des commentateurs ci-dessus, je suis arrivé à bien étoffer mon fichier .htaccess avec des lignes que je n’avais pas pensé à ajouter. Mais j’aurai juste 3 questions :

    1 – Tout comme d’autres utilisateurs, le code Etags bloque mon blog avec une erreur 500. Y-a-t’il une solution ? Ne manque-t-il pas un code du type «  »? Ce serait dommage, car ce code a l’air de bien accélérer le chargement !

    2 – Quel est le meilleur temps à insérer pour le délai d’expiration des ressources ? Je vois que tu places certaines ressources en 7200 sec (0,8 j) et d’autres en 2.592.000 sec (30 j). Ne faudrait-il, comme le conseillent nombre d’outils, le placer en 604.800 sec (7 j) ?

    3 – A ce propos, je tiens juste à te signaler une toute petite erreur : la ligne applications/javascript, où tu utilises plutôt la forme « AXXXXX » pour le délai (p’tit code copié ? ;)) n’indique que 259.200 sec… je pense donc que tu as oublié un « 0″ dans la précipitation ;)

    Sinon, merci encore pour toutes ces bonnes infos qui font de SeoMix un des blogs WordPress les plus intéressants ! :)

  126. Florent
    1 message

    Florent - Le 07 novembre 2013, 14:45

    Bonjour,

    Je ne sais pas si la question a déjà été posée. Mais nous savons que côté « serveur/hébergeur » certaines optimisations peuvent être en place.

    Imaginons que je les ajoute tout de même en plus dans mon htaccess, cela risque de faire doublon et d’ajouter des traitements, donc une perte en efficacité ?

    Merci pour votre réponse.

  127. Daniel Roch
    726 messages

    Daniel Roch - Le 08 novembre 2013, 09:13

    @Florent : oui, les directives seront parcourues malgré tout pour chacune des requêtes afin d’écraser la configuration du serveur/vhost (allow override). Cela perd donc un peu en efficacité. (merci Aymeric pour la précision)

  128. Jack
    1 message

    Jack - Le 03 février 2014, 10:02

    Bonjour Daniel,

    1 – Votre code est toujours d’actualité aujourd’hui ? ( 2 février 2014 )

    2 – Faudrait-il remplacer tout le contenu du fichier .htaccess contenu dans le dossier d’installation de wordpress par votre code ici présent ou faut-il juste le rajouter à la suite du code existant ?

    3- Les différents suggestions et rectifications de certains commentateurs ont-ils été pris en compte au final dans votre code ? Si non , peut-on quand-même l’utiliser tel quel ?

    4 – Au cas où ce code ne marcherait pas pour x ou y raison, peut-on remettre en place l’ancien code (sauvegardé au préalable ) sans soucis ?

    Merci d’avance pour votre précision et un grand bravo pour cet excellent travail !

  129. djib's
    27 messages

    djib's - Le 03 février 2014, 15:22

    Salut,

    Il y a un soucis avec la compression gzip si on utilise un plugin de cache qui fait cette compression.

    Header set Cache-Control "max-age=2592000, public"

    Chrome sur Windows va garder en cache pendant cette durée la page principale du site et ne va jamais la mettre à jour, même si on publie un nouvel article.

    il faudra supprimer manuellemnt le cache.

    Sur les autres navigateurs il n’y pas de probleme.

  130. Daniel Roch
    726 messages

    Daniel Roch - Le 06 février 2014, 08:43

    @Jack : le code est toujours d’actualité, et les suggestions des commentaires sont prises en compte.
    Par contre, il ne faut remplacer le contenu du votre, car en fonction de ce qui s’y trouve, certains éléments peuvent être utiles/inutiles voir entrer en conflit les uns avec les autres. Il faut donc tester et faire une sauvegarde du fichier original au cas où.

  131. Pascal
    2 messages

    Pascal - Le 09 février 2014, 15:17

    Bonjour,

    Merci pour cet article.
    Pourquoi dans les filematch certaines expressions commence par un baclslash et d’autres par 2 ??

  132. Daniel Roch
    726 messages

    Daniel Roch - Le 11 février 2014, 15:32

    Effectivement, le double backslash ne servait à rien. C’est corrigé.

  133. Syvoun
    1 message

    Syvoun - Le 27 mai 2014, 23:30

    Les effets sur le chargement de la page sont-ils immédiat? Je m’explique, si je rajoute votre code htacess et que je vais dans gtmetrix, vais-je voir tout de suite un effet sur le temps de chargement? Ou bien cela se fait dans le temps? Sinon j’utilise le plugin W3 Total Cache avec les paramètres par défault pour mon blog sous wordpress? Dois-je le désactiver pour éviter les conflits ou votre code vient en supplément? Merci de votre aide.

  134. Daniel Roch
    726 messages

    Daniel Roch - Le 28 mai 2014, 07:28

    Les effets sont immédiats, et le code est théoriquement compatible et vient en complément de W3 Total Cache

  135. Cedric
    1 message

    Cedric - Le 29 mai 2014, 11:39

    Bonjour,
    Comment mettre des Expires pour des fichiers particuliers?

    J’ai mis des ExpiresByType mais bizarrement, d’après yslow ils ne semblent pas s’appliquer à certains fichiers particuliers comme:

    LeDiligentWebfonts.css (qui est dans le meme repertoire que htaccess) et

    LeDiligent_favico.png qui est dans un sous-répertoire

    Pourtant j ai bien des ExpiresByType pour css et png

  136. sam
    1 message

    sam - Le 01 août 2014, 00:29

    Bonjour, sur mon site, j’ai l’impression au vu des résultats sur GTmetrix qu’htaccess et plugin supercache ne font pas bon ménage. Je crois que c’est parce que les temps d’expiration spécifiés sont différents. J’avoue avoir pompé bêtement le htaccess… Cette théorie est-elle plausible ? Le htaccess permet-il de se passer du plugin de cache ? Merci de vos réponses ;-D

  137. Daniel Roch
    726 messages

    Daniel Roch - Le 01 août 2014, 12:06

    Il s’agit de deux choses différente, et théoriquement les deux vont très bien ensemble

» Commentez cet article !
(Merci de donner un vrai prénom)
(Ne sera jamais publié)
(Modèration subjective)
Html accepté <a> <i> <b> [codesyntax]CODE[/codesyntax]
» Prévisualisez votre message

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 et Daniel Roch. Logo créé par Willy-Bahuaud

Indispensable
WordPress
A propos de SeoMix
Mes servicesWordPress - Référencement
Suivez-nous !
  • 8873 abonnés
  • 197 articles
  • 4616 messages
Vous devriez lire
Seo et emarketing
Les amis
9cdbb8fd2522c96863ae39839241955aJJJJJJ