Apprendre .htaccess : Désindexation Web

Le fichier .htaccess permet de déclarer des règles d'indexation au niveau du site web ou d'un répertoire spécifique.

Icône de calendrier
Avancé
7 chapitres

Pourquoi désindexer des pages web ?

Il y a plusieurs raisons justifiant le souhait d’empêcher l’indexation des pages d’un site web :

  • On accède au site par lien direct (type intranet)
  • Le site possède des pages d’administration privées
  • Certaines pages du site ne présentent pas de grand intérêt
  • Certaines pages sont pauvres en contenu et pourraient nuire au SEO (Cf. algorithme Panda de Google)
  • Certaines pages contiennent des contenus dupliqués (Cf. algorithme Panda de Google)
  • Ne pas indexer un certain type de fichier (PDF…)
  • Etc.

Désindexer un fichier via HTML

Pour désindexer une page web, on utilise la balise HTML <meta> :

index.html
copié !
<meta name="robots" content="noindex">

Si cette balise s’avère très efficace, elle présente 2 inconvénients majeurs :

  1. Pour désindexer un répertoire complet, il faudrait l’ajouter sur l’ensemble des pages HTML du dossier.
  2. Elle ne rend pas possible la désindexation de certains types de fichiers : .pdf, .jpg, etc.

Désindexation multiple via .htaccess

Module headers

Il est possible de désindexer plusieurs fichiers d’un site web en contrôlant et modifiant les en-têtes de requêtes et de réponses HTTP.

Le module mod_headers d’Apache contient 2 directives :

  • RequestHeader : configure les en-têtes d’une requête HTTP
  • Header : configure les en-têtes d’une réponse HTTP

Pour désindexer des pages, c’est donc logiquement vers cette seconde directive Header que nous nous orienterons.

La directive Header set X-Robots-Tag permet de définir un en-tête HTTP avec des valeurs identiques à celles de la balise HTML meta.

Désindexation totale

L’extrait du fichier 📄 .htaccess à placer directement dans le répertoire concerné, permet de désindexer tous les fichiers qu’il contient.

.htaccess
copié !
# Empêcher l'indexation par les robots
Header set X-Robots-Tag "noindex"

Désindexation ciblée avec <Files> et <FilesMatch>

L’usage des balises <Files> et <FilesMatch> permet de désindexer des fichiers ciblés :

  • <Files> : pour désindexer un fichier unique nommé
  • <FilesMatch> : pour désindexer un ensemble de fichier ciblé par une expression régulière

Voici un extrait du fichier 📄 .htaccess pour désindexer le fichier 📄 demo.html d’un site :

.htaccess
copié !
<Files demo.html>
	Header set X-Robots-Tag "noindex, nofollow"
</Files>

Voici un extrait du fichier 📄 .htaccess pour désindexer les fichiers PDF d’un site :

.htaccess
copié !
<FilesMatch ~ "\.pdf$">
	Header set X-Robots-Tag "noindex, nofollow"
</FilesMatch>

Voici un extrait du fichier 📄 .htaccess pour désindexer les images (.png, .jpeg, .jpg, .gif) d’un site :

.htaccess
copié !
<FilesMatch ~ "\.(png|jpe?g|gif)$">
	Header set X-Robots-Tag "noindex"
</FilesMatch>