HTTPS, security headers en SEO
HTTPS is sinds 2014 een officieel Google-rankingfactor. Het is een licht signaal, maar het is een hygienefactor: zonder HTTPS straf Google je niet direct, maar browsers tonen een "Niet veilig" waarschuwing die bezoekers wegjaagt. In 2026 laadt 90% van het Chrome-verkeer over HTTPS.
Maar HTTPS alleen is niet genoeg. Security headers als HSTS, CSP, en X-Content-Type-Options beschermen je site tegen aanvallen, voorkomen mixed content, en verbeteren indirect je SEO door stabiliteit en gebruikersvertrouwen. In deze gids: welke headers ertoe doen, hoe je ze implementeert, en de SEO-impact van elke.
Inhoudsopgave
- HTTPS als rankingfactor
- HSTS: HTTP Strict Transport Security
- CSP: Content Security Policy
- Overige security headers
- Mixed content: het grootste HTTPS-probleem
- Hoe je security headers test
- Implementatie per platform
- Veelgestelde vragen
HTTPS als rankingfactor
Google bevestigde HTTPS als rankingsignaal in augustus 2014. Het is een "tiebreaker": bij twee verder gelijkwaardige pagina's geeft HTTPS de doorslag. Het is geen sterke factor op zichzelf, maar het cumulatieve effect is significant.
Directe SEO-impact:
- Lichte rankingboost (bevestigd door Google)
- Geen "Niet veilig" browser-waarschuwing (die bounce rates meetbaar verhoogt)
- Referrer-data behoud (HTTP naar HTTPS verliest referrer info, HTTPS naar HTTPS niet)
Indirecte impact:
- Lagere bounce rates (geen security-waarschuwingen)
- Hoger gebruikersvertrouwen (slot-icoon in browser)
- Voorwaarde voor HTTP/2 en HTTP/3 (betere performance)
In 2026 is HTTPS geen differentiator meer. Het is een minimumvereiste. Sites zonder HTTPS zijn een rode vlag voor zowel gebruikers als zoekmachines.
HSTS: HTTP Strict Transport Security
HSTS vertelt browsers dat ze je site uitsluitend via HTTPS mogen laden. Na het ontvangen van de HSTS-header onthoudt de browser dit voor een ingestelde periode en converteert automatisch elk HTTP-verzoek naar HTTPS.
Waarom HSTS belangrijk is voor SEO
Zonder HSTS kan een browser eerst HTTP laden en dan redirecten naar HTTPS. Die extra redirect kost:
- 100-300ms extra laadtijd (slecht voor Core Web Vitals)
- Een extra crawl-request (verspilt crawlbudget)
- Een security-risico (man-in-the-middle bij de eerste HTTP-request)
Met HSTS slaat de browser de HTTP-stap over. Direct HTTPS. Sneller, veiliger, efficienter.
Implementatie
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
| Parameter | Betekenis |
|---|---|
max-age=31536000 | Browser onthoudt HSTS voor 1 jaar (in seconden) |
includeSubDomains | Geldt ook voor alle subdomeinen |
preload | Meld je aan voor de HSTS Preload List (browser forceert HTTPS nog voor eerste bezoek) |
HSTS Preload List: dit is een lijst in browsers (Chrome, Firefox, Safari, Edge) die HTTPS forceert nog voordat een browser je site ooit bezocht heeft. Aanmelden via hstspreload.org. Het verwijderen duurt maanden, dus wees zeker dat je volledige site HTTPS-ready is.
Aandachtspunt: stel HSTS pas in als je zeker bent dat alle content over HTTPS correct laadt. HSTS met mixed content betekent geblokkeerde resources en een kapotte site.
CSP: Content Security Policy
Content Security Policy definieert welke bronnen (scripts, styles, images, fonts) de browser mag laden. Het is primair een beveiligingsmaatregel tegen XSS-aanvallen, maar het raakt ook SEO.
SEO-relevantie van CSP
Een te strikte CSP kan SEO-kritieke resources blokkeren:
- Google Tag Manager scripts
- Analytics scripts
- Externe fonts (die CLS kunnen veroorzaken als ze niet laden)
- Third-party widgets (reviews, chat)
Een te soepele CSP biedt geen bescherming en kan leiden tot gehackte sites (spam-injecties, doorverwijzingen) die Google bestraft.
Basis-implementatie
Content-Security-Policy: default-src 'self'; script-src 'self' https://www.googletagmanager.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' https://fonts.gstatic.com
| Directive | Wat het controleert |
|---|---|
default-src | Fallback voor alle resource-types |
script-src | JavaScript bronnen |
style-src | CSS bronnen |
img-src | Afbeeldingsbronnen |
font-src | Font-bronnen |
connect-src | API-calls en websockets |
upgrade-insecure-requests | Upgrade HTTP-requests naar HTTPS automatisch |
Tip: begin met Content-Security-Policy-Report-Only om te testen welke resources geblokkeerd zouden worden, zonder ze daadwerkelijk te blokkeren. Analyseer de rapportages en verfijn je policy voordat je enforced.
Overige security headers
X-Content-Type-Options
X-Content-Type-Options: nosniff
Voorkomt dat browsers MIME-types raden. Zonder deze header kan een browser een .txt bestand als JavaScript interpreteren. Geen directe SEO-impact, maar voorkomt security-incidenten die je site offline kunnen halen.
X-Frame-Options
X-Frame-Options: SAMEORIGIN
Controleert of je site in een iframe geladen mag worden. SAMEORIGIN staat iframes alleen toe van hetzelfde domein. Beschermt tegen clickjacking. SEO-relevant: voorkomt dat andere sites je content in een iframe embedden en traffic stelen.
Referrer-Policy
Referrer-Policy: strict-origin-when-cross-origin
Bepaalt hoeveel referrer-informatie wordt meegestuurd bij navigatie. De aanbevolen waarde strict-origin-when-cross-origin stuurt het volledige pad bij same-origin requests en alleen het domein bij cross-origin. Goed voor analytics (je ziet interne navigatie) zonder privacygevoelige data te lekken.
Permissions-Policy
Permissions-Policy: camera=(), microphone=(), geolocation=(self)
Beheert welke browser-API's je site mag gebruiken. Geen directe SEO-impact, maar het signaleert naar browsers en security-scanners dat je site bewust omgaat met permissions. Het was voorheen Feature-Policy.
Aanbevolen complete set
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Content-Security-Policy: default-src 'self'; script-src 'self' https://www.googletagmanager.com; upgrade-insecure-requests
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=()
Mixed content: het grootste HTTPS-probleem {#mixed-content}
Mixed content ontstaat wanneer een HTTPS-pagina HTTP-resources laadt (afbeeldingen, scripts, stylesheets). Chrome blokkeert mixed active content (scripts, iframes) en toont waarschuwingen voor mixed passive content (afbeeldingen).
SEO-impact van mixed content
- Browser-waarschuwingen verhogen bounce rates
- Geblokkeerde scripts kunnen functionaliteit breken (inclusief analytics)
- Google ziet inconsistente HTTPS-implementatie als kwaliteitssignaal
- Mixed content fixes verminderen browser-warnings, wat resulteert in hogere engagement en lagere bounce rates
Hoe je mixed content vindt
# Chrome DevTools: Console toont mixed content waarschuwingen
# Of gebruik een crawler:
# Screaming Frog > Configuration > Spider > Check "Insecure Content"
Alternatief: voeg upgrade-insecure-requests toe aan je CSP header. Dit vertelt browsers om HTTP-resources automatisch als HTTPS op te vragen. Het is een noodoplossing, niet een permanente fix.
Hoe je mixed content fixt
- Zoek alle HTTP-referenties in je HTML, CSS, en JavaScript
- Vervang
http://doorhttps://(of protocol-relatief//) - Check third-party embeds (YouTube, social widgets, ad scripts)
- Test na de fix met Chrome DevTools Console
Hoe je security headers test
Online tools
| Tool | URL | Wat het meet |
|---|---|---|
| SecurityHeaders.com | securityheaders.com | Alle headers, A-F score |
| Mozilla Observatory | observatory.mozilla.org | Headers + TLS + cookies |
| SSL Labs | ssllabs.com/ssltest | SSL/TLS configuratie |
Handmatig
# Bekijk alle response headers
curl -sI https://jouwsite.nl | grep -i "strict\|content-security\|x-frame\|x-content\|referrer\|permissions"
Streef naar een A-score op SecurityHeaders.com. De meeste sites scoren D of lager.
Implementatie per platform
Nginx
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
Apache (.htaccess)
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Vercel (vercel.json)
{
"headers": [
{
"source": "/(.*)",
"headers": [
{ "key": "Strict-Transport-Security", "value": "max-age=31536000; includeSubDomains; preload" },
{ "key": "X-Content-Type-Options", "value": "nosniff" },
{ "key": "X-Frame-Options", "value": "SAMEORIGIN" }
]
}
]
}
Cloudflare
Cloudflare biedt HSTS-configuratie via het dashboard (SSL/TLS > Edge Certificates > HSTS). Security headers kun je instellen via Cloudflare Workers of Transform Rules.
Veelgestelde vragen
Is HTTPS echt een rankingfactor? Ja. Google bevestigde dit in 2014 en herbevestigt het regelmatig. Het is een licht signaal, maar in combinatie met betere performance (HTTP/2 vereist HTTPS) en gebruikersvertrouwen is het cumulatieve effect significant.
Hoeveel impact hebben security headers op SEO? Geen directe ranking-impact. Google gebruikt HSTS, CSP, en andere security headers niet als rankingsignaal. De indirecte impact is via gebruikerservaring (geen warnings), performance (HSTS elimineert redirects), en site-stabiliteit (CSP voorkomt hacks).
Wat als ik geen CSP wil instellen? Dan loop je meer risico op XSS-aanvallen en gehackte content. Voor SEO is het niet verplicht, maar een gehackte site die spam injecteert, wordt door Google bestraft. CSP is preventie.
Moet ik de HSTS Preload List gebruiken? Voor serieuze websites: ja. Het elimineert het security-risico van de allereerste HTTP-request. Maar test grondig: als je HSTS preload aanzet en je site niet volledig HTTPS-ready is, is je site onbereikbaar. Het verwijderen van de preload list duurt maanden.
Hoe fix ik mixed content op een WordPress-site?
Installeer een plugin als "Better Search Replace" en vervang alle http://jouwsite.nl referenties door https://jouwsite.nl in de database. Check daarna hardcoded HTTP-links in je theme en plugins.
Volgende stap
Security is een fundament. Gecombineerd met goede performance (Core Web Vitals) en correcte crawler-configuratie (robots.txt, sitemaps) heb je een technisch sterke basis voor zowel Google als AI-zoekmachines.
→ Bekijk alle Technical SEO artikelen