Technische nulmeting · twentynice.com · 23 september 2026
Een meting van wat er nu op twentynice.com draait: snelheid, beveiliging, vindbaarheid en toegankelijkheid, voor mensen en voor AI. Geen oordeel over het ontwerp, geen voorstel. Alleen wat er gemeten is, en wat het betekent. Alles van buitenaf, met openbaar gereedschap; er is niets aangepast en er is geen toegang gebruikt.
01 / Snelheid
Dit is de meting die iedereen zelf kan overdoen, dus die staat vooraan. Google PageSpeed Insights gebruikt dezelfde meetmotor die Google ook gebruikt om te bepalen hoe je site het doet in de zoekresultaten. De mobiele test staat standaard aan, want daar komt het meeste verkeer vandaan.
Prestatie 56, toegankelijkheid 85, best practices 96, SEO 85. Rechts staat Agentic Browsing 1 van 2: dat is Google’s eigen maat voor of een AI-assistent met je site uit de voeten kan. Daar gaat hoofdstuk 05 over.
Schermafdruk van pagespeed.web.dev, 23 september 2026 om 07:43. Zelf overdoen kost een minuut.
Vondst 01
De maat die Google gebruikt heet LCP: hoe lang een bezoeker wacht tot het grootste element op het scherm staat. Alles boven vier seconden noemt Google slecht, en het telt sinds 2021 mee in de rangschikking. Wij hebben de homepage tien keer achter elkaar gemeten, en de uitkomst schommelt hard.
| Homepage, mobiel, tien metingen | Laagste | Mediaan | Hoogste |
|---|---|---|---|
| Wachttijd tot het grootste element (LCP) | 3,3 s | 34,6 s | 44,1 s |
| Wachttijd tot de eerste tekst (FCP) | 3,3 s | 7,1 s | 7,6 s |
| Prestatiescore | 54 | 55 | 73 |
| Gewicht van de pagina | 8.257 KB | 16.378 KB | 16.962 KB |
Zeven van de tien metingen kwamen boven de 25 seconden uit. De drie snelle metingen waren de keren dat de video niet meelaadde; dan weegt de pagina ineens 8 MB in plaats van 16 en staat het beeld er in drie seconden. Dat verschil is precies de bevinding: je snelheid hangt af van of de videospeler aanslaat, en die keuze ligt niet bij de bezoeker.
Vondst 02
In een gewone browser gemeten, negen seconden na het openen: de homepage doet 71 verzoeken voor de pagina zelf, samen 13.443 KB, en daar komen er nog eens 55 bij voor video, samen ongeveer 3 MB. Opgeteld is dat dezelfde orde als de 16,3 MB die Lighthouse hierboven telt. Het getal voor video is een momentopname, want een speler blijft stukjes ophalen zolang de pagina open staat; daarom staat het apart en niet opgeteld.
Eerlijk erbij: de pagina is niet vierendertig seconden leeg. De eerste tekst staat er na ruim zeven seconden. Wat zo lang duurt is het beeld waar de pagina om draait.
Gemeten met Google Lighthouse 12.8.2 op 23 september 2026, in de mobiele test die Google zelf gebruikt: een geremde processor en een traag mobiel netwerk. Tien metingen achter elkaar, want deze cijfers schommelen; de spreiding in de tabel is die tien metingen.
02 / Beveiliging
Beveiligingsheaders zijn regels die je server meestuurt en die de browser vertellen wat er wel en niet mag. Ze kosten niets, ze breken zelden iets, en ze zijn met één scan te controleren. Dit is de uitslag van securityheaders.com, een onafhankelijke dienst die iedereen kan draaien.
Cijfer F. Alle zes ontbreken: HSTS, Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy en Permissions-Policy.
Schermafdruk van securityheaders.com, 23 september 2026 om 04:43 UTC. Zelf overdoen kost tien seconden.
Vondst 03
Beveiligingsheaders zijn regels die je server meestuurt en die de browser vertellen wat er wel en niet mag. Ze kosten niets en breken zelden iets. Op twentynice.com staan ze geen van alle aan. De belangrijkste is de Content-Security-Policy: die bepaalt welke andere partijen code mogen draaien op jouw pagina. Zonder die regel mag iedereen die ergens binnenkomt alles.
Vondst 04
WordPress heeft een adres dat de gebruikers van de site teruggeeft. Dat staat open en geeft de accountnaam van beheerder nummer 1. Dat is de helft van een inlogpoging; de andere helft is het wachtwoord, en het inlogscherm is gewoon bereikbaar. Daar komt bij dat je WordPress-versie op drie plekken leesbaar is, en aan een versienummer valt af te lezen welke bekende zwakke plekken erbij horen.
De accountnaam staat hierboven half afgeplakt, want dit document gaat rond. Op je eigen site staat hij voluit.
Eerlijk erbij: je WordPress is bij. De site draait 7.1.2 en dat is op de dag van meten de nieuwste versie volgens wordpress.org. Het bezwaar is dus niet dat je achterloopt, maar dat een aanvaller die morgen een zwakke plek in 7.1.2 vindt, met één verzoek kan zien dat jij die versie draait.
Vondst 05
Een script van een andere partij kan met een handtekening worden meegestuurd: de browser rekent dan na of het bestand nog precies hetzelfde is en weigert het als er iets aan veranderd is. Tien scripts van Wistia en één van Cloudflare draaien zonder die controle. De vijf van Sentry hébben hem wel, dus het kan op deze site.
| Scripts van buiten op de homepage | Aantal | Met handtekening |
|---|---|---|
| fast.wistia.com | 10 | nee |
| challenges.cloudflare.com | 1 | nee |
| browser.sentry-cdn.com | 5 | ja |
/.git/config en /.env, de twee adressen waar automatische scanners als eerste op afgaan, geven allebei een nette foutmelding. /wp-content/ en /wp-content/plugins/ geven wel een 200 maar een leeg antwoord, dus er is geen mappenoverzicht; dat is precies zoals het hoort. Het opvragen van gebruikers via /?author=1 wordt geweigerd met een 403. Het contactformulier heeft botbescherming van Cloudflare en een token tegen misbruik van buitenaf. En er staat geen enkele onbeveiligde verwijzing op de pagina.
03 / Certificaat, domein en e-mail
Dit gaat over de laag onder de website: het slot in de adresbalk, wie er namens je domein certificaten mag aanvragen, en wie er namens jouw naam mag mailen. Die laatste is de laag waar phishing op drijft.
| Gemeten van buitenaf | Stand | |
|---|---|---|
| Certificaat | Let’s Encrypt, geldig tot 5 november 2026 | 44 dagen te gaan, wordt normaal vanzelf vernieuwd |
| TLS 1.0 en 1.1 | geweigerd | de verouderde versies staan uit |
| DNSSEC | aan | je domeinnaam is ondertekend |
| SPF | streng, eindigt op -all | 3 van de 10 toegestane opzoekingen gebruikt |
| DMARC | quarantine, met rapportadres | rapporten gaan naar security@twentynice.com |
| CAA-records | geen | elke certificaatuitgever mag er een uitgeven |
| MTA-STS | geen | geen afdwingbare versleuteling bij inkomende post |
/.well-known/security.txt | 404 | geen meldadres voor wie iets vindt |
| HSTS | geen header | de browser onthoudt niet dat je site alleen via https werkt |
Gemeten op 23 september 2026 met openssl, dig en curl. Over TLS 1.3 doen we geen uitspraak: de curl op onze meetmachine gebruikt LibreSSL en geeft dan hetzelfde antwoord bij “werkt niet” en “kan niet testen”. Een ontbrekende regel is beter dan een onbewezen regel.
Vondst 06
SPF bepaalt welke servers namens jouw domein mogen mailen. De jouwe eindigt op -all: alles wat er niet in staat, wordt hard geweigerd. Er is een limiet van tien opzoekingen en daar zit je op drie, dus er is ruimte om er iets bij te zetten zonder dat de hele regel stilletjes ophoudt te werken. DMARC staat op quarantine met twee rapportadressen, dus er kijkt ook echt iemand naar wat er misgaat. Dat is de goede volgorde.
Vondst 07
Een CAA-record is één regel in je DNS die zegt: alleen deze uitgever mag certificaten voor dit domein maken. Zonder die regel mag iedereen het proberen. Je kunt er ook een meldadres in zetten, zodat je bericht krijgt als iemand het toch doet.
Vondst 08
/.well-known/security.txt is een tekstbestandje met een e-mailadres erin, beschreven in RFC 9116. Onderzoekers en geautomatiseerde scanners kijken daar als eerste. Zonder dat bestand komt een melding bij je algemene info-adres terecht, of nergens. Bij jullie geeft het adres een 404. Het is vijf regels tekst.
04 / Vindbaarheid en toegankelijkheid
Wij hebben geen steekproef gedaan maar alle 22 pagina’s opgehaald en per pagina gekeken naar kop, titel, beschrijving, taal, structuurdata en afbeeldingen. De lijst met pagina’s komt niet uit je sitemap, want die werkt niet; daarover hieronder meer.
| Over alle 22 pagina’s | Aantal |
|---|---|
Pagina’s zonder h1, de kop waar Google op afgaat | 12 |
| Pagina’s zonder beschrijving in de zoekresultaten | 22 |
Pagina’s met en-US als taal, op een Nederlandse site | 22 |
| Pagina’s zonder structuurdata | 22 |
| Pagina’s zonder deelkaart voor LinkedIn en WhatsApp | 22 |
| Pagina’s waar de kopvolgorde een niveau overslaat | 16 |
| Afbeeldingen zonder omschrijving | 5 van de 186 |
| Pagina’s met een canonical, zodat dubbele adressen geen kwaad kunnen | 22 |
| Pagina’s met een dubbele titel | 0, alle 22 titels zijn uniek |
Elke pagina afzonderlijk opgehaald en nagekeken op 23 september 2026.
Vondst 09
Een h1 is de titel van de pagina in de code. Dat er iets in grote letters op het scherm staat maakt niet uit; het gaat om wat er in de code staat. Het ontbreekt op diensten, producten, partners, video’s, contact, consultancy, implementatie, beheer, support, training, de algemene voorwaarden en het cookiebeleid.
Vondst 10
De beschrijving is de twee regels onder je link in de zoekresultaten. Staat er geen, dan pakt Google zelf een stuk van de pagina, en dat is vaak de eerste zin die hij tegenkomt. De titel van je homepage is trouwens precies één woord: TwentyNice. Dat is wat er vetgedrukt in Google staat en in het tabblad van de browser.
Vondst 11
Bovenaan elke pagina staat welke taal het is. Op alle 22 staat daar en-US, terwijl alles in het Nederlands is. Een zoekmachine gebruikt dat om te bepalen aan wie hij je site laat zien, en een schermlezer om te bepalen hoe hij de tekst uitspreekt.
Vondst 12
Een sitemap is de lijst met pagina’s die je aan Google geeft. In je robots.txt staat er een genoemd, maar dat adres geeft een foutmelding. Google krijgt die lijst dus niet en moet alles zelf zien te vinden via links.
Vondst 13
Alt-teksten en linknamen dienen twee doelen tegelijk: een zoekmachine leest ze, en iemand die de site met een schermlezer gebruikt hoort ze. Op de homepage staan zes links die geen enkele tekst meekrijgen. Wie de site met zijn oren gebruikt, hoort daar “link” en verder niets, en weet dus niet waar hij heen gaat. Daarnaast missen vijf afbeeldingen een omschrijving.
Het derde punt is kleurcontrast: elf elementen halen de norm niet. Het oranje #ED7F27 op wit komt uit op 2,73 waar 4,5 de eis is, en de grijze bodytekst #7A7A7A op 4,29. Dat zijn merkkleuren, dus dit is een ontwerpkeuze en geen fout; het is wel de reden dat Google je toegankelijkheid op 85 zet en niet hoger.
| Toegankelijkheid, homepage | Aantal | Wat een bezoeker merkt |
|---|---|---|
| Links zonder naam | 6 | een schermlezer noemt ze niet |
| Afbeeldingen zonder omschrijving | 5 | het beeld wordt overgeslagen |
| Elementen onder de contrastnorm | 11 | lastig te lezen bij fel licht of slechter zicht |
| Score van Google | 85 van de 100 |
Gemeten met Google Lighthouse op 23 september 2026. Dit is een machinemeting: hij vindt wat meetbaar is, niet alles wat een mens zou merken.
05 / AI-toegankelijkheid
Steeds meer mensen zoeken niet meer op Google maar vragen het ChatGPT, Claude of Perplexity. Die programma’s halen hun antwoord van websites. Kunnen ze er niet bij, of kunnen ze niet goed lezen wat er staat, dan kom je in dat antwoord niet voor. Wij hebben vijftien van die programma’s langs de site gestuurd.
| Wat een AI tegenkomt | Antwoord |
|---|---|
| ClaudeBot, de crawler van Claude | 403 geweigerd |
| GPTBot, PerplexityBot, CCBot, Google-Extended en tien andere | 200 |
llms.txt, de samenvatting die een AI als eerste leest | 404 |
| robots.txt noemt de AI-crawlers met naam | nee |
| Structuurdata op de homepage | 0 blokken |
| Agentic Browsing, de maat van Google zelf | 1 van de 2 |
Vondst 14
403 betekent verboden toegang. Niet dat de pagina niet bestaat, maar dat de server hem er niet in laat. Je robots.txt zegt daar niets over, dus het is geen keuze die iemand bij jullie gemaakt heeft; het komt uit een laag daaronder, meestal de beveiliging van de hosting. Dat is een gesprek met je hostingpartij, niet met je websitebouwer.
Vondst 15
Structuurdata is een blokje in de code dat in vaste termen zegt: dit is een bedrijf, dit is de naam, dit is het adres, dit is het KVK-nummer, dit zijn de diensten. Zoekmachines en AI’s lezen dat als eerste, want het is het enige stuk van een pagina waarover geen twijfel bestaat. Op de homepage staan nul van die blokken.
Datzelfde geldt voor je zeventig video’s. Die zijn je grootste bezit op deze site en ze zitten in een speler die een AI niet kan lezen: titel, onderwerp en duur staan nergens als tekst op de pagina.
06 / Alle bevindingen op een rij
Gesorteerd op hoe zwaar ze wegen, niet op hoe makkelijk ze zijn. De eerste acht raken beveiliging en het domein eromheen, daarna komen snelheid, vindbaarheid en toegankelijkheid.
| Bevinding | Gebied | Waarom het weegt |
|---|---|---|
| 1 · Geen enkele beveiligingsheader | security | geen Content-Security-Policy, dus niets begrenst wat externe partijen mogen |
| 2 · Beheerdersnaam openbaar en inlogscherm open | security | de helft van een inlogpoging ligt op straat |
| 3 · Versies staan in de pagina | security | WordPress 7.1.2, Elementor 4.2.4 en Redux 4.4.12.2 zijn af te lezen |
| 4 · Elf externe scripts zonder handtekening | security | verandert er iets aan zo’n bestand, dan merkt de browser dat niet |
| 5 · Geen HSTS | security | de browser onthoudt niet dat deze site alleen via https hoort te werken |
| 6 · Geen CAA-records | domein | elke certificaatuitgever mag een certificaat voor je domein maken |
| 7 · Geen security.txt | security | een onderzoeker weet niet waar hij een melding kwijt kan |
| 8 · Geen MTA-STS | inkomende post kan in theorie onversleuteld worden afgeleverd | |
| 9 · LCP mediaan 34,6 seconden mobiel | snelheid | zeven van de tien metingen boven de 25 seconden, grens is 2,5 |
| 10 · Video’s starten uit zichzelf | snelheid | 8 MB extra voor wie alleen even een telefoonnummer zoekt |
| 11 · Geen van de 22 pagina’s heeft een beschrijving | vindbaarheid | Google verzint dan zelf wat er in de zoekresultaten staat |
| 12 · Twaalf pagina’s zonder h1, taal op en-US | vindbaarheid | de twee signalen waar een zoekmachine als eerste op afgaat |
| 13 · Zes links zonder naam, vijf beelden zonder omschrijving | toegankelijkheid | een schermlezer leest ze voor als niets |
| 14 · Sitemap in robots.txt geeft 404 | vindbaarheid | Google krijgt je pagina-lijst niet en moet alles zelf vinden |
| 15 · ClaudeBot geweigerd, geen structuurdata | AI | de weigering is niet zelf ingesteld, het gevolg wel |
/.git/config en /.env, geven allebei netjes niets terug, en de mappen onder wp-content laten geen bestandsoverzicht zien. Het opvragen van gebruikers via /?author=1 wordt geweigerd. Alle 22 pagina’s hebben een canonical en een eigen titel. Er staat geen onbeveiligde inhoud op de pagina. Best practices scoort 96 bij Google.
07 / Zelf nameten
Elke knop hieronder opent dezelfde meting die wij gedaan hebben, met jullie adres er al in. Geen van deze proeven verandert iets aan de site.
twentynice.com in het veld en druk op Scan. Zes rode vakken, cijfer F. Kijk vooral naar Content-Security-Policy. Deze dienst zet er soms een controlescherm voor; even wachten en hij gaat door.
Scan de headers
<h1. Je vindt er geen. Zoek daarna op lang= bovenaan: daar staat en-US.
Open de dienstenpagina