Přihlásit se

Joomla 5.3 (17 dub 2025)

15. dubna 2025 byla oficiálně vydána nová verze populárního CMS Joomla – verze 5.3. Tato aktualizace přináší celou řadu vylepšení, vyšší bezpečnost a lepší výkon.

Chybí pole itemListElement / Missing field itemListElement

18. dub 2025 09:17 - 18. dub 2025 09:19 #150270
Před pár dny se začala v Search Consoli > navigační struktura zobrazovat chyba "Chybí pole itemListElement. Položky s tímto problémem jsou neplatné. Neplatné položky nejsou vhodné pro rozšířené výsledky Vyhledávání Google "

Problém se týká souborů jádra Joomla, na úpravu se čeká.

issues.joomla.org/tracker/joomla-cms/45277
Poděkovali: Cony, Bong

18. dub 2025 23:33 #150271
Odpověď od Rudolf
Joomla Expert
Za co že se děkuje? Dyť nikdo nic nevyřešil, jen se alibisticky píše že za to může core Joomla, potažmo Google (ten je ale zlý, že?...)

Kdo nechce čekat, vyřeší jednoduše jednoduchou dočasnou úpravou kódu v override šablony modulu Drobečková Navigace:

Nejprve proč to vzniká - pokud použijete typ menu oddělovač, nebo zástupce, nemá tato položka menu své vlastní URL.
Google ale vyžaduje URL pro každou položku drobečkové navigace (kromě LastItem == aktuální položky, tu si je schopen doplnit sám).

Dočasné řešení je podhodit položce drobečkové navigace místo URL název položky.
Tím je celá drobečková navigace platná a jednotlivé URL webu se mohou zase v klidu indexovat s drobnou vadou - tam kde chybí URL je místo URL název položky == nyní pro Google jde ale jen o nekritický problém typu volitelný:
Neplatná adresa URL v poli id (volitelné)
A jak celá úprava vypadá?

Původní kód:
Code:
foreach ($list as $key => $item) : if ($key !== $last_item_key) : if (!empty($item->link)) : $breadcrumbItem = '<a itemprop="item" href="' . $item->link . '" class="pathway"><span itemprop="name">' . $item->name . '</span></a>'; else : $breadcrumbItem = '<span itemprop="name">' . $item->name . '</span>'; endif;
Nový kód:
Code:
foreach ($list as $key => $item) : if ($key !== $last_item_key) : if (!empty($item->link)) : $breadcrumbItem = '<a itemprop="item" href="' . $item->link . '" class="pathway"><span itemprop="name">' . $item->name . '</span></a>'; else : $breadcrumbItem = '<span itemprop="item" content="' . $item->name . '" class="no-pathway"><span itemprop="name">' . $item->name . '</span></span>'; endif;

MiniJoomla! - www.minijoomla.cz - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla
Poděkovali: Cony

19. dub 2025 01:57 #150272
Odpověď od Cony
Moderátor
Taky jsem ti poděkoval Rudo :)
Ale řešíš Joomlu 3, v Joomle 5 je to už celé řešeno jinak...

19. dub 2025 09:06 #150273
Odpověď od Rudolf
Joomla Expert
Ano v Joomla5 je to řešeno pomocí JSonů a ne microdat
Ale pokud někdo používá Joomlart šablony, tak v šabloně je to pořád řešeno overridem v pluginu T4 a pomocí microdat.

Navíc to, co se popisuje zde v prvním odkazu na Joomla Github se jako úkol uzavřelo bez řešení = neřeší všechny možné výskyty chyb, i když tyto chyby se dají souhrně pořád sgrupovat do jednoho balíku - Chybí pole item (v itemListElement).
Řeší tam, že položka Home nemá název. Ale problém jak ho popisuje Google není v názvu, ale v chybějícím URL

Oni to pak řeší v jiném úkolu - github.com/joomla/joomla-cms/pull/45316 , a nakonec to řeší tím, že hacknou vlastní core kód pluginu na rich snippets do J5.
A to, že chybí URL u položek menu typu záhlaví, tak vyřeší právě tím, že místo microdat použijí JSOn a vyloučí tuto část Drobečkové navigace z rich snippets.

Příklad z J4:

Drobečková navigace:
Úvod > Informace > Jak se hraje > Ratingy v tenise

Rich Snippets Navigace v Google:
Úvod > Jak se hraje > Ratingy v tenise

To je za mě trochu špatně, páč struktura položek menu je jiná - ta položka menu typu záhlaví (Informace) prostě nemá URL, které se vkládá do položky typu Item v Rich Snippets Drobečková Navigace.
Je to vidět v objectu Items z funkce Breadcrumb helperu.

MiniJoomla! - www.minijoomla.cz - eshop s rozšířením Joomla/VM
Email Manager - aplikace na správu šablon emailů pro VirtueMart
Easy Feeder - aplikace na generování XML/CSV feedů a napojení na ERP pro VM
PragueClassicconcert - portál pro prodej vstupenek na systému Joomla

Powered by Fórum