Stop au Duplicate Content avec l’indexation des sites de préprod

écrit par Aymeric

duplicate contentCela arrive trop rarement: des sites de pré-production ou en cours de développement qui sont indexés par GoogleBot, c'est bien souvent la porte ouverte à des tonnes de contenu dupliqué. Il suffit de faire une requête comme celle ci par exemple pour voir l'étendu des dégâts...

Il existe pourtant plusieurs manières pour éviter que cela vous arrive (ou arrive aux site de vos clients), c'est simple à mettre en place et ça vous évitera bien des tracas ! J'ai encore vu le cas récemment, en 2013... (non je ne suis pas énervé ^_^) un petit rappel ne fait jamais de mal.

La fausse bonne idée: le robots.txt

La méthode la plus rapide à mettre en place consisterait mettre en place un robots.txt à la racine du site de dev avec les éléments suivants.

User-agent: *
Disallow: /

C'est bien, mais insuffisant: tout le monde connait l'efficacité d'un fichier robots.txt, on en va pas en débattre ici mais en gros, oublier tout de suite cette méthode si c'est la seule protection que vous songez à utiliser. C'est un plus, mais de loin efficace à 100%...

Les bonnes méthodes

La restriction par IP

Cette méthode consiste à autoriser l'accès à votre site de préprod uniquement pour quelques adresses IP (celles de votre proxy ou connexion internet sortante) via le module mod_access d'Apache.

Il vous suffit de placer les éléments suivants dans votre fichier .htaccess ou dans la configuration de l'hôte virtuelle de votre site de dev.


Order Deny,Allow
Deny from all
Allow from 64.229.13.25
Allow from 64.229.13.26

Cela implique d'avoir des IP fixes bien évidemment. Si ça n'est pas le cas, la méthode suivante sera peut être plus adaptée.

La restriction par mot de passe

Un peu plus longue à mettre en place, cette technique consiste à protéger l'accès à un répertoire de votre serveur avec un nom d'utilisateur et un mot de passe. Nous allons utiliser ici le module mod_authz_user d'Apache.

Voici tout d'abord les éléments à placer dans votre fichier .htaccess

AuthUserFile /var/www/sitepreprod/.htpasswd
AuthGroupFile /dev/null
AuthName "Accès interdit - site top secret"
AuthType Basic
require valid-user

Il faut ensuite renseigner le fichier .htpasswd avec une combinaison username/password en créant un nouvel utilisateur. On utilisera la commande htpasswd:

htpasswd -c /var/www/sitepreprod/.htpasswd aymericdev

c'est à dire #htpasswd -c chemindufichierhtpasswd nomutilisateur

Les personnes en chargent du projet n'auront plus qu'à renseigner leurs identifiants avant d'afficher le site.

Restriction avec mot de passe dans le User-Agent

C'est une idée un peu tordu qui m'est venue dans le cas où vous voulez éviter d'avoir à taper un nom d'utilisateur et un mot de passe et que plusieurs personnes travaillant sur le projet on des IP différentes ou dynamiques (ex: freelances en télétravail), ou que vous souhaitez plus simplement simuler le passage d'un robot avec un crawler pour remonter rapidement tous les title/h1/meta etc.

Le principe: Laissez votre site de dev accessible uniquement pour un User-Agent dont vous seul avez le secret (Ex- User-Agent:"Aymeric-Crawler-4568ezrezesdf").
Nous allons donc modifier le .htaccess pour que le site de préprod ne soit accessible que pour un User-Agent spécifique:

RewriteCond %{HTTP_USER_AGENT} !^Aymeric-Crawler-4568ezrezesdf$
RewriteRule .* - [F]

Il ne vous reste plus qu'à utiliser l'addon User-Agent Switcher de Firefox pour paramétrer votre User-Agent qui fait office de mot de passe: "Aymeric-Crawler-4568ezrezesdf".
Comme Screaming Frog SEO permet de modifier le User-Agent, il pourra effectuer le crawl sans soucis!

Bloquer l'indexation via les en-têtes HTTP

Plutôt que de bloquer l'accès à GoogleBot et à n'importe quel utilisateur, cette méthode permet d'empêcher l'indexation de votre site de Dev via l'en-tête HTTP X-Robot-Tag, le mod_headers d'Apache doit être activé. On va ajouter à tous les éléments d'un répertoire une en-tête HTTP indiquant à GoogleBot qu'il ne doit pas indexer ces contenus.

Header set X-Robots-Tag "noindex, nofollow"

L'inconvénient est qu'une personne connaissant l'URL pourra accéder aux contenus malgré tout.

Bref

Il existe d'autres méthodes, le but n'est pas de tout lister ici mais surtout de vous alerter en vous donnant le moyen d'éviter l'indexation de vos sites en Version Beta.
Il est également peut souhaitable que n'importe quel internaute tombe sur une version de préproduction d'un site, avec parfois des informations confidentielles...
Quand cela est possible, on préférera tout simplement travailler en local avec une modification du fichier hosts

Cela arrive TROP souvent! Mieux vaut prévenir que guérir 😉

PS: dédicace à @Diije, il saura pourquoi 🙂

écrit dans Apache par Aymeric | 34 commentaires

34 commentaires "Stop au Duplicate Content avec l’indexation des sites de préprod"

  • Xavier dit:
  • Hervé dit:
  • Daniel dit:
  • Thomas dit:
  • Polo_Seo dit:
    • Aymeric dit:
  • François-Olivier dit:
  • Arnaud dit:
  • Eric dit:
  • Gildas dit:
    • Aymeric dit:
  • anonyme dit:
  • KubX dit:
  • Ann Uaire dit:
    • Aymeric dit:
  • Olivier dit:
  • Sylvain dit:
  • Pierre dit:
  • tShak dit:
  • Nico dit:
  • Marion dit:
  • Nico dit:
  • yoyoz dit:
  • François dit:
  • Veda dit:
  • le vin rouge dit: