topus Posted April 20, 2009 Share Posted April 20, 2009 Bonjour voila une semaine j ai envoyer mon sitemap et quand je fais sur google : site:www.topus-brands.comil me sort juste : www.topus-brands.com/search.php?tag=slip+onest ce normal qu il me sorte pas en premier ? www.topus-brands.combien que j ai dans le sitemap :Nombre total d'URL dans le sitemap 97URL indexées dans le sitemap 31 Link to comment Share on other sites More sharing options...
nico46 Posted April 20, 2009 Share Posted April 20, 2009 Salut ton sitemap est pas bon au niveaux des liens, je veux dire que tout est mélanger là dedans, tes premiers liens que Google voit son ceux qu'il te donne sur le moteur de recherche.Moi je viens de le faire ton sitemap et tu verra que ça n'à vraiment plus rien à voir, et là tu as un bon fichier bien construit et propre de surcroit.Je te le met en pièce jointe, donc remplace ton sitemap par le mien et tu verra que d'ici quelques jours tu aura de bien meilleurs résultat.PS: Ca ne veux pas passer en pièce jointe, donc je le met sur mon serveur en.rar, dès que tu l'à pris fais le moi savoir que je le supprime merci.http://dreams-pc.fr/sitemap.rar Link to comment Share on other sites More sharing options...
topus Posted April 20, 2009 Author Share Posted April 20, 2009 euh merci mais je l ai fais avec l outil gsitemap donc je comprends pas trop kes ki va pas ? Ou du moins avec quel outil l a tu fais toi ?Merci d avance Link to comment Share on other sites More sharing options...
nico46 Posted April 20, 2009 Share Posted April 20, 2009 Te liens sont en désordre tu référence en premier lieu les liens 1,2,3,4,5,6 ect, mais tes liens ne ramène pas sur les pages principales mais sur des produits ou autres en premier ce qui fais que ta précense sur google est pas nombreuse voir limitée.De plus tu dis que Google te référence 84 liens, moi j'en compte plus de 150 sur le sitemap que je t'ai fais.Je fais les fichiers avec des logiciels de ma fabrications car je travaille également dans le domaine du référencement. Link to comment Share on other sites More sharing options...
topus Posted April 20, 2009 Author Share Posted April 20, 2009 ok merci beaucoup pour l'explication Link to comment Share on other sites More sharing options...
topus Posted April 20, 2009 Author Share Posted April 20, 2009 Hum en fait la j ai mis ton fichier j ai update le sitemap et il me trouve plus que 72 url Dernier téléchargement par Google il y a 7 minutesÉtat OKNombre total d'URL dans le sitemap 72je comprends plus rienEn fait je vient de voir que toutes mes pages US n etaient plus dans le sitemap maintenant Link to comment Share on other sites More sharing options...
nico46 Posted April 20, 2009 Share Posted April 20, 2009 Les deux langues sont présentes sur ta boutique?Car en faisant le fichier moi je n'ai vu aucune page concernant l''Anglais ou autre.JE veux bien vérifier ça mais mes logiciels marche impec depuis 2 ans déjà Link to comment Share on other sites More sharing options...
topus Posted April 20, 2009 Author Share Posted April 20, 2009 bah va sur le site tu verras que les 2 langues sont présentes oui ^^ Link to comment Share on other sites More sharing options...
nico46 Posted April 20, 2009 Share Posted April 20, 2009 Nouveaux fichier au même endroit ;-) Link to comment Share on other sites More sharing options...
misty Posted April 20, 2009 Share Posted April 20, 2009 Bonjour,Quelques remarques :1)http://www.topus-brands.com/http://www.topus-brands.com/index.phphttp://www.topus-brands.com/index.php?id_lang=1=> problème de duplicate content sur la homepage, il ne faut laisser que le 1er2)http://www.topus-brands.com/cart.php?*http://www.topus-brands.com/order.php?*=> supprimer toutes ces URLs qui n'ont rien à faire dans le sitemap(/cart.php et /order.php doivent en principe être dans le robots.txt)3)http://www.topus-brands.com/product.php?*http://www.topus-brands.com/cms.php?...=> ne pas mettre d'URL non rewritées, en plus ça fait du duplicate content4)Virer tous les id_lang=1 à la fin des URL5)Pourquoi mettre un changefreq à never ?6)http://www.topus-brands.com/search.php?tag=*=> Ne pas mettre ça dans la sitemap, les résultats de recherche et les tags ne doiventpas être indexés, comme le demande google (/search.php à bannir dans robots.txt)7)http://www.topus-brands.com/authentication.phphttp://www.topus-brands.com/contact-form.php=> Aucun intérêt d'indexer ça, à bannir dans le robots.txt Dans un premier temps je te conseille d'utiliser le logiciel Xenu : http://home.snafu.de/tilman/xenulink.htmlCela va te permettre d'éliminer les problèmes sur ton site et dans un 2e temps degénérer une sitemap plus propre.Je crois qu'il y a un post avec le module de sitemap mis à jour, il vaudrait mieux utiliser ça. Link to comment Share on other sites More sharing options...
misty Posted April 20, 2009 Share Posted April 20, 2009 Si ton site n'est pas indexé sur les moteurs de recherche c'est à cause de ça sur chaque page :<meta name="robots" content="noindex,follow" />Mais au final ça te sauve un peu, au moins il n'y aura pas de pagaille à régler, mais assure toique la sitemap est impeccable avant de changer en :<meta name="robots" content="index,follow" /> Link to comment Share on other sites More sharing options...
nico46 Posted April 20, 2009 Share Posted April 20, 2009 Quel sont tes compétence en matière de référencement pour pouvoir parler ainsi, tout les sites que j'ai référencer ce sont retrouver en tête de google avec n'importe quel mot clef, alors je ne pense pas avoir besoin de tes conseils sur ce sujet et essaye tant que possible de mesurer un peux tes mots.Quand est t'il de tes sites si tu en possède et quels sont leurs classement? horrible? je me permet de reprendre tes termes. Link to comment Share on other sites More sharing options...
misty Posted April 20, 2009 Share Posted April 20, 2009 Nico46, tu as du duplicate content sur ton site :www.dreams-pc.frwww.dreams-pc.fr/index.phpdreams-pc.frdreams-pc.fr/index.phpQuant à être numéro 1 sur google ça ne veut rien dire, et pour les mots clés il faudra me dire lesquels, si je prends le début de ton méta keywords : boitier pc, pc portable, processeur, carte son, carte graphique, carte mere => je ne vois pas ton site sur la 1ère page de google.Si je peux paraître dur dans certains termes, c'est que certaines choses me choquent.Alors au lieu de me critiquer pourquoi tu ne critiques pas mes arguments ??Je ne suis pas un pro du référencement, mais je connais plein d'erreurs à ne pas faire.Alors OK tu n'as pas besoin de mes conseils mais si tu avais donné à topus la raison de la non indexation de son site :<meta name=“robots” content=“noindex,follow” />je pense que ça lui aurait été plus utile dans un premier temps. Link to comment Share on other sites More sharing options...
misty Posted April 20, 2009 Share Posted April 20, 2009 Je reviens quand même sur mon point 4, avec les id_lang. C'est assez compliqué et je crois qu'il faut bien regarder dans le forum sur la notion de multilangue, je ne sais pas si une solution idéale existe, en tout cas même l'équipe Prestashop en interne réfléchit à une meilleure solution à ce niveau que la solution actuelle. L'idéal ça serait de pouvoir jouer sur le TLD ou un sous-domaine, ou à défaut un sous répertoire. Mais je vous avouerai que ma boutique n'étant pas multiligue je ne me suis pas encore penché vraiment sur la question, alors je ne me prononcerai pas plus sur ce sujet Link to comment Share on other sites More sharing options...
misty Posted April 20, 2009 Share Posted April 20, 2009 Au fait nico46, juste une info (désolé si je peux paraître désagréable mais ce n'est pas du tout mon but) :site:dreams-pc.fr/&Ton site n'a que 11 pages indexées dans l'index principal de google, il doit y avoir un problème quelque part ?La plupart des URL sont en erreur 404.Voilà c'est juste pour te prévenir, et surtout n'y vois pas de remarque désagréable de ma part (bon j'ai peut-être bu un peu trop de café aujourd'hui ? ).PS: j'ai édité mes messages et j'ai enlevé les remarques qui pouvaient paraître désagréables (rhaaaa ce que les gens peuvent être susceptibles ! ). Link to comment Share on other sites More sharing options...
topus Posted April 21, 2009 Author Share Posted April 21, 2009 Merci pour vos reponses, nice ton lien marche plus Sinon misty peux tu m expliquer comment tu vois les erreurs de duplicate content plz , car j ai fais fais comme dit dans ce site : http://www.effi10.com/technique-web-css/prestashop-corriger-le-duplicate-content/ pour corriger l erreur de duplicate justement.Ensuite tu parles de id_lang=1 ou autre, je ne comprends pas ou tu trouves ça car toutes mes urls sont rewrites justement Prenons l exemple d un produit au hasard :en fr l url est : http://topus-brands.com/home/24-vans-old-skool-lo-pro.htmlet en us : http://topus-brands.com/home/24-vans-old-skool-lo-pro-en.htmldonc peux tu me dire ou tu vois les 3)http://www.topus-brands.com/product.php?*http://www.topus-brands.com/cms.php?…4)Virer tous les id_lang=1 à la fin des URLMerci d avance car la je vois pas du tout :/ Link to comment Share on other sites More sharing options...
Cédric Girard Posted April 21, 2009 Share Posted April 21, 2009 BonjourTout ce qu'a écrit Misty est parfaitement exact... Au passage, la présence de la balise "noindex,follow" sur toutes les pages explique la non indexation de beaucoup de pages. Mais Google étant ce qu'il est, il pèche par excès (en d'autres termes, si vous avez une page par ex. interdite dans le robots.txt mais qu'elle figure dans le sitemap, il va l'indexer tout de même puisqu'on lui aura demandé de l'indexer au moins une fois !)Concernant le contenu "idéal" du sitemap, pour une boutique en ligne Prestashop il ne devrait contenir que les catégories, les produits, les pages CMS "utiles" (les mentions légales n'ont rien à faire dans un sitemap) et le cas échéant, les pages de tags si leur gestion est légèrement modifiée et optimisée (par défaut ces pages sont non indexées, dixit le robots.txt). Et la page d'accueil bien sûr ;-)Bref.Le fait est que certaines choses sont (très) perfectibles en matière de duplicate content dans Prestashop, mais aussi au niveau du module gsitemap (j'avais proposé une modification de ce dernier dans le forum ; attention, petite modif à faire pour les sites multilingues avec une contrainte : les pages de mêmes articles/catégories doivent être rewritées avec des noms différents dans chaque langue, obligatoirement ! Y'a néanmoins toujours moyen de feinter ou de faire des compromis à ce niveau) Link to comment Share on other sites More sharing options...
misty Posted April 21, 2009 Share Posted April 21, 2009 Topus,Mes remarques ne portaient pas sur ta sitemap mais sur celle mise en attachement en fichier .rar de nico46.Concernant ta sitemap actuelle, il suffit de virer les search.php, cart.php, order.php ainsi que quelques pages de CMS (à mettre dans le robots.txt) et ce sera bon normalement. Mais même en l'état actuel ta sitemap n'aurait pas causé de problèmes particuliers car search.php, cart.php, order.php sont déjà dans le robots.txt, c'est juste pour avoir un fichier plus propre, ça ne changera pas grand chose.Le seul point qui empêche ton site d'être indexé c'est que, comme on l'a dit, tu demandes explicitement aux moteurs de recherche de ne pas l'indexer via la directive noindex. (ça avait peut-être été mis quand le site était en développement pour éviter l'indexation pendant cette phase). Link to comment Share on other sites More sharing options...
topus Posted April 21, 2009 Author Share Posted April 21, 2009 ah merci j ai eu peur Donc juste a enlever le noindex de mon header.tpl et tout sera regler ? Merci beaucoup, cedric oui je sais c est justement ce sitemap avec la correctif duplicate content que j ai prisdonc j ai virer le :<meta name="robots" content="{if isset($nobots)}no{/if}index,follow" />tout est bon maintenant normalement non ? Link to comment Share on other sites More sharing options...
Cédric Girard Posted April 21, 2009 Share Posted April 21, 2009 Euh... il ne faut pas virer cette ligne !!!Il doit y avoir autre chose ! Tu utilises quelque part les modifs du header.php dont je parle sur mon blog ? Car normalement la balise Smarty "nobots" ne doit pas être définie la plupart du temps. Il est possible que ton serveur ait une spécificité à ce niveau et que le code soit incorrectement interprété (je sais pour l'avoir installé sur plusieurs boutiques, qu'il faut généralement une petite adaptation d'un hébergeur à l'autre) Link to comment Share on other sites More sharing options...
topus Posted April 21, 2009 Author Share Posted April 21, 2009 ah d accord euh oui j utilise tes modifications de duplicate content comme dit ici : <?php require_once(dirname(__FILE__).'/init.php'); /* CODE A INSERER A PARTIR D'ICI */ /***** Test et correction des URL non valides *****/ if (isset($_GET['id_product']) AND Validate::isUnsignedId($_GET['id_product'])) { // Nous sommes sur une page produit $cookie = new Cookie('ps'); Tools::setCookieLanguage(); $product = new Product(intval($_GET['id_product']), true, intval($cookie->id_lang)); if (Validate::isLoadedObject($product) AND $product->active) { $goodurl=$_GET['id_product']."-".$product->link_rewrite.".html"; // URL theorique $currenturl=basename($_ENV['REQUEST_URI']); // URL courante $redir=strcmp($goodurl, $currenturl); if($redir!=0) { // Pas la bonne URL donc redirection HTTP 301 vers l'URL correcte header('HTTP/1.1 301 Moved Permanently', false, 301); header("Location: http://" . $_SERVER["SERVER_NAME"] ."/". $goodurl); exit(); } }; } if (isset($_GET['id_category']) AND Validate::isUnsignedId($_GET['id_category'])) { // Nous sommes sur une page Categorie $cookie = new Cookie('ps'); Tools::setCookieLanguage(); $category = new Category(intval(Tools::getValue('id_category')), intval($cookie->id_lang)); if (Validate::isLoadedObject($category) AND $category->active) { $paramurl=""; // Detection d'un eventuel numero de page if (isset($_GET['p'])) { $varpagenumber=$_GET['p']; if($varpagenumber>1) { $paramurl="?p=$varpagenumber"; $smarty->assign('nobots', 1); // variable Smarty de Prestashop qui appose la valeur "noindex,follow" dans la balise META Robots }; }; // Detection des variables eventuelles de tri de produits if (isset($_GET['orderby'])) { $varorderby=$_GET['orderby']; $paramurl.=(empty($paramurl)?"?":"&")."orderby=$varorderby"; $smarty->assign('nobots', 1); // variable Smarty de Prestashop qui appose la valeur "noindex,follow" dans la balise META Robots }; if (isset($_GET['orderway'])) { $varorderway=$_GET['orderway']; $paramurl.=(empty($paramurl)?"?":"&")."orderway=$varorderway"; $smarty->assign('nobots', 1); // variable Smarty de Prestashop qui appose la valeur "noindex,follow" dans la balise META Robots }; $goodurl=$_GET['id_category']."-".$category->link_rewrite.$paramurl; // URL theorique $currenturl=basename($_ENV['REQUEST_URI']); // URL courante $redir=strcmp($goodurl, $currenturl); if($redir!=0) { // Pas la bonne URL donc redirection HTTP 301 vers l'URL correcte header('HTTP/1.1 301 Moved Permanently', false, 301); header("Location: http://" . $_SERVER["SERVER_NAME"] ."/". $goodurl); exit(); } }; } // FIN DU CODE A INSERER Que dois je faire alors pour le noindex nofollow ? merci Link to comment Share on other sites More sharing options...
Cédric Girard Posted April 21, 2009 Share Posted April 21, 2009 Le problème est que sans le paramétrage serveur, on peut pas savoir si c'est bon ou pas.Essayes d'afficher la valeur de la variable nobots dans le header (juste pour voir) Link to comment Share on other sites More sharing options...
topus Posted April 21, 2009 Author Share Posted April 21, 2009 hum comment j affiche ça ? j ai essayer de mettre {$nobots} avant mon img mon logo.jpg mais ça marche pas Link to comment Share on other sites More sharing options...
topus Posted April 21, 2009 Author Share Posted April 21, 2009 ah si ça marche je m etais tromper de site il m affiche 0 donc que dois je faire ? merci Link to comment Share on other sites More sharing options...
topus Posted April 22, 2009 Author Share Posted April 22, 2009 petit up, personne ne voit plz Link to comment Share on other sites More sharing options...
topus Posted April 22, 2009 Author Share Posted April 22, 2009 C est resolu en fait j avais oublier que j av declarer la variable nobots = 0 dans mon header.php pour ne pas que google l indexe, dsl du derangement Link to comment Share on other sites More sharing options...
micm Posted April 28, 2009 Share Posted April 28, 2009 ........PS: Ca ne veux pas passer en pièce jointe, donc je le met sur mon serveur en.rar, dès que tu l'à pris fais le moi savoir que je le supprime merci.http://dreams-pc.fr/sitemap.rar bonjour le fichier n'est plus téléchargeable - il y a un message d'erreur.merci Link to comment Share on other sites More sharing options...
micm Posted April 30, 2009 Share Posted April 30, 2009 Petite question :Pour que google puisse indexé la valeur de "nobots" doit etre à 1 ou0merci Link to comment Share on other sites More sharing options...
Cédric Girard Posted April 30, 2009 Share Posted April 30, 2009 La variable "nobots" ne doit pas être renseignée. Si elle a une valeur => on passe en "noindex,follow"Donc cette variable ne doit être renseignée QUE si la page ne doit pas être indexée (par soucis de clarté, je mets 1 dans cette variable quand je lui attribue une valeur, c'est vrai...) Link to comment Share on other sites More sharing options...
micm Posted April 30, 2009 Share Posted April 30, 2009 parfait - merci pour cette réponse rapide donc j'ai mis : $smarty->assign('nobots', ); // variable Smarty de Prestashop qui appose la valeur "noindex,follow" dans la balise META Robots mais j'ai une page blanche Link to comment Share on other sites More sharing options...
Cédric Girard Posted April 30, 2009 Share Posted April 30, 2009 Non non, si la page ne DOIT PAS être indexée, tu mets $smarty->assign('nobots', 1); Sinon tu ne mets RIEN. Tu as une page blanche car il y a une erreur de syntaxe et de ce fait, l'exécution de la page s'interrompt ;-) Link to comment Share on other sites More sharing options...
micm Posted May 1, 2009 Share Posted May 1, 2009 Non non, si la page ne DOIT PAS être indexée, tu mets $smarty->assign('nobots', 1); Sinon tu ne mets RIEN. Tu as une page blanche car il y a une erreur de syntaxe et de ce fait, l'exécution de la page s'interrompt ;-) en effet ma boutique est dans le répertoire "boutik" donc j'ai du changer un peu la syntaxe mais n'étant pas un as du PHP je ne sais pas ou est l'erreur. En attendant d'avoir la soluce j'ai viré la ligne en question.1 Quelqu'un peut il m'aider ?2 Cedric est ce génant d'enlever cette ligne "nobots"3- J'oubliai qd je met "0" au lieu de "1" je n'ai pas de page blanche.merci d'avance Link to comment Share on other sites More sharing options...
Cédric Girard Posted May 1, 2009 Share Posted May 1, 2009 Ce n'est pas gênant de ne pas avoir le "nobots" mais ça ne sert plus à grand chose, car alors toutes les pages seront indexées... Link to comment Share on other sites More sharing options...
micm Posted May 1, 2009 Share Posted May 1, 2009 je te remercie pour tes reponses rapides et limpides.Pour les autres pages je les masques avec le "robots.txt" Link to comment Share on other sites More sharing options...
wallacept Posted October 6, 2009 Share Posted October 6, 2009 have prestashop 1.1 and module gsitemap working but the results not appears in google.view http://ccampea.com/lojaccexample, i search:Daelim RoadWin R ccampeaand not appear in google.why? Link to comment Share on other sites More sharing options...
eddy45 Posted April 19, 2010 Share Posted April 19, 2010 Bonjour à tous . je viens par ici pour faire profiter dans le cas ou le code est correct ... Pour prestashop 1.2.5 avec url canonique et réecriture d'url ce code est il correct ??? /* CODE A INSERER A PARTIR D'ICI */ /***** Test et correction des URL non valides *****/ if (isset($_GET['id_category']) AND Validate::isUnsignedId($_GET['id_category'])) { $paramurl=""; // Detection d'un eventuel numero de page if (isset($_GET['p'])) { $varpagenumber=$_GET['p']; if($varpagenumber>1) { $paramurl="?p=$varpagenumber"; $smarty->assign('nobots', 1); // variable Smarty de Prestashop qui appose la valeur "noindex,follow" dans la balise META Robots }; }; // Detection des variables eventuelles de tri de produits if (isset($_GET['orderby'])) { $varorderby=$_GET['orderby']; $paramurl.=(empty($paramurl)?"?":"&")."orderby=$varorderby"; $smarty->assign('nobots', 1); // variable Smarty de Prestashop qui appose la valeur "noindex,follow" dans la balise META Robots }; if (isset($_GET['orderway'])) { $varorderway=$_GET['orderway']; $paramurl.=(empty($paramurl)?"?":"&")."orderway=$varorderway"; $smarty->assign('nobots', 1); // variable Smarty de Prestashop qui appose la valeur "noindex,follow" dans la balise META Robots }; } // FIN DU CODE A INSERER J'ai ajouter aussi pour l'affichage des produits de 10 / 20 ou + if (isset($_GET['n'])) { $varpagenumber=$_GET['n']; if($varpagenumber>1) { $paramurl="?p=$varpagenumber"; $smarty->assign('nobots', 1); // variable Smarty de Prestashop qui appose la valeur "noindex,follow" dans la balise META Robots }; Au départ j'avais mis le code en entier mais j'avais une page blanche sur les catégories .Maintenant , les catégories s'affichent avec "index; follow" et les declinaisons (normalement toute... ??? ) en Noindex; follow .Quoi qu'il arrive ce code est il correct ? N'y a t'il aucun danger pour le referencement ? Ce serai quand meme dommage de perdre le benefice d'heure de travail et recherche sur le forum pour un code erroné ... J'ai fait d'autre modif qui sont plus spécifique à ma boutique , mais je voudrais faire de meme avec les nouveaux produits et les reductions et les meilleurs ventes ... Si une bonne ame peu m'aiguiller ce serais vraiment sympa ! Mon probleme se pose sur le "id_ " y en as pas pour eux ... Merci de vos réponse ! Link to comment Share on other sites More sharing options...
lehangart Posted May 7, 2010 Share Posted May 7, 2010 Bonjour,Juste pour info, le code de Eddt45 pour le nombre de produits par page ne fonctionne pas (erreur de variable(p au lieu de n) oubli de fermer avec}; et ne s'ajoute pas aux autres variables (order,n° de page,...)).A priori celui-ci fonctionne: if (isset($_GET['n'])) { $varpagenumber=$_GET['n']; if($varpagenumber>1) { $paramurl.=(empty($paramurl)?"?":"&")."n=$varpagenumber"; $smarty->assign('nobots', 1); // variable Smarty de Prestashop qui appose la valeur "noindex,follow" dans la balise META Robots }; }; Par contre en ce qui me concerne j'ai du mettre en commentaire la partie qui corrige les url produits car ce code "corrige" aussi les 2 modules "envoyer à un ami " et "poser une question", ce qui rend ces 2 fonctions inutilisables!Y aurait il un moyen pour que ces 2 modules restent opérationnels? Link to comment Share on other sites More sharing options...
eddy45 Posted May 7, 2010 Share Posted May 7, 2010 bizarre que ca ne fonctionne pas ... .Effectivement j'avais fait une faute dans le code et je l'avais modifier sans le faire sur le forum ... desoler ... apres ce qui concerne le fonctionnement , chez ca fonctionne nikel !!! et pour les autre variable il faut mettre le code en entier ... Link to comment Share on other sites More sharing options...
lehangart Posted May 7, 2010 Share Posted May 7, 2010 Avec votre code j"avais soit p soit n qui était pris en compte mais pas les 2 (ex: en étant sur la page 4 si je mettais 20 produits au lieu de 10 cela me ramenait à la 1 ère page sans pouvoir les suivantes!)Bref c'est pas grave si ça fonctionne chez vous et chez moi d'une autre façon; par contre je voulais savoir si vous utilisez les modules que j'ai cité? Link to comment Share on other sites More sharing options...
eddy45 Posted May 7, 2010 Share Posted May 7, 2010 oui je les utilises mais je les ai bloquer dans le robot texte, envoyer a un ami n'as rien a faire sur les pages de recherche ... Enfin c'est mon point de vu .Il est evident que ce code est adapter selon la boutique , je l'ai moi meme modifier pour d'autre module en fonction de mes besoins .Mais l'idée est là ... Il suffit de reprendre le code et l'adapter aux modules qu'on veux prendre en compte ... Voila ... Link to comment Share on other sites More sharing options...
lehangart Posted May 7, 2010 Share Posted May 7, 2010 Est ce que vous pourriez me dire quelle est la modification qu'il faut apporter à ce code pour qu'il laisse fonctionner les modules "envoyer à un ami" et "poser une question sur le produit" .Actuellement, avec ce code, ils sont considérés comme des mauvaises url et sont donc redirigés vers la page produit!!!Merci d'avance. Link to comment Share on other sites More sharing options...
eddy45 Posted May 7, 2010 Share Posted May 7, 2010 le code en question ne sert pas a rediriger les pages ... Il sert uniquement a indiquer aux robots d'indexer ou non les pages ... S'il y a redirection sur les pages , ca viens d'ailleurs ... Link to comment Share on other sites More sharing options...
lehangart Posted May 7, 2010 Share Posted May 7, 2010 Je parle du code de Cedric Girard qui est super pour éviter le duplicate content mais qui du coup bloque les 2 modules "envoyer à un ami" et "poser une question".Le code dont je parle est le suivant: <?php require_once(dirname(__FILE__).'/init.php'); /* CODE A INSERER A PARTIR D'ICI */ /***** Test et correction des URL non valides *****/ if (isset($_GET['id_product']) AND Validate::isUnsignedId($_GET['id_product'])) { // Nous sommes sur une page produit $cookie = new Cookie('ps'); Tools::setCookieLanguage(); $product = new Product(intval($_GET['id_product']), true, intval($cookie->id_lang)); if (Validate::isLoadedObject($product) AND $product->active) { $goodurl=$_GET['id_product']."-".$product->link_rewrite.".html"; // URL theorique $currenturl=basename($_ENV['REQUEST_URI']); // URL courante $redir=strcmp($goodurl, $currenturl); if($redir!=0) { // Pas la bonne URL donc redirection HTTP 301 vers l'URL correcte header('HTTP/1.1 301 Moved Permanently', false, 301); header("Location: http://" . $_SERVER["SERVER_NAME"] ."/". $goodurl); exit(); } }; } if (isset($_GET['id_category']) AND Validate::isUnsignedId($_GET['id_category'])) { // Nous sommes sur une page Categorie $cookie = new Cookie('ps'); Tools::setCookieLanguage(); $category = new Category(intval(Tools::getValue('id_category')), intval($cookie->id_lang)); if (Validate::isLoadedObject($category) AND $category->active) { $paramurl=""; // Detection d'un eventuel numero de page if (isset($_GET['p'])) { $varpagenumber=$_GET['p']; if($varpagenumber>1) { $paramurl="?p=$varpagenumber"; $smarty->assign('nobots', 1); // variable Smarty de Prestashop qui appose la valeur "noindex,follow" dans la balise META Robots }; }; // Detection des variables eventuelles de tri de produits if (isset($_GET['orderby'])) { $varorderby=$_GET['orderby']; $paramurl.=(empty($paramurl)?"?":"&")."orderby=$varorderby"; $smarty->assign('nobots', 1); // variable Smarty de Prestashop qui appose la valeur "noindex,follow" dans la balise META Robots }; if (isset($_GET['orderway'])) { $varorderway=$_GET['orderway']; $paramurl.=(empty($paramurl)?"?":"&")."orderway=$varorderway"; $smarty->assign('nobots', 1); // variable Smarty de Prestashop qui appose la valeur "noindex,follow" dans la balise META Robots }; $goodurl=$_GET['id_category']."-".$category->link_rewrite.$paramurl; // URL theorique $currenturl=basename($_ENV['REQUEST_URI']); // URL courante $redir=strcmp($goodurl, $currenturl); if($redir!=0) { // Pas la bonne URL donc redirection HTTP 301 vers l'URL correcte header('HTTP/1.1 301 Moved Permanently', false, 301); header("Location: http://" . $_SERVER["SERVER_NAME"] ."/". $goodurl); exit(); } }; } // FIN DU CODE A INSERER Link to comment Share on other sites More sharing options...
eddy45 Posted May 7, 2010 Share Posted May 7, 2010 ha ok ...Ben c'est bien ce que je dit alors ... ca viens d'un probleme de redirection ... Supprime les lignes de redirections , et garde seulement celles que j'ai mis moi ... Y aura plus de probleme avec les modules .Pour la redirection utilise l'url caninocal ... EN plus y a un post recent sur le sujet avec les modifs a faire pour qu'il fonctionne ... Voila , je n'ai psa d'autre reponse a te donner... bon courage Link to comment Share on other sites More sharing options...
Cédric Girard Posted May 9, 2010 Share Posted May 9, 2010 BonsoirIl faut faire un test de présence de chaîne de caractère dans l'URL en début de code. if((!(isset($_GET['nomdechampsdivers'])))&&(strpos($_SERVER["REQUEST_URI"],"/productquestion/")===false)&&(strpos($_SERVER["REQUEST_URI"],"/sendtoafriend/")===false)) { // ici le code } "nomdechampsdivers" sert (ici mis à titre d'exemple, mais il faut évidemment le remplacer) à détecter la présence de champs spécifiques dans l'URL, c'est par exemple utile pour certains modules AJAX. Pour les deux autres exemples, j'ai mis ici "REQUEST_URI", qui fonctionnera la plupart du temps, mais c'est à tester quand même car ça dépend des hébergeurs ;-) Link to comment Share on other sites More sharing options...
lehangart Posted May 9, 2010 Share Posted May 9, 2010 Bonsoir,Merci pour la réponse mais j'ai essayé : if (isset($_GET['id_product']) AND Validate::isUnsignedId($_GET['id_product']))&&(strpos($_SERVER["REQUEST_URI"],"/productquestion/")===false)&&(strpos($_SERVER["REQUEST_URI"],"/sendtoafriend/")===false)) { //code précédent ici } et je me retrouve avec une page blanche!!Où est l'erreur?Oups!!J'ai fais une erreur de syntaxe et le code ci- dessous ne me donne plus de page blanche: if((!(isset($_GET['id_product']) AND Validate::isUnsignedId($_GET['id_product'])))&&(strpos($_SERVER["REQUEST_URI"],"/productquestion/")===false)&&(strpos($_SERVER["REQUEST_URI"],"/sendtoafriend/")===false)) Je test pour voir s'il fait bien les redirections et vous tiens au courant Link to comment Share on other sites More sharing options...
Cédric Girard Posted May 9, 2010 Share Posted May 9, 2010 En fait l'idéal est de faire le test au départ, une seule fois (et si le test est bon, ALORS gérer les pages selon leur type...) Link to comment Share on other sites More sharing options...
lehangart Posted May 9, 2010 Share Posted May 9, 2010 Voila le code complet (ci-dessous) que j'ai mis dans header.php IL fonctionne pour les redirections de catégories mais pour les pages produits la redirection ne se fait pas et par conséquent les modules fonctionnent!!Ça doit être une petite erreur de syntaxe mais le php est quasiment du chinois pour moi /* CODE A INSERER A PARTIR D'ICI */ /***** Test et correction des URL non valides *****/ if((!(isset($_GET['id_product']) AND Validate::isUnsignedId($_GET['id_product'])))&&(strpos($_SERVER["REQUEST_URI"],"/productquestion/")===false)&&(strpos($_SERVER["REQUEST_URI"],"/sendtoafriend/")===false)) { // Nous sommes sur une page produit $cookie = new Cookie('ps'); Tools::setCookieLanguage(); $product = new Product(intval($_GET['id_product']), true, intval($cookie->id_lang)); if (Validate::isLoadedObject($product) AND $product->active) { $goodurl=$_GET['id_product']."-".$product->link_rewrite.".html"; // URL theorique $currenturl=basename($_ENV['REQUEST_URI']); // URL courante $redir=strcmp($goodurl, $currenturl); if($redir!=0) { // Pas la bonne URL donc redirection HTTP 301 vers l'URL correcte header('HTTP/1.1 301 Moved Permanently', false, 301); header("Location: http://" . $_SERVER["SERVER_NAME"] ."/". $goodurl); exit(); } }; } if (isset($_GET['id_category']) AND Validate::isUnsignedId($_GET['id_category'])) { // Nous sommes sur une page Categorie $cookie = new Cookie('ps'); Tools::setCookieLanguage(); $category = new Category(intval(Tools::getValue('id_category')), intval($cookie->id_lang)); if (Validate::isLoadedObject($category) AND $category->active) { $paramurl=""; // Detection d'un eventuel numero de page if (isset($_GET['p'])) { $varpagenumber=$_GET['p']; if($varpagenumber>1) { $paramurl="?p=$varpagenumber"; $smarty->assign('nobots', 1); // variable Smarty de Prestashop qui appose la valeur "noindex,follow" dans la balise META Robots }; }; if (isset($_GET['n'])) { $varpagenumber=$_GET['n']; if($varpagenumber>1) { $paramurl.=(empty($paramurl)?"?":"&")."n=$varpagenumber"; $smarty->assign('nobots', 1); // variable Smarty de Prestashop qui appose la valeur "noindex,follow" dans la balise META Robots }; }; // Detection des variables eventuelles de tri de produits if (isset($_GET['orderby'])) { $varorderby=$_GET['orderby']; $paramurl.=(empty($paramurl)?"?":"&")."orderby=$varorderby"; $smarty->assign('nobots', 1); // variable Smarty de Prestashop qui appose la valeur "noindex,follow" dans la balise META Robots }; if (isset($_GET['orderway'])) { $varorderway=$_GET['orderway']; $paramurl.=(empty($paramurl)?"?":"&")."orderway=$varorderway"; $smarty->assign('nobots', 1); // variable Smarty de Prestashop qui appose la valeur "noindex,follow" dans la balise META Robots }; $goodurl=$_GET['id_category']."-".$category->link_rewrite.$paramurl; // URL theorique $currenturl=basename($_ENV['REQUEST_URI']); // URL courante $redir=strcmp($goodurl, $currenturl); if($redir!=0) { // Pas la bonne URL donc redirection HTTP 301 vers l'URL correcte header('HTTP/1.1 301 Moved Permanently', false, 301); header("Location: http://" . $_SERVER["SERVER_NAME"] ."/". $goodurl); exit(); } }; } // FIN DU CODE A INSERER Link to comment Share on other sites More sharing options...
lehangart Posted May 9, 2010 Share Posted May 9, 2010 Après quelques essais voila le début du code qui fonctionne parfaitement: if(((isset($_GET['id_product']) AND Validate::isUnsignedId($_GET['id_product'])))&&(strpos($_SERVER["REQUEST_URI"],"/productquestion/")===false)&&(strpos($_SERVER["REQUEST_URI"],"/sendtomyfriend/")===false)) Attention si quelqu'un d'autre est intéressé mon module pour envoyer à un ami est sedtomyfreind au lieu de sendtoafreind (donc à changer dans le code en fonction de ses propres modules)Un grand merci Cédric!! Link to comment Share on other sites More sharing options...
eddy45 Posted May 11, 2010 Share Posted May 11, 2010 Content que ca marche Link to comment Share on other sites More sharing options...
traivore Posted August 12, 2011 Share Posted August 12, 2011 Salut à tous Je suis très intéressé par cette solution pour éviter le duplicate content. Est-ce que ce code est toujours valable pour la version 1.4 de PS? Merci Link to comment Share on other sites More sharing options...
pierre-paul Posted October 26, 2011 Share Posted October 26, 2011 Je me permets de remonter ce topique, n'ayant pas trouvé de solution équivalente pour la 1.4.X.X Y a-il une solution pour avoir NOINDEX / FOLLOW sur les pages contenant les variables : 'orderby''orderway''p''n' Pour les versions 1.4.x.x. Module, code, bref une solution autre que le robot.txt et autre manipulation google webmatertool. Merci pour vos propositions. Link to comment Share on other sites More sharing options...
wamou Posted October 26, 2011 Share Posted October 26, 2011 Personne n'aurait d'idée ? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now