Commandes htaccess utiles pour la SEO et la vitesse

Voici quelques commandes très simples pour le htaccess pour vous permettre d’optimiser votre site pour le positionnement sur les moteurs de recherche ainsi que pour augmenter considérablement la vitesse de chargement des pages par la mise en cache browser (côté visiteur) des principaux éléments.

Les commandes htaccess pour la réécriture d’URL (redirection)

Attention: Faire une sauvegarde avant toute modification du fichier .htaccess: une fausse manipulation ou une incompatibilité pourrait provoquer une erreur 500 sur l’ensemble de votre site.

Voici les lignes à ajouter au fichier .htaccess pour rediriger votredomaine.fr vers www. votredomaine.fr:

<IfModule mod_rewrite.c>
RewriteEngine On
###################### Pour la racine ###########################
RewriteBase /
###################### Pour URL originelle ######################
RewriteCond %{HTTP_HOST} ^nomducompte.votrehebergeur.net$ [OR]
RewriteCond %{HTTP_HOST} ^www.nomducompte.votrehebergeur.net$
RewriteRule ^/?$ "http\:\/\/www\.votredomaine\.fr" [R=301,L]
###################### Pour les www #############################
RewriteCond %{HTTP_HOST} ^votredomaine\.fr$ [NC]
RewriteRule ^(.*)$ http://www.votredomaine.fr/$1 [R=301,L]
</IfModule>

Modifications du .htaccess pour la sécurité

Voici quelques nouvelles lignes à ajouter à votre fichier .htaccess en racine pour contrer certaines tentatives de détournement par le biais des URLs de votre site:

########### Rewriting pour les attaques connues #####################
RewriteCond %{QUERY_STRING} \.\.\/ [NC,OR]
RewriteCond %{QUERY_STRING} boot\.ini [NC,OR]
RewriteCond %{QUERY_STRING} tag\= [NC,OR]
RewriteCond %{QUERY_STRING} ftp\: [NC,OR]
RewriteCond %{QUERY_STRING} http\: [NC,OR]
RewriteCond %{QUERY_STRING} https\: [NC,OR]
RewriteCond %{QUERY_STRING} (\|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} (\|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [NC,OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} ^(.*)cPath=http://(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^(.*)/self/(.*)$ [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(\[|\]|\(|\)|).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(execute|exec|sp_executesql|request|select|insert|union|declare|drop|delete|
create|alter|update|order|char|set|cast|convert|meta|script|truncate).* [NC]
## Suprimer le retour a la ligne ci-dessus (apres delete|) ###
RewriteRule ^(.*)$ - [F,L]

NB: Si vous êtes sous WordPress, BulletProof Security pourra faire ce travail à votre place (en bouchant certaines autres failles WordPress par la même occasion).

Optimisation de la vitesse de chargement du site par .htaccess

Voici quelques lignes de code à ajouter pour améliorer très fortement la vitesse de chargement de votre site par la mise en cache et la compression de fichiers. (Attention, si vous êtes sous Joomla, il vous faudra aussi modifier les headers renvoyés par le CMS qui par défaut interdit la mise en cache par browser (navigateur en français) ).

############## Compression Deflate ##################
<IfModule mod_deflate.c>
AddOutputFilter DEFLATE js css
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
</IfModule>
############## Compression Gzip ######################
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
#############Mise en cache browser ####################
#NB: Pour chacune le max-age est en seconde, libre a vous de le modifier
<IfModule mod_headers.c>
<FilesMatch "\\.(ico|jpe?g|png|gif|swf)$">
Header set Cache-Control "max-age=120960000, public"
</FilesMatch>
<FilesMatch "\\.(css)$">
Header set Cache-Control "max-age=120960000, public"
</FilesMatch>
<FilesMatch "\\.(js)$">
Header set Cache-Control "max-age=120960000, private"
</FilesMatch>
<FilesMatch "\\.(x?html?|php)$">
Header set Cache-Control "max-age=600, private, must-revalidate"
</FilesMatch>
</IfModule>

Voilà, maintenant vous devriez tout savoir sur le .htaccess et la réécriture d’URL. Je vous conseille vivement d’appliquer cette méthode pour la mise en cache car cela très fortement apprécié de Google et Bing mais aussi de vos visiteurs. Pour avoir procédé à ce changement sur un autre site, la différence est très visible dans les taux de conversion… Dommage de passer à côté !

Quelques astuces en plus sur le htaccess

Je viens de trouver un post de blog traitant de l’ensemble des astuces à connaitre pour bien configurer votre fichier .htaccess .

Le lien est ici

L’article est assez indigeste mais très riche en astuces pour répondre à un problème quelconque: ex Rediriger les visiteurs en provenance d’un domaine particulier …

 

3 Commentaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *