1. ✅ Apprenez une METHODE qui marche pour votre SEO ! Formation à distance avec Olivier Duffez et Fabien Facériès + aide pour prise en charge du financement
    Rejeter la notice

Question redirections, Php ou .htaccess ?

Discussion dans 'Débuter en référencement' créé par Romdev, 21 Novembre 2012.

Tags:
  1. Romdev
    Romdev WRInaute occasionnel
    Inscrit:
    26 Novembre 2008
    Messages:
    365
    J'aime reçus:
    0
    Bonjour à tous,

    Je m'occupe d'un site e-commerce et rencontre quelques petits problème avec mes fiches produits (duplicate content suite à plusieurs réécriture d'url)

    Plutôt que de m'embêter à rechercher manuellement toutes les anciennes URL (mais qui peuvent toujours avoir un peu de power) et tout rediriger dans .htaccess, j'ai préféré procéder comme ceci mais ne sait pas si c'est correct :

    Je créé une variable dans laquelle je stock l'url de la page sur laquelle sur se trouve l'internaute :

    Code:
    $url_courante = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    Ensuite pour chaque fiche produit, je défini son URL unique
    Code:
    $url_produit = mon_url_unique
    Et enfin je dis :
    Si l'internaute se trouve sur une fiche produit, et que $url_courante est différente de $url_produit, alors on redirige vers $url_produit.

    Cela permet de rediriger toutes les URL qui correspondent à une fiche produit mais qui ne sont pas réécrite comme il faut, vers les bonnes URL ($url_produit)

    Mais la question est : Le power de chaque ancienne URL va t-il bien être transféré sur les nouvelles via cette manière de faire ? Ou devrais-je plutôt rediriger chaque URL une par une dans .htaccess ?

    Merci anticipé.
     
  2. ortolojf
    ortolojf WRInaute accro
    Inscrit:
    14 Août 2002
    Messages:
    3 106
    J'aime reçus:
    12
    Bonjour Monsieur

    Pour une redirection 301, Google prendra en compte immédiatement, le PR de la page ancienne, et l'affectera à la page nouvelle.

    Suggestion de code :

    A la place du commentaire, mettre le code hphp du calcul de $url_produit.

    Enfin, il est souhaitable en norme W3C, d'inclure dans $url_produit ( = url de redirection ), le nom de domaine.

    Donc... L'url de redirection, ne nécessitera pas, que le serveur fasse l'adptation de l'url lui-même.

    Même chose por $url_courante évidemment, ( pour la comparaison ).



    Code:
    /*
     *  Calcul de $url_produit
     */
    
    if($url_courante != $url_produit)
    {
         header("HTTP/1.1 301 Moved Permanently");
         header("Location: ".$url_produit);
         exit;
    }
    
    

    Bien amicalement.

    Jean François Ortolo
     
  3. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
    Oui.

    Bon ok je me sens obligé d'en dire plus du fait de la réponse ci-dessus :mrgreen:

    Pour Google, que tu fasses tes redirections une à une en PHP, automatiquement en PHP, une à une dans le .htaccess, automatiquement dans le .htaccess, il reçoit la même chose comme infos , c'est une redirection 301 d'une Url A vers une Url B.

    Ta méthode est très bonne dans ce cas de figure, c'est ce type de process que je recommande à chaque fois qu'on me pose la question.
     
  4. Romdev
    Romdev WRInaute occasionnel
    Inscrit:
    26 Novembre 2008
    Messages:
    365
    J'aime reçus:
    0
    Entendu merci à vous deux,
    @nickargall : j'ai eu la même réponse sur un autre forum, ça confirme ;)

    J'ai une autre toute petite question concernant les TITLE et DESCRIPTION, il s'agit de quelque chose que j'envisage de mettre en place sur le site :

    Est-ce valable d'aller déclarer dans chaque fichier php (chaque "type" de pages donc) une variable $type_page pour pouvoir ensuite dans le fichier header.php différencier chaque type de page et pouvoir leur attribuer le bon TITLE ?

    Par exemple dans le fichier listing_produit.php j'irais mettre :
    $type_page = "listing produit"
    et dans le fichier detail_produit.php :
    $type_page = "detail produit"

    Comme ça dans mon header je peux dire :

    Code:
    if ($type_page = "listing produit") {
        Définir TITLE et DESCRIPTION des pages listing_produit.php
    }elseif($type_page = "détail produit") {
        Définir TITLE et DESCRIPTION des pages detail_produit.php
    }
     
  5. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 056
    J'aime reçus:
    294
    Sauf que là tu assignes $type_page, tu fais pas la comparaison :)

    Perso je mettrais plutôt ça dans un array.
    PHP:
    <span class="syntaxdefault"><br /></span><span class="syntaxkeyword"><?</span><span class="syntaxdefault">php<br />$types </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault">    </span><span class="syntaxstring">'listing produit'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault">        </span><span class="syntaxstring">'title'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'Mon super titre'</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault">        </span><span class="syntaxstring">'description'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'Ma super description'<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">),<br /></span><span class="syntaxdefault">    </span><span class="syntaxstring">'detail produit'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> array</span><span class="syntaxkeyword">(<br /></span><span class="syntaxdefault">        </span><span class="syntaxstring">'title'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">''</span><span class="syntaxkeyword">,<br /></span><span class="syntaxdefault">        </span><span class="syntaxstring">'description'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">''<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">)<br />);<br /><br />if&nbsp;(isset(</span><span class="syntaxdefault">$types</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$type_page</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'title'</span><span class="syntaxkeyword">]))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">$title&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">$types</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$type_page</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'title'</span><span class="syntaxkeyword">];<br />}<br /><br />if&nbsp;(isset(</span><span class="syntaxdefault">$types</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$type_page</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'description'</span><span class="syntaxkeyword">]))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">$description&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">$types</span><span class="syntaxkeyword">[</span><span class="syntaxdefault">$type_page</span><span class="syntaxkeyword">][</span><span class="syntaxstring">'description'</span><span class="syntaxkeyword">];<br />}<br /><br /></span><span class="syntaxdefault"> </span>
     
  6. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
    ce n'est pas une bonne idée de définir UN titre et UNE description pour un ensemble de pages; chaque page doit avoir son <title> unique et pertinent.
     
  7. Romdev
    Romdev WRInaute occasionnel
    Inscrit:
    26 Novembre 2008
    Messages:
    365
    J'aime reçus:
    0
    Disons que l'architecture actuelle du site ne me permet pas de tout faire.
    @nickargall : Ensuite dans mon script je différencierai les différents shémas à l'intérieur d'un même type de page, je le fais déjà d'ailleurs.

    @Spout : j'assigne $type_page oui, à chaque type de page, et ensuite j'utilise cette variable pour comparer (dans header.php qui est appelé partout) :

    Code:
    if ($type_page = "listing produit") {
        <title>TITLE de Listing produit</title>
    }elseif($type_page = "détail produit") {
        <title>TITLE de Fiche produit</title>
    }
    Comme ça si je suis sur une page de listing, $type_page sera égale à "listing produit", donc <title> sera égal à "TITLE de Listing produit"

    Ça n'est pas bon en faisant comme ceci ?
     
  8. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 056
    J'aime reçus:
    294
    Là tu assignes:
    PHP:
    <span class="syntaxdefault"><br />if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$type_page </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">"listing produit"</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br />&nbsp;</span><span class="syntaxdefault"></span>
    Tu ce sera tjs true.

    Là c'est une comparaison:
    PHP:
    <span class="syntaxdefault"><br />if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$type_page </span><span class="syntaxkeyword">==</span><span class="syntaxdefault"> </span><span class="syntaxstring">"listing produit"</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br />&nbsp;</span><span class="syntaxdefault"></span>
    http://codepad.org/Oi0jJyBK
     
  9. Romdev
    Romdev WRInaute occasionnel
    Inscrit:
    26 Novembre 2008
    Messages:
    365
    J'aime reçus:
    0
    Ok pardon :)

    Allez j'y vais comme ça alors, y'a du boulot !

    Merci !
     
  10. Bobo-Choses
    Bobo-Choses Nouveau WRInaute
    Inscrit:
    23 Novembre 2012
    Messages:
    6
    J'aime reçus:
    0
    Oula il y a du boulot !
     
Chargement...
Similar Threads - redirections Php htaccess Forum Date
Conflit htaccess Joomla / phpBB-SEO : isoler le redirections dans le htaccess skip flag Netlinking, backlinks, liens et redirections 26 Juillet 2012
Passage d'un site HTML en php par étapes. Comment coder les redirections ? Développement d'un site Web ou d'une appli mobile 18 Octobre 2015
Redirections permanentes avec CakePhp URL Rewriting et .htaccess 6 Août 2011
Redirections en PHP non suivies ? Référencement Google 16 Octobre 2009
WordPress Refonte des catégories, structure et format des URL, redirections 301 Référencement Google 17 Juillet 2020
Redirections 301 Problèmes de référencement spécifiques à vos sites 3 Juillet 2020
Présentation et bouteille à la mer pour redirections permanentes Netlinking, backlinks, liens et redirections 4 Avril 2020
Problèmes des redirections 301 en transparence Noms de domaine et référencement 12 Mars 2020
Problème sur les redirections de pages profondes URL Rewriting et .htaccess 4 Décembre 2019
Redirections permanentes 301 pour produits arrêtés définitivement e-commerce 27 Novembre 2019