Jump to content

Fils d'Ariane Champ "Item" manquant


frederic.c

Recommended Posts

[Version presta 1.7.4.2]

Bonjour,

Depuis quelques jour, sur un site, Google Search Console m'indique : 1 élément non valide a été détecté.

J'ai chercher, mais je n'y comprends vraiment rien, c'est au dessus de mes compétences. J'aurais besoin d'un coup de main s'il vous plait. 
Voici ce que la console m'indique pour ma page : https://julada.fr/2-accueil

Élément sans nom (2 erreurs)

itemListElement :

Champ "item" manquant
Vous devez indiquer "name" ou "item.name"

Voici le code concerné :

<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
            <a itemprop="item" href="">
              <span itemprop="name"></span>
            </a>
            <meta itemprop="position" content="2">
          </li>

 

J'ai trouvé un poste qui parle de ça, mais c'est pour déplacer sa page d'accueil de presta.

Cela m'a permis de savoir que le code en question était dans le fichier tpl => breadcrumb.tpl

Que puis-je faire pour régler cette erreur ?

Merci beaucoup de votre aide.

)

Link to comment
Share on other sites

  • 2 weeks later...

tu doit avoir un souci, car il n y a pas de lien ici:

<a itemprop="item" href="">

il me semble qu'il faut ajouter le lien (de l'accueil pour la page accueil)

et le nom de la page ou tu te trouve (accueil)

<span itemprop="name"></span>

Ensuite, pour test produit, tu as aussi des avertissements, as tu fait le test avec rich snippet ?

 

Link to comment
Share on other sites

On 10/5/2019 at 1:22 PM, Manu-shop said:

tu doit avoir un souci, car il n y a pas de lien ici:

<a itemprop="item" href="">

il me semble qu'il faut ajouter le lien (de l'accueil pour la page accueil)

et le nom de la page ou tu te trouve (accueil)

<span itemprop="name"></span>

Ensuite, pour test produit, tu as aussi des avertissements, as tu fait le test avec rich snippet ?

 

Bonjour,

J'ai le même souci, j'ai également un vide à href="" mais je ne sais pas où apporter cette modification, pouvez-vous me renseigner ?

Merci

Link to comment
Share on other sites

@Manu-shop@Matos1301

Je ne trouve pas ou modifier la page. Vu que les pages sont des concaténation de .tpl

Dont celui là : /monsite/themes/montheme/templates/_partials/breadcrumb.tpl

je trouve le code :

block name='breadcrumb_item'}
          <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
            <a itemprop="item" href="{$path.url}">
              <span itemprop="name">{$path.title}</span>

Je vais essayer de faire une reconstruction de mes URL avec un vidage du cache. Puis relancer une demande d'indexation de la page par Google.

J'aurais le résultat de cette manip d'ici quelques jours.

Mais je ne comprends pas pourquoi il y a des champs vide vu que c'est de la compilation de page.

Je ne vois surtout pas comment pourvoir renommer ma page https://julada.fr/2-accueil en https://julada.fr/nos-articles (par exemple)

Voilà, je ne suis pas plus avancé

Link to comment
Share on other sites

Bonjour à tous,

Donc après le passage des robots google, j'ai toujours la même erreur (en date du 14/10/2019)

Je vais en formation prestashop le 29/10, je vais voir si ils peuvent m'aider la bas. Pour le moment je laisse tomber, je ne sais pas quoi faire.

Je vous tiendrais au courant

Bien à vous

Link to comment
Share on other sites

Bonjour,

Merci pour votre retour, pour ma part je ne vois pas non plus comment modifier uniquement le href de cette page, sachant que c'est censé être fait automatiquement. Donc pour l'instant je laisse aussi comme ça malheureusement. J'attendrai votre retour.

Merci

Link to comment
Share on other sites

@frederic.c Rebonjour,

J'ai mis les mains dans le code pour essayer de trouver une solution (je ne supporte pas les erreurs de la search console), j'en ai donc trouvé une. Les puristes n'aimeront peut-être pas, mais le résultat est là en attendant une correction.

Donc le problème est que le fil d'ariane veut afficher 2 éléments, alors qu'il n'y en a qu'un, l'accueil. J'ai donc cherché à afficher qu'un seul élément Accueil.

J'ai donc modifié le fichier breadcrumb.tpl dans /votre_theme/templates/_partials. J'ai ajouté un {if} pour indiquer que si l'url actuel est celui de la catégorie Accueil, alors je veux que le fil d'ariane s'affiche de cette façon.

J'ai ensuite copié le code original présent dans le fichier pour le modifier afin qu'il soit correct pour la page catégorie Accueil.

J'ai remplacé manuellement les variables {$path.url} et {$path.title} par l'url de ma catégorie (https://lespelotesdejoleon.fr/2-accueil) et le titre de la catégorie (Accueil), attention à bien remplacer par les votres si vous utilisez mon code.

À cause du {foreach}, le fil d'ariane contenait toujours 2 éléments, ce qui donnait "Accueil / Accueil" sur le site, ce qui n'est pas top, j'ai donc remplacé {$breadcrumb.count} par "1" et mon fil d'ariane affiche bien "Accueil" sur mon site, et plus aucune erreur dans la search console.

Voici donc mon ancien code du fichier breadcrumb.tpl :

<nav data-depth="{$breadcrumb.count}" class="breadcrumb hidden-sm-down">
  <ol itemscope itemtype="http://schema.org/BreadcrumbList">
    {block name='breadcrumb'}
      {foreach from=$breadcrumb.links item=path name=breadcrumb}
        {block name='breadcrumb_item'}
          <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
            <a itemprop="item" href="{$path.url}">
              <span itemprop="name">{$path.title}</span>
            </a>
            <meta itemprop="position" content="{$smarty.foreach.breadcrumb.iteration}">
          </li>
        {/block}
      {/foreach}
    {/block}
  </ol>
</nav>

Et voici le nouveau :

{if {$urls.current_url} == 'https://lespelotesdejoleon.fr/2-accueil'}
	<nav data-depth="{$breadcrumb.count}" class="breadcrumb hidden-sm-down">
		<ol itemscope itemtype="http://schema.org/BreadcrumbList">
			{block name='breadcrumb'}
				{foreach from=1 item=path name=breadcrumb}
					{block name='breadcrumb_item'}
						<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
							<a itemprop="item" href="https://lespelotesdejoleon.fr/2-accueil">
								<span itemprop="name">Accueil</span>
							</a>
							<meta itemprop="position" content="1">
						</li>
					{/block}
				{/foreach}
			{/block}
		</ol>
	</nav>
{else}
	<nav data-depth="{$breadcrumb.count}" class="breadcrumb hidden-sm-down">
		<ol itemscope itemtype="http://schema.org/BreadcrumbList">
			{block name='breadcrumb'}
				{foreach from=$breadcrumb.links item=path name=breadcrumb}
					{block name='breadcrumb_item'}
						<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
							<a itemprop="item" href="{$path.url}">
								<span itemprop="name">{$path.title}</span>
							</a>
							<meta itemprop="position" content="{$smarty.foreach.breadcrumb.iteration}">
						</li>
					{/block}
				{/foreach}
			{/block}
		</ol>
	</nav>
{/if}

Cependant, il faut faire attention car si vous modifiez l'url de votre catégorie, cela ne fonctionnera plus.

Comme vous pouvez le voir ici, le fil d'ariane est bien détecté par google :

sc.thumb.png.f6787aa84a77852167e3b4f80dc5540e.png

Je ne suis pas développeur, je partage juste une solution que j'ai pu apportée mais qui à mon sens est provisoire, en attendant quelqu'un qui trouve autre chose ou bien une mise à jour qui règle ce problème.

Je précise que j'utilise le thème classic de Prestashop.

Il y a certainement moyen de modifier le tableau foreach "$breadcrumb.links" mais je ne sais pas où il se trouve et j'ai malheureusement peu de temps.

J'espère que cette solution peut vous aider. Je suis disponible pour toute question.

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

  • 1 month later...

Bonjour à tous, @Matos1301 désolé pour le temps de réponse.

Après avoir fait une formation niveau 2 chez Prestashop et une formation SEO.

Voici la réponse :

"J'en ai aucune idée, votre client a certainement modifié quelque chose"

Je vais donc essayer la solution de Matos pour mon client.

Merci pour votre aide, je vous tiendrais au courant.

 

Link to comment
Share on other sites

Bonjour @frederic.c, merci pour le retour, étonnant comme réponse de prestashop, je ne pense pas avoir modifié quelque chose pour que ce problème arrive, il faudrait voir si le problème se manifeste avec une installation propre. En tout cas, pour le moment ma solution fonctionne toujours, au moins je n'ai pas de perte de référencement à cause de cette erreur ! 

Link to comment
Share on other sites

  • 1 month later...

Bonjour,

j'ai le même problème... j'utilise le thème classic également, et même erreur de Search console, sans avoir modifié quoi que ce soit (effectivement, réponse assez étonnante de prestashop...).

J'ai trouvé comment modifié le nom de la page d'accueil "bis" qui semblait poser problème (http://plantago.bio/2-accueil), en allant dans "catégories", en haut du tableau listant l'ensemble des catégories, il y a le petit symbole accueil (maison), le titre à coté (accueil), et la possibilité de modifier. J'espère que j'arrive à être claire... désolée si c'est pas le cas, je ne suis vraiment pas dans mon univers!!!!!

Du coup j'ai renommé, ce qui me donne effectivement un fil d'ariane différent (pour moi http://plantago.bio/2-tous-les-produits) mais... ben ça ne change rien, même erreur avec Search console....

Alors si qqn a trouvé une solution (autre que modifier le code, qui me paraît inaccessible à mon tout petit niveau.....) je suis intéressée!

merci d'avance pour votre aide!

Link to comment
Share on other sites

Bonjour @Amel26

Personnellement j'ai laissé tomber, pas de solutions simple de trouver pour le corriger.
La solution de @Matos1301 me parait un peu trop compliqué pour moi et trop risqué vu que le site est en ligne depuis un moment.

Etant donné qu'il n'y a pas de perte de référencement, je ne donne pas suite. Une explication à mon client et c'est réglé.

Mais ce n'est pas top l'erreur dans google 😕

Bonne chance

Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...

Bonjour,

J'ai été confronté au même problème (toujours pas corrigé dans la version 1.7.6.4. )

Pour ceux que ça intéresse, il existe une solution quasi officielle (puisqu'elle a été publiée sur Github) : https://github.com/PrestaShop/PrestaShop/pull/15632

 

Il faut mettre à jour breadcrumb.tpl :

<nav data-depth="{$breadcrumb.count}" class="breadcrumb hidden-sm-down">
  <ol itemscope itemtype="http://schema.org/BreadcrumbList">
    {block name='breadcrumb'}
      {foreach from=$breadcrumb.links item=path name=breadcrumb}
        {block name='breadcrumb_item'}
          {if not $smarty.foreach.breadcrumb.last}
            <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
              <a itemprop="item" href="{$path.url}"><span itemprop="name">{$path.title}</span></a>
              <meta itemprop="position" content="{$smarty.foreach.breadcrumb.iteration}">
            </li>
          {elseif isset($path.title)}
            <li>
              <span>{$path.title}</span>
            </li>
          {/if}
        {/block}
      {/foreach}
    {/block}
  </ol>
</nav>

 

 

 

  • Like 1
Link to comment
Share on other sites

  • 7 months later...
  • 9 months later...

Bonjour, je reviens sur ce poste j'ai fait la modif de Guillaume en cours de correction par google par contre j'ai une 2eme erreur fil d'ariane que je n'avais pas avant et qui apparait maintenant.

Version Presta 1.7.6.8   URL : https://magadi-petshop.com   

Mon code sur breadcrumb.tpl  c'est ça 

<nav data-depth="{$breadcrumb.count}" class="breadcrumb hidden-sm-down">
  <ol itemscope itemtype="http://schema.org/BreadcrumbList">
    {block name='breadcrumb'}
      {foreach from=$breadcrumb.links item=path name=breadcrumb}
        {block name='breadcrumb_item'}
          {if not $smarty.foreach.breadcrumb.last}
            <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
              <a itemprop="item" href="{$path.url}"><span itemprop="name">{$path.title}</span></a>
              <meta itemprop="position" content="{$smarty.foreach.breadcrumb.iteration}">
            </li>
          {elseif isset($path.title)}
            <li>
              <span>{$path.title}</span>
            </li>
          {/if}
        {/block}
      {/foreach}
    {/block}
  </ol>
</nav>

Des idées ?  Merci.
 

image.thumb.png.955e21be205af87efe4d1e04b6827669.png

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