Que sont les Rich Snippets ?
Rich Snippets est un terme qui désigne les structured data markup que vous pouvez ajouter au code HTML de votre site web Magento et qui fournissent aux moteurs de recherche comme Google une meilleur compréhension de l'information que contiennent vos pages web.
Les bénéfices de ces Rich Snippets sont multiples:
- Meilleurs classements dans les résultats de recherche
- Mise en avant des informations disponibles sur les pages produits (prix, disponibilité, avis clients...)
- Mise à jour automatique des données produits dans Google Merchant Center
Les Rich Snippets peuvent utiliser différents types de marqueurs:
- Microdata
- Microformats
- RDFa
- JSON-LD (recommandé par Google)
L'extension Google Rich Snippets vous permet d'appliquer en quelques instants et dans n'importe quel format des Rich Snippets aux pages produits de votre site et de bénéficier des effets de levier de ces données riches.
Comment utiliser l'extension Google Rich Snippets pour Magento 2 ?
Créer un template de rich snippet grâce à l'extension Google Rich Snippets est très simple et très rapide:
Allez dans :
system configurationWyomind Rich SNippets manager
Configurez les paramètres généraux
Activez le rapport de logs
Le fichier se nomme RichSnippetsManager.log.
Créez un template de Rich Snippet grâce à l'assistant de création
Vous pouvez créer un nouveau Rich Snippet en utilisant l'outil de création de template.
Name
Ce nom n'est visible qu'en back-office et n'a aucune incidence sur le front-end.
Format
- Microdata (HTML)
Les microdata sont basées sur la syntaxe de schema.org est ajoutent des balises HTML invisibles aux utilisateurs qui décrivent le contenu de vos pages produit - Json-LD (recommandé par Google)
Json-LD est la syntaxe recommandée par Google, celle-ci présente l'avantage d'être facile à lire
Store view
Position
- Avant le produit
L'option "avant le produit" le produit est déconseillée, sauf si vous utilisez Google Rich Snippet à d'autres fins que la gestion des Rich Snippets. - Après le produit (recommandé)
Les données qui ne sont pas utiles aux visiteurs de votre site ou dont le chargement peut être différé doivent être placées en dessous de la ligne de flottaison (recommandation Google Insights). Nous vous suggérons donc de préférer l'option Après le produit
Status
Un modèle qui n'est pas actif n'aura aucune incidence sur le front-end.
Include Description
Include Brand
Include Ratings
Include Offers
Include Identifier
- SKU
- GTIN 8
- GTIN 13
- GTIN 14
- MPN
Une fois le modèle configuré vous pouvez cliquer sur le button Create template, le modèle sera automatiquement ajouté à votre bibliothèque de Rich Snippets. Vous pourrez ensuite modifier ce modèle en vous rendant dans :
ProductsRich Snippets ManagerMANAGE TEMPLATES
Testez le résultat du template
Grâce à Rich Snippet Manager, vous avez la possibilité de tester le résultat des rich snippets que vous ajoutez dans vos pages produits. Il vous suffit d'insérer le SKU du produit à tester dans l'outil de test et de cliquer sur GO.
Deux liens apparaissent alors :
- un lien vers la page produit telle que vos visiteurs la verront
- un lien vers l'outil de test Google Structured Data Testing Tool: cet outil vous permettra de visualiser les rich snippets insérés dans la page produit et le cas échéant de déceler les erreurs et de les corriger
Affinez les Rich Snippets grâce l'éditeur
Rich Snippets Manager crée pour vous un template PHTML à partir des informations que vous avez renseignées lorsque vous créez un modèle de rich snippet depuis :
sTORESSETTINGSconfigurationWyomind Rich SNippets manager
Le modèle est ainsi converti automatiquement en code PHP, HTML et/ou JSON sans que vous ayez besoin de toucher au code source de vos pages produits.
Vous pouvez toutefois éditer et modifier ces templates grâce à l'éditeur de Rich Snippets Manager. Allez dans :
ProductsRich Snippets ManagerMANAGE TEMPLATES
Un tableau liste tous les rich snippets disponibles pour votre site web. Vous pouvez supprimer, désactiver ou éditer chacun d'entre eux.
Utilisation de la Black box
Afin de rendre l'édition des Rich Snippets plus simple, l'éditeur comprend un outil ("Black Box").
Cet outil vous permet de faire plusieurs choses.
Placeholders
Méthodes
Aperçu
Utilisation des objets prédéfinis et des placeholders
Lorsque vous éditez un modèle de rich snippet, un éditeur de code apparaît et affiche le code utilisé par le rich snippet.
Le code source du template utilise des portions de code PHP et des placeholders (ou aussi appelés raccourcis) qui facilitent la lecture du code source et son édition.
Les informations relatives au produit
$product est une instance du modèle Catalog/Product.
/*** Catalog product model instance** @var Mage_Catalog_Model_Product*/var $product;
Les attributs produits sont accessibles grâce aux méthodes habituelles :
- $product->getData("attribute_code");
- $product->getAttributeText("attribute_code");
- $product->getAttributeCode();
Exemple :
<?php// Display a product SKUecho $product->getSku();// Display a product NAMEecho $product->getData("name");// Display a product DESCRIPTIONecho $product->getDescription();// Display a product MANUFACTURERecho $product->getAttributeText("manufacturer");
Les informations produits sont également accessibles à travers des placeholders sour la forme :
{{product.attribute_code}}
Exemple :
<!-- Display the product SKU -->{{product.sku}}<!-- Display the product NAME -->{{product.name}}<!-- Display the product DESCRIPTION -->{{product.description}}<!-- Display the product MANUFACTURER -->{{product.manufacturer}}
Les informations relatives aux Reviews
/*** Product Review model instance** @var Mage_Review_Model_Review*/var $reviews;
Lorsque vous souhaitez créer une itération de chaque élément de la collection, vous devez utiliser une boucle foreach, comme suit.
foreach($reviews as $review){...}
Chaque review est ainsi accessible à travers la variable $review et les propriétés sont accessibles avec la méthodes habituelles :
- $review->getData("attribute_code");
- $review->getAttributeCode();:
Exemple :
<?php foreach($reviews as $review): ?> <div itemprop="review" itemscope itemtype="http://schema.org/Review"> <meta itemprop="name" content="<?php echo $review->getTitle(); ?>"/> <meta itemprop="author" content="<?php echo $review->getNickName(); ?>"/> <meta itemprop="datePublished" content="<?php echo $review->getCreatedAt(); ?>"/> <div itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating"> <meta itemprop="ratingValue" content="<?php echo $review->getScore(); ?>"/> </div> <meta itemprop="description" content="<?php echo $review->getDetail(); ?>" /> </div><?php endforeach; ?>
Les informations liées aux reviews sont également accessibles à travers des placeholders sour la forme :
{{review.attribute_code}}
Exemple :
<?php foreach ($reviews as $review): ?> <div itemprop="review" itemscope itemtype="http://schema.org/Review"> <meta itemprop="name" content="{{review.title output='htmlentities($self)'}}" /> <meta itemprop="author" content="{{review.nickname output='htmlentities($self)'}}" /> <meta itemprop="datePublished" content="{{review.created_at output='htmlentities($self)'}}"> <div itemprop="reviewRating" itemscope itemtype="http://schema.org/Rating"> <meta itemprop="ratingValue" content="{{review.score output='htmlentities($self)'}}" /> </div> <meta itemprop="description" content="{{review.detail output='htmlentities($self)'}}" /> </div><?php endforeach; ?>
Utilisation de l'API PHP
Rich Snippet Manager offre une série de méthodes permettant d’accéder facilement aux informations connexes au produit.
Image
Récupérer l'image principal du produit :
/*** Get product image* * @return Mage_Catalog_Helper_Image|string*/$this->getProductImage($product);
Valeur de la note et nombre d'évaluation
Récupérer le nombre de reviews que les clients ont laissées pour le produit :
/*** Retrieves total reviews* * @return string*/$this->getReviewCount();
Récupérer la note moyenne que les clients ont laissées pour le produit :
/*** Get rating value* * @return float*/$this->getRatingValue();
Devise
Récupérer la devise du store view :
/*** Get currency* * @return string*/$this->getCurrency();
Disponibilité
Récupérer la disponibilité du produit :
/*** Get product availibility* * @return string*/$this->getAvailability($product);
Prix
Récupérer le prix du produit parmi le prix le plus bas, le prix le plus haut et le prix exacte.
/*** Get offer price according to product type* * @param string[min|max|NULL] $which* @return float*/$this->getOfferPrice($product, $which = null);
Variables PHP
<!-- RATING -->{{ratingValue output='htmlentities($self)'}} <?php $reviewCount = $this->getReviewCount(); if({{ratingValue output='htmlentities($self)'}} return "{{ratingValue output='htmlentities($self)'}}";)?> <?php if ($reviewCount > 0): ?> <?php $ratingValue = $this->getRatingValue(); ?> <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"> <meta itemprop="ratingValue" content="{{ratingValue output='htmlentities($self)'}}"> <meta itemprop="reviewCount" content="{{reviewCount output='htmlentities($self)'}}"/> </div> <?php endif; ?>
Fonctions PHP dans les appels d'attribut
Vous pouvez utiliser n'importe quelle fonction PHP à appliquer dans les appels d'attribut même si la fonction nécessite un ou plusieurs arguments supplémentaires, par exemple :
{{ratingValue output='htmlentities($self)'}}