Marmulet Posted April 1, 2016 Share Posted April 1, 2016 Bonjour à tous, J'ai décidé d'utiliser les déclinaisons dans Google Shopping (Merchant Center) mais je rencontre un problème lié au structured data. Je prends un exemple avec l'url suivante : http://equi-clic.com/fr/articulations/2729-ekyflex-arthro-3515650660667.html#/107-conditionnement-14_kg Le problème c'est que je communique à Google un tarif de 1168€ TTC mais quand il vient chercher la page il trouve le tarif de base et non le tarif de de la déclinaison ce qui ne lui convient pas du tout. Il exclut donc toutes mes déclinaisons. Si j'utilise l'outils de test des Structured Data de Google, je n'ai pas le bon prix : https://developers.google.com/structured-data/testing-tool?url=http%253A%252F%252Fequi-clic.com%252Ffr%252Farticulations%252F2729-ekyflex-arthro-3515650660667.html%2523%252F107-conditionnement-14_kg Google trouve les données du produit de base et non de la déclinaison :-( J'imagine que tout le monde doit être concerné par ce problème. Avez-vous une idée ? Merci d'avance. Link to comment Share on other sites More sharing options...
Marmulet Posted April 4, 2016 Author Share Posted April 4, 2016 J'ai ajouté un tableau des déclinaisons sur les pages produits concernées. On va voir si cela fonctionne. Allez Google, soit sympa ;-) Link to comment Share on other sites More sharing options...
Delart Posted April 6, 2016 Share Posted April 6, 2016 Avez-vous résoudre ce problème? Merci! Link to comment Share on other sites More sharing options...
Marmulet Posted April 7, 2016 Author Share Posted April 7, 2016 Comme je disais, j'ai ajouté un tableau avec les déclinaisons : référence, prix , valeurs des variations, EAN. Il suffit de modifier le product.tpl <!-- Block Variations --> {if isset($groups)} <section id="variations" class="page-product-box"> <h2 class="page-product-heading">{l s='Déclinaisons'} {$product->name|escape:'html':'UTF-8'}{if !(stripos(strtoupper($product->name),strtoupper($product->manufacturer_name)) !== FALSE)} {$product->manufacturer_name|escape:'html':'UTF-8'}{/if}</h2> <div class="table-responsive"> <table border="1" class="table"> <thead> <!-- En-tête du tableau --> <tr> <th>Réference</th> {foreach from=$groups item='attributearray' key='groupindex'} <th>{$attributearray.name}</th> {/foreach} <th>Prix</th> {if !empty($product->ean13)}<th>EAN</th>{/if} </tr> <tbody> <!-- Corps du tableau --> {foreach from=$combinations item='combination' key='combinationId'} <tr> <td>{$combination.reference}</td> {foreach from=$combination.attributes_values item='a' key='groupindex'} <td>{$a}</td> {/foreach} {if $priceDisplay >= 0 && $priceDisplay <= 2} {if $combination.price != 0} <td>{convertPrice price=($combination.price * ($tax_rate/100 + 1)) + $productPrice}</td> {else} <td>{convertPrice price=$productPrice}</td> {/if} {/if} {if !empty($product->ean13)}<td>{if !empty($combination.ean13)}{$combination.ean13}{/if}</td>{/if} </tr> {/foreach} </tbody> </thead> </table> </div> </section> {/if} <!-- /Block Variations --> L'idéal serait d'ajouter les structured data aux déclinaisons. En effet, cela évite que mes produits soient refusés mais les prix ne sont pas mis à jour automatiquement. 1 Link to comment Share on other sites More sharing options...
Delart Posted April 7, 2016 Share Posted April 7, 2016 Je vais essayer votre solution. Merci! Link to comment Share on other sites More sharing options...
Delart Posted April 8, 2016 Share Posted April 8, 2016 Dans mon cas EAN13 pour les combinaisons ne se présentent pas. Avez-vous eu à faire quoi que ce soit pour les utiliser? Link to comment Share on other sites More sharing options...
Marmulet Posted April 8, 2016 Author Share Posted April 8, 2016 Il faut remplir l'EAN du produit ou enlever la condition (2 fois) : {if !empty($product->ean13)} 1 Link to comment Share on other sites More sharing options...
Marmulet Posted April 13, 2016 Author Share Posted April 13, 2016 (edited) Dernière version avec les Structured Data en plus. Je n'ai pas d'erreurs quand j'utilise l'outils de test. J'attends le retour du bot de Google Shopping dans quelques jours. <!-- Block Variations --> {if isset($groups)} <section id="variations" class="page-product-box"> <h2 class="page-product-heading">{l s='Déclinaisons'} {$product->name|escape:'html':'UTF-8'}{if !(stripos(strtoupper($product->name),strtoupper($product->manufacturer_name)) !== FALSE)} {$product->manufacturer_name|escape:'html':'UTF-8'}{/if}</h2> <div class="table-responsive"> <table border="1" class="table"> <thead> <!-- En-tête du tableau --> <tr> <th>{l s='Réference'}</th> {foreach from=$groups item='attributearray' key='groupindex'} <th>{$attributearray.name}</th> {/foreach} <th>{l s='Nom'}</th> <th>{l s='Prix'}</th> {if !empty($product->ean13)}<th>{l s='EAN'}</th>{/if} </tr> <tbody> <!-- Corps du tableau --> {foreach from=$combinations item='combination' key='combinationId'} <tr itemscope itemtype="https://schema.org/Product"> <td itemprop="sku">{$combination.reference}</td> {foreach from=$combination.attributes_values item='a' key='groupindex'} <td>{$a}</td> {/foreach} <td itemprop="name">{$product->name|escape:'html':'UTF-8'}{foreach from=$combination.attributes_values item='a' key='groupindex'} {$a}{/foreach}</td> {if $priceDisplay >= 0 && $priceDisplay <= 2} {if $combination.price != 0} <td itemprop="offers" itemscope itemtype="https://schema.org/Offer"> <span itemprop="price" content="{($combination.price * ($tax_rate/100 + 1)) + $productPrice}"">{convertPrice price=($combination.price * ($tax_rate/100 + 1)) + $productPrice}</span></td> {else} <td itemprop="offers" itemscope itemtype="https://schema.org/Offer"> <span itemprop="price" content="{$productPrice}">{convertPrice price=$productPrice}</span></td> {/if} {/if} {if !empty($product->ean13)}<td itemprop="gtin13">{if !empty($combination.ean13)}{$combination.ean13}{/if}</td>{/if} </tr> {/foreach} </tbody> </thead> </table> </div> </section> {/if} <!-- /Block Variations --> Edited April 13, 2016 by Marmulet (see edit history) Link to comment Share on other sites More sharing options...
Marmulet Posted April 15, 2016 Author Share Posted April 15, 2016 Je confirme Google est passé et ça se confirme. Cela fonctionne parfaitement ;-) Link to comment Share on other sites More sharing options...
Delart Posted April 29, 2016 Share Posted April 29, 2016 Je pense que vous avez créé une condition qui empêche les structured data initiales du produit sont chargées s'il y a des combinaisons. Pouvez-vous partager ce morceau de product.tpl? Merci!! Link to comment Share on other sites More sharing options...
Marmulet Posted April 29, 2016 Author Share Posted April 29, 2016 J'avoue je suis en train de faire encore des modifications. J'ai du mal à satisfaire Google complètement. Il me reste encore des problèmes sur certains prix aussi donc il s'agit toujours d'un version Beta {if !isset($groups)} {if !$product->is_virtual && $product->condition} {if $product->condition == 'new'} <link itemprop="itemCondition" href="https://schema.org/NewCondition"/> {elseif $product->condition == 'used'} <link itemprop="itemCondition" href="https://schema.org/UsedCondition"/> {elseif $product->condition == 'refurbished'} <link itemprop="itemCondition" href="https://schema.org/RefurbishedCondition"/> {/if} {/if} {/if} <!--EAN13--> {if $product->ean13} <p id="product_ean13"> <label>{l s='EAN'} </label> <span class="editable" {if !isset($groups)}itemprop="gtin13"{/if} content="{$product->ean13}">{if !isset($groups)}{$product->ean13|escape:'html':'UTF-8'}{/if}</span> </p> {/if} <p class="our_price_display" {if !isset($groups)}itemprop="offers" itemscope itemtype="https://schema.org/Offer"{/if}>{strip} {if !isset($groups)}{if $product->quantity > 0}<link itemprop="availability" href="https://schema.org/InStock"/>{/if}{/if} {if $priceDisplay >= 0 && $priceDisplay <= 2} <span id="our_price_display" class="price" {if !isset($groups)}itemprop="price"{/if} content="{$productPrice}">{convertPrice price=$productPrice|floatval}</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} {if !isset($groups)}<meta itemprop="priceCurrency" content="{$currency->iso_code}" />{/if} {hook h="displayProductPriceBlock" product=$product type="price"} {/if} {/strip} </p> <!-- Block Variations --> {if isset($groups)} <section id="variations" class="page-product-box"> <h2 class="page-product-heading">{l s='Déclinaisons'} {$product->name|escape:'html':'UTF-8'}{if !(stripos(strtoupper($product->name),strtoupper($product->manufacturer_name)) !== FALSE)} {$product->manufacturer_name|escape:'html':'UTF-8'}{/if}</h2> <div class="table-responsive"> <table border="1" class="table"> <thead> <!-- En-tête du tableau --> <tr> <th>{l s='Réference'}</th> {foreach from=$groups item='attributearray' key='groupindex'} <th>{$attributearray.name}</th> {/foreach} <th>{l s='Nom'}</th> <th>{l s='Prix'}</th> {if !empty($product->ean13)}<th>{l s='EAN'}</th>{/if} </tr> <tbody> <!-- Corps du tableau --> {foreach from=$combinations item='combination' key='combinationId'} <tr itemscope itemtype="https://schema.org/Product"> <td itemprop="model">{$combination.reference}</td> {foreach from=$combination.attributes_values item='a' key='groupindex'} <td>{$a}</td> {/foreach} <td itemprop="name">[spam-filter]$product->name|escape:'html':'UTF-8'[spam-filter]{foreach from=$combination.attributes_values item='a' key='groupindex'} {$a}{/foreach}</td> {if $priceDisplay >= 0 && $priceDisplay <= 2} <td itemprop="offers" itemscope itemtype="https://schema.org/Offer"> {if $combination.price != 0} {if isset($combination.specific_price.reduction_type)} {if $combination.specific_price.reduction_type==amount} <span itemprop="price" content="{($combination.price * ($tax_rate/100 + 1)) + $productPrice - $combination.specific_price.reduction}"">{convertPrice price=($combination.price * ($tax_rate/100 + 1)) + $productPrice - $combination.specific_price.reduction}</span> {elseif $combination.specific_price.reduction_type==percentage} <span itemprop="price" content="{(($combination.price * ($tax_rate/100 + 1)) + $productPrice)* (1-$combination.specific_price.reduction)}"">{convertPrice price=(($combination.price * ($tax_rate/100 + 1)) + $productPrice) * (1-$combination.specific_price.reduction)}</span> {/if} {else} <span itemprop="price" content="{($combination.price * ($tax_rate/100 + 1)) + $productPrice}"">{convertPrice price=($combination.price * ($tax_rate/100 + 1)) + $productPrice}</span> {/if} {else} {if isset($combination.specific_price.reduction_type)} {if $combination.specific_price.reduction_type==amount} <span itemprop="price" content="{$productPrice - $combination.specific_price.reduction}">{convertPrice price=($productPrice - $combination.specific_price.reduction)}</span> {elseif $combination.specific_price.reduction_type==percentage} <span itemprop="price" content="{$productPrice*(1-$combination.specific_price.reduction)}">{convertPrice price=($productPrice* (1-$combination.specific_price.reduction))}</span> {/if} {else} <span itemprop="price" content="{$productPrice}">{convertPrice price=$productPrice}</span> {/if} {/if} {if $combination.quantity > 0}<link itemprop="availability" href="https://schema.org/InStock"/>{/if} <link itemprop="itemCondition" href="https://schema.org/NewCondition"/> </td> {/if} {if !empty($product->ean13)}<td itemprop="gtin13">{if !empty($combination.ean13)}{$combination.ean13}{/if}</td>{/if} </tr> {/foreach} </tbody> </thead> </table> </div> </section> {/if} <!-- /Block Variations --> 1 Link to comment Share on other sites More sharing options...
Delart Posted April 29, 2016 Share Posted April 29, 2016 Moi aussi, certains produits continuent d'être désapprouvé... Google est insatiable! Je vais essayer la Beta , merci!! Link to comment Share on other sites More sharing options...
memosxo Posted January 24, 2020 Share Posted January 24, 2020 Hello, Do you have solution for this problem? With Best Regards Michał Wojciechowski 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