SEO-basis in webontwikkeling: wat je inbouwt
Een groot deel van SEO is helemaal geen marketing — het zijn beslissingen die tijdens de webontwikkeling worden genomen en die tijdens de bouw goedkoop zijn en later duur. URL-structuur, renderstrategie, interne links en bewerkbare metadata vallen allemaal in die categorie.
Deze gids behandelt wat je vanaf het begin inbouwt, ruwweg op volgorde van hoe pijnlijk het is om het achteraf toe te voegen.
Zorg dat de site gecrawld en geïndexeerd kan worden#
Al het andere is irrelevant als zoekmachines je pagina's niet kunnen bereiken of lezen. Hier stapelen zich ook de fouten op de lanceerdag op.
- De robots.txt op productie staat crawlen toe. De kopie van de testomgeving mag er niet mee uitgerold worden.
- Geen verdwaalde noindex-metatags meegenomen uit de testomgeving.
- Elke pagina heeft een zelfverwijzende canonieke URL, en er is één canonieke hostnaam.
- De content staat in de HTML of wordt op de server gerenderd. Verschijnt ze pas nadat JavaScript is uitgevoerd, dan wordt indexering trager en minder betrouwbaar.
- Een XML-sitemap met alleen indexeerbare, canonieke URL's — geen gefilterde of gepagineerde varianten.
- Elke indexeerbare pagina heeft minstens één interne link. Verweesde pagina's worden nauwelijks gecrawld.
- Consistente statuscodes: 200 voor echte pagina's, 404 voor ontbrekende, 301 voor verplaatste.
De meest voorkomende lanceerfout in deze lijst is de robots.txt van de testomgeving die op productie belandt. Controleer hem op de lanceerdag van buiten je eigen netwerk.
Structuur die zoekmachines kunnen lezen#
Structurele beslissingen zijn degene die later pijnlijk te wijzigen zijn, omdat wijzigen omleidingen betekent en het verlies van opgebouwde signalen.
| Beslissing | Bouw het zo | Kosten van later wijzigen |
|---|---|---|
| URL-patroon | Kort, kleine letters, koppeltekens, stabiel | Hoog — omleidingen en verloren signalen |
| Koppenhiërarchie | Eén H1, geen overgeslagen niveaus | Laag |
| Interne links | Hubs die naar detailpagina's linken en terug | Gemiddeld |
| Paginering | Crawlbare links, niet alleen JavaScript | Gemiddeld |
| Facetnavigatie | noindex op filtercombinaties | Hoog — indexvervuiling ruimt langzaam op |
| Taalversies | URL's met voorvoegsel plus wederkerige hreflang | Zeer hoog |
Metadata die je team werkelijk kan bewerken#
Een veelvoorkomende bouwfout is titels en beschrijvingen uit een sjabloon genereren zonder mogelijkheid ze te overschrijven. Zes maanden later moet marketing de titel van één pagina wijzigen en luidt het antwoord: een ontwikkelticket.
- Bewerkbare titeltag per pagina, met een zinnige gegenereerde standaardwaarde.
- Bewerkbare metabeschrijving, met een zichtbare tekentelling in het CMS.
- Bewerkbare Open Graph-titel, -beschrijving en -afbeelding voor gedeelde links.
- Gestructureerde data op de sjablonen die het ondersteunen: Article, Product, FAQ, Breadcrumb, Organization.
- Een noindex-schakelaar per pagina voor pagina's die moeten bestaan maar niet moeten scoren.
- Automatische canonieke URL, met handmatige overschrijving voor het zeldzame geval dat er een nodig is.
Markeer alleen wat werkelijk zichtbaar is op de pagina. Gestructureerde data die content beschrijft die een bezoeker niet kan zien is een schending van de richtlijnen, geen sluiproute.
Snelheid en stabiliteit als bouweisen#
Pagina-ervaring hoort bij de bouw, niet bij een optimalisatieproject achteraf. Snelheid achteraf op een afgeronde site aanbrengen betekent meestal beslissingen terugdraaien in plaats van code toevoegen.
| Meetwaarde | Doel | Ingebouwd door |
|---|---|---|
| Largest Contentful Paint | Onder 2,5 s | De koptafbeelding voorrang geven, renderblokkerende bestanden vermijden |
| Cumulative Layout Shift | Onder 0,1 | width en height op afbeeldingen, gereserveerde ruimte voor insluitingen |
| Interaction to Next Paint | Onder 200 ms | Minder JavaScript, en de hoofdthread niet blokkeren |
| Paginagewicht | Zo laag als het ontwerp toelaat | Moderne beeldformaten, geen ongebruikte bibliotheken |
| Time to First Byte | Onder 800 ms | Caching, een CDN, en verstandige databasequery's |
Veelgestelde vragen
Hoort SEO in de ontwikkelopdracht?
De technische delen wel — crawlbaarheid, URL-structuur, bewerkbare metadata, gestructureerde data, snelheidsdoelen en de omleidingslijst. Contentstrategie en linkbuilding zijn apart werk met een ander profiel. De technische eisen in de opdracht zetten betekent dat ze worden geoffreerd in plaats van na de lancering ontdekt, wanneer ze een veelvoud kosten.
Schaadt een JavaScript-framework de SEO?
Dat kan, als pagina's alleen in de browser worden gerenderd. Zoekmachines voeren JavaScript uit maar met vertraging en niet altijd volledig, dus alleen renderen aan de clientzijde maakt indexering trager en minder betrouwbaar. Serverside renderen of statisch genereren neemt het probleem weg. Voor een contentsite is het eenvoudigste antwoord meestal: zet de content in de HTML.
Hoelang na de lancering zie ik zoekverkeer?
Bij een gloednieuw domein doorgaans weken tot indexering en maanden tot betekenisvolle posities — nieuwe sites scoren niet snel, hoe goed de techniek ook is. Bij een herlancering van een bestaande site met schone omleidingen kun je twee tot zes weken schommeling verwachten voordat het zich rond het vorige niveau zet.
Heb ik een SEO-plug-in nodig?
Op een CMS is een plug-in een handige manier om redacteuren zeggenschap te geven over titels, beschrijvingen, canonieke URL's en sitemaps. Het is geen strategie, en de standaarduitvoer vervangt niet iemand die bepaalt waar elke pagina over moet gaan. Bij maatwerk wordt dezelfde functionaliteit meestal rechtstreeks geschreven en is ze daardoor lichter.
seo webontwikkelingseo basistechnische seoseo voor ontwikkelaarscrawlbaarheidonpage seo