Empêcher l'indexation des pages SSL

Discussion dans 'Tutoriels' démarrée par Sirius, Nov 11, 2012.

  1. Sirius

    Sirius New Member

    Bonjour,

    methode soft qui stop l'indexation des pages ssl par les robots.

    Le principe est simple, si l'environnement de la requête robots.txt est sous SSL alors la requête est redirigée sur un fichier dédié, dans ce cas précis robots_ssl.txt

    Placer dans le .htaccess
    Code:
    RewriteCond %{HTTPS} =on [OR]
    RewriteCond %{SERVER_PORT} ^443$
    RewriteRule ^robots.txt$ robots_ssl.txt [L]
    Placer un fichier robots_ssl.txt à la racine (au même emplacement que le robots.txt) contenant simplement:
    Code:
    User-agent: *
    Disallow: /
     
  2. pierre_kuhn

    pierre_kuhn New Member

    merci sirius de poster ici tes retours.

    un peut plus de doc serais possible ? afin que je mette aussi dans la faq
     
  3. Sirius

    Sirius New Member

    Bonjour pierre,

    Voyons....

    Par défaut les robots index tout quel que soit les variables d'environnements.
    En admettant que les robots respectent bien les directives de notre robots.txt alors nous pouvons leur en indiquer un autre dans le cas du SSL.

    Ici l'on test 2 conditions:
    Code:
    RewriteCond %{HTTPS} =on
    Si la variable d'environnement {HTTPS} est active (on)

    Code:
    [OR]
    Ou bien

    Code:
    RewriteCond %{SERVER_PORT} ^443$
    Si la variable d'environnement {SERVER_PORT} commence(^) explicitement par 443 et termine($) explicitement par 443 (port SSL donc)
    Ce qui revient à dire est égale à 443.

    Alors on applique la règle de réécriture suivante:
    Code:
    RewriteRule ^robots.txt$ robots_ssl.txt [L]
    Tout fichier qui commence et termine explicitement par robots.txt est réécrit en robots_ssl.txt
    La validité de cette règle s'arrête ici ([L])

    Le robots_ssl.txt contient:
    Code:
    User-agent: *
    Concerne tous les robots

    Code:
    Disallow: /
    Bloque dès la racine, interdit tout.

    Seconde méthode possible
    Beaucoup plus contraignant car c'est à vous de renseigner les robots et ce, en admettant que le "user-agent" ne soit pas usurpé.

    Exemple:
    Code:
    RewriteCond %{HTTPS} =on [OR]
    RewriteCond %{SERVER_PORT} ^443$
    RewriteCond %{HTTP_USER_AGENT} ^.*(sheriff|HTTrack|clshttp|loader|email|nikto|miner|python|libwww\-perl|curl|wget|harvest|scan|grab|extract|Mediapartners|Adsbot|Feedfetcher).* [NC]
    RewriteRule .* index.php [F]
    Dans cet exemple le robots recevra une réponse "403" ([F] = Forbidden) avec un retour à la page index.php du site.
     
    Dernière édition: Nov 26, 2012
  4. pierre_kuhn

    pierre_kuhn New Member

    Dernière édition par un modérateur: Nov 6, 2017

Partager cette page