IED Factory Posted September 14, 2016 Share Posted September 14, 2016 Bonjour à tous et merci de votre aide éventuelle. Nous avons reçu dernièrement un mail de Google nous informant que nous avions un problème de sémantique sur les données structurées de Rich Snippet (shema.org). Au passage leur code de mail annonce à tort dans l'objet : "Les données structurées de http://www.monsite.com contenant du spam pourraient ne pas s'afficher dans les résultats de recherche". Après donc passage au testeur : https://search.google.com/structured-data/testing-tool il ressort deux problèmes liés au "price" : 1- 5,13 € (La propriété 5,13 € n'est pas une spécification de prix valide. Pour en savoir plus, consultez http://schema.org/price.) avec ce code incrimé : <span itemprop="price" class="price product-price"> 5,13 € </span> 2- Vous devez indiquer la propriété price ou priceSpecification. avec ce code incrimé : <span itemprop="offers" itemscope itemtype="http://schema.org/Offer" class="availability"> <span class="available-now"><link itemprop="availability" href="http://schema.org/InStock" />En stock </span> </span> Visiblement en lisant les spécification de schema.org il faut ne pas afficher €, mais Euro : Use the priceCurrency property (with ISO 4217 codes e.g. "USD") instead of including ambiguous symbols such as '$' in the value. Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator. Note that both RDFa and Microdata syntax allow the use of a "content=" attribute for publishing simple machine-readable values alongside more human-friendly formatting. Use values from 0123456789 (Unicode 'DIGIT ZERO' (U+0030) to 'DIGIT NINE' (U+0039)) rather than superficially similiar Unicode symbols. ----------------------------------------- Nous avons donc regardé dans le fichier product.tpl de notre dossier theme et aussi dans le dossier default-boostrap et nous trouvons cela : <span id="our_price_display" itemprop="price">{convertPrice price=$productPrice}</span> <!--{if $tax_enabled && ((isset($display_tax_label) && $display_tax_label == 1) || !isset($display_tax_label))} {if $priceDisplay == 1}{l s='tax excl.'}{else}{l s='tax incl.'}{/if} {/if}--> <meta itemprop="priceCurrency" content="{$currency->iso_code}" /> Nous avons cherché sur les forums en vain... Que faut-il modifier pour corriger pour le problème de price et que faut-il aussi rajouter pour la propriété ? merci de votre aide. Link to comment Share on other sites More sharing options...
IED Factory Posted September 23, 2016 Author Share Posted September 23, 2016 Si cela peut servir à quelqu'un... Il faut modifier dans le product.tpl du theme qui est appelé en page d'accueil si vous avez mis en place les modules Nouveautés, mise en avant de produit ou Promotion.et dans le list_product.tpl aussi. Comme cela, les tests seront bon autant sur votre page d'accueil que sur les fiches produits. Je remercie au passage Sébastien qui nous a donné lé solution, il se reconnaîtra ! Dans le fichier product.tplLigne 268<span id="our_price_display" itemprop="price">{convertPrice price=$productPrice}</span>remplacer par<span id="our_price_display" itemprop="price" content="{$productPrice}">{convertPrice price=$productPrice}</span>Dans le fichier list_product.tpl du thèmeligne 75<span itemprop="price" class="price product-price">remplacer par<span itemprop="price" class="price product-price" content="{$product.price}">Ligne 124<span itemprop="price" class="price product-price">remplacer par<span itemprop="price" class="price product-price" content="{$product.price}">Après la ligne 139{hook h="displayProductPriceBlock" product=$product type="unit_price"}ajouter{if ($product.allow_oosp || $product.quantity > 0)}<meta itemprop="availability" itemtype="http://schema.org/InStock" content="{if $product.quantity <= 0}{if $product.allow_oosp}{if isset($product.available_later) && $product.available_later}{$product.available_later}{else}{l s='In Stock'}{/if}{else}{l s='Out of stock'}{/if}{else}{if isset($product.available_now) && $product.available_now}{$product.available_now}{else}{l s='In Stock'}{/if}{/if}"/>{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}<meta itemprop="availability" itemtype="http://schema.org/LimitedAvailability" content="{l s='Product available with different options'}"/>{else}<meta itemprop="availability" itemtype="http://schema.org/OutOfStock" content="{l s='Out of stock'}"/>{/if}ligne 176 qui devient la ligne 183<span itemprop="offers" itemscope itemtype="http://schema.org/Offer" class="availability">remplacer par<span class="availability">Ligne 179 qui devient la ligne 186<link itemprop="availability" href="http://schema.org/InStock" />{if $product.quantity <= 0}{if $product.allow_oosp}{if isset($product.available_later) && $product.available_later}{$product.available_later}{else}{l s='In Stock'}{/if}{else}{l s='Out of stock'}{/if}{else}{if isset($product.available_now) && $product.available_now}{$product.available_now}{else}{l s='In Stock'}{/if}{/if}remplacer par{if $product.quantity <= 0}{if $product.allow_oosp}{if isset($product.available_later) && $product.available_later}{$product.available_later}{else}{l s='In Stock'}{/if}{else}{l s='Out of stock'}{/if}{else}{if isset($product.available_now) && $product.available_now}{$product.available_now}{else}{l s='In Stock'}{/if}{/if}Ligne 183 qui devient la ligne 190<link itemprop="availability" href="http://schema.org/LimitedAvailability" />{l s='Product available with different options'}remplacer par{l s='Product available with different options'}Ligne 187qui devient la ligne 194<link itemprop="availability" href="http://schema.org/OutOfStock" />{l s='Out of stock'}remplacer par{l s='Out of stock'} 2 Link to comment Share on other sites More sharing options...
Manu-41 Posted January 14, 2017 Share Posted January 14, 2017 Bonjour, je rencontre aussi ce problème avec le price (presta 1.6.1.10) Avec vos modification, avez vous résolu ce problème? merci pour votre aide Link to comment Share on other sites More sharing options...
IED Factory Posted January 15, 2017 Author Share Posted January 15, 2017 Bonsoir, avec mes excuses pour cette réponse tardive. OUI bien sûr que le problème fut résolu, sinon je ne le rapporterais pas. Bonne correction. Link to comment Share on other sites More sharing options...
selectstore Posted January 31, 2017 Share Posted January 31, 2017 (edited) merci pour la solution ->Version de PrestaShop 1.6.1.10 Edited January 31, 2017 by selectstore (see edit history) Link to comment Share on other sites More sharing options...
Lyn&Or Bijoux Posted March 23, 2018 Share Posted March 23, 2018 (edited) Bonjour, Merci beaucoup pour cette astuce. Encore une fois, pourquoi ça n'est pas en natif sur PS??? Je suis en PS 1.6.1 et j'ai juste modifié le product.tpl car le product-list.tpl n'est pas le même et je n'ai pas osé touché. Sinon, ça marche nickel! Par contre, attention , il y a une petite erreur: ce n'est pas le fichier list-product.tpl mais le fichier product-list. tpl Bonne journée Marilyne Edited March 23, 2018 by Lyn&Or Bijoux (see edit history) Link to comment Share on other sites More sharing options...
GonZO Posted May 23, 2018 Share Posted May 23, 2018 Bonjour à tous, Je me suis inscris simplement pour vous remercier pour ce travail et cette réponse IED Factory Cela marche très bien (confirmé et testé avec l'outil de test de données stucturées google!). Je suis sur la version 1.6.1.18 et j'ai simplement opérés ces modifications car les suivantes n'apparaissent pas dans le fichier : On 23/09/2016 at 9:57 AM, IED Factory said: Dans le fichier product.tpl Ligne 268 <span id="our_price_display" itemprop="price">{convertPrice price=$productPrice}</span> remplacer par <span id="our_price_display" itemprop="price" content="{$productPrice}">{convertPrice price=$productPrice}</span> Dans le fichier list_product.tpl du thème ligne 75 <span itemprop="price" class="price product-price"> remplacer par <span itemprop="price" class="price product-price" content="{$product.price}"> Ligne 124 <span itemprop="price" class="price product-price"> remplacer par <span itemprop="price" class="price product-price" content="{$product.price}"> Link to comment Share on other sites More sharing options...
IED Factory Posted May 23, 2018 Author Share Posted May 23, 2018 Merci à vous de votre merci ! C’est le principe du forum, si on a, on partage... Link to comment Share on other sites More sharing options...
karopresta Posted March 28, 2019 Share Posted March 28, 2019 (edited) Bonjour, Cela fonctionne "à moitié". Prestashop affiche bien ses prix avec un point (ce qu'attend Google), mais par je ne sais quelle opération, le résultat affiché pour le price est une virugle. Et cela ne convient absolument pas à Google qui continue à déclarer le champ Price comme non valide. Quelqu'un aurait-il l'info sur la ou les lignes de code à ajouter pour que la virgule se transforme en point ? (ou plutôt reste en point...). Et pourtant le "content" est bien avec un point. Ce qu'il met en erreur c'est la zone à côté. Je ne comprend pas. Le surlignement orange n'est pas de mon fait, mais bien de la Search console. erreur : Use '.' (Unicode 'FULL STOP' (U+002E)) rather than ',' to indicate a decimal point. Avoid using these symbols as a readability separator. Format de prix non valide dans la propriété "price" Merci d'avance. Edited March 28, 2019 by karopresta (see edit history) Link to comment Share on other sites More sharing options...
IED Factory Posted March 29, 2019 Author Share Posted March 29, 2019 Bonjour votre version de PS ? Modules utilisé ? Gestion des RS ? avec theme ou par extensions ? Si vous ne contextualisez pas votre demande, c'est difficile... Link to comment Share on other sites More sharing options...
karopresta Posted March 29, 2019 Share Posted March 29, 2019 Bonjour, Modules ? La liste est très longue... Version 1.6.0.8 Thème (ancien) Voici ce qui est écrit dans l'aide Google sur le balisage des produits : Prix du produit. Vous pouvez inclure le symbole de devise ou utiliser comme séparateur décimal soit un point décimal ("."), soit une virgule (","). Par exemple,10,00 USD ou 10,00 €. Link to comment Share on other sites More sharing options...
karopresta Posted April 17, 2019 Share Posted April 17, 2019 1580 fichiers en erreur, toujours à cause de cette virgule ! Alors que dans l'aide Google ils autorisent les virgules. Quelle saleté ce référenceur qui n'est même pas cohérent avec lui-même. 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