Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1192 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Faire une redirection php avec un cookie laissant passé googlebot ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Faire une redirection php avec un cookie laissant passé googlebot ?

n°2198861
kekeboys78
Posté le 26-07-2013 à 15:01:42  profilanswer
 

Bonjour et merci d'avance à ceux qui répondront :) !
 
Voilà j'ai conçu un site internet avec une page bien spécifique qui peut seulement être accessible si l'utilisateur a donné son email via un formulaire (et qui au passage enregistre un cookie particulier sur son navigateur).
Si ce cookie n'est pas présent, il est alors redirigé vers la page d'accueil du site ou on lui propose d'enregistrer son email (et de créer au passage ce fameux cookie pour accéder).
 

Code :
  1. if(isset($_COOKIE["moncookieexiste"]))
  2. {
  3. //j'affiche le code html et le contenu de ma page
  4. }
  5. else{
  6. //Je redirige vers la page d'accueil
  7. header("location:http://monurlaccueil" );
  8. }


 
 
Ca marche bien pour ce fonctionnement...  par contre googlebot semble ne pas arriver à indexer la page dans google webmaster, quand je veux ajouter la page ds l'indexation google... J'ai aucune data et j'ai le message ci dessous...
Cette page semble rediriger vers elle-même, ce qui risque de créer une boucle de redirection infinie.  
 
Il semblerait donc que le bot de google ne voit pas la page en raison de mon if(isset($_COOKIE["moncookieexiste"]))
J''aimerai de mon côté que googlebot soit en mesure de lui aussi pouvoir accéder au contenu de ma page tout en gardant mon test Cookie.. Comment puis je m'y prendre ?
 
Merci à vous !!

mood
Publicité
Posté le 26-07-2013 à 15:01:42  profilanswer
 

n°2198897
xaeon
Profil: TT
Posté le 26-07-2013 à 23:37:55  profilanswer
 

Tu pourrais tester le cookie et les headers, mais tu t'exposerais au fait qu'un utilisateurs utilisant les headers du googlebot puisse accéder à ta page

n°2198899
kekeboys78
Posté le 27-07-2013 à 08:15:15  profilanswer
 

Tu peux expliciter la notion de headers ? Et du googlebot header ? Je ne connais pas... Merci à toi

n°2198901
xaeon
Profil: TT
Posté le 27-07-2013 à 09:44:07  profilanswer
 

Alors, pour faire simple, lorsque tu appelle une page sur le web, tu formes ce qu'on appelle une requête HTTP, celle ci est composée de plusieurs éléments:
- La requête à jouer (verbe + addresse + version du protocole HTTP supportée)
- Les entêtes (plein de champs différents dont l'un va nous interesser tout particulièrement)
- Le corps (qui peut contenir par exemple les valeurs d'un formulaire)
 
N'importe quel appel vers une de tes pages HTML/PHP utilise ce système. Dans les entêtes (ou headers) de cette requête, on trouve plusieurs champs, ici le champ 'User-Agent va nous servir, c'est une chaîne qui décrit le client HTML utilisé pour voir la page courante.
 
Coté PHP pour connaitre le contenu de ce champ, la variable $_SERVER['HTTP_USER_AGENT'] te permet de connaitre cette information.
 
Pourquoi est-ce intéressant? Parce que les bots de Google utilisent un User Agent spécifique :
- Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
- Googlebot/2.1 (+http://www.google.com/bot.html)
(cf. https://support.google.com/webmaste [...] 943?hl=en)
 
Tu peux donc pour ta page, autoriser l'accès avec un test de type  

Code :
  1. if(isset($_COOKIE["moncookieexiste"]) || $_SERVER['HTTP_USER_AGENT'] == "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" )
  2. {
  3. //j'affiche le code html et le contenu de ma page
  4. }
  5. else{
  6. //Je redirige vers la page d'accueil
  7. header("location:http://monurlaccueil" );
  8. }


 
Le seul problème vient du fait que "n'importe qui" (faut quand même le vouloir) peut définir son User Agent et donc "usurper" l'identité du bot Google et accéder à ta page sans avoir de cookie.

n°2198903
kekeboys78
Posté le 27-07-2013 à 12:19:12  profilanswer
 

Ok super sympa pour les infos, j'avais commencé à tester le concept de HTTP_USER_AGENT mais j'avais pas trouvé le nom correct pour le User Agent  :)  
C'est pas vraiment un problème pour nous, si exceptionnellement 1 ou 2 malins changent leur User Agent..  
 
J'ai intégré le code mais si je fais un test sur le simulateur ici ça semble pas passer... Faut il que j'attend que Google Bot passe de lui même ?  
http://www.dnsqueries.com/en/googlebot_simulator.php
 
Merci à toi

n°2198904
kekeboys78
Posté le 27-07-2013 à 12:36:02  profilanswer
 

J'ai rien dit, c'est ok ! J'ai pu testé avoir google webmaster et l'exploration comme google, ça passe nikel :) !
Un gros merci à toi Xaeon !

n°2198905
xaeon
Profil: TT
Posté le 27-07-2013 à 12:37:02  profilanswer
 

You're welcome :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Faire une redirection php avec un cookie laissant passé googlebot ?

 

Sujets relatifs
[htaccess]Redirection de page avec accent[Facebook] Jeu - Redirection
Redirection de la console d'un programme appelé à l'appelant[Résolu] DNS - Site Web - Redirection...
redirection 301jquery je comprends pas ce qui se passe ;-(
redirection comme argument pour un exeEntier int passé en 64 bits (8 octets) et non 31 bits (4 octets)
Comment modifier ce script de redirection d'urlPassage paramètre Cookie Javascript
Plus de sujets relatifs à : Faire une redirection php avec un cookie laissant passé googlebot ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR