Terug naar hoofdinhoud
Kruimelpad in Joomla
Op deze pagina
# Topics

Kruimelpad in Joomla

04 juli 2026

Het kruimelpad ("breadcrumbs") lijkt op het eerste gezicht het eenvoudigste onderdeel van een Joomla-pagina: een klein spoor van links bovenaan met de tekst Home / Nieuws / Joomla 6 uitgebracht. Toch is dat kleine spoor opgebouwd uit de menustructuur, het actieve menu-item en soms de component die je op dat moment bekijkt. Als je eenmaal begrijpt hoe Joomla dit samenstelt, kun je een defect kruimelpad repareren, ze correct opmaken en er echte SEO-waarde uit halen.

In dit artikel wordt uitgelegd hoe het kruimelpad ("breadcrumbs") in Joomla precies werkt. Het behandelt de basisprincipes voor website eigenaren en redacteuren, de praktische instellingen voor beheerders en de technische details voor ontwikkelaars. Je leert wat het ‘Pathway’ is, hoe de Breadcrumbs-module dit omzet in een zichtbaar spoor, hoe componenten hun eigen stappen toevoegen, hoe het spoor wordt omgezet in gestructureerde gegevens voor zoekmachines en hoe je veelgemaakte fouten kunt vermijden.

Breadcrumbs zijn geen instelling die je invoert. Ze geven in realtime weer waar de huidige pagina zich in je menustructuur bevindt.

Het doel is simpel: je helpen breadcrumbs goed genoeg te begrijpen om ze met vertrouwen te kunnen gebruiken.

1. De basis

1.1 Wat is een breadcrumb-spoor?

Een breadcrumb-spoor is een rij links die het pad toont van de homepage tot aan de pagina die een bezoeker bekijkt. Het ziet er meestal zo uit:

Home → Producten → Laptops → ThinkPad X1

Elke stap behalve de laatste is een link. De laatste stap is de huidige pagina en is daarom normaal gesproken platte tekst. De naam komt uit het sprookje: een spoor van kruimels dat de weg terug wijst.

1.2 Waarom breadcrumbs belangrijk zijn

Breadcrumbs doen drie nuttige dingen tegelijk:

  • Orientatie: bezoekers zien waar ze zich in de sitestructuur bevinden.
  • Navigatie: bezoekers kunnen met een klik terug naar elk bovenliggend niveau.
  • SEO: zoekmachines lezen het spoor, tonen het in de resultaten en begrijpen je sitehierarchie.

1.3 Waar komen breadcrumbs in Joomla vandaan?

Dit is het deel dat nieuwkomers missen. In Joomla schrijf je het spoor niet met de hand. Joomla houdt een intern object bij dat het Pathway heet. Het Pathway wordt automatisch gevuld:

Een aparte module, mod_breadcrumbs, leest het Pathway en toont het als een zichtbaar spoor. Geen module betekent geen zichtbare breadcrumbs, ook al bestaat het Pathway nog steeds.

Het Pathway is de data. De Breadcrumbs-module is de weergave.

1.4 De anatomie van een breadcrumb-spoor

Een weergegeven spoor in Joomla 6 heeft deze onderdelen:

OnderdeelWat het is
Label "Je bent hier:" Een optioneel voorvoegsel voor het spoor.
Home-kruimel Een optionele eerste link naar de homepage van de site.
Tussenliggende kruimels Een link per bovenliggend menu-item of categorie, elk klikbaar.
Laatste kruimel De huidige pagina, getoond als platte tekst (optioneel).
Naar boven

2. Breadcrumbs op je site tonen

2.1 Publiceer de Breadcrumbs-module

Breadcrumbs verschijnen pas als je de Breadcrumbs-module publiceert. Om hem toe te voegen ga je naar:

Systeem → Sitemodules → Nieuw → Breadcrumbs

Stel daarna drie dingen in:

  • Titel: bijvoorbeeld "Breadcrumbs". Je kunt de titel op de frontend verbergen.
  • Positie: kies een templatepositie boven de inhoud, zoals breadcrumbs in het standaard Cassiopeia-template.
  • Status: zet deze op Gepubliceerd.

2.2 Kies waar hij verschijnt

Net als elke module heeft de Breadcrumbs-module een tabblad Menutoewijzing. Daar bepaal je waar het spoor verschijnt:

  • Op alle pagina's (de gebruikelijke keuze).
  • Op alle pagina's behalve de homepage (heel gebruikelijk, want een spoor op de homepage heeft geen zin).
  • Alleen op geselecteerde pagina's.

Een nette standaard is "Op alle pagina's" gecombineerd met het verbergen van de Home-kruimel, of "Alle pagina's behalve Home".

2.3 Controleer of de templatepositie bestaat

Als je de module publiceert maar niets ziet, bestaat de gekozen positie misschien niet in je template. Je kunt posities bekijken door Modulepositie voorbeeld in te schakelen bij de Templates opties en daarna ?tp=1 aan een frontend-URL toe te voegen (spoiler: je kunt er alles achter typen behalve 0, ?tp=peter werkt ook!). Het Cassiopeia-template heeft een speciale breadcrumbs-positie voor precies dit doel.

Naar boven

3. De module-opties uitgelegd

De Breadcrumbs-module heeft een kleine maar belangrijke set opties. Elke optie verwijst rechtstreeks naar een parameter in de moduleconfiguratie.

3.1 Basisopties

OptieParameterWat het doet
"Je bent hier" showHere Toont het label "Je bent hier:" voor het spoor. Als dit uit staat, toont Joomla in plaats daarvan een klein locatie-icoon.
Home showHome Voegt de Home-link toe als eerste kruimel.
Tekst voor Home-item homeText Overschrijft het woord "Home". Laat het leeg om de standaard uit het taalbestand te gebruiken.
Laatste showLast Toont de huidige pagina als laatste kruimel. Zet het uit om het spoor bij de bovenliggende pagina te laten eindigen.

3.2 Geavanceerde opties

OptieParameterWat het doet
Alternatieve layout layout Kiest een layoutbestand, inclusief een uit een template-override.
Module class suffix moduleclass_sfx Voegt een CSS-class toe zodat je deze instantie kunt stylen.
Caching cache Globale caching gebruiken of geen.
Cachetijd cache_time Hoe lang, in minuten, de gecachte uitvoer bewaard blijft.

Er is ook een verborgen parameter, cachemode, vast ingesteld op itemid. Hierdoor cachet Joomla een aparte versie van het spoor per menu-item, wat het juiste gedrag is omdat het spoor per pagina verschilt.

3.3 De "Laatste tonen"-truc

Veel ontwerpers zetten showLast uit. De huidige pagina heeft al een <h1>-kop, dus het herhalen van de titel in het spoor kan overbodig aanvoelen. Uitzetten laat het spoor bij de laatste bovenliggende pagina eindigen. Het is een kwestie van smaak, maar het houdt het spoor korter.

Naar boven

4. Hoe het spoor wordt opgebouwd: het Pathway

4.1 Het Pathway-object

Achter elke frontend-pagina houdt Joomla een Pathway-object bij. Het is een eenvoudige lijst. Elk item heeft twee velden:

name   -- het zichtbare label van de kruimel
link   -- de URL waar de kruimel naar verwijst (leeg voor de huidige pagina)

De class staat in Joomla\CMS\Pathway\Pathway, en de frontend gebruikt de subklasse SitePathway. Je bereikt de actieve instantie vanuit de applicatie:

$pathway = $app->getPathway();

4.2 De menustructuur vult de basis

Wanneer een pagina laadt, kijkt Joomla naar het actieve menu-item. Elk menu-item kent zijn voorouders via een tree-eigenschap: de keten van bovenliggende items van boven tot aan zichzelf. SitePathway loopt door die boom en voegt een kruimel per bovenliggend menu-item toe.

Een belangrijk detail: als het actieve item de homepage is, voegt Joomla niets toe. De homepage maakt nooit deel uit van het spoor zelf, omdat de optionele Home-kruimel dat al dekt.

4.3 Bijzondere menu-itemtypen

Niet elk menu-item wordt een klikbare kruimel. SitePathway behandelt sommige typen anders:

Menu-itemtypeGedrag van de kruimel
Scheidingsteken Getoond als label, geen link.
Kop Getoond als label, geen link.
URL Gelinkt. Joomla voegt de Itemid toe voor interne links.
Alias Gelinkt naar het gealiaste item via de parameter aliasoptions.
Component Gelinkt, met de Itemid erachter.

Daarom verschijnt een Kop die als dropdown-ouder wordt gebruikt in het spoor als platte tekst: hij heeft geen echte pagina om naar te linken.

Naar boven

5. Hoe componenten het spoor uitbreiden

5.1 De menustructuur is slechts het begin

De menustructuur geeft het basisspoor, maar stopt bij het menu-item. Een menu-item van het type Enkel artikel weet bijvoorbeeld niet welk artikel je opende vanuit een categorieblog. Daarom voegen componenten tijdens de uitvoering hun eigen kruimels toe.

5.2 Artikelen voegen categorie- en titelkruimels toe

Wanneer je een artikel opent dat niet rechtstreeks aan een eigen menu-item is gekoppeld, bouwt de Artikelen-component (com_content) de ontbrekende stappen op. Hij begint bij het artikel, loopt omhoog door de categorieboom tot de categorie van het menu-item en voegt elk niveau toe. In code doet de Artikel-view dit:

$pathway = $app->getPathway();

$path     = [['title' => $this->item->title, 'link' => '']];
$category = Categories::getInstance('Content')->get($this->item->catid);

while ($category !== null && $category->id != $id) {
    $path[]   = ['title' => $category->title, 'link' => RouteHelper::getCategoryRoute($category->id)];
    $category = $category->getParent();
}

$path = array_reverse($path);

foreach ($path as $item) {
    $pathway->addItem($item['title'], $item['link']);
}

Het resultaat is een spoor als Home → Nieuws → Producten → Laptops, ook al was alleen "Nieuws" een echt menu-item.

5.3 Waarom dit belangrijk is voor je inhoud

Omdat componenten het gat opvullen van het menu-item tot aan de inhoud, hangt de kwaliteit van je spoor van twee dingen af:

  • Een nette categorieboom, want artikel-breadcrumbs volgen de bovenliggende categorieen.
  • Een juiste Itemid, want het beginpunt (het menu-item) bepaalt waar het componentspoor begint.

Als Joomla de verkeerde Itemid raadt, kan het spoor in de verkeerde tak beginnen. Dit is veruit de meest voorkomende oorzaak van "rare breadcrumbs".

Naar boven

6. Breadcrumbs en de Itemid

6.1 De Itemid bepaalt het beginpunt

Elke frontend-pagina is via de parameter Itemid aan een menu-item gekoppeld. Het Pathway gebruikt het actieve menu-item om zijn basis op te bouwen, dus de Itemid bepaalt rechtstreeks:

  • Welke bovenliggende menu-items als kruimels verschijnen.
  • Waar het componentspoor aanhaakt.
  • Of de Home-kruimel wordt onderdrukt (op het home-item zelf).

6.2 Wat er misgaat zonder een duidelijke Itemid

Als een link naar een artikel geen Itemid heeft, raadt de router van Joomla er een. Een verkeerde gok geeft:

  • Een spoor dat in de verkeerde menutak begint.
  • Ontbrekende of dubbele kruimels.
  • Een ander spoor voor hetzelfde artikel, bereikt vanaf twee plekken.

6.3 Hoe je het inspecteert

Voordat SEF-herschrijving hem verbergt, is de Itemid het laatste getal in de query string:

index.php?option=com_content&view=article&id=42&Itemid=123

Als een breadcrumb-spoor er verkeerd uitziet, controleer dan eerst de Itemid. De oplossing is meestal om naar de inhoud te linken via het juiste menu-item, of om een eigen menu-item voor die pagina te maken.

Naar boven

7. Van URL naar breadcrumb: de volledige pijplijn

7.1 De aanvraag stap voor stap

Een breadcrumb-spoor is de laatste stap van een langer proces. Wanneer een bezoeker een pagina opent, doorloopt Joomla ongeveer deze stappen:

  1. De SiteRouter ontvangt de aangevraagde URL, bijvoorbeeld /nieuws/producten/laptops.
  2. De router ontleedt de URL en bepaalt de Itemid, die het actieve menu-item instelt.
  3. SitePathway bouwt het basisspoor door de tree van bovenliggende items van het actieve menu-item te doorlopen, waarbij het home-item wordt overgeslagen.
  4. De bijbehorende component draait. Indien nodig roept hij addItem() aan om diepere kruimels toe te voegen, zoals de categorieketen en de artikeltitel.
  5. mod_breadcrumbs vraagt zijn helper om de voltooide lijst en plaatst, indien ingeschakeld, de Home-kruimel ervoor.
  6. De layout rendert het spoor als een geordende lijst en geeft de schema.org gestructureerde data uit.

Daarom hangen breadcrumbs zo sterk af van routing en menuconfiguratie. De module zelf doet bijna niets: tegen de tijd dat hij draait, ligt het spoor al vast.

7.2 De volgorde in een oogopslag

Dezelfde stroom als diagram, van de browseraanvraag tot aan de HTML:

Browseraanvraag
      ↓
SiteRouter          bepaalt de Itemid en het actieve menu-item
      ↓
SitePathway         voegt de bovenliggende menu-items als kruimels toe
      ↓
Component           addItem() voor categorie- en artikelkruimels
      ↓
mod_breadcrumbs     leest het Pathway, plaatst de Home-kruimel ervoor
      ↓
Layout (default)    rendert de lijst en de schema.org JSON-LD
      ↓
HTML in de pagina

7.3 Waarom de volgorde belangrijk is

Elke stap kan alleen werken met wat de eerdere stappen hebben opgeleverd. Een verkeerde Itemid in stap 2 stuurt de rest van de keten de verkeerde tak in. Een component die in stap 4 vergeet addItem() aan te roepen, laat de diepe kruimels weg. Begin bij het oplossen van problemen bovenaan deze lijst en werk omlaag: eerst de router, als laatste de module.

Naar boven

8. Onder de motorkap (ontwikkelaarsweergave)

8.1 De Pathway-API

Het Pathway biedt een kleine, stabiele API. Je kunt het spoor lezen of wijzigen vanuit een plugin of een eigen component:

use Joomla\CMS\Factory;

$app     = Factory::getApplication();
$pathway = $app->getPathway();

// Lezen
$items = $pathway->getPathway();        // array van objecten met name + link
$names = $pathway->getPathwayNames();   // array met alleen de namen

// Schrijven
$pathway->addItem('Downloads', 'index.php?option=com_downloads&view=list&Itemid=55');
$pathway->setItemName(2, 'Hernoemde kruimel');
$pathway->setPathway($newArrayOfItems); // vervang het hele spoor

Elk item is een eenvoudige stdClass met een name en een link. Een lege link betekent dat de kruimel als tekst wordt weergegeven, niet als hyperlink.

8.2 Waar SitePathway de basis opbouwt

De frontend-subklasse Joomla\CMS\Pathway\SitePathway bouwt het basisspoor op in zijn constructor. Hij leest het actieve menu-item, slaat het home-item over en doorloopt de tree-eigenschap, waarbij hij per itemtype een link kiest (scheidingsteken, kop, url, alias of component). Alles daarna wordt door componenten toegevoegd via addItem().

8.3 Een pluginvoorbeeld

Een Systeem-plugin kan het spoor laat in de aanvraag aanpassen, bijvoorbeeld op het event onAfterDispatch of onAfterRoute:

public function onAfterRoute(): void
{
    $app = $this->getApplication();

    if ($app->isClient('site')) {
        $pathway = $app->getPathway();
        $pathway->addItem('Speciale aanbieding', '');
    }
}

Zo voegen extensies van derden hun eigen kruimels toe zonder kernbestanden aan te raken.

8.4 Er is geen breadcrumbs-tabel

Het spoor wordt nooit opgeslagen. Het wordt bij elke aanvraag opnieuw opgebouwd uit de live menustructuur en de huidige inhoud. Breadcrumbs hebben daarom geen eigen databasetabel. In plaats daarvan leunt de module op een handvol kerntabellen. De volgende paragrafen noemen de tabellen die ertoe doen.

8.5 De tabel #__menu

Dit is de belangrijkste tabel, want hier staat de menuboom die de basis van elk spoor vormt. De relevante kolommen zijn:

id             -- menu-item-id, gebruikt als de Itemid
parent_id      -- het bovenliggende menu-item
level           -- diepte in de boom
lft, rgt       -- grenzen van het Nested Set Model
path           -- volledig SEF-pad (ouder/kind/kleinkind)
alias          -- het URL-segment
type           -- component | url | alias | separator | heading
component_id   -- de gekoppelde component
link           -- de onderliggende index.php?option=...-query

De kolommen lft en rgt implementeren het Nested Set Model. Het bereik van een ouder omvat altijd zijn kinderen, zodat Joomla een hele tak voorouders in een query kan ophalen, zonder recursie. Dat maakt het opbouwen van het spoor uit de menuboom snel.

8.6 De tabellen #__modules en #__modules_menu

De Breadcrumbs-module zelf is een gewone module, dus zijn configuratie staat in #__modules:

KolomWat het bevat
title De moduletitel.
position De templatepositie waarin hij rendert.
params Een JSON-blob met de opties (showHome, showLast, enzovoort).
published, access, language Status, toegangsniveau en taal.

De bijbehorende tabel #__modules_menu koppelt elke module aan de menu-items waarop hij verschijnt. Voor breadcrumbs is dit wat je keuze bij Menutoewijzing wegschrijft:

moduleid   -- welke module
menuid     -- welk menu-item (Itemid)
             positief = "toon op dit item"
             negatief = "toon op alle behalve deze items"
             0        = "alle pagina's"

Dus "Alle pagina's behalve Home" wordt hier opgeslagen als een negatieve rij voor het home-menu-item.

8.7 Ondersteunende tabellen

  • #__extensions: registreert mod_breadcrumbs als een geinstalleerde extensie, met zijn ingeschakelde status en standaardparameters.
  • #__assets: bevat de ACL-records (de toegangsregels) die overal in Joomla worden gebruikt, inclusief het toegangsniveau van de module.

Geen van deze slaat het spoor zelf op. Samen beschrijven ze de menustructuur, de module en wie hem mag zien, en Joomla bouwt de breadcrumbs er bij elke aanvraag uit op.

Naar boven

9. De module-helper en het renderen

9.1 Van Pathway naar HTML

De Breadcrumbs-module zet het Pathway om in HTML in drie stappen:

  1. De module-Dispatcher vraagt de helper om de lijst met kruimels.
  2. De BreadcrumbsHelper leest het Pathway en plaatst, als showHome aan staat, de Home-kruimel ervoor.
  3. Het layoutbestand (tmpl/default.php) rendert de lijst als een geordende lijst met links.

9.2 De moderne helper-aanroep

In Joomla 6 is de helper een normale service, geen statische aanroep. De moderne manier om de kruimels op te halen is:

$crumbs = Factory::getApplication()
    ->bootModule('mod_breadcrumbs', 'site')
    ->getHelper('BreadcrumbsHelper')
    ->getBreadcrumbs($params, Factory::getApplication());

De oude statische methoden BreadcrumbsHelper::getList() en getHome() bestaan nog, maar zijn sinds 4.4.0 afgekeurd en worden in Joomla 7.0 verwijderd. Nieuwe code moet de instantiemethoden getBreadcrumbs() en getHomeItem() gebruiken.

9.3 De logica van de Home-kruimel

De helper bouwt de Home-kruimel uit het standaard menu-item voor de huidige taal:

$home       = $menu->getDefault();           // of getDefault($langTag) bij meertaligheid
$item->name = $params->get('homeText', 'Home');
$item->link = $home->link . '&Itemid=' . $home->id;

Als showHome uit staat, berekent de helper toch een terugval-Home-item, dat de layout alleen voor de gestructureerde data gebruikt (zie de SEO-sectie). Zo kan het spoor de Home-link visueel verbergen en hem toch in de machineleesbare data houden.

Naar boven

10. Template-overrides en styling

10.1 De standaard-markup

De standaardlayout van Joomla 6 geeft semantische, toegankelijke markup uit op basis van Bootstrap-classes:

<nav class="mod-breadcrumbs__wrapper" aria-label="Breadcrumbs">
  <ol class="mod-breadcrumbs breadcrumb px-3 py-2">
    <li class="mod-breadcrumbs__item breadcrumb-item">
      <a class="pathway" href="/"><span>Home</span></a>
    </li>
    <li class="mod-breadcrumbs__item breadcrumb-item active">
      <span>Huidige pagina</span>
    </li>
  </ol>
</nav>

De <nav>-wrapper met een aria-label vertelt schermlezers dat dit een navigatielandmark is. De laatste kruimel krijgt de class active. Wil je een nog sterker toegankelijkheidssignaal, dan kan een override aria-current="page" aan de laatste kruimel toevoegen.

10.2 Een override maken

Bewerk om de markup te wijzigen nooit de module. Maak in plaats daarvan een template override. Voor het Cassiopeia-template:

templates/cassiopeia/html/mod_breadcrumbs/default.php

Kopieer het origineel modules/mod_breadcrumbs/tmpl/default.php naar dat pad en bewerk daarna je kopie. Joomla laadt de override automatisch. De Templates-beheerder heeft een ingebouwde editor die deze override voor je maakt:

Systeem → Sitetemplates → [jouw template] → Overrides maken → mod_breadcrumbs

10.3 Stylen zonder een override

Voor eenvoudige visuele wijzigingen heb je helemaal geen override nodig. Gebruik de Module class suffix en richt je in je template-CSS op de standaardclasses:

.mod-breadcrumbs { font-size: 0.9rem; }
.mod-breadcrumbs__item.active span { color: #666; }
.breadcrumb-item + .breadcrumb-item::before { content: "→"; }
Naar boven

11. Gestructureerde data en SEO

11.1 Breadcrumbs helpen zoekmachines

Breadcrumbs zijn een van de goedkoopste manieren om je SEO in Joomla te verbeteren. Ze geven zoekmachines een duidelijke kaart van je sitehierarchie, en Google toont vaak het spoor in plaats van de kale URL in de zoekresultaten.

11.2 Ingebouwde gestructureerde data

De Breadcrumbs-module van Joomla 6 geeft automatisch schema.org BreadcrumbList gestructureerde data uit. Hij voegt een JSON-LD-blok toe aan de paginakop, zonder dat configuratie nodig is:

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1,
      "item": { "@id": "https://example.test/", "name": "Home" } },
    { "@type": "ListItem", "position": 2,
      "item": { "@id": "https://example.test/nieuws", "name": "Nieuws" } },
    { "@type": "ListItem", "position": 3,
      "item": { "name": "Joomla 6 uitgebracht" } }
  ]
}

Merk op dat het laatste item een name heeft maar geen @id. Google accepteert een item zonder URL alleen voor de huidige pagina, en Joomla volgt die regel.

11.3 De Home-kruimel zit altijd in de data

Zelfs als je de Home-link visueel verbergt (showHome uit), houdt Joomla de homepage als positie 1 in de gestructureerde data via een terugval-Home-kruimel. Zo krijg je tegelijk een net zichtbaar spoor en complete machineleesbare data.

11.4 Test je markup

Valideer na publicatie de uitvoer met Google's Rich Results Test of de Schema Markup Validator. Een geldige BreadcrumbList kan de breadcrumb-weergave in de zoekresultaten opleveren.

Naar boven

12. Meertalige breadcrumbs

12.1 De Home-kruimel per taal

Op een meertalige website heeft elke taal zijn eigen standaard- (home-)menu-item. De Breadcrumbs-module vraagt naar het standaarditem van de huidige taal:

$home = $menu->getDefault($app->getLanguage()->getTag());

Zo linkt een Nederlandse pagina de Home-kruimel naar de Nederlandse home, en een Engelse pagina naar de Engelse home. Dit werkt alleen als elke actieve taal zijn eigen standaard menu-item heeft, ingesteld met de gele ster.

12.2 Dubbele Home-items voorkomen

Op meertalige sites kan het home-menu-item twee keer verschijnen: een keer uit de Home-kruimel en een keer uit de menustructuur. De standaardlayout detecteert dit en verwijdert het dubbele tweede item, zodat het spoor netjes blijft.

12.3 Vertaalde labels

Elke kruimelnaam komt uit de menu-itemtitel of de inhoudstitel in die taal, dus het spoor wordt automatisch vertaald wanneer je inhoud en menu's correct zijn gekoppeld. Het woord "Home" komt uit het taalbestand of uit de optie homeText, die je per modulekopie kunt instellen en per taal kunt toewijzen.

Naar boven

13. Caching

13.1 Caching per Itemid

Breadcrumbs veranderen op elke pagina, dus het cachen ervan vereist zorg. De module gebruikt de cachemodus itemid, die een apart gecacht spoor per menu-item opslaat. Dit is ingesteld als een verborgen, vaste parameter en is de juiste modus voor deze module.

13.2 Wanneer modulecaching gebruiken

  • Laat caching voor een normale site op Globaal gebruiken staan en laat Joomla het beheren.
  • Als je dynamische kruimels invoegt vanuit een plugin op basis van de ingelogde gebruiker, zet caching dan op Geen caching zodat het spoor altijd vers is.
  • Onthoud dat door componenten toegevoegde kruimels (zoals artikeltitels) afhangen van de volledige URL, niet alleen de Itemid, dus zware caching van een enkele pagina die veel artikelen serveert kan een verouderd spoor tonen. Het standaardgedrag per Itemid behandelt de gangbare gevallen correct.
Naar boven

14. Veelvoorkomende fouten en valkuilen

14.1 Er verschijnen geen breadcrumbs

Symptoom: er is nergens op de site een spoor.

Oplossing: publiceer de Breadcrumbs-module, zet hem op een echte templatepositie (zoals breadcrumbs in Cassiopeia) en wijs hem toe aan de juiste pagina's.

14.2 Het spoor begint in de verkeerde tak

Symptoom: een artikel toont Home → Verkeerde sectie → Artikel.

Oplossing: de verkeerde Itemid is actief. Link naar de inhoud via het juiste menu-item, of geef de pagina een eigen menu-item. Controleer ook de categorieboom, want artikelkruimels volgen de bovenliggende categorieen.

14.3 Dubbele Home op meertalige sites

Symptoom: het spoor toont Home → Home → ....

Oplossing: dit gebeurt wanneer het home-item zowel in de Home-kruimel als in de menustructuur voorkomt. Modern Joomla verwijdert het dubbele item automatisch; gebruik je een eigen override, zorg dan dat die de ontdubbel-logica uit de standaardlayout behoudt.

Symptoom: een tussenliggende kruimel is platte tekst, geen link.

Oplossing: dit is correct gedrag. Menu-items van het type Kop of Scheidingsteken hebben geen pagina, dus Joomla geeft ze als tekst weer. Heb je daar een link nodig, gebruik dan een echt menu-itemtype.

14.5 De laatste kruimel herhaalt de paginatitel

Symptoom: het spoor eindigt met dezelfde tekst als de paginakop, wat overbodig aanvoelt.

Oplossing: zet de optie Laatste (showLast) uit om het spoor bij de bovenliggende pagina te laten eindigen.

14.6 De module bewerkt in plaats van een override

Symptoom: aangepaste breadcrumb-markup verdwijnt na een Joomla-update.

Oplossing: bewerk nooit bestanden in modules/mod_breadcrumbs/. Zet je wijzigingen in een template-override op templates/[template]/html/mod_breadcrumbs/default.php.

Naar boven

15. Best practices

Als je maar een paar dingen uit dit artikel onthoudt, onthoud dan deze:

  • Publiceer een Breadcrumbs-module en wijs hem toe aan alle pagina's behalve de homepage.
  • Houd een nette, ondiepe categorieboom aan, want artikelkruimels volgen de bovenliggende categorieen.
  • Link altijd naar inhoud via een juist menu-item zodat de Itemid stabiel is.
  • Beslis een keer of je de laatste kruimel toont en houd dat consistent over de hele site.
  • Style en herstructureer breadcrumbs met een template-override, nooit door de module te bewerken.
  • Vertrouw op de ingebouwde schema.org-uitvoer en valideer die met Google's Rich Results Test.
  • Stel op meertalige sites een standaard menu-item per taal in zodat de Home-kruimel correct wordt bepaald.
Naar boven

16. In het kort

BREADCRUMBS TONEN   Publiceer mod_breadcrumbs in een templatepositie
VERBERG OP HOME     Menutoewijzing → Alle pagina's behalve Home
"JE BENT HIER"      Optie showHere
HOME-KRUIMEL        Optie showHome (homeText overschrijft het woord)
LAATSTE KRUIMEL     Optie showLast (uit = eindig bij de ouder)
DATABRON            $app->getPathway() (Pathway-object, geen tabel)
BASIS VAN SPOOR     Actief menu-item + zijn bovenliggende boom
EXTRA KRUIMELS      Componenten roepen $pathway->addItem(name, link)
KRUIMEL TOEVOEGEN   $app->getPathway()->addItem('Label', 'index.php?...')
PIJPLIJN            Router → Menu → Component → Pathway → Module → Template
DB-TABELLEN         #__menu (boom), #__modules, #__modules_menu
MARKUP OVERRIDEN    templates/[tpl]/html/mod_breadcrumbs/default.php
GESTRUCT. DATA      schema.org BreadcrumbList JSON-LD, automatisch
CACHING             Modus itemid, een gecacht spoor per menu-item
AFGEKEURDE API      BreadcrumbsHelper::getList()/getHome() (gebruik instanties)
Naar boven

17. Samenvatting

Joomla-breadcrumbs zijn aan de oppervlakte eenvoudig en onderhuids slim:

  • Pathway: de interne lijst met kruimels, bij elke aanvraag opnieuw opgebouwd.
  • Menustructuur: het actieve menu-item en zijn ouders vormen de basis van het spoor.
  • Componenten: voegen diepere kruimels toe zoals categorie- en artikeltitels via addItem().
  • Pijplijn: router → menu → component → Pathway → module → template.
  • Module: mod_breadcrumbs leest het Pathway en rendert het zichtbare spoor.
  • SEO: de module geeft automatisch schema.org gestructureerde data uit.
  • Itemid: de menu-itemcontext die bepaalt waar het spoor begint.

Zodra je begrijpt dat het spoor je menu- en categoriestructuur weerspiegelt, zijn kapotte breadcrumbs geen mysterie meer. Ze zijn bijna altijd een symptoom van een verkeerde Itemid, een rommelige categorieboom of een ontbrekend menu-item.

Als je breadcrumbs er verkeerd uitzien, je navigatie verwarrend aanvoelt, of je wilt nette gestructureerde data voor betere zoekresultaten, dan loont het om je menustructuur en routing vroeg te bekijken. Krijg de menuboom goed, en breadcrumbs regelen zichzelf.

Naar boven
Kruimelpad in Joomla
Peter Martin
Peter Martin
Joomla Specialist

Peter is Joomla specialist en Linux admin voor snelle, veilige en schaalbare websites.

Veelgestelde vragen

Wat zijn Joomla breadcrumbs?

Joomla breadcrumbs ("kruimelpad") zijn een navigatiehulpmiddel die gebruikers het pad laten zien dat ze hebben afgelegd, waardoor de gebruiksvriendelijkheid van de website en de SEO worden verbeterd.

Hoe dragen breadcrumbs bij aan SEO?

Breadcrumbs verbeteren de interne linkstructuur, helpen zoekmachines de structuur van de website te begrijpen en verschijnen in de zoekresultaten, wat zorgt voor een betere zichtbaarheid.

Kan ik de breadcrumbs in Joomla aanpassen?

Ja, je kunt de stijl, de positie en de labels van de breadcrumbs ("kruimelpad") aanpassen aan het ontwerp van je site en de behoeften van je gebruikers.

Zijn broodkruimels in Joomla geschikt voor mobiele apparaten?

Ja, de breadcrumbs van Joomla passen zich aan responsieve lay-outs aan, waardoor een soepele gebruikerservaring op alle apparaten wordt gegarandeerd.

Hoe schakel ik breadcrumbs in Joomla in?

Breadcrumbs kunnen worden ingeschakeld via de modulebeheerder, waar u de instellingen kunt aanpassen aan de structuur van uw site.

Hebben breadcrumbs invloed op de laadtijd van de website?

Nee, breadcrumbs zijn licht qua laadtijd en hebben geen negatieve invloed op de prestaties van de website.