Jump to content
gouna

Problème Google "data-vocabulary.org schema deprecated"

Recommended Posts

Bonjour,

Je suis sous prestashop 1.6 (gounacreations.com).

Depuis ce soir j'ai une alerte de la console Google : "data-vocabulary.org schema deprecated"

Auriez vous une solution pour corriger ce problème ?

Merci par avance.

 

Cordialement

Share this post


Link to post
Share on other sites

Corriger le breadcrumb.tpl de votre thème^^

 

Share this post


Link to post
Share on other sites

Bonjour merci pour votre réponse, je vais m'atteler à la tâche demain matin 👌

Share this post


Link to post
Share on other sites

mais ça implique quoi exactement ??

il faut modifier tout les fichiers ou data-vocabulary est présent ?

Share this post


Link to post
Share on other sites

Ca implique de lire ma réponse^^

Il n'y a que le breadcrumb.tpl de concerné dans les thèmes Prestashop et le modèle de structure est donné dans le tweet joint par Google himself.

Share this post


Link to post
Share on other sites

ok mais j'ai des alertes google et en regardant j'ai trouvé data-vocabulary dans des catégories ou des produits 

Share this post


Link to post
Share on other sites

Sans déconner, vous êtes sérieux ???

Le breadcrumb c'est le fil d'ariane, il est présent sur TOUTES les pages !

 

image.png.112cf3bc103eff438ac568a8969aeee6.png

  • Haha 2

Share this post


Link to post
Share on other sites

Bon, j'abandonne...

  • Thanks 1
  • Haha 2
  • Sad 1

Share this post


Link to post
Share on other sites

j'ai bien compris que il fallait modifier le fichier breadcrumb.tpl, mais la structure du mien ne correspond pas du tout a celle du tweet

Share this post


Link to post
Share on other sites

Et moi je ne suis pas devin et je ne connais pas le contenu de votre breadcrumb.tpl.

Ensuite il y a une autre solution en modifiant Tools.php et en utilisant un breadcrumb.tpl générique mais là je sens que ça va être coton à vous expliquer

 

Share this post


Link to post
Share on other sites

oui je pense aussi ....

moi j'ai ça , je suis 1.6.1.23

<!-- Breadcrumb -->
{if isset($smarty.capture.path)}{assign var='path' value=$smarty.capture.path}{/if}
<div class="breadcrumb clearfix">
    <a class="home" href="{if isset($force_ssl) && $force_ssl}{$base_dir_ssl}{else}{$base_dir}{/if}" title="{l s='Return to Home'}"><i class="icon-home"></i></a>
    {if isset($path) AND $path}
        <span class="navigation-pipe"{if isset($category) && isset($category->id_category) && $category->id_category == (int)Configuration::get('PS_ROOT_CATEGORY')} style="display:none;"{/if}>{$navigationPipe|escape:'html':'UTF-8'}</span>
        {if $path|strpos:'span' !== false}
            <span class="navigation_page">{$path|@replace:'<a ': '<span itemscope itemtype="http://data-vocabulary.org"><a itemprop="url" '|@replace:'data-gg="">': '><span itemprop="title">'|@replace:'</a>': '</span></a></span>'}</span>
        {else}
            {$path}
        {/if}
    {/if}
</div>
{if isset($smarty.get.search_query) && isset($smarty.get.results) && $smarty.get.results > 1 && isset($smarty.server.HTTP_REFERER)}
<div class="pull-right">
    <strong>
        {capture}{if isset($smarty.get.HTTP_REFERER) && $smarty.get.HTTP_REFERER}{$smarty.get.HTTP_REFERER}{elseif isset($smarty.server.HTTP_REFERER) && $smarty.server.HTTP_REFERER}{$smarty.server.HTTP_REFERER}{/if}{/capture}
        <a href="{$smarty.capture.default|escape:'html':'UTF-8'|secureReferrer|regex_replace:'/[\?|&]content_only=1/':''}" name="back">
            <i class="icon-chevron-left left"></i> {l s='Back to Search results for "%s" (%d other results)' sprintf=[$smarty.get.search_query,$smarty.get.results]}
        </a>
    </strong>
</div>
{/if}
<!-- /Breadcrumb -->

Edited by minimeca (see edit history)

Share this post


Link to post
Share on other sites
<div class="breadcrumb clearfix">
    <a class="home" href="{if isset($force_ssl) && $force_ssl}{$base_dir_ssl}{else}{$base_dir}{/if}" title="{l s='Return to Home'}"><i class="icon-home"></i></a>
    {if isset($path) AND $path}
        <span class="navigation-pipe"{if isset($category) && isset($category->id_category) && $category->id_category == (int)Configuration::get('PS_ROOT_CATEGORY')} style="display:none;"{/if}>{$navigationPipe|escape:'html':'UTF-8'}</span>
        {if $path|strpos:'span' !== false}
            <span class="navigation_page">{$path|@replace:'<a ': '<span itemscope itemtype="http://data-vocabulary.org"><a itemprop="url" '|@replace:'data-gg="">': '><span itemprop="title">'|@replace:'</a>': '</span></a></span>'}</span>
        {else}
            {$path}
        {/if}
    {/if}
</div>

à remplacer par

<div class="breadcrumb clearfix" itemscope itemtype="http://shema.org/BreadcrumList">
    <a class="home" href="{if isset($force_ssl) && $force_ssl}{$base_dir_ssl}{else}{$base_dir}{/if}" title="{l s='Return to Home'}"><i class="icon-home"></i></a>
    {if isset($path) AND $path}
        <span class="navigation-pipe"{if isset($category) && isset($category->id_category) && $category->id_category == (int)Configuration::get('PS_ROOT_CATEGORY')} style="display:none;"{/if}>{$navigationPipe|escape:'html':'UTF-8'}</span>
        {if $path|strpos:'span' !== false}
            <span class="navigation_page">{$path|@replace:'<a ': '<span itemprop="itemListElement" itemscope itemtype="http://shema.org/ListItem"><a itemprop="item" '|@replace:'data-gg="">': '><span itemprop="name">'|@replace:'</a>': '</span></a></span>'}</span>
        {else}
            {$path}
        {/if}
    {/if}
</div>

Pour la position, c'est impossible (mais pas grave) depuis le breadcrumb.tpl, du coup il faut passer par tools car {$path} est construit là-bas.

  • Like 1

Share this post


Link to post
Share on other sites

magnifik !!!

merci beaucoup Pierre

effectivement il me reste un warning pour POSITION .... je verrais plus tard pour comprendre comment ça marche ... si j'en suis capable:rolleyes:

Share this post


Link to post
Share on other sites

Bonjour, la solution de Daresh semble contourner ce problème il me semble.

  • Like 1

Share this post


Link to post
Share on other sites
On 1/22/2020 at 9:59 AM, minimeca said:

oui je pense aussi ....

moi j'ai ça , je suis 1.6.1.23

<!-- Breadcrumb -->
{if isset($smarty.capture.path)}{assign var='path' value=$smarty.capture.path}{/if}
<div class="breadcrumb clearfix">

Bonjour Minimeca

J'ai exactement la même chose que toi dans le breadcrumb.tpl (j'ai un thème Template Monster sur un prestashop 1.6.0.14).

Pourrai tu me donner le nouveau contenu de ton breadcrumb.tpl. modifié car j'avoue ne pas comprendre grand chose à la modif à faire si on a pas le thème Presta de base...

Faut-il faire autre chose de plus ailleurs ?

Merci beaucoup !

Share this post


Link to post
Share on other sites
On 1/22/2020 at 6:15 AM, kokoon said:

Bonjour à tous,

Je partage un article intéressant sur le sujet, avec un fix pour Presta 1.6 en bas de l'article : https://www.vinvin.dev/fils-dariane-problemes-detectes/

Yes merci pour la référence.

Comme indiqué dans mon article, il faut bien faire attention si c'est un thème custom ou autre.
Ca vient du theme par défaut de Prestashop 1.6

Si vous avez des questions - n"hésitez pas à les poster ici ou en commentaire de l'article, je répond rapidement ;-)

Il existe aussi peut etre des plugins qui permettent l'intégration du format JSON-LD pour éviter se méler avec le HTML.

Bon courage à tout le monde,

  • Like 1

Share this post


Link to post
Share on other sites

depuis mes modifs d'hier j'ai encore des alertes google concernant "POSITION" 

google dit bien ERREUR , visiblement c'est considéré comme grave.

Share this post


Link to post
Share on other sites

Oui, il faut l'attribut position et la valeur de cette dernière dans le breadcrumb.

Dans le fichier tpl partagé sur mon article, il y a bien la position. 
Dans le code que tu as partagé plus haut, il y a pas "position".

Voir dans mon article et pour voir a adapter ton fichier tpl et prendre en compte cet attribut

Share this post


Link to post
Share on other sites

ok mais j'imagine que le POSITION je ne le met pas au pif ?

Share this post


Link to post
Share on other sites

Non 😉

 

Avec ce code là : Tu créer un tableau Breadcrum qui contient tous les éléments de ton fils d'ariane.
 

{if !empty($path)}
  {* Extract bradcrumb links from anchors *}
  {$matchCount = preg_match_all('/<a.+?href="(.+?)"[^>]*>([^<]*)<\/a>/', $path, $matches)}
  {$breadcrumbs = []}
  {for $i=0; $i<$matchCount; $i++}
    {$breadcrumbs[] = ['url' => $matches[1][$i], 'title' => $matches[2][$i]]}
  {/for}

  {* Extract the last breadcrumb which is not link, it's plain text or text inside span *}
  {$match = preg_match('/>([^<]+)(?:<\/\w+>\s*)?$/', $path, $matches)}
  {if !empty($matches[1])}
    {$breadcrumbs[] = ['url' => '', 'title' => $matches[1]]}
  {elseif !$match && !$matchCount}
    {$breadcrumbs[] = ['url' => '', 'title' => $path]}
  {/if}
{/if}

 

Et dans cette partie du code : Tu as la boucle qui créer les éléments de ton breadcrumb et la possibilités d'ajouter la position via :

itemprop="position" content="{($smarty.foreach.crumbs.iteration|intval + 1)}"

 

{if !empty($breadcrumbs)}
    {foreach from=$breadcrumbs item=breadcrumb name=crumbs}
      <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
        {if !empty($breadcrumb.url)}
          <a href="{$breadcrumb.url}" itemprop="item">
            <span itemprop="name">{$breadcrumb.title}</span>
          </a>
        {else}
          <span itemprop="name">{$breadcrumb.title}</span>
        {/if}
        <meta itemprop="position" content="{($smarty.foreach.crumbs.iteration|intval + 1)}" />
      </li>
    {/foreach}
  {/if}

 

Share this post


Link to post
Share on other sites

So apprend le chinois :V

Mais honnêtement, je suis pas magicien, je n'ai pas accès a ton code source, tu ne partage aucune ligne de code... Comment veux tu que je fasse pour t'aider ?
Je te montre (gratuitement) et je t'explique des choses techniques... So oui ça peut paraitre du chinois, mais si souhaites pas l'apprendre... tu peux toujours engager un freelance/agence WEB pour le faire.

bon chance 

Share this post


Link to post
Share on other sites

Bonjour Foovince

Merci pour l'aide et ton article. J'ai remplacé le code source de Minimeca (j'ai le même que lui à la base) par celui que tu donne ci-dessus. J'ai demandé à google de vérifier la modif et j'attends le retour.

Je te remercie car pour moi c'est du mandarin-chinois tout ça :)

Faut t-il faire autre chose que ce changement de code dans le fichier breadcrumb.tpl de mon template ?

Encore merci pour cette aide et tes explications :)

  • Like 1

Share this post


Link to post
Share on other sites

merci pour a tous , effectivement plus de message concernant POSITION

par contre j'ai un paquet de message ERREUR concernant mes produits, a mon avis la 1.6 n'est plus a jour par rapport a schema.org

exemple concernant le prix, ça me dit que 5,00€ n'est pas un prix valide ......

 

Share this post


Link to post
Share on other sites

ok je viens de comprendre, c'est € qui lui pose problème 

Share this post


Link to post
Share on other sites

C'est votre thème qui pose problème, pas la 1.6, le thème par défaut est conforme:

image.thumb.png.cfa9a8a23ddcc5fe7a0f80e141273453.png

Share this post


Link to post
Share on other sites

ben pourtant j'utilise le thème de base .... ou alors il y a un module qui a modifié ça 

Share this post


Link to post
Share on other sites

Là on parle de la page produit (seule page où il devrait y avoir ces micro-données d'ailleurs)

Si vous avez des modules tiers qui s'affichent (Produits associés, Déjà vus, etc...) leurs tpls sont souvent mal remplis de ce côté là et il faut supprimer toutes les éventuelles micro-données de ceux-ci)

Share this post


Link to post
Share on other sites

ahhh ok parce que effectivement dans la liste des erreurs que me donne l'outil google, il y a des champs qui n'apparaissent pas dans la fiche produit

donc ils sont quelques part ailleurs

typiquement le aggregate rating .... et pour savoir ce que ça veut dire .... bonjour, je cherche encore

Share this post


Link to post
Share on other sites

Oui il faut bien chercher dans les modules ayant un rapport avec les pages produits, j'ai eu l'erreur aussi.

Par exemple modifier dans un tpl du module menu car il affiche les nouveaux produits.

A lire sur ce sujet ▼

 

Share this post


Link to post
Share on other sites
il y a 48 minutes, minimeca a dit :

ahhh ok parce que effectivement dans la liste des erreurs que me donne l'outil google, il y a des champs qui n'apparaissent pas dans la fiche produit

donc ils sont quelques part ailleurs

typiquement le aggregate rating .... et pour savoir ce que ça veut dire .... bonjour, je cherche encore

aggregate rating ce sont les avis produits. Expliqué plusieurs fois sur ce forum...

Share this post


Link to post
Share on other sites

Merci pour l'aide apporté sir le forum, ca aide bien 😉

Moi je n'ai pas le même code sur 1.6.1. J'ai des lignes en plus que j'ai modifié.

 

<div class="breadcrumb clearfix" itemscope itemtype="http://shema.org/BreadcrumList">
	<a class="home" href="{if isset($force_ssl) && $force_ssl}{$base_dir_ssl}{else}{$base_dir}{/if}" title="{l s='Return to Home'}"><i class="icon-home"></i></a>
	{if $page_name == "cms" && in_array($cms->id, array(10)) === true} {*ici la liste des pages CMS dédiée aux groupes*}

		<span class="navigation-pipe">{$navigationPipe}</span>
		<span class="navigation_page"><span itemprop="itemListElement" itemscope itemtype="http://shema.org/ListItem"><a itemprop="url" href="{$link->getPageLink('my-account', true)|escape:'html':'UTF-8'}">{l s='Mon compte'}</a>

	{/if}
	{if isset($path) AND $path}
		<span class="navigation-pipe"{if isset($category) && isset($category->id_category) && $category->id_category == (int)Configuration::get('PS_ROOT_CATEGORY')} style="display:none;"{/if}>{$navigationPipe|escape:'html':'UTF-8'}</span>
		{if $path|strpos:'span' !== false}
			<span class="navigation_page">{$path|@replace:'<a ': '<span itemprop="itemListElement" itemscope itemtype="http://shema.org/ListItem"><a itemprop="item" '|@replace:'data-gg="">': '><span itemprop="name">'|@replace:'</a>': '</span></a></span>'}</span>
		{else}
			{$path}
		{/if}
	{/if}
</div>

 

Share this post


Link to post
Share on other sites
Le 24/01/2020 à 1:34 AM, Foovince a dit :

j'ai fais comme tu as dit .... alors je n'ai plus d'erreur, mais ça merdouille au niveau de l'affichage sur les fiches produits

le prix apparaît 2 fois ..... pas top

Share this post


Link to post
Share on other sites

Bonjour,

 

Qui peut me dire comment modifier svp:

 

<!-- Breadcrumb -->
{if isset($smarty.capture.path)}{assign var='path' value=$smarty.capture.path}{/if}
<div class="breadcrumb">
    <a class="home" href="{if isset($force_ssl) && $force_ssl}{$base_dir_ssl}{else}{$base_dir}{/if}" title="{l s='Return to Home'}"><i class="fa fa-home"></i></a>
    {if isset($path) AND $path}
        <span class="navigation-pipe"{if isset($category) && isset($category->id_category) && $category->id_category == (int)Configuration::get('PS_ROOT_CATEGORY')} style="display:none;"{/if}>{$navigationPipe|escape:'html':'UTF-8'}</span>
        {if $path|strpos:'span' !== false}
            <span class="navigation_page">{$path|@replace:'<a ': '<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a itemprop="url" '|@replace:'data-gg="">': '><span itemprop="title">'|@replace:'</a>': '</span></a></span>'}</span>
        {else}
            {$path}
        {/if}
    {/if}

{if isset($smarty.get.search_query) && isset($smarty.get.results) && $smarty.get.results > 1 && isset($smarty.server.HTTP_REFERER)}
<div style="margin-top:15px;">

        {capture}{if isset($smarty.get.HTTP_REFERER) && $smarty.get.HTTP_REFERER}{$smarty.get.HTTP_REFERER}{elseif isset($smarty.server.HTTP_REFERER) && $smarty.server.HTTP_REFERER}{$smarty.server.HTTP_REFERER}{/if}{/capture}
        <a href="{$smarty.capture.default|escape:'html':'UTF-8'|secureReferrer|regex_replace:'/[\?|&]content_only=1/':''}" name="back">
            <i class="fa fa-chevron-left left"></i> {l s='Back to Search results for "%s" (%d other results)' sprintf=[$smarty.get.search_query,$smarty.get.results]}
        </a>

</div>
{/if}
</div>
<!-- /Breadcrumb -->

 

 

Merci par avance

Share this post


Link to post
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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More