SEO Playbook · Element

Broodkruimels: Hiërarchie- en Schemaregels

Bouw broodkruimels die de echte hiërarchie van een pagina tonen, lezers helpen om omhoog te navigeren en accurate BreadcrumbList-schema's genereren voor zoek- en AI-systemen.

14 min read

Broodkruimels zijn een geordend spoor van links dat laat zien waar de huidige pagina zich bevindt in de informatiearchitectuur (IA) van de site: het systeem van ouder-, kind- en siblingrelaties dat content organiseert. Ze stellen een lezer in staat om omhoog te navigeren zonder opnieuw te beginnen vanuit de hoofdnavigatie, terwijl ze crawlers en antwoordsystemen een expliciete, machineleesbare weergave van dezelfde hiërarchie geven.

Dat weergegeven pad is bewust letterlijk. Het identificeert drie echte voorouders, benoemt de huidige pagina en linkt alleen omhoog. Het voegt niet “SEO-navigatie” of een andere zin toe, simpelweg omdat die formulering zoekopdrachten zou kunnen aantrekken.

Waarom dit element belangrijk is

Lezers komen op diepe pagina’s terecht via zoekresultaten, gedeelde links, e-mail en AI-antwoorden. Ze hebben vaak geen herinnering aan de route die de menu’s van de site verwachten dat ze volgen. Een broodkruimel lost die onzekerheid in één oogopslag op: “Ik lees een elementpagina in het SEO playbook, en ik kan terugkeren naar beide verzamelingen.” Die context verlaagt de drempel om een site te verkennen zonder de lezer te dwingen een menu te openen, een URL te bewerken of de terugknop te gebruiken.

De psychologie gaat over oriëntatie, niet over decoratie. Een helder pad geeft de lezer een stabiel gevoel van plaats en een duidelijke ontsnappingsroute. Dit is het belangrijkst op grote sites waar vergelijkbare paginatitels in verschillende secties kunnen voorkomen—bijvoorbeeld een productcategorie genaamd “Analytics” en een documentatiesectie met dezelfde naam. De voorouders verduidelijken de pagina voordat de lezer de details interpreteert.

Machines hebben dezelfde relatie nodig, uitgedrukt zonder te vertrouwen op visuele ruimte of chevrons. Machine-extracteerbaarheid betekent dat software de betekenis en volgorde van een eenheid kan herstellen uit de HTML of gestructureerde gegevens. Een semantische <nav>, een geordende lijst, gewone links, aria-current en bijpassende BreadcrumbList-gegevens onthullen een reeks entiteiten met expliciete posities. Een rij opgemaakte <span>-elementen mag er identiek uitzien, maar biedt geen betrouwbaar navigatielandmark of lijstvolgorde.

Het zichtbare pad en de gestructureerde uitvoer moeten één verhaal vertellen. Als de pagina zichtbaar onder “Elements” valt maar het schema “SEO Tools” als ouder noemt, ontvangt een systeem twee concurrerende hiërarchieën. Die inconsistentie is erger dan het weglaten van schema, omdat het de entiteitsrelaties van de site minder betrouwbaar maakt.

Volg de element writing rules bij het kiezen van dit component. Hun voorrangsregel is hier van toepassing: als het doel van een passage is om hiërarchie en opwaartse navigatie te communiceren, gebruik dan het getypeerde broodkruimel-element. Imiteer het niet met vrije tekst, een door schuine strepen gescheiden ondertitel of gelinkte trefwoorden.

Wanneer te gebruiken

Gebruik broodkruimels wanneer een pagina deel uitmaakt van een stabiele hiërarchie met ten minste één betekenisvolle ouder naast de homepagina. Grote redactionele sites, e-commercecatalogi, documentatiebibliotheken, servicegebiedstructuren, directory’s en meerlaagse productsites hebben er het meeste baat bij, omdat bezoekers vaak onder het hoogste niveau binnenkomen.

Gebruik ze consistent binnen een sectie. Een pad dat slechts op sommige productpagina’s verschijnt, doet lezers zich afvragen of de ontbrekende pagina’s elders thuishoren, en maakt geautomatiseerde interpretatie afhankelijk van templatesamenloop. Het contentmodel of de route moet de hiërarchie bieden; auteurs moeten deze niet onafhankelijk op elke pagina reconstrueren.

Gebruik geen broodkruimels wanneer er geen hiërarchie is om uit te drukken. Een eenpagina-campagne, een ondiepe site waar elke pagina direct onder Home valt, of een tijdelijke applicatiestatus hebben er mogelijk geen nuttige route aan. Het toevoegen van “Home › Huidige pagina” aan elke ondiepe pagina kan visuele ruis creëren zonder nieuwe context te onthullen.

Veelvoorkomende bijna-missen zijn:

  • Een browser-geschiedenispad. “Zoeken › Product › Winkelwagen” registreert een sessie, geen contenthiërarchie. Verschillende bezoekers zouden verschillende ouders voor dezelfde pagina krijgen, dus de relatie is niet canoniek.
  • Een trefwoordenpad. “Beste CRM › Goedkope CRM › CRM voor startups” kan doelzinnen in beeld brengen, maar verzint voorouders die mogelijk niet bestaan als navigeerbare pagina’s. Broodkruimellabels benoemen echte knooppunten; ze zijn geen extra title-tag.
  • Een filterpad. “Schoenen › Blauw › Maat 9” beschrijft geselecteerde facetten. Het hoort thuis in filterbediening, tenzij elke stap een stabiele, indexeerbare landingspagina is met een bewuste ouderrelatie.
  • Een voortgangsindicator. “Gegevens › Betaling › Bevestiging” communiceert stappen in een transactie. Het heeft stepper-semantiek en -status nodig, niet BreadcrumbList-opmaak.
  • Een inhoudsopgave. Sectielinks bewegen binnen het huidige document; broodkruimels bewegen tussen documenten in de sitehiërarchie.
  • Een tagketen. Tags beschrijven veel-op-veel-onderwerpen, terwijl broodkruimels één geordend primair pad vereisen. Een pagina kan meerdere tags hebben, maar mag niet meerdere concurrerende ouders in één pad tonen.

Wanneer een pagina legitiem in meerdere verzamelingen voorkomt, kies dan één primaire canonieke hiërarchie voor het broodkruimelpad. Behoud andere ontdekkingsroutes via contextuele links of verzamelpagina’s. Meerdere broodkruimelpaden dwingen de lezer en de schema-consument om te beslissen welke ouder gezaghebbend is.

Waar te plaatsen

Oriëntatie werkt alleen wanneer het arriveert voordat de pagina om interpretatie vraagt, dus plaats het pad na de globale siteheader en vóór de H1 of hero-content van de pagina. Het moet de eerste paginaspecifieke navigatieregio zijn. Houd dezelfde positie aan op desktop- en mobiele lay-outs, zelfs als het pad anders afbreekt.

PositieToegestaan?Reden en regel
Boven de globale headerNeeHet pad hoort bij het huidige document, niet bij de hele site. Houd globale identiteit en bediening voorop.
Na de header, vóór de H1JaDe lezer ontvangt de locatie voordat hij de paginatitel interpreteert. Dit is de standaard.
Binnen de hero, boven de H1JaDit behoudt de vereiste volgorde wanneer de hero de bovenste ruimte van de pagina beheert. Houd het visueel ondergeschikt.
Na de inleidende alineaNeeDe lezer is al aan het artikel begonnen zonder context. Verplaats het pad naar boven de H1.
Alleen in de footerNeeEen footerpad kan een lezer niet oriënteren bij aankomst. Footernavigatie kan apart bestaan.
Herhaald onderaanNeeEen tweede instantie dupliceert landmarks en schema. Gebruik gerelateerde navigatie of een terug-naar-boven-knop voor de afsluitende reis.

Plaats broodkruimels niet naast een inhoudsopgave, deelwerkbalk, categorielabels, accountbediening of een promotionele badge. Deze elementen beantwoorden andere vragen en laten de smalle oriëntatielijn op een algemene werkbalk lijken. Plaats geen advertentie of inline call-to-action tussen het pad en de H1. Als de hero beide bevat, plaats het broodkruimel dan boven de titel en scheid promotionele content onder de inleidende tekst.

Anatomie

  1. Navigatielandmark: een <nav> met de toegankelijke naam “Breadcrumb” onderscheidt dit pad van de globale en lokale navigatie.
  2. Geordende lijst: volgorde draagt betekenis van breedste voorouder naar huidige pagina, dus <ol> is vereist, zelfs als lijstmarkeringen visueel zijn verwijderd.
  3. Voorouderitems: elke voorouder gebruikt zijn canonieke mensleesbare label en een crawlbare link naar de echte ouderpagina.
  4. Scheidingsteken: een chevron of schuine streep scheidt items visueel. Het is decoratief en verborgen voor ondersteunende technologie.
  5. Huidig item: het laatste item benoemt de huidige pagina, heeft geen link en gebruikt aria-current="page".
  6. Documentrelatie: het pad staat boven de H1. De screenshot labelt deze positie, maar plaatsing wordt bepaald door de template in plaats van de geschreven tekst.

Ontwerpvoorbeelden

Varianten veranderen dichtheid en responsief gedrag, nooit de onderliggende hiërarchie.

Standaard: toon het volledige pad wanneer twee tot vijf beknopte items passen. Dit is de voorkeursvariant omdat er geen context verborgen is.

Lang pad: sta een pad van zes of zeven items alleen toe wanneer elk niveau een echte navigeerbare voorouder vertegenwoordigt. Breek af op itemgrenzen; verklein nooit tekst totdat deze moeilijk leesbaar wordt.

Ingeklapt mobiel: wanneer het echte pad niet acceptabel kan worden afgebroken, behoud dan Home, de directe ouder en de huidige pagina. Een focusbaar weglatingsteken kan verborgen middelste voorouders onthullen. Het volledige pad moet in de DOM blijven of beschikbaar worden via die bediening, en gestructureerde gegevens moeten elk echt item behouden.

Donkere hero: kleuren en focusindicatoren passen zich aan de achtergrond aan, maar labels, volgorde, linkgedrag en toegankelijke naam blijven identiek aan de standaard.

Parameters

Het element is een gestructureerde lijst omdat parallelle reeksen van labels en URL’s gemakkelijk uit elkaar kunnen lopen. Itemvolgorde is de hiërarchie, en dezelfde items voeden zowel zichtbare HTML als schema.

NaamTypeVereistMin/maxStandaardBron
itemGenest itemJa2–7 itemsGeenBody met geordende ::item{}-items
labelPlatte stringJa1–6 woorden; 60 tekensEerste platte-tekstregel van itemItemattribuut of itembody; nooit een kop
urlRoot-relatieve canonieke URLAlleen vooroudersEén URL; maximaal 2.048 tekensGeenItemattribuut of paginahiërarchiebron
currentBooleanNeePrecies één true, op het laatste itemLaatste itemItemattribuut of afgeleid van itempositie
ariaLabelPlatte stringNee1–3 woorden; 40 tekensBreadcrumbOuderattribuut
schemaBooleanNeetrue of falsetrue op indexeerbare pagina’sOuderattribuut of site-schemabeleid
collapseEnumNeenever, mobilemobileOuderattribuut

De eerste kop heeft geen mapping in dit element. Broodkruimels zijn een navigatielandmark, geen getitelde contentsectie, en het plaatsen van een kop in een item zou een valse documenthiërarchie creëren. Het laatste item laat url standaard weg in de auteursbron; een renderer kan de canonieke URL van de pagina gebruiken voor BreadcrumbList-uitvoer zonder het zichtbare huidige item in een zelflink te veranderen.

Twee items betekent één voorouder plus de huidige pagina. Vijf is de normale bovengrens. Zeven is een hard maximum omdat diepere paden moeilijk te scannen zijn en meestal een IA-probleem onthullen dat bij de bron moet worden opgelost in plaats van verborgen door opmaak.

Syntax en codevoorbeelden

De canonieke componentnaam is breadcrumbs. De itemvolgorde moet afkomstig zijn van de beoordeelde hiërarchiegegevens van de site, zelfs als voorbeelden waarden inline tonen.

Draagbare Markdown-richtlijn

:::breadcrumbs{ariaLabel="Breadcrumb" schema=true collapse=mobile}
::item{label="Home" url="/"}
::item{label="SEO playbook" url="/seo-playbook/"}
::item{label="Elements" url="/seo-playbook/elements/"}
::item{label="Breadcrumbs" current=true}
:::

Hugo shortcode

{{< breadcrumbs ariaLabel="Breadcrumb" schema="true" collapse="mobile" >}}
  {{< breadcrumb-item label="Home" url="/" />}}
  {{< breadcrumb-item label="SEO playbook" url="/seo-playbook/" />}}
  {{< breadcrumb-item label="Elements" url="/seo-playbook/elements/" />}}
  {{< breadcrumb-item label="Breadcrumbs" current="true" />}}
{{< /breadcrumbs >}}

Dit is het draagbare adaptercontract, geen instructie om een nieuwe shortcode aan deze repository toe te voegen. Een Hugo-implementatie zou normaal gesproken de items afleiden uit pagina-ancestry en sectiemetadata, zodat een redacteur geen pad kan publiceren dat niet overeenkomt met de routering.

WordPress-blok

<!-- wp:amicited/breadcrumbs {"ariaLabel":"Breadcrumb","schema":true,"collapse":"mobile"} -->
<!-- wp:amicited/breadcrumb-item {"label":"Home","url":"/"} /-->
<!-- wp:amicited/breadcrumb-item {"label":"SEO playbook","url":"/seo-playbook/"} /-->
<!-- wp:amicited/breadcrumb-item {"label":"Elements","url":"/seo-playbook/elements/"} /-->
<!-- wp:amicited/breadcrumb-item {"label":"Breadcrumbs","current":true} /-->
<!-- /wp:amicited/breadcrumbs -->

WordPress moet het blok vullen vanuit de primaire ouderketen en canonieke URL’s van de pagina. Handmatige overschrijvingen vereisen redactionele beoordeling omdat het wijzigen van één label er anders voor kan zorgen dat navigatie, schema en sitearchitectuur niet meer overeenkomen.

Voorbeelden

Goed: een echte, navigeerbare hiërarchie

Home › Documentation › Audits › Freshness audit

Dit is goed wanneer Documentation, Audits en Freshness audit echte canonieke pagina’s zijn in die ouder-kindvolgorde. Elke voorouder voorspelt zijn bestemming, en het huidige label is beknopt genoeg om de locatie te bevestigen zonder de hele H1 te herhalen.

Slecht: trefwoorden die doen alsof ze hiërarchie zijn

Home › Best AI SEO Tool › Affordable AI Visibility Platform › Breadcrumbs

Dit is slecht wanneer de twee middelste labels geen echte ouderpagina’s zijn. Het pad doet beloftes die de links niet kunnen waarmaken, herhaalt promotionele zinnen in plaats van secties te benoemen, en creëert een valse entiteitenketen voor crawlers. Vervang het door het kortste werkelijke voorouderpad. Als de gewenste concepten pagina’s verdienen, maak en integreer die pagina’s dan eerst in de IA; preview een denkbeeldige architectuur niet in broodkruimels.

Schema-opmaak en toegankelijkheid

Broodkruimels kunnen Schema.org BreadcrumbList voeden, een geordende lijst waarvan de items ListItem-objecten zijn. Gebruik op één gebaseerde integer position-waarden en houd name en item in lijn met het zichtbare label en de canonieke bestemming. Genereer JSON-LD en HTML vanuit één gegevensobject, zodat een hernoeming, verplaatsing of canonieke wijziging beide uitvoeren samen bijwerkt.

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {"@type":"ListItem","position":1,"name":"Home","item":"https://amicited.com/"},
    {"@type":"ListItem","position":2,"name":"SEO playbook","item":"https://amicited.com/seo-playbook/"},
    {"@type":"ListItem","position":3,"name":"Elements","item":"https://amicited.com/seo-playbook/elements/"},
    {"@type":"ListItem","position":4,"name":"Breadcrumbs","item":"https://amicited.com/seo-playbook/elements/breadcrumbs/"}
  ]
}

Schema beschrijft de zichtbare hiërarchie; het autoriseert geen tweede, geoptimaliseerd pad. Voeg geen redirects, trackingparameters, niet-canonieke protocol- of hostvarianten, zoekresultaten op de site, sessietoestanden of verborgen trefwoordcategorieën toe. Publiceer geen twee BreadcrumbList-objecten voor twee mogelijke taxonomieën. Selecteer het primaire pad in het contentmodel en gebruik het overal.

Toegankelijkheid begint met <nav aria-label="Breadcrumb"> en een geordende lijst. Het toegankelijke label onderscheidt deze navigatieregio zonder een zichtbare kop te vereisen. Verberg decoratieve scheidingstekens met aria-hidden="true" of maak ze in CSS, zodat schermlezers niet “groter dan” tussen elk item aankondigen. Markeer alleen het laatste item met aria-current="page" en link het niet naar zichzelf.

Elke voorouderlink heeft een zichtbare focusindicator en een doelwit nodig dat groot genoeg is om op een touchscreen te activeren. Lange paden moeten worden afgebroken of ingeklapt via een toetsenbordbedienbaar element; horizontaal scrollen dat de huidige positie verbergt, is geen acceptabele standaard. Afkapping mag een visueel label alleen inkorten wanneer de volledige toegankelijke naam beschikbaar blijft en de ingekorte tekst nog steeds te onderscheiden is. Vertrouw nooit alleen op kleur om gelinkte voorouders van het huidige item te scheiden.

Schrijfregels

Broodkruimellabels zijn locatienamen, schrijf ze dus als navigatie in plaats van miniatuurkopjes. Gebruik de officiële, kortste ondubbelzinnige naam van elke sectie of pagina. “Documentation” werkt beter dan “Explore all product documentation,” omdat de bestemming de context levert en het pad scanbaar moet blijven.

  • Gebruik één tot zes woorden en maximaal 60 tekens per label. Korte labels maken de hiërarchie zichtbaar voordat deze afbreekt; ze geven geen toestemming om onbekende termen af te korten.
  • Gebruik normaal twee tot vijf items, inclusief de huidige pagina. Sta zes of zeven alleen toe wanneer elk niveau structureel noodzakelijk is.
  • Orden items van de breedste voorouder naar de huidige pagina. Keer het pad nooit om en plaats nooit een sibling in de reeks.
  • Gebruik standaard zinshoofdletters (sentence case), tenzij een merk, product of acroniem een goedgekeurde spelling heeft.
  • Houd labels stabiel over pagina’s heen. Dezelfde ouder kan niet “Docs” zijn in het ene pad en “Documentation” in een ander, tenzij het navigatiesysteem wereldwijd verandert.
  • Zorg dat voorouderlabels overeenkomen met of de zichtbare naam van de bestemming nauw weerspiegelen. Een beknopt navigatielabel is acceptabel; een ander trefwoorddoel niet.
  • Benoem de huidige pagina beknopt. Het mag een lange H1 inkorten, maar moet nog steeds hetzelfde document identificeren.
  • Gebruik een neutrale toon. Broodkruimels oriënteren; ze verkopen niet, feliciteren niet, waarschuwen niet en instrueren niet.

Plaats nooit calls-to-action, prijzen, voorraadstatus, datums, auteurspersoonsnamen, beoordelingsscores, emoji’s, iconen met onafhankelijke betekenis, promotionele claims, trackingcodes of queryparameters in een broodkruimellabel. Voeg nooit “Back,” “Previous,” of “Next” toe als item, omdat die bedieningselementen geschiedenis of volgorde uitdrukken in plaats van afstamming. Scheidingstekens zijn presentatie van de renderer en maken geen deel uit van enig label.

Berichttypen die het gebruiken

De postTypes frontmatter registreert de ondersteunde koppelingen. De tabel zet die koppelingen om in gebruiks- en plaatsingsregels; het is geen bewering dat elk exemplaar een handmatig geschreven pad nodig heeft.

BerichttypeVereistePrimaire hiërarchiebronTypisch pad
Ultimate guideMeestalOnderwerphub en gidsenverzamelingHome › Guides › Onderwerp
How-to guideMeestalDocumentatie- of handleidingenverzamelingHome › How to › Taak
Listicle guideMeestalRedactionele categorieHome › Guides › Shortlist
A-versus-B comparisonMeestalVergelijkingenhub of productcategorieHome › Comparisons › A vs B
Best-X-for-Y pageMeestalBeoordeelde categoriehiërarchieHome › Categorie › Beste X voor Y
Alternatives pageMeestalAlternatieven- of vergelijkingenhubHome › Alternatives › Productalternatieven
Glossary termAltijd in een grote woordenlijstWoordenlijstindexHome › Glossary › Term
What-is-X pageMeestalLeerhub of onderwerpclusterHome › Learn › Concept
Product pageMeestal in een productfamilieCatalogus of productfamilieHome › Products › Product
Category pageAltijd wanneer genestCatalogustaxonomieHome › Afdeling › Categorie
Use-case pageMeestalOplossingen- of use-casehubHome › Use cases › Resultaat
Documentation articleAltijd wanneer documentatie is genestVersiebeheerde documentatieboomHome › Documentation › Sectie › Taak

“Meestal” betekent gebruik het element wanneer de site de genoemde stabiele ouder heeft, en laat het weg bij een werkelijk ondiepe implementatie in plaats van een extra niveau te verzinnen. “Altijd” veronderstelt dat de genoemde geneste structuur bestaat. Templates moeten de weergave beheren; het berichttype definieert de verwachte hiërarchiebron en redactionele uitzonderingen.

QA-checklist

  • Echte hiërarchie: Elke voorouder is een echte, bewuste ouder in de primaire IA van de site, geen trefwoord, tag, filter of eerder bezoek.
  • Juiste positie: Het pad verschijnt na de globale header en vóór de H1, zonder promotie of niet-gerelateerde werkbalk ertussen.
  • Eén pad: De pagina toont één zichtbaar broodkruimelpad en één bijpassende BreadcrumbList, geen concurrerende paden.
  • Volledige volgorde: Items lopen van breedste voorouder naar huidige pagina, zonder ontbrekend structureel niveau of toegevoegde sibling.
  • Canonieke links: Elke voorouder verwijst direct naar zijn canonieke, indexeerbare URL zonder trackingparameters of vermijdbare redirects.
  • Huidige status: Het laatste zichtbare item benoemt de huidige pagina, is niet gelinkt en heeft aria-current="page".
  • Beknopte labels: Elk label gebruikt de officiële kortste ondubbelzinnige naam, volgt zinshoofdletters en blijft binnen de redactionele limiet.
  • Semantische HTML: Het component gebruikt een gelabeld navigatielandmark en geordende lijst; het is geen rij generieke spans.
  • Decoratieve scheidingstekens: Scheidingstekens zijn verborgen voor ondersteunende technologie en verschijnen niet in toegankelijke linknamen.
  • Responsief gedrag: De huidige positie blijft beschikbaar op smalle schermen; afbreking, weergave, focusvolgorde en aanraakdoelen werken zonder verborgen horizontale content.
  • Schema-pariteit: BreadcrumbList-namen, canonieke URL’s, volgorde, itemtelling en posities komen inhoudelijk overeen met de volledige zichtbare hiërarchie.
  • Enkele gegevensbron: HTML en JSON-LD worden gegenereerd uit dezelfde beoordeelde hiërarchie in plaats van onderhouden als afzonderlijke kopieën.
  • Draagbare pariteit: Markdown-, Hugo- en WordPress-weergaven behouden identieke itemvolgorde, labels, bestemmingen en huidige status.
  • Screenshotstatus: Capture-opmerkingen blijven niet-renderende instructies totdat echte assets bestaan; geen niet-bestaande screenshot wordt als afbeelding gerefereerd.

FAQ

De academietemplate geeft de vijf beoordeelde vragen weer die zijn opgeslagen in de frontmatter. Ze behandelen URL-paden, het huidige item, gestructureerde gegevens, onstabiele filterpagina’s en praktische dieptelimieten.

← All SEO Playbook guides

Klaar om het in de praktijk te brengen?

Gratis check · 7 dagen proefperiode · geen creditcard nodig