SEO Gids Stap 7: Beveiliging — De Baseline Die Google Verwacht in 2026
SEO Gids Stap 7: Beveiliging
Dit is Stap 7 van de 13-Stappen SEO Gids. Beveiliging gaat niet alleen om het beschermen van gebruikers — het heeft directe invloed op je zoekresultaten. Google gebruikt sinds 2014 HTTPS als een ranking signaal, en de verwachtingen zijn alleen maar toegenomen.
De meeste site-eigenaren beschouwen beveiliging als een binaire keuze: "We hebben SSL, dus we zijn veilig." In werkelijkheid evalueert Google tientallen beveiligingssignalen. Sites met de juiste beveiligingsheaders, geldige certificaten en geen mixed content scoren hoger dan sites met alleen een basis SSL-certificaat — mits alles verder gelijk is.
Het goede nieuws: de meeste beveiligingsfixes zijn eenmalige configuraties. Stel ze één keer in, en ze beschermen je rankings voor altijd.
SSL-configuratie
SSL (technisch gezien TLS) versleutelt de verbinding tussen je server en bezoekers. Sinds 2014 heeft Google HTTPS expliciet bevestigd als een ranking signaal. In 2026 is het ontbreken van HTTPS niet alleen een rankingprobleem — Chrome markeert HTTP-sites als "Niet Veilig" in de adresbalk, wat het vertrouwen van gebruikers ondermijnt.
Vereisten voor een goede SSL:
| Vereiste | Waarom | Hoe te Controleren | |----------|--------|---------------------| | Geldig certificaat | Verlopen = browserwaarschuwing = afhaak gebruikers | Controleer vervaldatum | | Volledige keten | Incomplete ketens falen op sommige apparaten | SSL Labs test | | TLS 1.2+ | Oudere versies hebben bekende kwetsbaarheden | SSL Labs test | | Geen SHA-1 | Verouderd, browsers weigeren het | Certificaatdetails | | SAN-dekking | www en non-www moeten beide gedekt zijn | Certificaatdetails | | Auto-vernieuwing | Voorkomt vervaldisaster | Let's Encrypt / providerconfiguratie |
SSL score:
100% = Geldig cert + Volledige keten + TLS 1.3 + Sterke cipher + Auto-vernieuwing
0% = Verlopen of ontbrekend certificaat
Veel voorkomende SSL-fouten:
- Certificaat verloopt zonder waarschuwing — Zet monitoring op (Stap 6) minimaal 30 dagen voor verval
- Incomplete certificaatketen — Server moet intermediaire certificaten verzenden, niet alleen de leaf
- Mixed content — HTTPS-pagina laadt HTTP-bronnen (afbeeldingen, scripts, stylesheets)
- Redirect loops — HTTP → HTTPS → HTTP cycli veroorzaakt door verkeerd geconfigureerde CDN/proxy
- Non-www vs www mismatch — Certificaat dekt de een maar niet de ander
Snelle winst: Voer je domein door SSL Labs (ssllabs.com/ssltest). Alles onder een "A" rating heeft actiepunten. De meeste hostingproviders lossen deze met één klik op.
Beveiligingsheaders
Beveiligingsheaders zijn HTTP-responsheaders die browsers instrueren hoe ze zich moeten gedragen bij het laden van je site. Ze voorkomen hele categorieën van aanvallen — en Google's crawlers controleren ze.
De essentiële beveiligingsheaders:
Content-Security-Policy (CSP)
CSP is de krachtigste beveiligingsheader. Het vertelt browsers precies welke middelen (scripts, stijlen, afbeeldingen, lettertypen) zijn toegestaan om op je pagina's te laden.
Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.example.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' https://fonts.gstatic.com; connect-src 'self' https://api.example.com; frame-ancestors 'none';
Wat CSP voorkomt:
- Cross-site scripting (XSS) aanvallen
- Data-injectie aanvallen
- Clickjacking (via
frame-ancestors) - Onbevoegde scriptuitvoering (cryptominers, advertentie-injectors)
CSP implementatiestrategie:
- Begin met
Content-Security-Policy-Report-Only(log overtredingen zonder te blokkeren) - Monitor rapporten 1-2 weken
- Whitelist legitieme bronnen
- Schakel over naar handhaving
- Voeg
report-uriofreport-totoe voor voortdurende overtredingslogging
X-Frame-Options
Voorkomt dat je site wordt ingesloten in iframes op andere domeinen (clickjacking bescherming).
X-Frame-Options: DENY
Of als je same-origin framing wilt toestaan:
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options
Voorkomt dat browsers MIME-type sniffing uitvoeren (bestanden interpreteren als andere types dan verklaard).
X-Content-Type-Options: nosniff
Deze oneliner voorkomt aanvallen waarbij een .jpg-bestand verborgen JavaScript bevat dat de browser mogelijk uitvoert.
Referrer-Policy
Regelt hoeveel referentie-informatie wordt verzonden wanneer gebruikers op links van je site klikken.
Referrer-Policy: strict-origin-when-cross-origin
Dit verzendt de volledige URL voor same-origin verzoeken, maar alleen de oorsprong (domein) voor cross-origin verzoeken. Balanceren van analyseen behoeften met privacy.
Permissions-Policy
Regelt welke browserfuncties (camera, microfoon, geolocatie, enz.) op je site kunnen worden gebruikt.
Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=()
Het uitschakelen van functies die je niet gebruikt, voorkomt dat derden ze misbruiken.
Voorbeeld van headerimplementatie (Next.js):
// next.config.js
module.exports = {
async headers() {
return [{
source: '/(.*)',
headers: [
{ key: 'X-Content-Type-Options', value: 'nosniff' },
{ key: 'X-Frame-Options', value: 'SAMEORIGIN' },
{ key: 'Referrer-Policy', value: 'strict-origin-when-cross-origin' },
{ key: 'Permissions-Policy', value: 'camera=(), microphone=(), geolocation=()' },
{ key: 'Strict-Transport-Security', value: 'max-age=31536000; includeSubDomains; preload' },
]
}]
}
}
Headerimplementatie (Apache .htaccess):
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"
Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Headerimplementatie (Nginx):
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;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
Snelle winst: Voeg alle 5 headers hierboven toe aan je serverconfiguratie. Dit kost 5 minuten en verbetert onmiddellijk je beveiliging in elke scan tool.
HSTS Preload
HTTP Strict Transport Security (HSTS) vertelt browsers om altijd HTTPS te gebruiken voor je domein — zelfs voor de eerste aanvraag. Zonder HSTS kan het eerste bezoek aan je site nog steeds HTTP gebruiken (kwetsbaar voor onderschepping) voordat de redirect naar HTTPS plaatsvindt.
HSTS header:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
De drie richtlijnen:
| Richtlijn | Betekenis | |-----------|-----------| | max-age=31536000 | Onthoud dit voor 1 jaar (in seconden) | | includeSubDomains | Ook toepassen op alle subdomeinen | | preload | Vraag opname aan in browser preload lijsten |
HSTS preloadlijst:
De ultieme HSTS-bescherming. Browsers worden geleverd met een ingebouwde lijst van domeinen die altijd HTTPS moeten gebruiken. Je domein indienen bij hstspreload.org betekent:
- Eerste bezoekers krijgen onmiddellijk HTTPS (geen HTTP → HTTPS redirect)
- Het is onmogelijk voor aanvallers om verbindingen te downgraden
- Permanent (moeilijk te verwijderen zodra ingediend)
Vereisten voor HSTS preload:
- Geldig HTTPS-certificaat
- Redirect alle HTTP naar HTTPS (inclusief subdomeinen)
- HSTS-header met
max-age>= 31536000 - HSTS-header omvat
includeSubDomains - HSTS-header omvat
preload - Alle subdomeinen moeten HTTPS ondersteunen
Waarschuwing: Dien alleen in voor preload als ALLE subdomeinen HTTPS ondersteunen. De includeSubDomains richtlijn betekent dat elk HTTP-only subdomein ontoegankelijk wordt.
Snelle winst: Als je al HTTPS op alle subdomeinen hebt, voeg de volledige HSTS-header toe en dien in bij hstspreload.org. De verwerking duurt enkele weken, maar de bescherming is permanent.
Kwetsbaarheidsanalyse
Geautomatiseerde kwetsbaarheidsanalyses identificeren bekende beveiligingsproblemen in je stack voordat aanvallers ze kunnen uitbuiten.
Wat kwetsbaarheidsanalyse controleert:
- Verouderde software: WordPress, plugins, JavaScript-bibliotheken met bekende CVE's
- Exposed files:
.env,.git,wp-config.php, database dumps - Informatie lekken: Server versie headers, debugmode, stack traces
- Standaard inloggegevens: Admin pagina's zonder authenticatie, standaardwachtwoorden
- Open poorten/diensten: Onnodige diensten blootgesteld aan het internet
- Injectiepunten: Formulieren zonder CSRF-bescherming, ongevalideerde invoer
Veel voorkomende kwetsbaarheden per platform:
| Platform | Top Kwetsbaarheid | Oplossing | |-----------|-------------------|------------------------| | WordPress | Verouderde plugins | Automatisch updaten + WAF | | Shopify | Derde-partij app machtigingen | Auditen app lijst elk kwartaal | | Next.js | Blootgestelde API-routes | Auth middleware + rate limiting | | Statitishe sites | CDN misconfiguratie | Review cache regels | | Custom | SQL-injectie | Geparameteriseerde queries |
Scanfrequentie:
- Dagelijks: Geautomatiseerde oppervlakkige scan (SSL, headers, blootgestelde bestanden)
- Wekelijks: Kwetsbaarheid controle van afhankelijkheden (npm audit, WordPress plugin scanner)
- Maandelijks: Diepe scan met geauthenticeerde tests
- Na elke deployment: Regressiecontrole
Snelle winst: Voer npm audit (Node.js) of controleer je CMS-pluginlijst op verouderde componenten. Los kritieke/hoge-severiteit kwesties onmiddellijk op.
Mixed Content
Mixed content doet zich voor wanneer een HTTPS-pagina bronnen (afbeeldingen, scripts, stylesheets, iframes) via HTTP laadt. Dit onderbreekt gedeeltelijk de versleuteling en genereert waarschuwingen van de browser.
Types van mixed content:
| Type | Ernstigheid | Voorbeeld | Browser Gedrag | |---------|-------------|-----------|-------------------------| | Actief | Hoog | HTTP-script, iframe, CSS | Standaard geblokkeerd | | Passief | Middel | HTTP-afbeelding, video, audio | Laadt met waarschuwing |
Actief mixed content wordt geblokkeerd door moderne browsers — wat betekent dat je scripts en stijlen eenvoudigweg niet zullen laden. Passief mixed content laadt, maar toont beveiligingswaarschuwingen.
Mixed content vinden:
- Open Chrome DevTools → Console
- Zoek naar "Mixed Content" waarschuwingen
- Alternatief, scan met een crawler (Screaming Frog, LANGR)
Veel voorkomende bronnen van mixed content:
- Hardcoded
http://URL's in content (blogposts, productbeschrijvingen) - Derde-partij widgets die HTTP-bronnen laden
- Ingebedde content (oude YouTube embeds, sociale media widgets)
- CSS
background-imagemet HTTP-URL's - Lettertypen geladen via HTTP
Mixed content oplossen:
<!-- Slecht -->
<img src="http://example.com/image.jpg" />
<!-- Goed -->
<img src="https://example.com/image.jpg" />
<!-- Beste (protocol-relatief, past zich aan het pagina-protocol aan) -->
<img src="//example.com/image.jpg" />
Database-oplossing (WordPress):
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://yourdomain.com', 'https://yourdomain.com');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://yourdomain.com', 'https://yourdomain.com');
Snelle winst: Open je homepage in Chrome, druk op F12, controleer de Console-tab op mixed content-waarschuwingen. Los alles op dat verschijnt — deze zijn direct zichtbaar voor Google.
Risico's van Derde-Partij Scripts
Elk extern script dat je laadt, is een potentiële beveiligings- (en prestatie) aansprakelijkheid. Derde-partij scripts kunnen:
- Gecompromitteerd raken (aanvallen op de toeleveringsketen)
- Je gebruikers zonder toestemming volgen (GDPR-schending)
- Je site vertragen (render-blocking, netwerklatentie)
- Functionaliteit breken (versie-updates, uitval)
- Ongewenste content injecteren (advertentiescripts die verkeerd zijn)
Audit je derde-partij scripts:
| Script | Noodzakelijk? | Risiconiveau | Alternatief | |-------------------------|---------------|--------------|-------------------------| | Google Analytics | Vaak wel | Laag | Server-side tracking | | Chat widgets | Misschien | Middel | Zelf-gehoste oplossingen | | Sociale deelknoppen | Zelden | Middel | Statische deel-links | | A/B-testen | Soms | Hoog | Server-side testen | | Retargeting pixels | Zakelijke beslissing | Hoog | Eerste-partij data | | Font CDNs | Handig | Laag | Zelf-gehoste lettertypen |
Risicovermindering voor essentiële derde-partij scripts:
- Subresource Integrity (SRI): Hash-verificatie voorkomt dat gewijzigde scripts laden
<script src="https://cdn.example.com/lib.js"
integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxAE+sO0..."
crossorigin="anonymous"></script>
- CSP-beperkingen: Sta alleen scripts van bekende domeinen toe
- Sandboxed iframes: Isoleren van derde-partij widgets
- Regelmatige audits: Kwartaaloverzicht van alle externe bronnen
- Monitoring: Waarschuw bij nieuwe externe domeinen die in je pagina's verschijnen
Snelle winst: Maak een lijst van elke tag in je HTML die van een extern domein laadt. Verwijder alles wat je niet herkent of niet meer nodig hebt. Elke verwijdering verbetert zowel de beveiliging als de laadsnelheid van de pagina.
Malware Detectie & Google Safe Browsing
Google onderhoudt een Safe Browsing-lijst van sites die bekend staan om het verspreiden van malware of het hosten van phishing-inhoud. Gelaagd worden hierop is catastrofaal voor SEO — Google toont een full-page waarschuwing voordat gebruikers je site mogen bezoeken.
Hoe sites worden gemarkeerd:
- Gecompromitteerde site die malware verspreidt (gehackt WordPress, enz.)
- Geïnjecteerde scripts die doorverwijzen naar kwaadaardige sites
- Phishing-pagina's gehost op je domein
- Gebruikersgegenereerde inhoud die linkt naar malware
- Gehoste bestanden gemarkeerd als gevaarlijk
Controleer je Safe Browsing-status:
https://transparencyreport.google.com/safe-browsing/search?url=yourdomain.com
Of in Google Search Console: Sectie Beveiligingsproblemen.
Preventie:
- Houd alle software up-to-date (CMS, plugins, bibliotheken)
- Gebruik sterke, unieke admin-wachtwoorden + 2FA
- Monitor bestandsintegriteit (detecteer ongeautoriseerde wijzigingen)
- Scan door gebruikers geüploade inhoud
- Verwijder ongebruikte plugins/thema's
- Beoordeel admin-gebruikers regelmatig
Als je wordt gemarkeerd:
- Identificeer en verwijder de malware/phishing-inhoud
- Update alle software en wijzig alle wachtwoorden
- Vraag een herziening aan in Google Search Console
- Herzieningen duren meestal 1-3 dagen
- Monitor nauwlettend gedurende 30 dagen (her-infectie is gebruikelijk)
Snelle winst: Controleer je site op transparencyreport.google.com. Als deze schoon is, zorg er dan voor dat je CMS en alle plugins up-to-date zijn om dat zo te houden.
De Beveiliging SEO Checklist
- [ ] Geldig SSL-certificaat met geconfigureerde auto-vernieuwing
- [ ] HTTP → HTTPS redirect op alle pagina's (301, niet 302)
- [ ] HSTS-header met max-age >= 31536000
- [ ] Content-Security-Policy header geconfigureerd
- [ ] X-Content-Type-Options: nosniff
- [ ] X-Frame-Options: DENY of SAMEORIGIN
- [ ] Referrer-Policy: strict-origin-when-cross-origin
- [ ] Permissions-Policy die ongebruikte functies uitschakelt
- [ ] Geen mixed content (HTTP-bronnen op HTTPS-pagina's)
- [ ] Geen gevoelige bestanden blootgelegd (.env, .git, configuratiebestanden)
- [ ] Server versie headers verwijderd of generiek
- [ ] Alle software/plugins up-to-date
- [ ] Google Safe Browsing-status: schoon
- [ ] Derde-partij scripts geaudit en geminimaliseerd
- [ ] SRI-hashes op kritieke externe scripts
Veelvoorkomende Beveiligingsfouten (Gerangschikt op SEO Impact)
- Verlopen SSL-certificaat — Directe rankingdaling + browserwaarschuwing
- Mixed content — Verlaagt vertrouwenssignalen, gedeeltelijke encryptie nutteloos
- Geen HSTS — Eerste aanvraag kwetsbaar, signalen zwakke beveiligingshouding
- Ontbrekende CSP — Staat elk script toe om uit te voeren (XSS-vector)
- Blootgestelde gevoelige bestanden —
.envmet API-sleutels,.gitmet broncode - Verouderde CMS/plugins — Bekende exploits, uiteindelijke compromis
- Geen beveiligingsheaders — Signaleert dat je beveiliging niet serieus hebt overwogen
- Te permissieve derde-partij scripts — Beveiligingslekken die je niet kunt controleren
Wat is de Volgende Stap?
Stap 8: AI Zichtbaarheid — De nieuwste snufje op het gebied van SEO in 2026. Hoe te optimaliseren voor Google AI Overzicht, ChatGPT citaten, Perplexity verwijzingen, en Gemini — het snelst groeiende ontdekkingkanaal waar de meeste concurrenten nog niet eens aan hebben gedacht.
Deze gids maakt deel uit van LANGR's 13-stappen SEO serie. Voer een gratis audit uit om te zien waar je site staat in alle 13 disciplines.