Fiches pratiques

04 Jan
Fiches pratiques
par Anne Lise
04 Jan
Fiches pratiques
par Anne Lise

Fiche pratique SEO : le .htaccess

Il n’est jamais trop tard pour acquérir les bases du SEO. Notre mission en 2017 ? Vous faire aimer le référencement grâce à nos fiches pratiques !

Nom étrange s’il en est, il n’est pas rare que votre référenceur vous parle du fichier .htaccess . S’il est préférable de maîtriser un socle technique pour gérer le référencement d’un site, la connaissance du .htaccess en constitue l’une des bases, juste après la maîtrise du code. Sans être un fichier propre au SEO, le .htaccess permet cependant de gérer plusieurs problématiques relatives au référencement naturel.

Le .ht quoi ?

Pour faire simple (nos amis développeurs, nous pardonnerons) le fichier .htaccess est un fichier qui permet d’indiquer des commandes à un serveur Apache sur lequel sont stockés des fichiers, comme un site internet, par exemple. C’est lui qui permet, par exemple, de protéger une page avec un mot de passe. Placé dans un répertoire, il agit sur tous les sous-répertoires contenus par celui-ci. C’est pourquoi, pour un site internet, on le place généralement à la racine du site afin qu’il agisse sur tous les répertoires du site. Il peut y en avoir plusieurs lorsque l’on souhaite agir spécifiquement sur un ou plusieurs répertoires.

Ses usages sont multiples mais parmi toutes les utilisations possibles certaines peuvent être très utiles à la gestion de problématiques SEO, comme:

 

(Cet article est divisé en chapitres pour faciliter votre lecture. Vous pouvez soit tout lire, soit cliquer sur le chapitre qui vous intéresse ci-dessus).

Le .htaccess pour les réécritures d’url.

Parfois votre système de gestion identifie vos pages avec un numéro ou encore votre url propose des paramètres, si bien que vous vous retrouvez avec une url du trype : http://www.votredomaine.com/page.php?id=52 mais vous souhaiteriez que votre url ait la forme http://www.votredomaine.com/page-52.php.

Le .htaccess va vous permettre de régler cela en 2 temps :

  • – Indiquer au serveur que l’on autorise la réécriture d’url
  • – Executer une règle de réécriture

 

Cela ne vous demandera que 3 lignes :

Options +FollowSymlinks
RewriteEngine on (ces 2 1ères lignes autorisent la réécriture)
RewriteRule ^(.*)-([0-9]+)\.php$ /$1.php?id=$2 [L] (la règle de réécriture)

Un peu barbare, on en convient, mais une fois que l’on maîtrise la base des expressions régulières, il est possible de créer de nombreuses règles très utiles. Pour en savoir plus, il existe de nombreux sites pour apprendre facilement à créer des règles avec les expressions régulières comme ici. Mais retenez déjà ces éléments et leurs significations :

  1. 1. les () permettent de créer un groupe
  2. 2. les . <=> « n’importe quel caractère »
  3. 3. les * <=> « supprime ou répète le caractère précédent une ou plusieurs fois »
  4. 4. [0-9] <=> « n’importe quel chiffre entre 0 et 9 »
  5. 5. le + <=> « répète le caractère précédent une ou plusieurs fois »
  6. 6. $1 / $2 / $3 <=> permettent de récupérer le contenus des groupes (entre parenthèses)
  7. 7. ^ <=> début d’une chaîne de caractère
  8. 8. \ <=> retire l’attribution d’un caractère : devant un . il permet d’indiquer que le . est juste un . et non un élément de la règle.
  9. 9. $ <=> fin d’une chaîne de caractères

 

Dans notre cas de réécriture d’url, ces règles vous ont permis de réécrire votre url. Mais attention, si vous vous arrêtez là, les 2 urls vont cohabiter. Il vous faudra donc faire une règle de redirection afin d’éviter le contenu dupliqué.

Redirection qui se gère sur quel fichier ? Et oui votre .htaccess aussi!

.htaccess et redirections.

Savoir faire une redirection sur un .htaccess est un incontournable.

Pour réussir une redirection, il va falloir indiquer au serveur 3 éléments :

  • – L’ordre de Redirection;
  • – l’url de la page à rediriger;
  • – l’url de la page de destination de la redirection.

 

Ainsi, si je veux rediriger une page vers une autre de façon permanente (redirection 301), voici à quoi  va ressembler ma ligne de code :

RedirectPermanent /seo/ancienne-page-seo.html http://www.domaine.com/seo-new/nouvelle-page-seo.html

Et encore une fois, il suffit d’indiquer les bons paramètres pour avoir la bonne redirection :

Un domaine vers un autre domaine

RedirectPermanent / http://www.votre-nouveau-domaine.com/

Ou un répertoire vers un nouveau répertoire

RedirectPermanent /seo http://www.domaine.com/seo-new

Si votre redirection est temporaire il faudra mettre :

Redirect 302 / http://www.votre-nouveau-domaine.com/ 

Et comme nous l’avons vu avec la réécriture d’url, en plus des redirections simples pour faciliter le travail et gagner du temps, il est possible d’exécuter des règles de redirections grâce aux expressions régulières. Ainsi, pour nos urls avec paramètres réécrites, nous pouvons mettre en place une règle de redirection afin d’éviter de générer du contenu dupliqué :

RewriteRule ^(.*)\.php\?id=([0-9]+)$ http://votre-domaine.com$1-$2.php [R=301,L]

Cette fois on utilise RewriteRule pour indiquer qu’il s’agit d’une règle et on indique ensuite que les urls se terminant par /.php/? »un chiffre entre 0 et 9 pouvant être répété plusieurs fois » doivent être redirigées de façon permanente (code 301) vers les urls se terminant par « le contenu équivalent à la suite de caractères évoquée dans l’url précédente« .php

Des 404 personnalisées.

Lorsqu’un internaute recherche une page qui renvoie un code erreur 404 (page inexistante), vous pouvez faire en sorte d’afficher une page personnalisée afin de ne pas perdre vos visiteurs. Le .htaccess vous permet de réaliser cela très facilement. Il vous suffit de :

  • – Créer une page 404 avec des liens vers vos pages principales + un contact pour optimiser les visites sur cette page : http://www.votre-domaine.com/404.html .
  • – Indiquer via le .htaccess que c’est cette page qui doit apparaître quand le code 404 est envoyé en réponse à la requête grâce à une ligne de code :

 

ErrorDocument 404 /404.html

Et cela fonctionne pour tous les codes d’erreurs !

La gestion de l’indexation de vos contenus.

Parmi les directives intéressantes en termes SEO, le .htaccess peut vous permettre de mettre en place des règles pour gérer l’indexation de vos contenus.

Comment ? En indiquant au serveur que l’on souhaite indiquer telle en-tête robots tag dans le header pour telle page ou tel type de contenus.

Un exemple simple : vous ne souhaitez pas que l’une de vos pages soit indexée, il vous suffit d’indiquer :

<Files votre-page.html>
Header set X-Robots-Tag "noindex, nofollow"
</Files>

Comme vous pouvez le voir sur cet exemple, vous choisissez votre directive robots comme pour une balise html. Vous pouvez opter aussi pour une directive noindex, follow, si vos liens peuvent être suivis par les robots des moteurs de recherche.

Autre exemple, vous souhaitez qu’un ensemble de fichiers ne soit pas indexé. Vous avez un catalogue produits en ligne et vous proposez le téléchargement des fiches produits en pdf avec le même contenu que vos pages produits. Une bonne raison de vouloir désindexer vos pdf et pour cela il vous faudra ajouter à votre .htaccess :

<FilesMatch "\.pdf$">
Header set X-Robots-Tag "noindex, nofollow"
</Files>

Utile pour indiquer de très nombreuses directives à un serveur Apache, le .htaccess est donc indispensable dès lors que l’on souhaite maîtriser au mieux les contenus d’un site stocké sur ce type de serveur, dans une perspective SEO. Les utilisations sont nombreuses et nous vous avons montré ici qu’une petite part des possibilités. Il peut par exemple aussi vous aider à gérer les performances de votre site, mais pour une première approche, vous avez déjà ici les éléments de base pour appréhender votre fichier .htaccess.

 

• Publié dans Fiches pratiques •

À propos de Anne Lise

Chef de projet, a fait du SEO, de l’éditorial web et de la veille ses spécialités. @barbie_geekette veille au quotidien sur l’actu du web.