Jump to content

Recommended Posts

Hello tous,

 

(Ce tips concerne le thème de base de Prestashop 1.6)

 

Après plusieurs heures de recherche, j'ai finalement trouvé pourquoi l'outil de test de données structurées du Google Webmaster Tools indiquait des erreurs.

 

Tout d'abord, pour la page d'un produit (product.tpl) c'est au niveau de la ligne 181

<span class="editable" itemprop="condition">{$smarty.capture.condition}</span>

Il se trouve que la "condition" d'un produit n'est pas compatible avec Schema.org, ce qui donne une erreur :

Erreur : Page contains property "condition" which is not part of the schema.

Ensuite, du côté de product-list.tpl, c'est cette fois-ci l'erreur "Error: Incomplete microdata with schema.org" qu'on découvre. Pour cette erreur, c'est simplement qu'il manque le tag du prix dans le second scope Offer à la ligne 158:

							<span itemprop="offers" itemscope itemtype="http://schema.org/Offer" class="availability">
								{if ($product.allow_oosp || $product.quantity > 0)}
									<span class="{if $product.quantity <= 0}out-of-stock{else}available-now{/if}">
										<link itemprop="availability" href="http://schema.org/InStock" />{if $product.quantity <= 0}{if $product.allow_oosp}{$product.available_later}{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}
									</span>
								{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}
									<span class="available-dif">
										<link itemprop="availability" href="http://schema.org/LimitedAvailability" />{l s='Product available with different options'}
									</span>
								{else}
									<span class="out-of-stock">
										<link itemprop="availability" href="http://schema.org/OutOfStock" />{l s='Out of stock'}
									</span>
								{/if}
							</span>

 

Donc rajouter simplement dans le scope Offer:

								<span itemprop="price" class="price product-price ">
										{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}
								</span>
 

J'espère que ça pourra en aider certain ;)

Edited by spookev (see edit history)
  • Like 2
Link to comment
Share on other sites

  • 1 month later...

Bonjour

 

Je ne comprend pas bien où tu insères ton code:

<span itemprop="price" class="price product-price ">
	{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}
</span>

De plus je ne comprends pas bien ce que cherche Google...j'ai plus de 1500 erreurs à cause de ça.

 

Exemple sur une seule catégorie:

https://www.google.com/webmasters/tools/richsnippets?url=http://www.wimkite-shop.com/25-harnais-kitesurf

 

 

Il semble qu'il y ait un "http://schema.org/product" avec 3 "http://schema.org/offer" par exemple (ce qui doit correspondre avec le nombre de déclinaison du produit je pense).

 

Je veux bien rajouter les infos que Google ne trouve pas mais je ne vois pas quoi...

 

Si ça peut aider, j'ai l'impression que ce problème est présent depuis que j'ai rajouté les couleurs dispos, en dessous des produits.

 

 

Merci pour votre aide !

Link to comment
Share on other sites

Salut,

 

Question aux pros des Rich Snippets : Quel est l'interet de mettre des rich snippets sur la page catégorie ? Je pensais que cela permettait à google de mieux renseigner la page mentionnée sur le moteur de recherche. mais sur la page catégorie, je ne vois pas comment il gère se nombre d'infos...

 

V++

 

Atch

Link to comment
Share on other sites

  • 2 months later...

Perso je n'utilise pas de RichSnippets sur les catégories, car dans le fond Google ne propose pas ça en natif, donc ce serait contourner les règles de Google avec les risques que cela comporte. Je me contente de respecter les rules, pour pas énerver le grand méchant Google ^^

 

Julien:

Tu insères ce code dans le scope, peut-importe l'endroit tant que tu es dans itemprop="offers"
C'est une info pour Google, rien n'est visible en front.

Link to comment
Share on other sites

  • 2 weeks later...
  On 9/24/2014 at 1:14 PM, spookev said:

Julien:

Tu insères ce code dans le scope, peut-importe l'endroit tant que tu es dans itemprop="offers"

C'est une info pour Google, rien n'est visible en front.

Bonjour,

 

Vous dites que ce n'est pas visible dans le front mais ça génère un espace vide supplémentaire visible.

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

  • 2 weeks later...

Pour ma part, j'ai plusieurs erreurs concernant les micro-données des produits listés dans les pages catégories :

  • Offer doit nécessairement contenir un Price (n'est indiqué nulle part sur schema.org, si ?), ce qui n'est pas le cas du 3ème Offer
  • La valeur des PriceCurrency est "0", cette propriété attend un ISO 4217 code ("USD", "EUR", ...)

Pour insérer un prix invisible pour l'utilisateur, l'utilisation d'une balise <meta> est autorisée :

<meta itemprop="price" content="40€"/>

Il suffit donc d'éditer le 3ème Offers de product-list.tpl comme suit :

{if (!$PS_CATALOG_MODE && $PS_STOCK_MANAGEMENT && ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
    {if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}
        <span itemprop="offers" itemscope itemtype="http://schema.org/Offer" class="availability">

/* *****
On ajoute la meta ainsi que le test d'existence du prix
***** */

            {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}
                <meta itemprop="price" content="{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}" />
            {/if}

/* *****
Fin de la modif
***** */

            {if ($product.allow_oosp || $product.quantity > 0)}
                <span class="available-now">
                    <link itemprop="availability" href="http://schema.org/InStock" />{l s='In Stock'}
                </span>
            {elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}
                <span class="available-dif">
                    <link itemprop="availability" href="http://schema.org/LimitedAvailability" />{l s='Product available with different options'}
                </span>
            {else}
                <span class="out-of-stock">
                    <link itemprop="availability" href="http://schema.org/OutOfStock" />{l s='Out of stock'}
                </span>
            {/if}
        </span>
    {/if}
{/if}

Concernant la valeur de la propriété PriceCurrency, il faut remplacer toutes les occurences de 

{$priceDisplay}

Par

{$currency->iso_code}

Le code HTML produit passe désormais l'outil de test des données structurées de Google !

Edited by shakealot (see edit history)
  • Like 1
Link to comment
Share on other sites

Me concernant j'ai supprimé le schema.org du product-list.tpl car inutile pour les pages catégories.

 

Par contre j'ai ajouté le breadcrumb pour le fil d'arianne. Il s'affiche correctement sur Google mais je ne vois toujours pas mes rich snippets avec mon prix ...?

Link to comment
Share on other sites

Il faut peut être que tu attendes que le GoogleBot passe sur ton site. Mettre à jour son sitemap, le soumettre à Google via les Webmaster Tools peuvent aider.

 

Au sujet du breadcrumb, j'ai fait quelques modifs pour que la catégorie courante soit considérée comme un lien, les catégorie directement sous la racine sont ainsi affichées dans le fil d’Ariane. Je trouve ça plus agréable à l’œil pour l'utilisateur !

  • Like 1
Link to comment
Share on other sites

C'est bon, depuis hier je commence à voir apparaitre les balises schema.org (prix + dispo pour l'instant)

 

Délai pour qu'elles soient prises en compte: 10-12jours et 2 demandes d'exploration par GoogleBot

 

Maintenant on va pouvoir mesurer l'impact sur le taux de clics !

Link to comment
Share on other sites

  • 4 months later...
  • 5 months later...
  • 3 months later...
  On 10/15/2014 at 7:17 PM, shakealot said:

Il faut peut être que tu attendes que le GoogleBot passe sur ton site. Mettre à jour son sitemap, le soumettre à Google via les Webmaster Tools peuvent aider.

 

Au sujet du breadcrumb, j'ai fait quelques modifs pour que la catégorie courante soit considérée comme un lien, les catégorie directement sous la racine sont ainsi affichées dans le fil d’Ariane. Je trouve ça plus agréable à l’œil pour l'utilisateur !

 

Hello,

 

Cela m'intéresse énormément car en effet les pages de 1er niveau de catégories ou cms ne sont pas considérées comme des liens et donc non affichées dans le fil d'ariane Google.

 

C'est pas joli du coup ;)

 

Peux-tu partager la modif à effectuer ?

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...