Aujourd’hui nous allons voir comment optimiser son fichier Htaccess sous wordpress. Je vous offre un fichier tout prêt à l’emploi en bas de page, à transférer sur votre FTP. Comme vous le savez, le temps de chargement est très important pour un site.
Fichier Htaccess ?
Le fichier Htaccess permet de communiquer avec son serveur, en lui indiquant quelques modifications à faire.
Par exemple, il y a peu, quand j’ai migré business-wordpress.com j’ai fait appel à une fonction pour indiquer à mon serveur de faire une redirection dite permanente vers cree1site.com
Maintenant nous allons voir comment optimiser le temps de chargement de votre installation wordpress, grâce à ce petit fichier.
Optimiser son Htaccess sous wordpress
Tout d’abord, allez chercher votre fichier htacess sur votre hébergement, et planquez une copie dans un coin au cas où.
Maintenant, nous allons voir les différentes étapes et les codes à y ajouter en fonction de celles ci.
Compression Gzip via Mod_Gzip
Mod_Gzip plus performant (car fonctionne avec apache 1.x qui lui n’est pas compatible en mod_deflate)
– Accélérer le temps de chargement de votre site
– Réduire la bande passante utilisée
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>
Mettre en Cache et optimisation headers
Expire headers
– Indique les types de fichiers qui peuvent rester en cache sur un navigateur sans que celui ci n’ait besoin de vérifier la validité du cache.
– Diminue les 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
Cache-control
Détermine la durée de la mise en Cache
# 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
Le Etag
Le eTag permet de dire à votre serveur qu’une page a été modifiée, mais ce n’est pas forcement nécessaire puisqu’on va demander au serveur de vérifier manuellement, on va donc réduire le nombre de requête et de bande passante.
# KILL THEM ETAGS
Header unset ETag
FileETag none
Il faut bien sûr protéger votre fichier htaccess, et pour ce faire, voici le code
# protect the htaccess file
<files .htaccess>
order allow,deny
deny from all
</files>
Protection de la lecture des répertoires
Évite que vos visiteurs consultent les fichiers qui ne contiennent pas de fichiers index (important pour éviter qu’un hacker trouve une faille.
# protection de la lecture des répertoires
Options -Indexes
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule># END WordPress
Pour télécharger votre fichier, cliquez ici
>> Fichier htaccess optimiser sous wordpress <<
Merci à seomix pour son partage.
Et vous, comment avez vous gagné en efficacité ?
Salut,
Je viens de l’appliquer, j’attends de voir d’ici quelque jours si ça joue sur mes perfs ou pas. En tout cas bon boulot, et c’est bien détaillé.
Par contre étant chez ovh, j’ai du rajouter cette ligne : SetEnv PHP_VER 5
Hello
Oui en effet les lignes sont génériques, bien tester avant et faire une sauvegarde du htaccess d’origine. Ce code viens de Seomix qui lui même l’a eu de… donc aucun soucis c’est une valeur sûre ^^
[…] Découvrez comment Optimiser son fichier Htaccess sous WordPress, je vous fourni le fichier complet, prêt à l'emploi. Cliquez ici. […]
[…] Découvrez comment Optimiser son fichier Htaccess sous WordPress, je vous fourni le fichier complet, prêt à l'emploi. Cliquez ici. […]
Sympa cet article, je l’ai justement relu sur SEO Mix ce matin
(Check ta balise title ^^)
C’est un peu pour ça que je l’ai cité en bas d’article et comme Daniel Roch le dis lui aussi:
« 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. . »
Mais je laisse ton lien optimisé quand même malgré ça ne t’en fais pas ^^
Hello, rien d ironique ds mon commentaire, désolé si tu l as pris comme ça. Daniel Roch a tweeté le sien ce matin et toi tu en as parlé dans ta newsletter qqes heures après. Je trouve vraiment l’article sympa!
Le principal c’est que ça t’a plu et j’espère que ça va t’aider pour ton site.
L’optimisation du htaccess est un point important dans l’optimisation d’un site.
Merci pour ces rappels !
Hello, merci pour cet article, par contre, en appliquant le fichier .htacess tel quel, j’ai un message error 500, y at’il une manip à faire avant d’utiliser ce fichier?
Merci d’avance.
Si tu tourne sous WordPress, vérifie que ton fichier contiens :
# BEGIN WordPress
…
…
…
…
# END WordPress
Bonjour,
est-il possible quand je tape -http://www.monsite.com/blog il m’affiche la page -http://www.monsite.com/ sans faire une redirection
merci
Oui c’est possible
Super ton rappel pour le .htaccess
Par contre, gare au copier/coller pour les habitués car les guillemets posent alors problème. <> au lieu de » »
Je relance le sujet car très intéressant pour tout blogueur.
J’ai une configuration un peu spécial sur mon blog qui me fait me poser des questions… du coup peut-être pourras-tu me répondre Rodrigue.
WordPress n’est pas installé à la racine de mon blog, mais dans un dossier wp/
Du coup j’ai un premier htaccess à la racine puis un second dans le dossiers wp/
Quel fichier dois-je optimisé ? Le 1er, le 2nd ou tout simplement les deux ?
Merci d’avance
Bjr
je trouve cela super ce site, un lien donné par une autre personne, mais comme je suis une grande débutante, est ce que je peux simplement copié l’un à la suite de l’autre ce qui est ecrit où dois je avant faire autre choses, je n’y connais rien j’ai même pas les bases pour capter en réalité ce qu’est un fichier de genre, j’ai une tres vague idée mais sans plus
En fait je me suis permise de laisser ce commentaire car j’arrive pas à comprendre pourquoi dans ce fichier j’ai 20 fois ces lignes
# END WordPress
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
De plus j’ai installé total cache puis je mettre ce fichier à la racine sans probleme ???
merci pour la réponse
Si tu débutes total cache est peut être un peu lourd à prendre en main, utilises plutôt fastest cache, très simple a configurer et tout aussi efficace :).
j’ai mis en liens un article sur les plugins wordpress encore une fois si tu débutes ça pourrais t’aider.