Fichier Htaccess et redirection 301 : 3 codes à connaître

Le fichier htaccess est très utile en SEO. Primordial pour sécuriser son site internet, il est aussi indispensable de passer par le fichier htacess pour faire une redirection. Voici deux codes à intégrer absolument dans votre fichier htaccess lors de la création de votre site, ainsi qu’un autre à utiliser lors d’une migration vers un nom de domaine en https. Des codes incontournables pour améliorer votre SEO.

Comment créer le fichier htaccess ?

Avant de s’intéresser aux codes, voyons tout d’abord comment créer son fichier htaccess. Si vous utilisez un CMS tel que WordPress, ce fichier devrait normalement être créé de façon automatique. Vous pouvez le vérifier en vous rendant à la racine de votre site via un logiciel FTP, tel que FileZilla par exemple.

Sans CMS, il convient de créer le fichier htaccess à la main. Vous allez voir c’est très simple et rapide. Pour ce faire vous aurez besoin d’un simple éditeur de texte. Personnellement j’utilise le logiciel SublimeText mais pour pouvez aussi faire appel au légendaire bloc-notes de Windows.

creer fichier htaccess

Ouvrez donc un fichier vierge à l’aide de votre bloc-notes et nommez-le : .htaccess. Attention le point placé avant le terme est très important. Importez le fichier à la racine de votre site et le tour est joué !

2 exemples de redirection 301 avec le fichier htaccess

Si vous baignez dans l’univers du référencement naturel, vous aurez ou avez eu forcément affaire à une problématique de redirection. Le htaccess est le plus à même à y répondre. Voici 3 codes à utiliser absolument lors de la création ou de la migration d’un site web en https.

Avec ou sans les www : il faut choisir

Lors de la création de votre site, il faut savoir que votre nom de domaine sera accessible avec et sans les www. Mais si vos pages sont accessibles avec ces deux versions, Google considèrera que vous faites de la duplication de contenu et c’est très mauvais pour votre référencement naturel.

Cette erreur, je l’ai commise à mes débuts. Je ne comprenais pas pourquoi mon site n’était pas bien référencé. Après avoir recherché toutes ses pages indexées, je me suis rendu compte qu’il était accessible sous deux versions : www.romain-gouleau.com et romain-gouleau.com.

Pour pallier ce problème, il convient de faire une redirection dans le htaccess. Voici le code à intégrer :

# redirection 301 sans les www
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.romain-gouleau.com [NC]
RewriteRule (.*) https://www.romain-gouleau.com/$1 [QSA,R=301,L]

Bien entendu, à vous de remplacer l’url de mon site par le vôtre ;). Pour info, le texte apparaissant après le # est un commentaire. Libre à vous le conserver ou non, mais cela vous servira pour vous y retrouver dans votre fichier htaccess à l’avenir.

Une redirection avec htaccess pour éviter la duplication de sa page d’accueil

Pour indiquer la page d’accueil de votre site à Google, vous devez nommer le fichier concerné index.html ou index.php.

Une fois chose faite, vous pourrez vous rendre compte que votre page d’accueil est accessible en deux versions : www.romain-gouleau.com et www.romain-gouleau.com/index.php. Encore une fois, cela génère de la duplication de contenu. Il convient d’intégrer ce code pour y pallier :

# rediriger index vers nom de domaine
<IfModule mod_rewrite.c>
RewriteCond %{THE_REQUEST} (.*)index\.(php|htm|html)\ HTTP/
RewriteRule ^(.*)index\.(php|html|htm)$ $1 [R=301,NC,L]
</IfModule>

 

Dans ce code, rien à modifier, un petit copier-coller suffira ;).

Migrer vers https avec htaccess

Google a annoncé que les sites en htaccess seraient favorisés en 2017. Comme un vulgaire mouton, j’ai décidé de suivre la marche en migrant mon site de http à https.

Problème : les pages de mon site étaient bien sûr toutes indexées en http (l’ancienne version de mon site). Il fallait donc faire comprendre à Google que mes pages devaient désormais être indexées en https. Pour cela, un petit tour dans le htaccess pour une redirection 301 en 3 lignes :

# redirection 301 https
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

 

Et voilà votre site est désormais accessible seulement en https. Il faudra ensuite passer par la Search Console pour bien faire comprendre à Google que votre site a migré en version sécurisée. Mais ça c’est une autre histoire.

Avec ces trois codes adieu la duplication de contenu !