web-dev-qa-db-fra.com

Les spiders des moteurs de recherche envoient-ils un référent HTTP?

Je modifie un site et cela nécessite que, lorsqu'un utilisateur vient d'un autre site du groupe, celui-ci porte une marque légèrement différente. Le meilleur moyen d'identifier la page d'où ils provenaient serait le référent HTTP (le cas échéant).

Cependant, je ne veux pas que les moteurs de recherche le voient comme un site différent. Alors, est-ce que quelqu'un sait si les spiders des moteurs de recherche (principalement Google) passent par un paramètre de référent HTTP?

4
Grant Unwin

Habituellement, ils ne le font pas (Google Bot ne le fait pas, par exemple).

De mes fichiers de log:

crawl-66-249-72-20.googlebot.com - - [10/Sep/2011:14:50:38 +0200] "GET /mailman/admin/mailman HTTP/1.1" 200 2003 "-" "DoCoMo/2.0 N905i(c100;TB;W24H16) (compatible; Googlebot-Mobile/2.1; +http://www.google.com/bot.html)" matteocorti.ch

L'entrée du référent ("-") est vide

3
Matteo

Habituellement, les référents ne sont pas transmis, mais plutôt par un code GET contenant les mots clés de la recherche. Les en-têtes peuvent être définis et supprimés, - sont du texte ASCI simple et font simplement partie de la spécification HTTP

http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2

   message-header = field-name ":" [ field-value ]
   field-name     = token
   field-value    = *( field-content | LWS )
   field-content  = <the OCTETs making up the field-value
                    and consisting of either *TEXT or combinations
                    of token, separators, and quoted-string>

Dans PHP, vous pouvez utiliser la fonction en-tête pour définir/écraser et * header_delete * pour supprimer les en-têtes. Des en-têtes similaires sont disponibles séparément. paquets dans Ruby et php.

En tant que tel, lorsque vous écrivez votre propre moteur de recherche, vous pouvez simplement faire passer des en-têtes. Cependant, aucun moteur de recherche majeur ne le fera pour un certain nombre de raisons, à commencer par des arguments juridiques.

0
Lorenz Lo Sauer