header("Location: xxx") + header("Status: HTT

Discussion dans 'Débuter en référencement' créé par pr tournesol, 12 Juillet 2005.

  1. pr tournesol
    pr tournesol Nouveau WRInaute
    Inscrit:
    12 Juillet 2005
    Messages:
    3
    J'aime reçus:
    0
    Bonjour à tous,

    Je développe actuellement mon premier site
    J’utilise la solution ci-dessous pour savoir dès l’arrivée d’un visiteur sur mon site si il accepte ou pas les cookies (c'est-à-dire dès la première page).
    Vous connaissez peut-être cette technique. En tous cas, je l’ai testé avec plusieurs browsers, elle fonctionne parfaitement.

    Par contre, le problème, c’est que je ne sais pas du tout si Google, Yahoo et compagnie vont aimer ça ou pas !
    En gros voilà le bout de PHP que je met en haut de chacune de mes pages :
    <?
    setcookie("acceptecookies", "oui", time()+60*60*24*365);
    if (!isset($_GET['a']))
    {
    header("Location: " . $_SERVER['PHP_SELF'] . "?a=1");
    header("Status: HTTP/1.1 200 OK");
    exit();
    }
    //A partir de là, je peux dire avec certitude si le browser accepte les cookies ou pas
    if (isset($_COOKIE[‘acceptecookies’]))
    {

    }
    else
    {

    }
    ?>

    a – Je ne voudrais pas mettre de 301, car je pense que cela pourra poser des problèmes pour mon référencement, mais là, avec un 200 OK, les robots vont ils seulement accepter de faire la redirection ?

    b – Si oui, que vont-ils me référencer ? L’url qu’ils avaient demandée au départ (url soumise) ou la seconde (url de redirection) ? Car évidement, moi je préférerais qu’il m’indexent la première…

    c – Egalement pour éviter la variable passée dans l'url, j’avais imaginé un système ou le header redirigerais sur PHP_SELF tout court, et j’empêcherai alors le script de boucler infiniment en insérant l’adresse IP du demandeur dans une table dans le cas ou elle n'y est pas déjà (si elle y est déjà, je sais qu’on est dans le cas ou la redirection a déjà eu lieu, et on peut donc passer à la suite de la page…).
    Mais encore une fois, les robots vont-ils aimer cela ? Une redirection vers soi-même, et qui plus est, avec un 200 OK !

    Voilà, merci si vous pouvez me donner vos avis d’experts…

    Merci à tous.
     
  2. shrom
    shrom WRInaute impliqué
    Inscrit:
    5 Juillet 2004
    Messages:
    781
    J'aime reçus:
    0
    Déjà, il faut choisir entre:
    header('Status: 200 OK', true, 200); et header('HTTP/1.1 200 OK', true, 200); la première solution ne fonctionnant que lorsque PHP est utilisé en module Apache il me semble.

    Quoi qu'il en soit, ton code de status n'est pas pris en compte et c'est bien un 302 qui est retourné.

    Donc vraissemblablement Google gardera l'URL d'origine.

    Mais il faut se méfier des redirections, Google a un comportement étrange vis à vis de celle-ci. J'ai un site qui utilise pas mal de redirection 301, Google devrait donc normalement référencer l'URL de destination, et bien non il me garde l'URL d'origine ( avant Bourbon, il prenait bien en compte les 301 ).
     
Chargement...
Similar Threads - header(Location xxx) header(Status Forum Date
Probleme setcookie et header(location) Développement d'un site Web ou d'une appli mobile 10 Mars 2010
PB redirection php header(Location: erreur.php?erreur=404) URL Rewriting et .htaccess 2 Décembre 2005