Jump to content

Edit History

Matos1301

Matos1301

En fait baliser les informations pour les résultats enrichis n'est pas très compliqué, il faut regarder les informations à donner d'après les schémas sur schema.org, par exemple là pour product : http://schema.org/Product puis les trouver dans le fichier product.tpl et ensuite ajouter les itemprop selon ce que c'est etc comme par exemple ici dans un extrait de mon code du fichier product.tpl du dossier miniatures:

<article class="product-miniature js-product-miniature" data-id-product="{$product.id_product}" data-id-product-attribute="{$product.id_product_attribute}" itemscope itemtype="http://schema.org/Product">
    <div class="thumbnail-container">
      {block name='product_thumbnail'}
        {if $product.cover}
          <a href="{$product.canonical_url}" class="thumbnail product-thumbnail">
            <img
              src="{$product.cover.bySize.home_default.url}"
              alt="{if !empty($product.cover.legend)}{$product.cover.legend}{else}{$product.name|truncate:30:'...'}{/if}"
              data-full-size-image-url="{$product.cover.large.url}"
            />
          </a>
        {else}
          <a href="{$product.canonical_url}" class="thumbnail product-thumbnail">
            <img src="{$urls.no_picture_image.bySize.home_default.url}" />
          </a>
        {/if}
      {/block}

      <div class="product-description">
        {block name='product_name'}
          {if $page.page_name == 'index'}
            <h3 class="h3 product-title" itemprop="name"><a href="{$product.canonical_url}">{$product.name|truncate:30:'...'}</a></h3>
          {else}
            <h2 class="h3 product-title" itemprop="name"><a href="{$product.canonical_url}">{$product.name|truncate:30:'...'}</a></h2>
          {/if}
        {/block}
        
        <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 id="product-description-short-{$product.id}" itemprop="description" style="display:none;">{$product.description_short nofilter}</div> 

Le "itemscope" veut dire à google qu'il faut regarder à partir d'ici et "itemtype="product"" que des informations selon le schéma product seront données ensuite. Puis pour le nom du produit ce sera itemprop="name" etc. Je pense qu'en se penchant un peu sur la question et en étudiant les schémas il est possible de comprendre le fonctionnement puis d'organiser ses résultats enrichis.

Comme vous pouvez le voir ici, mes résultats enrichis sont très bien lus par google grâce à cette méthode, il faut juste lire le code et voir où se situent les informations puis les baliser en suivant le schéma. (Les avertissements concernant review et aggregateRating ne sont pas une erreur mais étant donné que je n'ai pas d'avis pour beaucoup de produits donc ils ne peuvent pas être affichés à moins de créer un faux avis constant de 5 étoiles ce que je n'aime pas)

Matos1301

Matos1301

En fait baliser les informations pour les résultats enrichis n'est pas très compliqué, il faut regarder les informations à donner d'après les schémas sur schema.org, par exemple là pour product : http://schema.org/Product puis les trouver dans le fichier product.tpl et ensuite ajouter les itemprop selon ce que c'est etc comme par exemple ici dans un extrait de mon code :

<article class="product-miniature js-product-miniature" data-id-product="{$product.id_product}" data-id-product-attribute="{$product.id_product_attribute}" itemscope itemtype="http://schema.org/Product">
    <div class="thumbnail-container">
      {block name='product_thumbnail'}
        {if $product.cover}
          <a href="{$product.canonical_url}" class="thumbnail product-thumbnail">
            <img
              src="{$product.cover.bySize.home_default.url}"
              alt="{if !empty($product.cover.legend)}{$product.cover.legend}{else}{$product.name|truncate:30:'...'}{/if}"
              data-full-size-image-url="{$product.cover.large.url}"
            />
          </a>
        {else}
          <a href="{$product.canonical_url}" class="thumbnail product-thumbnail">
            <img src="{$urls.no_picture_image.bySize.home_default.url}" />
          </a>
        {/if}
      {/block}

      <div class="product-description">
        {block name='product_name'}
          {if $page.page_name == 'index'}
            <h3 class="h3 product-title" itemprop="name"><a href="{$product.canonical_url}">{$product.name|truncate:30:'...'}</a></h3>
          {else}
            <h2 class="h3 product-title" itemprop="name"><a href="{$product.canonical_url}">{$product.name|truncate:30:'...'}</a></h2>
          {/if}
        {/block}
        
        <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 id="product-description-short-{$product.id}" itemprop="description" style="display:none;">{$product.description_short nofilter}</div> 

Le "itemscope" veut dire à google qu'il faut regarder à partir d'ici et "itemtype="product"" que des informations selon le schéma product seront données ensuite. Puis pour le nom du produit ce sera itemprop="name" etc. Je pense qu'en se penchant un peu sur la question et en étudiant les schémas il est possible de comprendre le fonctionnement puis d'organiser ses résultats enrichis.

Comme vous pouvez le voir ici, mes résultats enrichis sont très bien lus par google grâce à cette méthode, il faut juste lire le code et voir où se situent les informations puis les baliser en suivant le schéma. (Les avertissements concernant review et aggregateRating ne sont pas une erreur mais étant donné que je n'ai pas d'avis pour beaucoup de produits donc ils ne peuvent pas être affichés à moins de créer un faux avis constant de 5 étoiles ce que je n'aime pas)

×
×
  • Create New...