Blog · Technical Seo

Security-headers voor MKB-website 2026

Vijf security-headers die op elke MKB-site horen.

TL;DR Vijf security-headers houden de meeste aanvallen op een MKB-site tegen: Strict-Transport-Security forceert HTTPS, Content-Security-Policy stopt XSS-injecties, X-Frame-Options blokkeert clickjacking, X-Content-Type-Options voorkomt MIME-sniffing en Referrer-Policy beschermt privacy. Implementatie kost één configuratiebestand bij je hosting en levert direct een A-grade op securityheaders.com op. Voor klanten van DesignCheck staan deze headers standaard in elke Rebuild (€3.995) en Premium (€6.995) build.

Wat MKB moet weten

Een security-header is een instructie die je server meestuurt bij elke pagina-aanvraag, vóór de HTML-inhoud zelf. De browser leest deze headers en past zijn gedrag aan. Vijf headers vormen het minimumpakket voor een professionele MKB-site:

Test je huidige situatie met securityheaders.com — gratis, een score van A of A+ is het doel. Een gemiddelde MKB-WordPress-site komt zonder ingrijpen uit op een D of F.

Waarom dit voor MKB telt

Drie redenen waarom security-headers voor een kleine ondernemer relevant zijn, ook als je geen webshop runt:

Vertrouwen. Browsers tonen waarschuwingen bij onveilige sites. Chrome en Safari markeren mixed-content (HTTPS-pagina die HTTP-resources laadt) inmiddels actief. Een hovenier of boekhouder die zijn klanten laat schrikken met een "Niet veilig"-melding verliest leads voor de offerteaanvraag.

Cyberrisico. 43% van cyberaanvallen target MKB volgens Verizon's Data Breach Investigations Report — niet grote bedrijven. Geautomatiseerde scans zoeken sites zonder Content-Security-Policy als laaghangend fruit voor scripting-aanvallen. Een formulier-injectie kost gemiddeld €3.000 aan herstelwerk plus reputatieschade.

SEO-signalen. Google hint sinds 2024 dat security-signalen meewegen in ranking. Bevestigd is in elk geval dat HTTPS een lichte ranking-factor is, en moderne best-practices volgen het patroon.

Header 1 — Strict-Transport-Security in detail

HTTPS-Strict-Transport-Security (HSTS) zegt tegen de browser: "Bezoek deze site het komende jaar uitsluitend via HTTPS, ook als de gebruiker http:// typt." De header bestaat uit drie onderdelen:

Een veelgemaakte fout: HSTS aanzetten op een site die nog niet volledig op HTTPS draait. Heeft je site één plaatje of script via http://, dan breekt de site voor terugkerende bezoekers. Eerst HTTPS overal afmaken, daarna HSTS. Voor MKB-sites op WordPress of Webflow is dit doorgaans al voltooid; voor oudere sites op statische hosting kan het een dag werk zijn.

Header 2 — Content-Security-Policy in detail

De Content-Security-Policy (CSP) is de meest krachtige én meest verwarrende van het rijtje. Hij definieert per resource-type van welke domeinen scripts, stylesheets, afbeeldingen en frames mogen worden geladen. Een minimale werkende CSP voor een statische MKB-site:

Content-Security-Policy: default-src 'self'; img-src 'self' data: https:; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; script-src 'self'

Deze policy laat alles uit het eigen domein toe, afbeeldingen ook van data-URLs en HTTPS-domeinen (handig voor CDN's), Google Fonts via stylesheets, en alleen eigen scripts. Heeft je site een chat-widget, analytics-script of YouTube-embed? Dan moeten de domeinen daarvan worden toegevoegd. Vergeten resulteert in een werkende site die er kapot uitziet — debugging via Chrome DevTools Console laat exact zien wat geblokkeerd werd.

Voor WordPress-sites is een plug-in als "Content Security Policy Pro" handig. Voor Webflow staat het in de Custom Code-sectie van Project Settings. Voor statische sites (zoals deze) configureer je het in vercel.json of Nginx-config.

Headers 3 en 4 — Clickjacking en MIME-sniffing

X-Frame-Options met waarde DENY blokkeert dat anderen jouw site in een iframe op hun pagina inbouwen. Aanvalsscenario: iemand maakt een phishing-site, embedt jouw login-pagina onzichtbaar, en laat de bezoeker per ongeluk klikken op een knop die in werkelijkheid op jouw site staat. DENY voorkomt dit volledig. Alternatief is SAMEORIGIN als je zelf een iframe-functie op je site hebt.

X-Content-Type-Options: nosniff voorkomt dat de browser het bestandstype "raadt" op basis van de inhoud. Een upload-functie die een gebruiker een nep-PDF laat uploaden die in werkelijkheid JavaScript bevat, wordt zonder nosniff door de browser uitgevoerd. Met nosniff blokkeert hij. Eén regel, geen tegenargument om hem niet te zetten.

Header 5 — Referrer-Policy en privacy

Wanneer een bezoeker op jouw site een externe link klikt, stuurt de browser standaard de hele URL als "Referer" mee. Op /klanten/intern/dossier-2026 → klik naar Google → Google ziet de hele URL. Voor publieke pagina's geen probleem, voor interne URL's wel. Strict-origin-when-cross-origin stuurt bij interne navigatie de volledige URL door, maar bij externe links alleen het hoofddomein. AVG-vriendelijk en aanbevolen voor elke MKB-site die met klantgegevens werkt.

Hoe je het implementeert per platform

Veelgemaakte fouten bij implementatie

Vijf valkuilen die we vaak tegenkomen bij audits in De Ronde Venen en omgeving:

  1. HSTS aanzetten vóór HTTPS volledig werkt. Resultaat: site breekt voor terugkerende bezoekers. Eerst alle resources op HTTPS, dan pas HSTS.
  2. CSP te strak instellen waardoor je eigen analytics niet meer werkt. Plaats CSP eerst in "Report-Only"-modus, monitor wat geblokkeerd wordt, pas dan de strikte versie.
  3. Headers per pagina inconsistent. Sommige WordPress-plug-ins zetten headers alleen op publieke pagina's en niet op admin-routes. Globaal instellen via webserver, niet via PHP.
  4. Headers dubbel ingesteld. Cloudflare zet bijvoorbeeld zelf X-Content-Type-Options, jouw server doet hetzelfde — browsers tonen dan een waarschuwing.
  5. 'unsafe-inline' in script-src laten staan. Maakt CSP grotendeels betekenisloos tegen XSS. Voor moderne sites is dit te vermijden door nonces of hashes.

Checklist: van score F naar A+ in 11 stappen

  1. Controleer huidige score via securityheaders.com.
  2. Bevestig dat je hele site op HTTPS draait (geen mixed content).
  3. Voeg Strict-Transport-Security toe met max-age 1 jaar.
  4. Voeg X-Content-Type-Options: nosniff toe.
  5. Voeg X-Frame-Options: DENY toe (of SAMEORIGIN als nodig).
  6. Voeg Referrer-Policy: strict-origin-when-cross-origin toe.
  7. Implementeer Content-Security-Policy in "Report-Only"-modus voor één week.
  8. Monitor Chrome DevTools Console op CSP-violations en pas policy aan.
  9. Zet Content-Security-Policy live (zonder Report-Only).
  10. Test alle belangrijke pagina's en formulieren in Chrome, Safari en Firefox.
  11. Hertest op securityheaders.com — target A of A+.

Wat het je kost en oplevert

Voor een gemiddelde MKB-site is de eerste implementatie 1 tot 3 uur werk voor iemand met enige technische kennis van hosting. Bij DesignCheck zit dit standaard in elke Refresh (€1.995), Rebuild (€3.995) en Premium (€6.995) — geen apart factuur-item. Marktconforme prijzen bij andere bureaus voor losse security-header-audit liggen tussen €350 en €900.

Wat het oplevert: een professionele indruk bij vergelijkers die de site doorlichten (denk aan inkopers, gemeentes die leveranciers screenen, of B2B-prospects). Concreet bij de Keurmeesters-launch in mei 2026 stond securityheaders.com score op A+ — een signaal voor zakelijke klanten dat de privacy van de adres- en woningdata via de BAG-API serieus wordt behandeld. Dit soort details kunnen het verschil maken bij offerteaanvragen waar meerdere partijen vergeleken worden.

De extra zes: nice-to-have voor de gevorderde MKB-site

Naast de vijf basisheaders zijn er extra headers die meerwaarde leveren bij sites met formulieren, uploads of betaalflows. Niet verplicht voor de meeste MKB-sites, maar de moeite waard om te kennen.

Testtools die je zonder kosten kunt gebruiken

Voordat je iets aanpast, eerst meten. Vier tools waarmee je in een halfuur de huidige situatie helder hebt:

Aanvullend handig: WebPageTest.org levert een complete waterval inclusief response-headers per resource. Goed om te zien of headers op alle URL's worden meegestuurd (een veelvoorkomende fout: headers op /index.html maar niet op /api-endpoints).

Onderhoud na de eerste implementatie

Security-headers zijn geen set-and-forget-onderdeel. Tweemaal per jaar opnieuw scoren via securityheaders.com is een redelijke regel. Reden: browsers introduceren periodiek nieuwe header-opties of deprecaten oude. X-XSS-Protection was bijvoorbeeld jarenlang aanbevolen en wordt anno 2026 actief afgeraden omdat moderne browsers het zelf afhandelen en de header juist nieuwe aanvalsvectoren introduceerde.

Tweede onderhoudpunt: nieuwe scripts of plug-ins kunnen de Content-Security-Policy breken. Voeg je een chat-widget, een Google Maps-embed of een nieuw analytics-script toe? Test direct of CSP de bron toelaat, anders werkt het deel niet. Bij iedere significante feature-toevoeging is een minuten-werk-controle voldoende.

De relatie met AVG en compliance

Sinds 2018 verplicht de AVG passende technische maatregelen voor sites die persoonsgegevens verwerken. Een formulier op je MKB-site dat naam, e-mail en telefoonnummer verzamelt valt hieronder. Security-headers zijn niet expliciet voorgeschreven, maar de Autoriteit Persoonsgegevens hanteert in haar boete-richtlijnen wel "modern best-practice" als ondergrens. Bij een datalek waar passende maatregelen niet aantoonbaar zijn, ligt de boete-schaal hoger.

Concreet voor MKB: kun je bij een audit aantonen dat je een score van A op securityheaders.com hebt? Dan voldoet je site aan de basis-eisen. Onder de C? Lastig uit te leggen dat je "passende technische maatregelen" hebt genomen. De vijf basisheaders zijn dus niet alleen technisch zinvol, maar ook juridisch verstandig.

Hoe security-headers en moderne zoekmachines samenwerken

Zoekmachines crawlen jouw site met dezelfde browser-engine die bezoekers gebruiken (Googlebot draait op een variant van Chromium). Dat betekent dat ook de Googlebot de security-headers leest en respecteert. Een te strikte Content-Security-Policy die jouw eigen JavaScript blokkeert, wordt door Googlebot waargenomen — pagina's worden dan zonder die scripts geïndexeerd. Voor sites die belangrijke content via JavaScript laden is dat een risico.

De praktische regel: test je site na elke CSP-wijziging zowel in Chrome incognito (vers profiel, geen cache) als via de URL-inspectie in Search Console. Klikt de "Rendered HTML"-tab en kijkt of je content er staat. Mist er iets, dan blokkeert je CSP iets dat hij zou moeten toelaten. Pas aan, herpubliceer, retest. Een dag werk voor een rustige, moderne MKB-site.

Bing en DuckDuckGo gedragen zich vergelijkbaar. Smaller browser-engines (zoals die in oudere voice-assistants) zijn vaak iets toleranter, maar voor de moderne indexering 2026 gaan we ervan uit dat je site met strikte security-headers volledig leesbaar blijft.

Wat een security-breach kost voor een MKB-bedrijf

Een gemiddelde XSS-aanval (waar Content-Security-Policy juist tegen beschermt) op een MKB-site kost €3.000 tot €15.000 aan herstelwerk: schoonmaak van de site, eventuele klantmeldingen bij datalek, AVG-meldingen bij autoriteit, reputatieherstel. Voor een hovenier of klusbedrijf is dat al snel een maand omzet kwijt. Voor een boekhouder met klantdossiers loopt het hoger op door de meldplicht en eventuele claims.

De preventie kost ofwel een paar uur consultancy (€350-€900 bij een losse audit) ofwel zit standaard in een nieuwbouw-traject. Een DesignCheck Refresh van €1.995 verdient zichzelf terug zodra je één serieus incident voorkomt. Reken via de verliescalculator wat downtime en herstelwerk in jouw branche concreet betekent.

Veelvoorkomende scenario's per branche

Tijdens audits in De Ronde Venen en omgeving zien we per branche andere prioriteiten:

Wat doe je vandaag?

10-minuten check op je eigen site

Ga naar securityheaders.com, voer je domein in, noteer de score. F, D of C? Tijd voor actie. A of A+? Mooi, jaarlijks blijven monitoren. Geen tijd of geen ontwikkelaar? De gratis DesignCheck-audit kijkt mee binnen 48 uur.

Gratis audit aanvragen →

Veelgestelde vragen

Wanneer is dit relevant?
Bij elke MKB-website-keuze die je in 2026 maakt. Twijfel? Vraag de gratis audit aan — wij kijken concreet naar jouw situatie.
Breekt mijn site als ik deze headers instel?
Niet als je het zorgvuldig doet. Content-Security-Policy is de risicovolle: te streng en je eigen analytics-script werkt niet meer. Implementeer hem eerst in Report-Only-modus, monitor een week, en zet daarna de strikte variant live. De andere vier headers zijn praktisch risicoloos.
Helpt dit ook tegen DDoS-aanvallen?
Nee, security-headers werken op browser-niveau. DDoS-bescherming komt van je hosting of een Cloudflare-laag ervoor. Beide zijn nuttig, maar lossen verschillende problemen op. Voor MKB volstaat doorgaans Cloudflare's gratis Pro-tier voor DDoS-mitigatie.
Zit ik vast aan een hosting-leverancier als ik HSTS preload gebruik?
Tijdelijk wel. HSTS preload betekent dat je domein in de browser-broncode komt te staan; ongedaan maken duurt enkele maanden tot een jaar. Wisselen van hosting kan, maar je moet HTTPS op de nieuwe hosting direct werken hebben. Voor de meeste MKB-sites is preload niet noodzakelijk — een gewone HSTS-header van een jaar is voldoende.

Wat krijg je bij DesignCheck?

Bij elke nieuwbouw (Rebuild €3.995, Premium €6.995) zit een complete security-header-set met A of A+ op securityheaders.com. Bij een Refresh (€1.995) controleren en herstellen we bestaande headers als onderdeel van de technical-SEO-set. Dit alles vanuit Mijdrecht, voor klanten in De Ronde Venen, Wilnis, Vinkeveen, Utrecht en daarbuiten (remote werkbaar tot wereldwijd). Vraag de gratis audit aan om je huidige score te zien en advies te krijgen.

Verder lezen

Vraag de gratis audit aan

Binnen 48 uur een volledig rapport van je huidige site. Geen verplichtingen, eerlijk advies of een rebuild zinvol is.

Gratis audit →