comment eviter le duplicate a cause de get non désirés.


ludoanimation
WRInaute impliqué
WRInaute impliqué
 
Messages: 770
Inscription: 25 Juil 2003

comment eviter le duplicate a cause de get non désirés.

Message le Lun Mai 10, 2010 23:32

Salut,

Des petits malins s'amusent a rajouter des parametres a l'url d'un de mes sites exemple

Code: Tout sélectionner
http://www.monsite.com/index.php?admin=true&user=admin&pass=admin


comme je rewrite tout et qu'au final je ne teste que les parametres dont j'ai besoin, ceux la sont ignorés et la page s'affiche normalement, mais ces parametres restent dans l'url ca risque de me faire du duplicate.

y a t'il un moyen de tester tout les parametres et si j'en trouve des qui ne sont pas prévus de faire un 301 vers vers l'url débarassée de ces parametres ?

Rod la Kox
WRInaute accro
WRInaute accro
 
Messages: 3253
Inscription: 24 Juin 2008

Re: comment eviter le duplicate a cause de get non désirés.

Message le Mar Mai 11, 2010 8:16

Vérifier si l'URL est la bonne sinon, redirection 404.


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8575
Inscription: 23 Nov 2005

Re: comment eviter le duplicate a cause de get non désirés.

Message le Mar Mai 11, 2010 8:42

Ou alors utiliser une canonical pour forcer à chaque appel de page l'url canonique correspondante.


ludoanimation
WRInaute impliqué
WRInaute impliqué
 
Messages: 770
Inscription: 25 Juil 2003

Re: comment eviter le duplicate a cause de get non désirés.

Message le Mar Mai 11, 2010 10:40

merci pour les suggestions

je me repond aussi a moi meme, dans la nuit j'ai pondu ca ( pas encore testé y a peut etre des erreurs de syntaxe ) que pensez vous de ce principe ?

Code: Tout sélectionner
// Liste des arguments attendus par la page
$argument_attendu = array("id", "page");
foreach($_GET as $key=>$val) {
   // tester chaquer argument pour voir s'il ne fait pas parti des arguments attendus
   if (!in_array($key, $argument_attendu)) {
      if isset($_GET['id'] && isset($_GET['page'] {
         // on a tout de meme les bons arguments - on peut rerouter en 301
         // recuperer en BDD les infos pour reconstruire l'url rewritée ( ex : une-page-qui-est-rewritée )
         header("Status: 301 Moved Permanently", false, 301);
         header("Location: http://www.monsite.com/une-page-qui-est-rewritée-i".$_GET['id']."-p".$_GET['page'].".htm");
         exit();
      } else {
        // on a des mauvais arguments mais on a pas ceux qui sont attendus : 404
        header ("HTTP/1.1 404 Not Found");
   include ($_SERVER["DOCUMENT_ROOT"] . "/page_introuvable_404.php");
        exit();
      }
   }
}


le principe c'est donc : si on a des arguments indesirables, soit les arguments attendus existent aussi et donc on peut reconstruire l'url rewritée de départ et faire une 301 vers celle ci, soit on a pas les arguments attendus et dans ce cas on fait une 404


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :

  • Analyse de similarité textuelle
    Cet outil vous permet de calculer la similarité entre 2 pages web. L'algorithme utilisé repose sur l'analyse des occurrences des mots (mais pas sur leur positionnement dans les pages). Google utilise cette notion à certains endroits dans son algorithme, mais de façon bien plus évoluée que ce petit outil... Avoir des pages trop similaires peut entraîner des problèmes d'indexation... Cet outil vous permettra peut-être de résoudre certains problèmes de contenus dupliqués.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité