Why this needs addressing
The live JSON-LD on https://forrt.org/glossary/english/h_index/ currently contains:
- position 2,
name: "Glossary", with an empty item;
- position 3, another
name: "Glossary", pointing to /glossary/english/.
This comes from layouts/partials/structured-data/breadcrumbs.html walking the stub /glossary/ ancestor and the language section independently.
Requested change
After the glossary hub is repaired, make the breadcrumb trail explicit for glossary pages:
- FORRT → Glossary (the real hub URL) → English/German/Chinese/Arabic/Turkish → term;
- every
ListItem has a non-empty, canonical item URL;
- labels are unique and describe their level;
- positions are sequential and the final item is the current page.
Apply equivalent validation to curated resources and other deep sections.
Acceptance criteria
- No generated breadcrumb contains an empty item or duplicated level label.
- Representative glossary pages pass JSON parsing and the Rich Results Test.
- The fix does not create multiple competing BreadcrumbList blocks.
Reference: https://developers.google.com/search/docs/appearance/structured-data/breadcrumb
Why this needs addressing
The live JSON-LD on
https://forrt.org/glossary/english/h_index/currently contains:name: "Glossary", with an emptyitem;name: "Glossary", pointing to/glossary/english/.This comes from
layouts/partials/structured-data/breadcrumbs.htmlwalking the stub/glossary/ancestor and the language section independently.Requested change
After the glossary hub is repaired, make the breadcrumb trail explicit for glossary pages:
ListItemhas a non-empty, canonicalitemURL;Apply equivalent validation to curated resources and other deep sections.
Acceptance criteria
Reference: https://developers.google.com/search/docs/appearance/structured-data/breadcrumb