Dne 20. září 2019 spustil Google automatickou kontrolu Breadcrumbs na webech, které jsou zaregistrovány ve službě Google Search Console a rozeslal vše majitelům upozornění na chyby v implementaci Rich Snippets na webech - konkrétně na implementaci Breadcrumbs (Drobečková navigace).
Podle specifikace Google musí i poslední položka v navigaci obsahovat informace o položce, konkrétně:
- @type
- name
- position
- item @type
- item @id
Tento požadavek není nový (je součástí implementace Rich Snippets již od roku 2015), co je nového je nasazení automatické a programové kontroly od Google.
Protože ale všechny naše weby a eshopy před každým spuštěním pravidelně procházejí procesem kontroly a jednou z kontrol je nasazení Rich Snippets, již od roku 2018 upravujeme modul Drobečková navigace, aby vyhovoval těmto požadavkům.
Jak nasadit úpravu pro správnou funkcionalitu modulu a úspěšné vyhodnocení testovacím nástrojem Rich Snippets od Google?
- Překopírovat šablonu modulu mod_breadcrumbs do override šablony - např. templates/your_templates/html/mod_breadcrumbs
- Umístit do této složky šablonu modulu - např. templates/your_templates/html/mod_breadcrumbs/default.php
- Upravit PHP soubor a nahradit PHP kód
Původní:
<?php elseif ($show_last) :
// Render last item if reqd. ?>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem" class="active">
<span itemprop="name">
<?php echo $item->name; ?>
</span>
<meta itemprop="position" content="<?php echo $key + 1; ?>">
</li>
<?php endif;
Nový:
<?php elseif ($show_last) :
$uri = JFactory::getURI();
$absolute_url = $uri->toString();
// #11024 - 2018-12-04 - Fix Rich Snippets - Render last item if requirred - with link for Rich Snippets from Google !!!. ?>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem" class="active">
<link itemprop="item" href="/<?php echo $absolute_url; ?>">
<span itemprop="name"><?php echo $item->name; ?></span>
<meta itemprop="position" content="<?php echo $key + 1; ?>">
</li>
<?php endif;