HSTS preload list toevoegen: 6 eisen en de submission-flow

HSTS preload list toevoegen zonder subdomeinen onbereikbaar te maken: 6 harde eisen, submission-flow en het testpad in vier snelheden.

· 25 september, 2026 · 7 min lezen
In het kort
  • HSTS preload is een one-way door: staat je domein er eenmaal in, dan weigert de browser HTTP definitief.
  • Zes eisen: geldig HTTPS-cert op apex plus alle subdomeinen, 301-redirect, max-age 31536000, includeSubDomains, preload directive en geen mixed content.
  • Bouw op via max-age 300 → 86400 → 31536000 en pas dán preload — elke stap 1 tot 7 dagen laten draaien.
  • Submission via hstspreload.org duurt 6 tot 12 weken tot Chrome stable; Firefox en Safari volgen later.
  • Preloaden overslaan als je subdomeinen niet volledig controleert of een domeinmigratie binnen 12 maanden gepland is.
In dit artikel

HSTS preload list toevoegen is één van de weinige technische beslissingen op een website waar je vrijwel geen weg terug meer hebt. De preload-lijst is een hardcoded lijst in de bronnen van Chromium, Firefox en Safari; staat jouw domein er eenmaal in, dan weigert elke moderne browser vanaf de éérste request nog HTTP te spreken tegen jouw apex of subdomeinen. Dat is fantastisch tegen SSL-stripping en typosquatting, en pijnlijk als je een subdomein hebt dat je vergeten was op HTTPS te zetten. Dit artikel loopt de zes vereisten af, de submission-flow op hstspreload.org, en het testpad dat voorkomt dat je jezelf per ongeluk buitensluit.

Header-niveau werkt op elke stack identiek — WordPress, Laravel, Statamic, headless. HSTS is een response-header, geen CMS-feature.

Werkplek voor HSTS preload list toevoegen op hstspreload.org

Wat de preload-lijst eigenlijk is

Zonder preload doet HSTS het volgende: bij de éérste HTTPS-response ziet je browser een Strict-Transport-Security-header en onthoudt “voor dit domein: alléén HTTPS, voor X seconden”. De eerste request kán dus nog HTTP zijn — en juist daar zit een aanvalsraam voor SSL-stripping. De preload-lijst lost dat op door de HSTS-instructie vooraf in de browser-broncode te zetten. Dan is de eerste request al over HTTPS.

Dat is een defense-in-depth-laag boven op HSTS zelf. Preloaden is niet verplicht en niet altijd verstandig; wél verstandig zodra je infrastructuur er klaar voor is en je binnen twaalf maanden geen domeinwijziging voorziet.

HSTS preload list toevoegen: 6 eisen en de submission-flow

HSTS preload als one-way door — browser dwingt HTTPS af zonder terugweg

De 6 harde eisen voor submission

  1. Geldig HTTPS-certificaat op apex én alle subdomeinen. Elk subdomein dat DNS-technisch bestaat (www, mail, dev, intranet) moet serveerbaar zijn over HTTPS met een geldig cert. Zelfs subdomeinen die je alleen intern gebruikt.
  2. HTTP → HTTPS redirect met status 301 (permanent), niet 302. Op de apex én op alle subdomeinen. Een 302 wordt afgekeurd omdat browsers dan mogen speculeren dat de redirect tijdelijk is.
  3. Strict-Transport-Security header op de HTTPS-response, met exact: max-age=31536000; includeSubDomains; preload. De max-age is minimaal 1 jaar (31 536 000 seconden). includeSubDomains en preload moeten allebei aanwezig zijn.
  4. Alle subdomeinen serven over HTTPS. Ook www, ook interne subdomeinen die niet publiek gebruikt worden. Als je een staging. of dev. subdomein hebt zonder cert, faalt de submission — of erger, hij slaagt en die omgeving is onbereikbaar geworden.
  5. Redirect vanaf de apex serveert de HSTS-header op de HTTPS-response. Bij een www→apex redirect telt de header op de HTTPS-response van de apex zelf, niet op de redirect-response.
  6. Geen mixed content op de site. Alle assets (afbeeldingen, scripts, styles, iframes) laden over HTTPS. Een enkel oud <figure><img src="http://..."></figure> blokkeert nu al door de meeste browsers, maar preload eist een strikte HTTPS-hygiëne.

Controleer vooraf met een curl -I https://jouwdomein.nl en curl -I https://www.jouwdomein.nl of de header op beide responses aanwezig is. Aparte controle voor elk subdomein loont ook een minuut werk.

Submission-flow op hstspreload.org

De officiële hstspreload.org submission-tool is de enige route. Vul je domein in (zonder https:// prefix), klik op “check status” en wacht op de rij groene vinkjes. Rood is een blocker, geel is een waarschuwing die je submissie soms nog toestaat.

Zijn alle checks groen, dan klik je op “submit”. Vanaf dat moment zit je in de wachtrij. In mijn ervaring duurt het meestal 6 tot 12 weken voordat je in Chrome stable staat — Firefox en Safari volgen het Chromium-preload-bestand met eigen ritme, dus reken op enkele maanden voor volledige dekking.

Submission moet door de site-eigenaar zelf gebeuren; het is geen aanvraag die je door een derde partij laat regelen. Voor de definities van directives is de MDN-referentie voor Strict-Transport-Security de meest nauwkeurige bron.

Waarom dit een one-way door is

Verwijderen kán, via de “remove”-optie op hstspreload.org. Alleen: de removal-update moet nog in elke browser landen. Reken op maanden voordat dat via de nieuwe releases doorwerkt. In de tussentijd is elk subdomein zonder HTTPS onbereikbaar voor gebruikers die de oude preload-lijst nog in hun browser hebben zitten.

Concreet betekent dat: staat er over drie jaar plotseling een legacy intranet.jouwdomein.nl op HTTP, dan zijn eerst je collega’s met een oude Chrome-installatie de sigaar. Dat is geen ramp, maar wel een vervelend gesprek. Denk vooraf goed na of je binnen twaalf maanden een domeinwijziging, subdomein-uitbreiding of infrastructuurmigratie voorziet — dan is preloaden nu voorbarig.

Testroute voordat je submit

Testtraject van HSTS max-age: 5 minuten, 1 dag, 1 jaar, plus preload

De veiligste route is stapsgewijs opschroeven van de max-age. Elk niveau is een terugkeerpunt: zolang je onder de één-jaar-grens en zonder preload-directive draait, kun je een fout terugdraaien binnen de dan geldende max-age.

  • Stap 1: max-age=300 (5 minuten) — 24 uur draaien. Kort, laag risico. Alles wat kapot gaat, is snel weer normaal.
  • Stap 2: max-age=86400 (1 dag) — 1 week draaien. Nu heb je serieuze coverage van eerlijke gebruikers, maar rollback is binnen een dag mogelijk.
  • Stap 3: max-age=31536000 (1 jaar) + includeSubDomains — nog 1 week draaien. Dit is de stap waar de meeste sites falen: een vergeten subdomein zonder cert komt hier aan het licht. Los dat op vóór je verder gaat.
  • Stap 4: Voeg preload directive toe en submit op hstspreload.org. Vanaf hier is de deur dicht.

Voor het rollback-scenario bij fouten in de eerste drie stappen: documenteer je stappen zoals je dat ook zou doen in een rollback-scenario bij fouten in een incident response plan. Datum, wijziging, verantwoordelijke, en de reden. Dat scheelt discussies bij een half incident.

Wanneer je NIET moet preloaden

Preloaden is niet altijd de juiste keuze. Vier scenario’s waarin je beter wacht of het bewust overslaat:

  • Je hebt subdomeinen die je niet volledig controleert. Klant-subdomeinen (klantnaam.jouwsaas.nl) waar de klant zelf een certificaat regelt, of white-label omgevingen. Eén niet-HTTPS-klant en je hebt een support-ticket-storm.
  • Staging op een subdomein van productie. staging.jouwdomein.nl zonder publiek cert wordt onbereikbaar. Verplaats staging eerst naar een apart domein of zorg voor een geldig cert.
  • Domeinmigratie binnen 12 maanden op de planning. Migreer je binnenkort naar een nieuw domein, dan is preloaden op het oude domein onnodige lock-in. Doe het eerst op het nieuwe.
  • Geen monitoring op certificaat-verlenging. Preload dwingt HTTPS af; als je Let’s Encrypt-renewal ooit stilstaat, is je site plotseling onbereikbaar in plaats van “onveilig”. Zorg eerst voor werkende monitoring en pas dan preloaden.

Voor context over de bredere set aan hardening-headers: zie ook de aanpak voor strengere security-headers op WordPress, waar CSP en HSTS elkaar aanvullen.

Snelle hulp — HSTS preload check en submission door Lypii

Wat ik meestal doe voor een klant die naar preload wil:

  • Fix €70 — één-keer-check: header verifiëren op apex en www, redirect-status controleren, submission voorbereiden. Voor een kleine site zonder bijzondere subdomeinen is dat vaak alles.
  • Support-abonnement €95 per maand — inclusief periodieke subdomein-audit. Vooral zinvol als je in groei zit en regelmatig nieuwe subdomeinen aanmaakt (app., api., docs.).
  • Uur-tarief €105 — voor bredere audits, migraties, of als er meerdere domeinen met verschillende infra betrokken zijn.

Belangrijk: submission zelf moet door de site-eigenaar (jij of jouw beheerder) gebeuren via het hstspreload.org-formulier. Ik lever de checklist, de voor-controle en de rollback-strategie. Het klikken op “submit” is jouw beslissing.

Verbeteren boven herbouwen: dit is een header-fix op je bestaande site. Geen migratie, geen replatform.

Multi-stack opmerking: de aanpak is identiek op WordPress (via mu-plugin of .htaccess), Laravel (middleware), Statamic (config of .htaccess) en headless setups (edge worker of hosting-config). Verschillen zitten alleen in wáár je de header configureert, niet in wát de header moet zeggen.

Laadt je site nog HTTP-bestanden binnen een HTTPS-pagina, controleer dan eerst het stappenplan voor mixed content in WordPress oplossen.

Serhii Lypii
Gratis meedenken

HSTS preload zonder een subdomein te breken?

Wil je op de HSTS preload list, met een test-fase van kort naar 1 jaar en een audit van al je subdomeinen vooraf? Reken op een fix van €70 (header + redirect check) of support-abonnement €95 per maand met subdomein-audit.

Vraag een HSTS preload check aan
Vond je dit nuttig? Deel het:
FAQ

Veelgestelde vragen over HSTS preload list toevoegen

Wat gebeurt er precies als ik preload en dan een subdomein zonder HTTPS heb?
Elke browser die de preload-lijst inmiddels heeft opgehaald weigert HTTP naar dat subdomein te sturen. De gebruiker krijgt een NET::ERR_SSL_PROTOCOL_ERROR of vergelijkbaar. Er is geen "toch doorgaan"-knop, in tegenstelling tot een gewone HTTPS-fout.
Kan ik preload ongedaan maken?
Ja, via de "remove"-optie op hstspreload.org. Alleen: het duurt maanden voordat de removal in nieuwe browser-releases zit én in bestaande installaties. Reken op minimaal een half jaar voor volledige dekking. Preload is dus praktisch een one-way door, ook al is de removal theoretisch mogelijk.
Moet `includeSubDomains` altijd aan?
Voor preload-submission: ja. Zonder includeSubDomains wordt je aanvraag afgewezen. Zonder preload-ambitie kan HSTS zelf ook zonder includeSubDomains, maar dan mis je bescherming op subdomeinen.
Hoe lang duurt het voordat mijn domein daadwerkelijk in Chrome staat?
Meestal 6 tot 12 weken voor Chrome stable, langer voor Safari en Firefox omdat die op eigen release-cycli meeliften. Reken conservatief op drie tot vier maanden voor volledige dekking in de grote browsers.
Wat kost het als Lypii dit voor mij regelt?
Fix €70 voor een reguliere site met apex plus www. Support-abonnement €95 per maand voor structurele monitoring. Uurtje €105 voor bredere audits met meerdere subdomeinen of afwijkende infra.
Serhii Lypii
Over de auteur

Serhii Lypii

Freelance webmaster · Terneuzen

Sinds 2012 werk ik met websites en leverde ik ruim 210 projecten op. Ik help mkb-ondernemers met onderhoud, snelheid, beveiliging en praktische automatisering. Nuchter, zonder hype.

Ik schreef dit artikel op en werkte het voor het laatst bij op .

Meer over Lypii
Even sparren over je site?

Loop je ergens tegenaan of twijfel je over je site? Ik denk graag mee. Kies hieronder hoe je contact opneemt.

Reactie binnen 4 uur op werkdagen
Navigatie
Home Over mij Kennisbank
Contact
+31 6 39 56 93 03 serhii@lypii.nl WhatsApp
Stuur een bericht