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

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

Marsh Posté le 26-07-2013 à 15:01:42    

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 !!

Reply

Marsh Posté le 26-07-2013 à 15:01:42   

Reply

Marsh Posté le 26-07-2013 à 23:37:55    

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

Reply

Marsh Posté le 27-07-2013 à 08:15:15    

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

Reply

Marsh Posté le 27-07-2013 à 09:44:07    

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.

Reply

Marsh Posté le 27-07-2013 à 12:19:12    

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

Reply

Marsh Posté le 27-07-2013 à 12:36:02    

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 !

Reply

Marsh Posté le 27-07-2013 à 12:37:02    

You're welcome :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed