Jump to content

Problème de Rich Snippets - Récolte d'avis !


Recommended Posts

Bonjour, j'aimerai vous soumettre un problème que je rencontre avec le Review Snippet, pour la récolte des avis clients.

Lors de mon test via la console de google sur un produit ayant des avis, cela m'affiche ces deux erreurs:

Capture d'écran: https://ibb.co/pbFJW3V

Lien du produit testéhttps://pausegreen.fr/857-huile-de-cannabis-sativa-15-de-cbd-10ml-plant-of-remedy.html

j'ai donc contacté le service client des avis, et voici leur réponse:
 

Citation

 

il y a une 1 erreur, ce qui empêche l'affichage des Richs Snippets. Il faut donc corriger ce problème.
Sur PrestaShop, il y a une option dans la configuration du module qui vous permettra de 'Forcer les données structurées". 
Essayez d'activer ou désactiver cette option, cela résout souvent le problème.

J'ai essayé de faire ce qu'ils proposent mais ça n'a rien changé !

 

Voici le code source que j'utilise:

 {block name='product_price'}
      <div
        class="product-price h5 {if $product.has_discount}has-discount{/if}"
        itemprop="offers"
        itemscope
        itemtype="https://schema.org/Offer"
      >
          
        <link itemprop="availability" href="{$product.seo_availability}"/>
        <meta itemprop="priceCurrency" content="{$currency.iso_code}">
        <meta itemprop="priceValidUntil" content="{'Y'|date+1}-12-31">
        <meta itemprop="url" content="{$link->getProductLink($smarty.get.id_product)|escape:'htmlall':'UTF-8'}"> 
               
        <link itemprop="availability" href="https://schema.org/InStock"/>
        <meta itemprop="priceCurrency" content="{$currency.iso_code}">

        <div class="current-price">
          <span itemprop="price" content="{$product.price_amount}">{$product.price}</span>

          {if $product.has_discount}
            {if $product.discount_type === 'percentage'}
              <span class="discount discount-percentage">{l s='Save %percentage%' d='Shop.Theme.Catalog' sprintf=['%percentage%' => $product.discount_percentage_absolute]}</span>
            {else}
              <span class="discount discount-amount">
                  {l s='Save %amount%' d='Shop.Theme.Catalog' sprintf=['%amount%' => $product.discount_to_display]}
              </span>
            {/if}
          {/if}
        </div>

        {block name='product_unit_price'}
          {if $displayUnitPrice}
            <p class="product-unit-price sub">{l s='(%unit_price%)' d='Shop.Theme.Catalog' sprintf=['%unit_price%' => $product.unit_price_full]}</p>
          {/if}
        {/block}
      </div>

    <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating" style="display:none">
    <span itemprop="ratingValue">5</span> 
    <span itemprop="ratingCount">1</span>                                                      </div>
    <meta itemprop="brand" content="{if !empty(Manufacturer::getnamebyid($product.id_manufacturer))}{Manufacturer::getnamebyid($product.id_manufacturer)}{else}{Configuration::get('PS_SHOP_NAME')}{/if}"> 
    <meta itemprop="image" content="{$product.cover.bySize.home_default.url}">     
    <meta itemprop="sku" content="{$product->id}" /> 
    <meta itemprop="mpn" content="{$product->reference}" /> 
    <div itemprop="review" itemscope itemtype="http://schema.org/Review" style="display:none">
        <span itemprop="author">{Configuration::get('PS_SHOP_NAME')}</span>,
        <meta itemprop="datePublished" content="{'Y'|date}-{'m'|date}-{'d'|date}">
        <div itemprop="review" itemscope itemtype="http://schema.org/Rating">
            <meta itemprop="worstRating" content="1"/>
            <span itemprop="ratingValue">5</span>
            <span itemprop="bestRating">5</span>
        </div>
        <span itemprop="description"></span>
    </div>
 {/block}

Je ne sais pas si je vous ai communiqué assez d'informations pour essayer de me dépanner mais au besoin, j'attends vos demandes si c'est nécessaire !

J'espère que quelqu'un pourra me venir en aide, pour régler ce problème !

Merci d'avance.

Edited by PauseGreen (see edit history)
Link to comment
Share on other sites

Salut,

en utilisant l'outils adéquate tu auras plus d'infos,

https://search.google.com/structured-data/testing-tool?hl=fr#url=https%3A%2F%2Fpausegreen.fr%2F857-huile-de-cannabis-sativa-15-de-cbd-10ml-plant-of-remedy.html

Il faudrait donc regarder sur schema.org pour mettre les bons termes dans tes metas,

cdt

Edited by Alexandre Carette (see edit history)
Link to comment
Share on other sites

Salut !

Merci pour ce lien, et ta réponse rapide, je ne sais pas trop par quoi je dois remplacer ces termes mes vais rechercher il doit y avoir une page proposant des choix de remplacements.

Les remplacements ne sont à faire que sur le fichier dont j'ai partagé le code source ou il va falloir faire des remplacements un partout sur prestashop ?

Merci !

Link to comment
Share on other sites

Je viens de tomber sur une page google pour le balisage mais je ne sais pas si dois vraiment faire comme ça et supprimer mon code source partagé au début du post.

Sur cette page cela créer le script de balisage à ajouter dans <head>

exemple de script JSON-LD

<script type="application/ld+json">
{
  "@context" : "http://schema.org",
  "@type" : "Product",
  "aggregateRating" : {
    "@type" : "AggregateRating",
    "ratingValue" : "Avis"
  }
}
</script>

Pourriez-vous me dire si cette solution est correcte et si je dois le faire pour partie que je souhaite baliser !

ou si il est préférable de modifier mon code source avec les bons termes lorsque je les aurais trouvés ;)

Merci !

Link to comment
Share on other sites

oui tu peux essayer cela ca sera plus simple, je te conseille de sauvegarder ton fichier d'origine au cas ou, ensuite de mettre le script dans des balise literal comme ceci (pour eviter les interférences avec les acolades de smarty):

{literal}
<script>
  ton code
</script>
{/literal}

 

Edited by Alexandre Carette (see edit history)
Link to comment
Share on other sites

ok je vais essayer de faire ça je te remercies pour ton aide en espérant que je ne fasse pas trop de mal ;)

J'ai des erreurs smarty en mode debug cela peut-être suite aux scripts que j'ai injectés sans les balises littéral ?

Merci à toi !

Je continuerai ce topic soit avec une solution soit pour poursuivre mon besoin d'assistance !

Link to comment
Share on other sites

Je ne te caches pas que ça fait des jours et aujourd'hui des heures que j'essaies de régler ce problème de Rich snippet mais je n'arrive à rien du tout !

Maintenant j'ai 3 erreurs et 2 avertissements au lieu de 4 erreurs dans OFFER. Donc je ne sais pas si j'avance ou si c'est pire ;)

Outil de test des données structurées (google.com)

Edited by PauseGreen (see edit history)
Link to comment
Share on other sites

Je ne sais même pas si c'est ce code qui est mauvais ou si je dois faire des changements sur un autre fichier.

    <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating" style="display:none">
    <span itemprop="ratingValue">5</span> 
    <span itemprop="ratingCount">1</span>                                                      </div>
    <meta itemprop="brand" content="{if !empty(Manufacturer::getnamebyid($product.id_manufacturer))}{Manufacturer::getnamebyid($product.id_manufacturer)}{else}{Configuration::get('PS_SHOP_NAME')}{/if}"> 
    <meta itemprop="image" content="{$product.cover.bySize.home_default.url}">     
    <meta itemprop="sku" content="{$product->id}" /> 
    <meta itemprop="mpn" content="{$product->reference}" /> 
    <div itemprop="review" itemscope itemtype="http://schema.org/Review" style="display:none">
        <span itemprop="author">{Configuration::get('PS_SHOP_NAME')}</span>,
        <meta itemprop="datePublished" content="{'Y'|date}-{'m'|date}-{'d'|date}">
        <div itemprop="review" itemscope itemtype="http://schema.org/Rating">
            <meta itemprop="worstRating" content="1"/>
            <span itemprop="ratingValue">5</span>
            <span itemprop="bestRating">5</span>
        </div>
        <span itemprop="description"></span>
    </div>

car tout les itemprop on l'air bon !

Edited by PauseGreen (see edit history)
Link to comment
Share on other sites

Bonjour,

J'ai rechargé les fichiers head.tpl et header.tpl d'origines, j'ai refait un test et je n'ai plus qu'une erreur, voici le lien:

Outil de test des données structurées (google.com)

J'ai essayé de modifier:

      <div
        class="product-price h5 {if $product.has_discount}has-discount{/if}"
        itemprop="Offers"
        itemscope
        itemtype="https://schema.org/Offer"
      >

Par :

      <div
        class="product-price h5 {if $product.has_discount}has-discount{/if}"
        itemprop="Product"
        itemscope
        itemtype="https://schema.org/Offer"
      >

Mais ça ne fonctionne pas, cela me change un avertissement en erreur, si quelqu'un aurait une solution, pour ce problème ce serait top, merci.

Crdlt,

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...