Vindbaarheid · Structuur · 7 min lezen

Wat is een goede URL-structuur?

Korte URL's, geen datums, geen ID's, geen rommel. Negen regels die het verschil maken tussen een site die rankt en een die in ?p=124 vastzit.

TL;DR Goede URL's zijn kort, beschrijvend, lowercase, met streepjes (geen underscores), zonder datums of ID's, hiërarchisch georganiseerd. Voorbeeld goed: /diensten/loodgieter-mijdrecht/. Voorbeeld slecht: /?p=124&cat=services. Wijzigen kan, maar altijd met 301-redirects.

De 9 regels voor goede URL's

1. Lowercase

Altijd /diensten/, nooit /Diensten/ of /DIENSTEN/. Sommige servers behandelen hoofdletter-URL's als andere pagina's — duplicate content-risico.

2. Streepjes, geen underscores

loodgieter-mijdrecht ✓ — Google leest dit als twee woorden. loodgieter_mijdrecht ✗ — Google leest dit als één onbekend woord.

3. Beschrijvend, niet cryptisch

Een mens moet aan de URL kunnen zien wat erop staat. Bonus: deelbaar op WhatsApp, beter klikbaar in mailings, leesbaarder in zoekresultaten.

4. Kort (max 60 karakters)

Onderzoek toont dat URL's onder 60 karakters meetbaar beter scoren in CTR uit zoekresultaten. Concreet:

5. Hiërarchie reflecteert site-structuur

De map-structuur in je URL's moet de logische hiërarchie van je site weerspiegelen:

Maar overdrijf het niet. Diepte boven 4 niveaus is meestal teveel.

6. Geen datums

WordPress' default-permalink-instelling (/2019/03/post-titel/) is schadelijk voor evergreen content. Een site die in 2026 een 2019-update plaatst kan z'n URL niet vernieuwen zonder redirect — en de lezer ziet "2019" en denkt: oud.

7. Geen ID's of parameters

URL's met ?id=124&cat=services krijgen lagere crawl-prioriteit van Google. Dit is een setting in je CMS — WordPress > Permalink-instellingen > Post Name. Klaar.

8. Geen stopwoorden tenzij nodig

Skip woorden als "de", "het", "en", "van" als ze niet écht nodig zijn:

9. Trailing slash consistent

Kies één variant: of altijd /diensten/ (met slash), of altijd /diensten (zonder). Beide werken, maar wissel niet binnen één site. Voeg een redirect-regel toe die de andere variant automatisch doorstuurt.

Voor MKB-sites: een logische structuur

Een typische MKB-site zoals we bouwen bij DesignCheck Mijdrecht heeft deze structuur:

URL's wijzigen — wat te doen

Wil je je structuur veranderen? Kan, maar volg dit:

De grootste valkuil bij CMS-migraties

Van WordPress naar een nieuw CMS migreren zonder redirect-strategie = je verliest alle ranking-equity die je in jaren hebt opgebouwd. We zien dit elke maand bij audits — sites die op een nieuw platform staan, mooi design, maar 70% minder Google-verkeer dan voorheen. Oorzaak: URL's veranderd, geen redirects.

Bij elke rebuild bij DesignCheck brengen we eerst de bestaande URL's in kaart en bouwen een 1:1 redirect-laag. Standaard, geen extra kosten.

Onzeker over je huidige URL-structuur? De gratis audit checkt automatisch op de 9 regels hierboven plus de redirect-strategie. Reken eerst uit wat je vindbaarheid je nu kost in de verliescalculator — vaak verrassend hoog. Voor lokale SEO is goede URL-structuur trouwens stap 3, zie lokale SEO MKB 2026.

FAQ — URL/permalink-structuur

Mag ik datums in mijn URL hebben?
Liever niet. /2019/03/loodgieter-tips/ veroudert direct en wekt de indruk dat de inhoud uit 2019 stamt. Voor MKB bijna nooit nuttig.
Hoe lang mag een URL zijn?
Geen harde limiet, maar <60 karakters scoort beter. Richtlijn: max 3-4 woorden in het pad-deel.
Wat doe ik als ik mijn URL-structuur wil veranderen?
301-redirects van elke oude URL naar nieuwe. Niet doen = je verliest alle ranking-equity. Houd redirects minstens 1 jaar actief.
Maakt het uit of ik .html in mijn URL heb?
Niet voor SEO. Wel voor consistentie — kies één stijl en houd je eraan. Wij gebruiken zelf .html voor blogposts (statische generatie) en clean URLs voor service-pagina's.

Wat een URL eigenlijk doet voor SEO

Een URL is het enige stukje metadata dat zowel zoekmachines, mensen, mailclients, sociale platforms, AI-zoeksystemen als chat-apps gebruiken. Geen ander element op je site wordt zo vaak gekopieerd, geplakt, gedeeld, geknipt en getoond. Wie de URL goed ontwerpt, krijgt voor elk van die kanalen een gratis bonus: betere klikratio, betere voorvertoning, betere vindbaarheid op de bedrijfsnaam plus dienst.

Google's algoritme leest het pad-deel van je URL als een tweede titel. Wanneer je hoofdtitel iets generieks belooft maar je URL toont een specifieke dienst, lossen die twee samen vragen op die niet in de body voorkomen. Daarom is een URL die letterlijk de zoekvraag bevat zo krachtig: /diensten/cv-ketel-vervangen/ rankt op "cv-ketel vervangen" met minder content-zwaartekracht dan /services/?id=42 ooit zal lukken.

Daarnaast spelen URL's een rol in hoe AI-zoeksystemen je site lezen. Wanneer een large language model citeert wie een dienst aanbiedt in een bepaalde stad, kijkt het sterk naar URL-fragmenten. Een pad als /loodgieter/uithoorn/ wordt vaker gevonden dan een pagina met dezelfde inhoud op /?page=12&loc=3. Slechte URL's zijn niet alleen lelijk, ze maken je onzichtbaar in de zoeklaag die snel groter wordt.

Migraties zonder verkeer te verliezen

Eén van de meest voorkomende redenen dat een nieuw gebouwde site minder verkeer trekt dan de oude, is een onvolledige redirect-laag. Het patroon herhaalt zich elke maand bij onze audits: nieuwe site live, alle interne links werken, ranking-pagina's onbereikbaar omdat de oude paden niet zijn vertaald. Drie maanden later staat het bedrijf met paniek aan de telefoon: het organische verkeer is gehalveerd, terwijl het ontwerp objectief beter is geworden.

De aanpak die wel werkt begint twee weken vóór de migratie. We exporteren een volledige crawl van de oude site, sorteren de pagina's op inkomend organisch verkeer over de laatste twaalf maanden, en maken voor de top-200 pagina's een handmatige mapping. De rest wordt afgevangen door een regex-redirect-laag die patronen naar nieuwe paden vertaalt. Pas wanneer die mapping compleet is, gaat de nieuwe site live.

Bij de bouw van Keurmeesters hebben we 31 stadspagina's met BAG-API-koppeling gemaakt onder een strikte URL-conventie: /energielabel/[stad]/. Daardoor scoort elke stadspagina los op de combinatie "energielabel + plaatsnaam" en haalt het Lighthouse 96+. Geen enkele pagina hangt af van query-parameters, geen enkele heeft datums in het pad, en elke pagina is in één klik bereikbaar via een logische sitemap.

De URL-checklist die elke pagina passeert

Wat doe je vandaag?

Mag een URL Nederlandse trema's of accenten bevatten?
Technisch kan het, omdat moderne browsers Punycode automatisch vertalen. Praktisch raden we het sterk af. In beacons, logs, mails en sociale previews ontstaan vaak rare karakters of dubbele encoding. Een URL als /cafe-mijdrecht/ werkt op elk platform identiek, terwijl /café-mijdrecht/ in een vijfde van de tools een fout oplevert. Houd het pad ASCII-only.
Moeten URL's hetzelfde zijn als de paginatitel?
Niet identiek, wel verwant. De titel mag een verkoopzin zijn, de URL is een sleutel. Vergelijk: titel "Loodgieter Mijdrecht: 24/7 storingsdienst", URL /diensten/loodgieter-mijdrecht/. De URL bevat de kerntermen, de titel voegt context toe. Wie de titel letterlijk in de URL plakt, krijgt te lange paden die slecht delen op WhatsApp en in mailings.
Wat als ik per ongeluk dezelfde slug op twee pagina's heb?
Eén van beide pagina's gaat in de crawler verloren — Google indexeert er meestal slechts één, willekeurig. Oplossing: hernoem direct de nieuwste pagina, voeg een 301 toe van de oude naar de nieuwe slug, en controleer in Search Console of beide URL's correct ge-canonicaliseerd zijn. Laat dit niet sluimeren, het kost rankings.

Server-config: waar URL-regels écht worden afgedwongen

Een mooie URL-strategie staat of valt bij wat de server daadwerkelijk doet wanneer iemand een variant aanroept. Wie alleen in het CMS-paneel kiest voor "schone URL's" zonder de webserver-config te checken, krijgt subtiele lekken: hoofdletter-varianten die als aparte pagina's worden geserveerd, parameter-versies die naast de canonical bestaan, trailing-slash-inconsistenties die per browser anders gerenderd worden. Allemaal kleine fouten die optellen tot duplicate-content-signalen en gedeelde ranking-equity.

Op een Nginx-server regel je dit in twee blokken. Eén regel forceert lowercase via een interne rewrite. Eén regel forceert de gekozen trailing-slash-stijl. Eén regel verwijdert query-parameters die geen canonical-status hebben. Vier regels in totaal, één keer goed gezet, geen onderhoud meer. Op Apache regel je hetzelfde via een .htaccess-bestand met mod_rewrite. Bij headless setups op Vercel of Cloudflare gebeurt het via een config-bestand in de repo. De technologie verschilt, de mindset is dezelfde: één canonical pad, alle andere routes redirecten netjes.

Bij Keurmeesters draait de hele site achter een Vercel-routing-laag die hoofdletter-paden lowercase maakt, trailing slashes consistent afdwingt, en bij elke 404 een nette redirect-suggestie geeft. Dat is geen luxe, dat is de hygiëne die het verschil maakt tussen een Lighthouse-score van 92 en de 96+ die we daar consistent halen. Webdesign-kwaliteit en SEO-kwaliteit zijn niet twee diensten — ze zijn één en dezelfde discipline, alleen vanuit twee verschillende invalshoeken bekeken.

Internal linking en URL-stabiliteit

Een URL is geen toevallige plek waar een pagina staat — het is een afspraak met elke andere site, elk e-mailprogramma, elke chat-app, en elke crawler over waar die pagina te vinden is. Wie z'n URL's elk jaar opnieuw uitvindt, breekt die afspraak. Externe links worden ineens nutteloos, interne verwijzingen vallen om, redirect-ketens groeien aan, en de gebruikerservaring verslechtert in stilte.

De vuistregel: kies een URL-conventie die over tien jaar nog logisch is. Dat betekent geen jaartallen, geen seizoenen, geen tijdelijke campagne-namen in het pad. Geen interne projectcode die alleen voor jouw team betekenis heeft. Geen technologie-stempel zoals /wp/ of /cms/. Wel: een patroon dat de structuur van je dienstverlening reflecteert en dat ook past wanneer je over vijf jaar een nieuwe dienst toevoegt of een stadspagina aanmaakt voor een buurgemeente.

Internal linking versterkt dit. Een homepage die naar diensten linkt, diensten die naar stadspagina's linken, stadspagina's die naar gerelateerde stadspagina's linken — dat patroon werkt alleen als de URL's stabiel zijn. Elke wijziging in een URL is een wijziging in alle interne links die ernaar wijzen. Daarom hoort URL-keuze niet bij "iets dat de developer regelt" maar bij de strategische ontwerpbeslissingen aan het begin van een rebuild.

Schema.org en de canonical URL

Veel Schema.org-blokken in JSON-LD bevatten een url-property en een mainEntityOfPage-property. Beide horen exact gelijk te zijn aan de canonical-tag in de HTML-head. Wie hier verschillende varianten gebruikt — soms met www, soms zonder, soms met trailing slash, soms zonder — geeft de crawler tegenstrijdige signalen over wat de echte URL van de pagina is. Google kiest dan zelf welke variant het indexeert, en die keuze valt niet altijd uit zoals je hoopt.

Een Organization-blok of LocalBusiness-blok in je head, met de officiële homepage-URL, het logo, het adres en de social-profielen, koppelt de hele site aan de canonical-domeinvariant. Een Service-blok per dienstpagina koppelt die pagina aan diezelfde organisatie en versterkt de hiërarchie. Een BreadcrumbList-blok per dieptepagina vertelt de crawler exact waar de pagina in de structuur thuishoort. Alle drie deze blokken hebben URL's nodig, en alle drie horen ze precies te wijzen naar de canonical paden die we hierboven beschreven.

Drie nieuwe valkuilen in 2026

Wat doe je deze week?

Mag ik een URL veranderen als er nooit iemand naartoe heeft gelinkt?
Ja, en het is vaak goedkoper om het direct te doen dan later met een opgehoopte redirect-laag. Maak in elk geval een 301 aan van de oude naar de nieuwe URL, zelfs als je geen verkeer ziet — Google bewaart oude URL's nog jarenlang in de index en serveert ze soms in featured snippets. De redirect kost niets en voorkomt vreemde 404-pieken.
Wat doe ik als mijn CMS geen schone URL's ondersteunt?
Drie opties. Eén: kies een ander CMS — vrijwel elk modern systeem ondersteunt schone paden, dus dit is meestal een teken van verouderde software. Twee: zet een reverse proxy of edge-laag voor het CMS die de URL's herschrijft. Drie: bouw de cruciale pagina's (homepage, diensten, lokale pagina's) als statische bestanden naast het CMS. Voor MKB-sites bouwen wij standaard hybride — CMS waar nuttig, statische bestanden waar performance en URL-controle telt.
Helpt het om datums alsnog uit oude URL's te halen?
Alleen als je de redirect-laag goed legt. Wijzig de instelling in je CMS, genereer een mapping van oude naar nieuwe paden, voeg 301-redirects toe voor élke oude URL, en submit een verse sitemap in Search Console. Verwacht 30 tot 90 dagen tijdelijke ranking-fluctuaties. Het is een eenmalige investering die zich over jaren terugbetaalt — datumloze URL's veranderen niet meer mee met de inhoud die je periodiek bijwerkt.

Verder lezen

Door Lorenzo Ruisi — DesignCheck. Laatst bijgewerkt 16 mei 2026.

URL-structuur in 5 minuten gecheckt

Onze gratis audit kijkt naar elke regel hierboven en geeft concreet advies.

Gratis audit →