Jump to content

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


gouna
 Share

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

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

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

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

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

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

  • 2 weeks later...

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

  • 1 year later...
Posted (edited)

Bonjour,

J'ai bien fait toutes les modifs précédentes dans mon fichier breadcrumb.tpl, ça fonctionne nickel sauf pour mes catégories de niveau 2 sous accueil.

En effet, quand je suis dans ma catégorie sous Accueil, j'ai un affichage comme si j'avais une catégorie vide avant ma catégorie de niveau 2 (Cf image jointe).

Comment est-ce que je peux faire pour régler ce problème ?

Sinon vous pouvez voir sur : https://bit.ly/3uC18wK

Espérant que quelqu'un puisse m'aider :), d'avance merci

Voici le code de mon fichier Breadcrumb.tpl :

<!-- Breadcrumb -->
{if isset($smarty.capture.path)}{assign var='path' value=$smarty.capture.path}{/if}
{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}
<div class="breadcrumb clearfix">
<div class="container">
<div class="breadcrumb-wrapper">
	<ol class="breadcrumb" itemscope itemtype="http://schema.org/BreadcrumbList">
	<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
		<a href="{if isset($force_ssl) && $force_ssl}{$base_dir_ssl}{else}{$base_dir}{/if}" title="{l s='Home Page'}" itemprop="item">
			<span itemprop="name"><i class="icon-home"></i></span>
		</a>
		<meta itemprop="position" content="1" />
	</li>
	  {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}
	</ol>
</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>
		 <nav>
			<ul class="pager">
			  <li class="previous">
				{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">
				  <span>&larr; {l s='Back to Search results for "%s" (%d other results)' sprintf=[$smarty.get.search_query,$smarty.get.results]}</span>
				</a>
			  </li>
			</ul>
		  </nav>
	</strong>
</div>
{/if}
</div>
</div>
<!-- /Breadcrumb -->

 

bread.PNG

Edited by julianbaros (see edit history)

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
 Share

×
×
  • Create New...

Important Information

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