Google hat anscheinend die Search Console angepasst. Das Problem sind die Breadcrumbs. Das letzte Element der Breadcrumbs ist nicht verlinkt und hat damit kein "item" Element.
Damals war das genau so von Google gewollt, soweit ich weis. Seit einiger Zeit meckert aber das Test Tool für Strukturierte Daten von Google und markiert das als Fehler.
So wie es aussieht, will Google das jetzt wieder anders haben xD
https://developers.google.com/search/docs/data-types/breadcrumb?hl=de
Wir selber haben die Breadcrumbs auf JSON-LD umgestellt. Ich persönlich finde das sehr viel komfortabler.
Leider kam uns da das Redis-Caching zwischen. Wir hatten die Templates mit den Änderungen zwar hoch geladen aber im
Cache waren wohl noch die alten Daten. Wir haben also auch grad 1000+ Fehler ;D
So sieht aktuell unsere breadcrumb.tpl aus:
Code:
<script type="application/ld+json">
{ldelim}
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{foreach name=navi from=$Brotnavi item=oItem}
{ldelim}
"@type" : "ListItem",
"position" : {$smarty.foreach.navi.iteration},
"item" : {ldelim}
"@id" : "{$oItem->urlFull}",
"name" : "{$oItem->name|escape:"html"}"
{rdelim}
{rdelim}{if !$smarty.foreach.navi.last},{/if}
{/foreach}
]
{rdelim}
</script>
{strip}
{has_boxes position='left' assign='hasLeftBox'}
{if !empty($Brotnavi) && !$bExclusive && !$bAjaxRequest && $nSeitenTyp != 18 && $nSeitenTyp != 11 && $nSeitenTyp != 38}
<div class="breadcrumb-wrapper hidden-xs">
<div class="row">
<div class="col-xs-12">
<ul id="breadcrumb" class="breadcrumb">
{foreach name=navi from=$Brotnavi item=oItem}
{if $smarty.foreach.navi.first}
<li class="breadcrumb-item first">
<a href="{$oItem->url}" title="{$oItem->name|escape:"html"}"><span class="fa fa-home"></span></a>
</li>
{elseif $smarty.foreach.navi.last}
<li class="breadcrumb-item last">
{if $oItem->name !== null}
{$oItem->name}
{elseif isset($Suchergebnisse->SuchausdruckWrite)}
{$Suchergebnisse->SuchausdruckWrite}
{/if}
</li>
{else}
<li class="breadcrumb-item">
<a href="{$oItem->url}" title="{$oItem->name|escape:"html"}">{$oItem->name}</a>
</li>
{/if}
{/foreach}
</ul>
</div>
</div>
</div>
{/if}
{/strip}
Wenn ich bei Google damit nun die Live-Überprüfung starte, ist alles in Ordnung. Der muss die Seiten jetzt aber alle nochmal neu crawlen. Das wird dauern....
VG
Tomas