Jump to content

Cédric Girard

Members
  • Posts

    1,161
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Cédric Girard

  1. Bonsoir Il faudrait préciser la version de Prestashop utilisée... Pour ce problème, il y a "forcément" un lien quelque part dans le site qui mène à ces URL. Une solution passe par le contrôle temps réel des URL (on en parle ici : http://www.prestashop.com/forums/topic/136398-changement-url-produit-et-redirection-auto/ ; code à adapter bien entendu, c'est une base de travail...) Sur les anciennes versions de Prestashop (jusqu'à la v1.3.x) c'était beaucoup plus simple, il suffisait de reconstituer l'URL théorique puis la comparer à l'URL appelée (dans header.php, à la racine de la boutique) et le cas échéant, faire une redirection HTTP 301 vers la bonne. Ainsi, jamais de problèmes de ce type !
  2. Bonjour Indéniablement, c'est dû à Analytics, Prestashop n'ayant rien à voir là-dedans : - vérifier que vous avez bien couplé AdWords à Analytics (voir paramètres dans l'interface AdWords) - vérifier la syntaxe de votre marqueur Analytics
  3. Bonjour Sur les pages dont $p > 1, il suffit de placer : - une balise Rel Canonical avec l'URL de la page 1 (page catégorie par défaut) - une balise Robots à "noindex,follow" et le tour est joué ! Sinon on peut effectivement virer la description de catégorie, devenue inutile.
  4. Merci à vous pour l'information, car je vais m'y pencher, très, très, très prochainement !!!
  5. Bonjour Je suivrais pour ma part le conseil d'Aurélien (abardon) : quand vous avez une boutique visant plusieurs langues (sans même parler de pays), il est indispensable d'avoir à minima un sous-domaine par langue. Car pour Google, un (sous-)domaine ne peut être géolocalisé que pour un critère donné (avec les contraintes inhérentes aux TLDs géolocalisés de facto : le .fr est dédié aux sites français, point barre) On peut faire de l'entre deux (sous-répertoires : un par langue) mais ensuite en matière de positionnement, ça complique fortement la tâche selon moi. Il est beaucoup plus simple d'avoir un sous-domaine par langue par exemple, puisque chaque sous-domaine sera vu (et travaillé en terme de SEO !) comme un site à part entière.
  6. Bonjour Je trouve aussi le billet un peu creux, dans la mesure où il n'explique que les différences sémantiques entre quelques termes employés dans le "milieu" des référenceurs... Par contre, point de discours sur les pratiques de certaines grandes agences (et moins grandes), qui facturent par exemple au prix (très) fort des prestations semi-automatisées : cahiers de préconisations, etc. où finalement le client a tout à faire d'un point de vue technique. Ou qui font payer la "soumission aux principaux moteurs" : en clair, du vent ! Ces derniers sont bien assez grands pour aller chercher les pages tous seuls (en fait, à un point où il faut être carré sur les projets en cours de dév. pour éviter que Google vienne indexer des trucs qu'il faut pas ) Un billet autrement plus intéressant sur les faux débats concernant l'éthique en matière de SEO (puisque finalement, c'est bien de ça qu'on parle) : http://www.seomix.fr/referencement/naturel/faux-debats-seo/
  7. Bonjour Euh je n'ose pas comprendre... Il y a déjà un marqueur analytics sur le site et vous n'y avez pas accès ? Il est possible de partager un compte Analytics, ça ne pose strictement aucun problème ! Sinon incluez le marqueur dans le footer.tpl (attention cependant à encadrer le code dans une balise {literal} ... {/literal} afin de ne pas interférer avec le parser Smarty)
  8. Bonjour Vos pages sont toujours indexées, mais sont très loin d'être optimisées. Déjà la page d'accueil, sans titre "explicite" ni Meta Description ("Site powered by Prestashop" ) Sinon, vite fait : - balise H1 (beaucoup) trop longue - pas de robots.txt (ce qui explique que tout et n'importe quoi est indexé sur Google, genre l'index de votre répertoire Images) - pas de sitemap.xml etc. Il y a tout à faire, si je puis me permettre... Vous avez certainement bénéficié de la "prime de fraîcheur", mais là ça semble fini : revoyez impérativement (pour commencer) l'intégralité de vos titres et pages et Meta Description, incluez un sitemap.xml et générez le fichier robots.txt afin d'éviter d'indexer n'importe quoi. Voilà
  9. Il vous faut créer (si ce n'est déjà fait) un compte Google webmaster Tools, puis y inscrire votre site (si ce n'est déjà fait). Ensuite, une fois sur les paramètres relatifs à votre site, aller dans "Configuration du site" puis sur "Accès du robot d'exploration". Là, vous avez un lien (sous forme d'onglet) "Supprimer l'URL". Apparemment par contre, vous allez devoir supprimer les URL une par une Mais bon le mieux est de les virer via le robots.txt, indéniablement !
  10. Je vais prochainement me pencher sur la v1.4... Il faut dire que l'équipe Prestashop y a intégré (d'après ce que j'ai vu) un contrôle des URL à la volée - ce que je faisais à l'époque - mais sans aller jusqu'au bout des choses, et plus particulièrement en matière de paramètres d'URL et de synchronisation avec les balises Rel Canonical et Meta Robots. C'est déjà un bon progrès, mais il reste quelques petites choses à peaufiner
  11. Bonjour Il semble que Google soit passé "avant" que la boutique ne soit fonctionnelle et qu'il ait indexé ce qu'il ne fallait pas (en fait c'est certain ) Je vous conseille durant au moins un certain temps d'interdire l'indexation des pages price-drop.php et search.php (via le fichier robots.txt), car elles représentent 99% des pages indexées (et inutiles !) au jour d'aujourd'hui. Vous pouvez tenter de passer par les Google Webmaster Tools pour "supprimer" de l'index ces pages (j'avoue ne pas savoir si on peut le faire pour des URL paramétrées en une seule fois...) Par ailleurs, revoyez très, très vite vos META Descriptions car ce sont ces balises qui sont généralement utilisées pour le "snippet" (texte affiché sous le lien dans les moteurs de recherche), mais il faut qu'elles aient une longueur correcte : idéalement entre 120 et 160 caractères (ce qui n'est pas le cas sur votre site). Revoyez également vos titres, et plus particulièrement celui de votre page d'accueil : y faire figurer votre marque est une bonne chose, mais on ne sait pas ce que vous vendez ! Pour ma part, j'ai l'habitude de passer systématiquement les pages "Meilleures ventes" et "Promotions" en "noindex,follow" (pas indexées, mais liens suivis) car il n'y a strictement aucun intérêt à les faire apparaître dans les moteurs de recherche... en tout cas sous la forme qu'elle ont par défaut dans Prestashop !
  12. Bonjour Une méthode simple consiste à créer une variable Smarty dans le fichier header.php à la racine de ta boutique. Par exemple (à ajouter juste après la ligne require_once(dirname(__FILE__).'/init.php'); ) : /* Gestion des pages catégories */ if (isset($_GET['id_category']) AND Validate::isUnsignedId($_GET['id_category'])) { // Nous sommes sur une page catégories $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) { $n=$_GET['n']; $orderby=$_GET['orderby']; $orderway=$_GET['orderway']; $p=$_GET['p']; $hasvarinurl=((isset($n))||(isset($orderby))||(isset($orderway))||((isset($p))&&($p>1)))?1:0; if($hasvarinurl==1) { // Non indexation de l'URL $smarty->assign('nobots2', 1); // Placera un "noindex,follow" dans la balise meta robots }; } } Cela permet de définit une variable "nobots2" (afin de ne pas interférer avec l'existante) que l'on va ensuite lire dans le header.tpl du thème, où la ligne de la balise Meta Robots devient donc : {if isset($nobots) OR isset($nobots2)} <meta name="robots" content="noindex,follow" /> {else} <meta name="robots" content="index,follow" /> {/if} Ainsi, toutes les pages de catégorie avec l'un des paramètres dans l'URL passera en "noindex,follow". Bien évidemment, c'est une technique minimaliste car pour ma part, je teste et reconstitue l'URL théorique à chaque appel de page, ce qui permet de la comparer avec l'URL appelée. Code valable pour Prestashop 0.9x beta à 1.3.x (je ne l'ai pas testé sur les v1.4.x... Pas encore !) : désolé, je reviens seulement sur Prestashop, après une grosse année de "pause" !
  13. BON. J'ai trouvé la solution. J'ai renommé la variable Smarty (id_image) en "fb_id_image" (il y avait peut-être une "interférence" avec la variable existante dans product.tpl ?) et surtout j'ai forcé la compil Smarty car ce c.. ne prenait pas mes modifications en temps réel Quoi qu'il en soit, avec le code d'origine ça ne fonctionnait pas. Je n'ai pas pensé à repasser en "force_compil = true" au niveau du paramétrage Smarty...
  14. Euh je n'ai pas activé le debug car la boutique est en prod mais effectivement un print_r sur le tableau devrait me fixer définitivement ! Edit : voilà qui est fait. ProductImages: Array ( [0] => Array ( [id_image] => 2552 [id_product] => 1989 [position] => 1 [cover] => 1 [id_lang] => 2 [legend] => POELE A CREPES ANTI-ADHESIVE CHOC DE BUYER ) ) Ce que je ne comprends pas, c'est que l'id_image est bien présent !!! Du coup je me demande si le problème ne vient pas de la "transmission" de la variable Smarty...
  15. Yep J'ai remis le code comme à l'initial, voici la partie PHP dédiée aux caractéristiques du produit : /** * Product specific META data */ if (self::isProductPage()) { $id_product = $_GET['id_product']; if ($_DEBUG == 1) { echo 'IdProduct: '.$id_product.'</br>'; } $smarty->assign('id_product', $id_product); $productImages = Image::getImages($id_lang, $id_product); if ($_DEBUG == 1) { echo 'ProductImages: '; print_r($productImages); echo '<br/>'; } if (is_array($productImages) AND sizeof($productImages)) { $productImage = $productImages[0]['id_image']; $smarty->assign('id_image', $productImage); if ($_DEBUG == 1) { echo 'IdImage: '.$productImage.'<br/>'; } } } Et celle au niveau du fichier tpl : <meta property="og:image" content="{$absoluteBaseUrl}img/p/{$id_product}-{$id_image}-large.jpg" /> La boutique tourne en v1.3.0 (oui je sais, faudra que je fasse une MAJ...) ; précision : j'ai forcé la langue à l'ID 2 du fait que la boutique est en français.
  16. Dernière chose : Pour remédier en très grande partie à ton p'tit problème, deux choses à faire : ajouter une balise Rel Canonical (en principe il y a un module intégré à Prestashop pour ça) qui contiendra l'URL sans aucun paramètre d'URL pour les pages avec paramètres d'URL (ex : pagination, tris, etc.) passer en "noindex,follow" au niveau de la balise Meta Robots Voilà
  17. Bonjour La problématique est un peu plus complexe. Dans les anciennes versions de Prestashop (de manière certaine jusqu'à la v1.3.1 - j'ai pas de boutiques en versions ultérieures) cela posait un gros soucis de duplicate content, puisque l'on pouvait avoir n'importe quoi derrière l'ID de produit par exemple sur les pages produit. J'avais présenté le truc lors du premier Barcamp en 2009, et apporté une solution technique (consistait à vérifier à chaque appel de page l'URL théorique et à la comparer avec l'URL appelée... et le cas échéant faire une redirection HTTP 301 !) Dans les dernières versions cela semble corrigé, "intégré" à Prestashop (c'est le cas sur ta boutique en tout cas) Le seul problème restant est que l'on peut inclure des variables bidon derrière les URL : par ex. taboutique.com/categorie/123-nom-du-produit.html?icinimportequoi&encorenimportequoi Comme tu n'as pas de balise Canonical, ça "peut" poser problème. En fait ça en pose un dans tes pages catégories ! En effet, quand tu tries une catégorie, tu as des variables d'URL... qui font que la page est très fortement similaire (quasi même contenu, éventuellement ordonnancé différemment) mais avec deux URL différentes ! Je te mets ma main à couper que tu as des "doublons" dans les Google Webmaster Tools au niveau des titres des des descriptions de pages... CQFD La solution est soit de coder tout ça, soit de passer par un module (il en existe, mais je ne sais pas ce que ça donne avec les dernières versions de Prestashop : je "reviens" sur Prestashop depuis quelques jours seulement !)
  18. Merci pour votre passage. En fait l'id_product remonte bien, c'est l'id_image qui manque à l'appel Dans la version originale de ce module open source, c'est {$id_image} tout court au niveau du fichier tpl (c'est moi qui ait rajouté la variable image au gré de mes essais, m'inspirant de product.tpl, mais dans les deux cas l'id de l'image ne remonte pas...)
  19. Bonjour Faire un truc comme ça ? http://www.chezunchef.com/54-fontaine-a-chocolat Un soupçon de JQuery et c'est parti ! Par contre, "ça" en module, je crois pas car nécessairement ça passe par une structure XHTML/CSS spécifique pour reconnaître les bons blocs...
  20. Bonjour Très simple : le lien vers ton image dans le champs og:image est faux et pointe vers un fichier qui n'existe pas, car il manque "-large" (je pense) : tu as 1234-567.jpg au lieu de 123-567-large.jpg De mon côté, je n'arrive pas à récupérer l'id_image... Tu as utilisé un module, ou du code perso ?
  21. Bonjour Dans le cadre de l'intégration d'un marqueur Open Graph sur les boutiques que je gère (en vue de compléter les infos liées aux réseaux sociaux lors des actions "J'aime", "+1" et autres), je rencontre une difficulté sur une boutique en v1.3. En l'occurrence, l'id_image ne s'intègre pas ou n'est pas lu quand je suis dans une page produit. J'utilise l'excellent module open source Facebook Opengraph for Prestashop ; seulement lors de l'intégration les URL des images n'ont pas d'id_image (et j'obtiens du coup des URL du style "1234--large.jpg" au lieu de "1234-5678-large.jpg") J'ai tenté diverses modifications du module de manière à modifier la variable rapportée dans le template : <meta property="og:image" content="{$absoluteBaseUrl}img/p/{$id_product}-{$image.id_image}-large.jpg" /> Mais cela ne fonctionne pas et id_image demeure désespérément vide Une idée ?
  22. Bonjour J'ai 4 boutiques tournant sur le même Premium chez Phpnet et je n'ai strictement aucun ralentissement palpable. Sur une des boutiques j'utilise Store Commander : si tu as bcp de produits, c'est un complément certes coûteux, mais... indispensable dans la gestion au jour le jour ! Si tu passes 5mn/produit et que tu as 100 produits, demandes-toi combien te coûtent les 500mn nécessaires à effectuer les mises à jour (ps : je n'ai aucune action chez le concepteur de SC, même si nous avons à un moment beaucoup échangé à propos de son outil !)
  23. Bonjour Il faut explorer votre template et trouver les balises images (rechercher "<img" par exemple) ; une fois ceci fait, pour chaque balise, vérifier la présence de l'attribut "alt" tel que décrit. Vous n'êtes pas obligé d'y mettre une valeur, plus particulièrement lorsqu'il s'agit d'images "inutiles". Mais dès lors que cela représente un produit ou un lien, il est particulièrement intéressant d'y placer un attribut "alt", non seulement pour le référencement mais également pour des raisons d'accessibilité.
  24. Bonjour Oui, c'est tout-à-fait normal : on demande aux robots de ne pas indexer les pages ne présentant strictement aucun intérêt en matière de positionnement / référencement. Les pages de contenu (produits, catégories, etc.) n'ont pas d'URL en ".php" et ne font de toute façon pas partie de la liste, il n'y a aucun risque qu'elles soient filtrées.
  25. Bonjour De mémoire il me semble qu'il existait un module de type "Redirection" pour les premières versions de Prestashop (1.0, 1.1) dans l'ancien forum dédié aux modules utilisateur proposés sur le forum. Car la solution passe tout simplement par une redirection (temporaire donc HTTP302 ? Si vous êtes certain que votre produit bien positionné va arriver : oui, sinon HTTP301) placée dans le .htaccess, AVANT les règles de réécriture propres à Prestashop. Si vous n'avez qu'un seul produit, vous pouvez modifier le htaccess à la main, sinon voir pour retrouver ce fameux module dont j'ai oublié le nom. Attention à ne pas activer de mécanismes écrasant le htaccess depuis le back-office Autre solution (beaucoup plus simpliste mais sensiblement moins "élégante") : indiquer dans votre fiche produit le produit équivalent (lien dans le résumé par exemple) ; à voir selon l'intégration de votre boutique...
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More