Est-ce que le test cookie/header gène le référencement ?

Discussion dans 'Problèmes de référencement spécifiques à vos sites' créé par Meeuuuhhh, 10 Juin 2008.

  1. Meeuuuhhh
    Meeuuuhhh WRInaute passionné
    Inscrit:
    8 Janvier 2007
    Messages:
    1 498
    J'aime reçus:
    0
    Bonjour,

    Voilà, je suis sur un site de sexologie (et non pas pornographie, je précise) et par sécurité j'ai ajouté un disclamer.

    Je teste en haut des pages la valeur d'un cookie qui est à "non" tant que le gars n'est pas passé par l'accueil pour certifier son âge.
    Si le visiteur arrive par une autre page que l'accueil, il est redirigé vers celui-ci.
    Une fois qu'il a certifié son âge sur la page d'accueil, la valeur du cookie passe à oui et il est redirigé vers la page qu'il souhaitait visiter.
    Classique donc.

    Mais je me demande si ça ne va pas empêcher google d'indexer mes pages.

    Je crois que non, mais j'ai un doute.

    Qu'en pensez-vous ? Et si ça gène, comment je fais ?

    Merci d'avance
     
  2. blman
    blman WRInaute accro
    Inscrit:
    5 Septembre 2003
    Messages:
    2 719
    J'aime reçus:
    3
    - Si l'utilisateur n'accepte pas les cookies, qu'est-ce qui se passe ?
    - Si le cookie n'existe pas, il y a redirection ou non ?
    - Dans quel langage test-tu la valeur du cookie ? PHP, javascript ?

    Pour le savoir :
    1- désactive javascript dans les options de ton navigateur
    2- désactive les cookies dans les options de ton navigateur
    3- va sur ton site via une page interne

    Si, tu es redirigé vers ton disclaimer, ça sent pas bon. Sinon, c'est bon. Par mesure de sécurité, vérifie bien que le cache de tes pages dans l'index de Google contienne vraiment le contenu de tes pages.

    Sinon, répond à mes questions du début et on pourra surement t'aider ;)
     
  3. Meeuuuhhh
    Meeuuuhhh WRInaute passionné
    Inscrit:
    8 Janvier 2007
    Messages:
    1 498
    J'aime reçus:
    0
    Salut blman,

    **edit**

    Bon je viens de lire ce commentaire sur WRI, effectivement, c'est pas gagné (si c'est exact :

    Une solution très simple si je veux garder mon cookie en php (parce que javascript c'est foireux), serait de tester si c'est un bot qui visite.
    Si c'est le cas, je ne fais pas le test du cookie, tout bêtement.



    Mais comment puis-je faire pour tester si c'est un bot qui visite :?:
     
  4. 5_legs
    5_legs WRInaute passionné
    Inscrit:
    30 Avril 2006
    Messages:
    1 521
    J'aime reçus:
    0
    Donc il en est de même pour les robots ?

    Peut-être serait-il bon d'annuler cette précaution (louable) lorsqu'à partir d'une liste d'USER_AGENT, tu constates qu'il s'agit d'un robot ?
    Quelque chose comme la comparaison d'un HTTP_USER_AGENT et d'une liste de spider par exemple...
     
  5. Meeuuuhhh
    Meeuuuhhh WRInaute passionné
    Inscrit:
    8 Janvier 2007
    Messages:
    1 498
    J'aime reçus:
    0
    T'as répondu en même temps que j'éditais mon message, druart :)



    Oui en effet, je dois faire un test comme tu l'indiques.


    Quelqu'un a un bout de code ? Je ne connais pas la variable HTTP_USER_AGENT.


    **edit**

    Ca me fait un peu flipper ce genre de test. Si ça foire, il faut des mois pour s'en rendre compte et pendant ce temps là, les moteurs n'indexeront pas les pages.

    **edit 2**

    J'ai trouvé ça sur WRI, il est bon ce code ? Ca date de 2004 quand même...
    Et c'est quoi ce $dns ??

     
  6. 5_legs
    5_legs WRInaute passionné
    Inscrit:
    30 Avril 2006
    Messages:
    1 521
    J'aime reçus:
    0
    moi j'avais en tête quelque chose du style strtolower(getenv('HTTP_USER_AGENT'));
    avec ensuite une comparaison avec une liste

    ça doit être trouvable un script pour détecter un robot.
    Moi je ne suis qu'un chercher d'or en php ... peut-être un félin passera-t-il par là.

    Je ne comprend pas ta crainte puisque si tu "estimes" qu'il s'agit d'un robot tu passes au dessus de ta vérification du cookies
    et j'y j'ai bien compris, tu ne ne le renvoies pas dare dare vers la porte d'entrée...
     
  7. Meeuuuhhh
    Meeuuuhhh WRInaute passionné
    Inscrit:
    8 Janvier 2007
    Messages:
    1 498
    J'aime reçus:
    0
    Ma crainte c'est que le test foire et que le robot ne visite jamais les pages.
     
  8. 5_legs
    5_legs WRInaute passionné
    Inscrit:
    30 Avril 2006
    Messages:
    1 521
    J'aime reçus:
    0
    Il n'accepte pas les cookies, c'est un robot, on ne lui a pas appris à le faire.
    Dans ce cas tu lui "bot" les fesses et lui demande de toquer à l'entrée ... il fait comment alors ?
    En tout cas c'est ce que tu expliques faire actuellement ;-)
     
  9. jcaron
    jcaron WRInaute accro
    Inscrit:
    13 Février 2004
    Messages:
    2 579
    J'aime reçus:
    0
    Il suffit de regarder tes logs... Le statut HTTP (200 si tout va bien, 30x si redirection) est indiqué dedans. Il suffit de regarder un peu dans les redirections si tu des bots et leurs copains, et tu seras vite fixé.

    Jacques.
     
  10. Meeuuuhhh
    Meeuuuhhh WRInaute passionné
    Inscrit:
    8 Janvier 2007
    Messages:
    1 498
    J'aime reçus:
    0
    Oui j'ai bien compris.


    Mais si mon test censé l'autoriser à visiter les pages sans cookie foire, alors comment le saurais-je ?

    Je vais mettre longtemps à m'en rendre compte et pendant ce temps là mon site n'est pas référencé.
     
  11. 5_legs
    5_legs WRInaute passionné
    Inscrit:
    30 Avril 2006
    Messages:
    1 521
    J'aime reçus:
    0
    Je doute qu'il te faille longtemps pour t'en rendre compte.
    Sinon tu peux la jouer lourd : choisis une page au hasard et prévois de t'envoyer un émail avec le nom du robots lorsque ton test le détecte :)
     
  12. jeroen
    jeroen WRInaute passionné
    Inscrit:
    30 Août 2002
    Messages:
    2 131
    J'aime reçus:
    0
    Perso j'utilise une fonction de base (certainement à améliorer), que je peux te filer :

    Code:
    // detection moteurs
    $moteur_tab=array("bot","Scooter","Slurp","Voila","WiseNut","Fast","Index","Teoma","Mirago","search","find","loader","archive","Spider","Crawler");
    foreach($moteur_tab as $key) if(stristr($_SERVER['HTTP_USER_AGENT'],$key)) $moteur=1;
     
  13. Meeuuuhhh
    Meeuuuhhh WRInaute passionné
    Inscrit:
    8 Janvier 2007
    Messages:
    1 498
    J'aime reçus:
    0
    Merci Jeroen. Il est où googlebot dans ta liste ?

    Perso je viens de dégoter ce code, je voudrais votre avis dessus. Déjà je pense que c'est risqué avec des IP dans le tableau, car googlebot par exemple n'a jamais la même.
    Code:
        * // Renvoie TRUE si le visiteur de la page est un robot d'un moteur de recherche
        * function IsVisitorBot() {
        *
        * // Tableau des adresses ip
        * $IPtab[] = '66.249.'; // Googlebot
        * $IPtab[] = '207.68.146.'; // MSN Bot
        * $IPtab[] = '65.54.188.'; // MSN Bot
        * $IPtab[] = '66.196.'; // Yahoo
        * $IPtab[] = '68.142.'; // Yahoo
        * $IPtab[] = '195.101.94.'; // Voila
        * $IPtab[] = '64.241.243.65'; // Wisenut
        * $IPtab[] = '209.249.67.1'; // Wisenut
        * $IPtab[] = '64.241.242.177'; // Wisenut
        * $IPtab[] = '66.77.73.'; // Fast
        * $IPtab[] = '62.212.117.198'; // Deepindex
        * $IPtab[] = '65.214.36.'; // Teoma
        * $IPtab[] = '65.214.38.10'; // Teoma
        * $IPtab[] = '212.127.141.180'; // Whalhello
        * $IPtab[] = '213.73.184.'; // Whalhello
        * $IPtab[] = '216.243.113.1'; // Gigablast
        * $IPtab[] = '217.205.60.225'; // Mirago
        * $IPtab[] = '62.119.21.157'; // picsearch
        * $IPtab[] = '193.218.115.6'; // Szukacz
        * $IPtab[] = '210.59.144.149'; // Openfind
        * $IPtab[] = '66.237.60.22'; // Openfind
        * $IPtab[] = '218.145.25.'; // Naver
        *
        * // Vérifie chaque adresse
        * if(isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR'])) {
        * for($t = 0, $max = count($IPtab); $t < $max; ++$t) {
        * if (strpos($_SERVER['REMOTE_ADDR'], $IPtab[$t]) === 0)
        * {
     if(!isset($_COOKIE["majeur"]) OR $_COOKIE["majeur"]=='non')
    {
    die(header('Location: index.php'));
    }//ferme if isset $cookie
        * }
        * }
    
    http://www.phpcs.com/codes/SAVOIR-SI-VISITEUR-EST-ROBOT-MOTEUR-RECHERCHE_42493.aspx
    
    Je me demande du reste si j'ai placé mon if isset _COOKIE[] au bon endroit.
     
  14. jcaron
    jcaron WRInaute accro
    Inscrit:
    13 Février 2004
    Messages:
    2 579
    J'aime reçus:
    0
    Un moyen "simple" de repérer un robot c'est de voir s'il lit /robots.txt...

    Après, qu'on se base sur des IPs, des UAs, ou une combinaison des deux, c'est un choix un peu arbitraire... Si tu veux être sûr de ne louper personne, tu mets dans une table toutes les IPs qui ont lu /robots.txt, dans une autre tous les UAs qui ont fait de même, et si l'IP ou l'UA de ton visiteur est dans la table correspondante, hop: c'est un robot.

    Jacques.
     
  15. 5_legs
    5_legs WRInaute passionné
    Inscrit:
    30 Avril 2006
    Messages:
    1 521
    J'aime reçus:
    0
    Perso je préfère la méthode de jeroen à la différence prés que je mettrais la liste dans un fichier externe que j'irais parcourir (ce qui faciliterait les mises à jour)
    Tu peux trouver facilement de telles listes
     
  16. jeroen
    jeroen WRInaute passionné
    Inscrit:
    30 Août 2002
    Messages:
    2 131
    J'aime reçus:
    0
    GoogleBot (et consors) sont ici : "bot"
     
  17. blman
    blman WRInaute accro
    Inscrit:
    5 Septembre 2003
    Messages:
    2 719
    J'aime reçus:
    3
    Bon je lis votre discussion ce matin et en fait, personnellement, je ne me serait pas embêté avec le USER AGENT pour 2 raisons :
    - la détection en PHP peut être foireuse
    - à partir du moment où tu dresse une liste, il faut capable de la mettre à jour et être sûr qu'aucun "gentil" robot ne soit bloqué. Surtout qu'on sait que Google envoit des robots avec des user agent plus communs pour leur détection anti-cloacking (ex : IE ou firefox).

    Donc voila, personnellement,

    1- j'aurais fait la détection en javascript. Pas plus compliqué qu'en PHP mais Meuuuuh trouve ça foireux donc j'abandonne l'idée. En tout cas, c'est cette solution que j'aurais fait en 1er

    2- Sinon, j'aurais tout simplement essayer d'initialisé mes variables de sorte que si l'utilisateur n'accepte pas les cookies, on ne le redirige pas vers le disclaimer. Je sais que là, en PHP, c'est pas facile mais il doit bien y avoir une solution...
     
  18. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 601
    J'aime reçus:
    4
    J'pense à une chose, pourquoi ne pas déclencher la redirection vers le disclaimer par Javascript; comme ça les moteurs n'y vont pas et les internautes y passeront ?
    Edit : Ah mince j'avais pas lu la réponse de BLman :)
     
  19. Meeuuuhhh
    Meeuuuhhh WRInaute passionné
    Inscrit:
    8 Janvier 2007
    Messages:
    1 498
    J'aime reçus:
    0
    Bah oui mais dans ton deuxième cas, tu laisses passer les visiteurs qui n'acceptent pas les cookies, même s'ils sont peu nombreux.


    Le simple fait de marquer "bot" va autoriser tous les bots de google ?! Comment cela se fait-il ?

    Code:
    $moteur_tab=array("bot","Scooter","Slurp","Voila","WiseNut","Fast","Index","Teoma","Mirago","search","find","loader","archive","Spider","Crawler");
    foreach($moteur_tab as $key) if(stristr($_SERVER['HTTP_USER_AGENT'],$key)) $moteur=1;
    Ton script est plus simple en effet. Finanement la fonction stristr() parcoure les informations de la variables USER_AGENT, à la recherche des mots clefs indiqués plus haut, c'est cela ? Effectivement dans ce cas, si tous les noms des robots de google se termine par bot, ça les inclut de fait.



    **edit**
    Bon j'ai fait comme ça, vous en pensez quoi :?:
    Code:
    $moteur_tab=array("bot","Scooter","Slurp","Voila","WiseNut","Fast","Index","Teoma","Mirago","search","find","loader","archive","Spider","Crawler");
    foreach($moteur_tab as $key) if(!stristr($_SERVER['HTTP_USER_AGENT'],$key)) {
    //test du cookie, si on a pas validé les CGU, retour à l'accueil
    if(!isset($_COOKIE["majeur"]) OR $_COOKIE["majeur"]=='non')
    {
    die(header('Location: http://www.site.com'));
    }//ferme if !isset $cookie
    ;}//ferme if !stristr()
    Finalement, je n'ai ajouté que le ! devant la fonction stristr().
     
Chargement...
Similar Threads - test cookie header Forum Date
Fonction test cookie et référencement Crawl et indexation Google, sitemaps 11 Novembre 2018
Tester l'existence d'un cookie pour un domaine Administration d'un site Web 2 Février 2009
Tester l'acceptation des cookies en php ? Développement d'un site Web ou d'une appli mobile 21 Janvier 2008
Search Console Erreur d'indexation mais URL testée avec succès ?! Crawl et indexation Google, sitemaps 10 Novembre 2022
Existe t-il un outil Google pour tester une page web si elle est filtrée par Safesearch ? Référencement Google 4 Octobre 2022
Outil de test de code HTTP en masse (sitemap ou liste d'URL) Référencement Google 19 Mai 2022
Nouvelle publicité ou test A/B Facebook Ads Facebook 13 Avril 2022
Tester une URL avec Javascript Développement d'un site Web ou d'une appli mobile 25 Février 2022
WordPress GT Metrix : comment tester sa vitesse au mieux ? Débuter en référencement 27 Juillet 2021
Test de mon nouveau site en laissant l'ancien en ligne Administration d'un site Web 28 Avril 2021
Test SEO : balises vides qu'il faut enlever Demandes d'avis et de conseils sur vos sites 24 Mars 2021
Search Console "Page non éligible aux résultats enrichis connus par ce test" Problèmes de référencement spécifiques à vos sites 4 Janvier 2021
Outils : test des données structurées et des rich snippets Référencement Google 16 Décembre 2020
Brave, avis et test de la dernière version du navigateur Le café de WebRankInfo 3 Juillet 2020
tests de dosage d'annonces AdSense AdSense 20 Juin 2020
Annonce responsive test 1/B Débuter en référencement 3 Juin 2020
Test : domaine racheté et backlinks morts 10 ans Netlinking, backlinks, liens et redirections 18 Mai 2020
En test : affichage des informations de licence dans Google Images YouTube, Google Images et Google Maps 28 Février 2020
Nouvel Edge dispo, un browser de moins à tester ! Développement d'un site Web ou d'une appli mobile 16 Janvier 2020
Cobaye pour tester vitesse site Problèmes de référencement spécifiques à vos sites 10 Janvier 2020