Probleme avec des pseudo frames

Nouveau WRInaute
Salut a tous.

J'ai un probleme de rérérencement avec mes pseudos frames :

j'ai un index.php qui sert de template, et ensuite j'ai mon code qui inclut les articles selon la valeur du parametre $page.

Mon probleme vient du fait que j'ai avant ces lignes une ligne qui indique que si un cookie de premiere visite n'est pas présent, la page incluse est la page du disclamer de mon site.

Du coup, google voit toutes les pages comme contenant le disclamer, et donc mon contenu n'est pas référencé.

Je vous montre le code :

Code:
<?php
  
  // On définit le tableau contenant les pages autorisées
  // ----------------------------------------------------
  $pageOK = array(
  'advert' => 'advert.php',
  'accueil' => 'accueil.php',
  'liens' => 'liens.php',
  '404' => '404.php',
  'refus' => 'refus.php',
  'flash' => 'flash.php');
  
  
  if (empty($patatorvisit)){  //on matte si le cookie est absent
  

		  switch($page)
		    {
		    case 'advert':  //si la page demandé est le disclamer on l'affiche
		        include('advert.php');
		        break;
		    case 'refus': //si la page demandé est le refus du disclamer on lafiche
		        include('refus.php');
		        break;
		    default:
		        include('advert.php'); // Si pas de cookie mais valeur pour $page on met le disclamer
		    }

  }
  
  elseif(!isset($page)){include('accueil.php');}
  
  elseif ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
    include($pageOK[$_GET['page']]);   // Nous appelons le contenu central de la page (si cookie)
  }
   
  else {
    include('404.php');   // Page d'erreur
  }

?>

J'ai pensé à l'IP cloacking mais je crois que ce n'est pas tres recomandé.

Si vous pensez avoir quelque chose pour m'aider je vous remercie.

[/code]
 
Nouveau WRInaute
Le probleme n'est pas dans le fait que le moteur ne peut pas avoir les adresses de mes autres pages, mais c'esst que toutes les pages qu'il visite est vue comme le disclamer.

Est-ce qu'il y aurait par exemple moyen de faire en sorte que la condition sur le cookie ne concerne pas les moteurs ?

Merci
 
WRInaute impliqué
Soit par useragent, si c'est googlebot tu assignes un session qui lui permet de voir les pages sinon hop, disclamer. Sinon je vois pas trop comment faire.

A+
 
Nouveau WRInaute
hop disclamer pas possible helas :_(
Mon site a un contenu un peu sensible (le patator) et je dois mettre un disclamer.

Je vais matter ce qu'est l'useragent, merci +
 
Nouveau WRInaute
Hep.

Est ce qu'il y aurait moyen de faire quelque chose du genre :

Code:
  if (empty($patatorvisit)) && eregi($liste, $_SERVER["HTTP_USER_AGENT"]))

{ ...}

et que $liste soit une liste qui contienne "googlebot", "msn", "scooter", ..

Je sais que la fonction eregi ne vas pas, mais est-ce qu'il existe une fonction qui vérifie la présence de plusieurs éléments d'une liste dans une chaine de caracteres ?

Si ça zexiste ça me sauverai. Merci
 
Nouveau WRInaute
All is allright :

Voici mon nouveau code :

Code:
<?php
  
  // On définit le tableau contenant les pages autorisées
  // ----------------------------------------------------
  $pageOK = array(
  'advert' => 'advert.php',
  'accueil' => 'accueil.php',
  'liens' => 'liens.php',
  '404' => '404.php',
  'refus' => 'refus.php');

  // On teste que le paramètre d'url existe et qu'il est bien autorisé
  // -----------------------------------------------------------------
  
  if ($page == 'test') {include('accueil.php');}
  
  elseif ( (empty($patatorvisit)) && (!eregi ("(Googlebot|Gigabot|GameSpy|Scooter|Yahoo|grub-client)", $_SERVER["HTTP_USER_AGENT"])) ){   // on ate si ce n'est pas un robot
  

		  switch($page)
		    {
		    case 'advert':
		        include('advert.php');
		        break;
		    case 'refus':
		        include('refus.php');
		        break;
		    default:
		        include('advert.php'); // Si pas de cookie mais valeur pour $page
		    }

  }
  
  elseif(!isset($page)){include('accueil.php');}
  
  elseif ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
    include($pageOK[$_GET['page']]);   // Nous appelons le contenu central de la page (si cookie)
  }
   
  else {
    include('404.php');   // Page d'erreur
  }

?>

Je vous remerci les enfants.+
 
WRInaute impliqué
Google (comme les autres bots), ne prends pas en compte les cookies et donc, forcément, réagis comme un visiteur à sa première visite sur chaque page.

Maintenant faire un tour de passe passe pour lui faire voir une page spécifique est l'une des meilleures façons de se faire blacklister, ou du moins déclasser...
 
Nouveau WRInaute
Ouais je suis conscient du risque mais je me dis que les pages que je fais voir au robot sont les mêmes que celles que le visiteur voit, donc je tente le coup.

merci
 
WRInaute accro
pourquoi ne fais tu pas un div en absolute qui s'affiche au dessus de la page ? comme ca google voit la page dessous :) bon c est de la bidouille, mais je suis aps encore pleinement reveillé
 
Nouveau WRInaute
mon site est fait à l'arrache, je ne connais rien en xhtml, moi j'ai fait ça avec des tableaux à l'ancienne
 
WRInaute discret
tu peux faire aussi en javascript un boite à valider ou non. La encore c'est moins propre mais je vois que ca.
 
Discussions similaires
Haut