Technische nulmeting · twentynice.com · 23 september 2026

Waar de site
vandaag staat.

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.

METING
meet twentynice.com
 
── STERK
✓ WordPress 7.1.2, de nieuwste
✓ TLS 1.0 en 1.1 geweigerd
✓ DNSSEC aan
✓ SPF streng (-all), 3 van 10
✓ DMARC quarantine, met rapportadres
✓ Contactformulier Turnstile en een token
 
── AANDACHT
✗ Beveiligingsheaders 0 van de 6, cijfer F
✗ Inlogscherm open op het internet
✗ Beheerdersnaam openbaar leesbaar
✗ Versies zichtbaar WordPress, Elementor, Redux
✗ Externe scripts 11 zonder controle
✗ CAA-records geen
✗ security.txt 404
✗ Wachttijd mobiel mediaan 34,6 seconden
✗ PageSpeed mobiel 56 van de 100
✗ Pagina’s zonder h1 12 van de 22
✗ Beschrijvingen 0 van de 22
✗ Links zonder naam 6 op de homepage
✗ ClaudeBot 403 geweigerd
 
─────────────────────────────
✓ Alles zelf gemeten • 23-09-2026

01 / Snelheid

Google meet je homepage op 56 van de 100.
En dat is de gunstige uitkomst.

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.

twentynice.compagespeed.web.dev · mobiel
PageSpeed Insights geeft twentynice.com op mobiel een prestatiescore van 56, toegankelijkheid 85, best practices 96, SEO 85 en Agentic Browsing 1 van 2

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 wachttijd tot het grootste beeld staat, schommelt tussen 3 en 44 seconden.

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 metingenLaagsteMediaanHoogste
Wachttijd tot het grootste element (LCP)3,3 s34,6 s44,1 s
Wachttijd tot de eerste tekst (FCP)3,3 s7,1 s7,6 s
Prestatiescore545573
Gewicht van de pagina8.257 KB16.378 KB16.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

De video’s starten uit zichzelf, dus iedereen downloadt ze, ook wie alleen je telefoonnummer zoekt.

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

Zes van de zes regels ontbreken.
Dat is een F.

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.

twentynice.comsecurityheaders.com
securityheaders.com geeft twentynice.com het cijfer F, met zes ontbrekende headers

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

Er staat geen enkele beveiligingsheader op de site.

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

De naam van je beheerdersaccount is openbaar op te vragen, en je inlogscherm staat open.

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.

$ curl -s https://twentynice.com/wp-json/wp/v2/users [{"id":1,"name":"comtwe-b…","slug":"comtwe-b…", …}] $ curl -s -o /dev/null -w "%{http_code}\n" https://twentynice.com/wp-login.php 200 $ curl -s https://twentynice.com/wp-links-opml.php | grep generator <!-- generator="WordPress/7.1" --> $ curl -s https://twentynice.com/ | grep -o 'content="Elementor [0-9.]*' content="Elementor 4.2.4

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

Elf scripts van buiten draaien zonder controle op wat er binnenkomt.

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 homepageAantalMet handtekening
fast.wistia.com10nee
challenges.cloudflare.com1nee
browser.sentry-cdn.com5ja
Wat er goed staat Niet alles is open. /.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

Je e-mail staat er goed bij.
Twee dingen ontbreken eromheen.

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 buitenafStand
CertificaatLet’s Encrypt, geldig tot 5 november 202644 dagen te gaan, wordt normaal vanzelf vernieuwd
TLS 1.0 en 1.1geweigerdde verouderde versies staan uit
DNSSECaanje domeinnaam is ondertekend
SPFstreng, eindigt op -all3 van de 10 toegestane opzoekingen gebruikt
DMARCquarantine, met rapportadresrapporten gaan naar security@twentynice.com
CAA-recordsgeenelke certificaatuitgever mag er een uitgeven
MTA-STSgeengeen afdwingbare versleuteling bij inkomende post
/.well-known/security.txt404geen meldadres voor wie iets vindt
HSTSgeen headerde 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

Je SPF en DMARC zijn strenger ingesteld dan bij de meeste sites die wij meten, en dat is winst.

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.

$ dig +short TXT twentynice.com v=spf1 include:spf.protection.outlook.com include:_spf.salesforce.com -all $ dig +short TXT _dmarc.twentynice.com v=DMARC1; p=quarantine; rua=mailto:security@twentynice.com,mailto:dmarc_agg@vali.email;

Vondst 07

Er staat geen CAA-record, dus elke certificaatuitgever ter wereld mag een certificaat voor je domein uitgeven.

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.

$ dig +short CAA twentynice.com (leeg)

Vondst 08

Er is geen adres waar iemand een lek kan melden.

/.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

Er staat geen SEO-plugin op de site.
Dat is aan alle 22 pagina’s te zien.

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’sAantal
Pagina’s zonder h1, de kop waar Google op afgaat12
Pagina’s zonder beschrijving in de zoekresultaten22
Pagina’s met en-US als taal, op een Nederlandse site22
Pagina’s zonder structuurdata22
Pagina’s zonder deelkaart voor LinkedIn en WhatsApp22
Pagina’s waar de kopvolgorde een niveau overslaat16
Afbeeldingen zonder omschrijving5 van de 186
Pagina’s met een canonical, zodat dubbele adressen geen kwaad kunnen22
Pagina’s met een dubbele titel0, alle 22 titels zijn uniek

Elke pagina afzonderlijk opgehaald en nagekeken op 23 september 2026.

Vondst 09

Twaalf pagina’s hebben geen enkele kop waar een zoekmachine op af kan gaan.

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.

$ curl -s https://twentynice.com/diensten/ | grep -c "<h1" 0

Vondst 10

Geen enkele pagina heeft een beschrijving, dus Google knipt zelf een stukje tekst.

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

In de code staat dat de site Amerikaans Engels is.

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.

$ curl -s https://twentynice.com/ | grep -o 'lang="[a-zA-Z-]*"' | head -1 lang="en-US"

Vondst 12

Je robots.txt wijst naar een sitemap die niet bestaat.

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.

$ curl -s https://twentynice.com/robots.txt | tail -1 Sitemap: https://twentynice.com/wp-sitemap.xml $ curl -s -o /dev/null -w "%{http_code}\n" https://twentynice.com/wp-sitemap.xml 404

Vondst 13

Zes links op de homepage hebben geen naam, dus een schermlezer leest ze voor als niets.

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, homepageAantalWat een bezoeker merkt
Links zonder naam6een schermlezer noemt ze niet
Afbeeldingen zonder omschrijving5het beeld wordt overgeslagen
Elementen onder de contrastnorm11lastig te lezen bij fel licht of slechter zicht
Score van Google85 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

Claude komt de site niet in.
En je robots.txt zegt dat het mag.

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 tegenkomtAntwoord
ClaudeBot, de crawler van Claude403 geweigerd
GPTBot, PerplexityBot, CCBot, Google-Extended en tien andere200
llms.txt, de samenvatting die een AI als eerste leest404
robots.txt noemt de AI-crawlers met naamnee
Structuurdata op de homepage0 blokken
Agentic Browsing, de maat van Google zelf1 van de 2

Vondst 14

ClaudeBot krijgt een weigering, en dat staat nergens in je robots.txt.

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.

$ curl -s -o /dev/null -w "%{http_code}\n" -A "ClaudeBot/1.0" https://twentynice.com/ 403 $ curl -s -o /dev/null -w "%{http_code}\n" -A "GPTBot/1.1" https://twentynice.com/ 200

Vondst 15

Er staat nergens in machinetaal wie je bent.

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.

$ curl -s https://twentynice.com/ | grep -o 'application/ld+json' | wc -l 0

06 / Alle bevindingen op een rij

Vijftien punten, op volgorde van gewicht.

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.

BevindingGebiedWaarom het weegt
1 · Geen enkele beveiligingsheadersecuritygeen Content-Security-Policy, dus niets begrenst wat externe partijen mogen
2 · Beheerdersnaam openbaar en inlogscherm opensecurityde helft van een inlogpoging ligt op straat
3 · Versies staan in de paginasecurityWordPress 7.1.2, Elementor 4.2.4 en Redux 4.4.12.2 zijn af te lezen
4 · Elf externe scripts zonder handtekeningsecurityverandert er iets aan zo’n bestand, dan merkt de browser dat niet
5 · Geen HSTSsecurityde browser onthoudt niet dat deze site alleen via https hoort te werken
6 · Geen CAA-recordsdomeinelke certificaatuitgever mag een certificaat voor je domein maken
7 · Geen security.txtsecurityeen onderzoeker weet niet waar hij een melding kwijt kan
8 · Geen MTA-STSe-mailinkomende post kan in theorie onversleuteld worden afgeleverd
9 · LCP mediaan 34,6 seconden mobielsnelheidzeven van de tien metingen boven de 25 seconden, grens is 2,5
10 · Video’s starten uit zichzelfsnelheid8 MB extra voor wie alleen even een telefoonnummer zoekt
11 · Geen van de 22 pagina’s heeft een beschrijvingvindbaarheidGoogle verzint dan zelf wat er in de zoekresultaten staat
12 · Twaalf pagina’s zonder h1, taal op en-USvindbaarheidde twee signalen waar een zoekmachine als eerste op afgaat
13 · Zes links zonder naam, vijf beelden zonder omschrijvingtoegankelijkheideen schermlezer leest ze voor als niets
14 · Sitemap in robots.txt geeft 404vindbaarheidGoogle krijgt je pagina-lijst niet en moet alles zelf vinden
15 · ClaudeBot geweigerd, geen structuurdataAIde weigering is niet zelf ingesteld, het gevolg wel
En wat er goed staat Je WordPress is bij: 7.1.2 is op de dag van meten de nieuwste versie. TLS 1.0 en 1.1 worden geweigerd. DNSSEC staat aan. SPF eindigt op de strenge variant en gebruikt drie van de tien toegestane opzoekingen, dus er is ruimte om iets bij te zetten zonder dat de regel stilletjes stopt met werken. DMARC staat op quarantine met twee rapportadressen, dus er kijkt ook echt iemand mee. Het contactformulier heeft botbescherming van Cloudflare en een token. De adressen waar automatische scanners als eerste op afgaan, /.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

Alles hierboven kun je zelf overdoen.
De knoppen staan klaar.

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.

Snelheid, hoofdstuk 01
Google’s eigen meting, tabblad Mobiel. Let op LCP. Draai hem twee keer: de uitslag schommelt hard, want het hangt ervan af of de video meelaadt. Meet de snelheid
Beveiligingsheaders, hoofdstuk 02
Plak 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
Je beheerdersnaam, hoofdstuk 02
Dit adres geeft de accountnaam van je beheerder terug. Je hoeft nergens voor in te loggen. Open het adres
Certificaat en TLS, hoofdstuk 03
De onafhankelijke test van Qualys. Hier zie je het certificaat, welke TLS-versies aanstaan en of er CAA-records zijn. Test het certificaat
SPF en DMARC, hoofdstuk 03
Hier zie je wie er namens twentynice.com mag mailen en wat er gebeurt met post die zich voordoet als jullie. Controleer je e-mail
Je sitemap, hoofdstuk 04
Onderaan je robots.txt staat een sitemap genoemd. Klik erop: die pagina bestaat niet. Open robots.txt
Koppen en taal, hoofdstuk 04
Klik rechts, kies Paginabron weergeven en zoek op <h1. Je vindt er geen. Zoek daarna op lang= bovenaan: daar staat en-US. Open de dienstenpagina
Vraag het een AI, hoofdstuk 05
Vraag ChatGPT, Claude of Perplexity wie in Nederland onafhankelijk advies geeft over UEM. Kijk of TwentyNice erbij staat, en of klopt wat er staat.