kemptegelwerk.nl
Beter dan 27% (landelijk)
Beter dan 55% (landelijk)
Beter dan 18% (landelijk)
Beter dan 73% (landelijk)
Machineleesbare verificatie: /api/verify/kemptegelwerk.nl
Gekeurd op 9 september 2026 · 17 pagina's gecontroleerd · 11 verbeterpunten gevonden
Score door de tijd
Elke keuring en herkeuring telt: dit is het verloop van de gemiddelde score per scandag.
Scan-tijdlijn
Scores per pijler over recente scans. Methodiekwijzigingen (andere engine-versie) staan bij het punt.
9 september 2026 · Full audit
Engine unknown
70Snelheid 44Veiligheid 69Mobiel 100Toegankelijkheid 669 augustus 2026 · Full audit
Engine unknown
70Snelheid 44Veiligheid 69Mobiel 100Toegankelijkheid 669 juli 2026 · Full audit
100Snelheid 100Veiligheid 100Mobiel 100Toegankelijkheid 1009 juli 2026 · Quick scan
85Snelheid 100Veiligheid 63Mobiel 100Toegankelijkheid 78
Volledig keurmerkrapport
Onderdeel van het WebYes-keurmerk: naast de vier pijlers keuren we ook SEO, structured data, content, links, privacy en AI-vindbaarheid. Deze extra categorieën tellen niet mee in de keurmerkscore.
Onderzochte pagina's
Steekproef van 15 pagina's (niet elke URL op de site).
- https://kemptegelwerk.nl/
- https://www.kemptegelwerk.nl/werk
- https://www.kemptegelwerk.nl/werkwijze
- https://www.kemptegelwerk.nl/diensten
- https://www.kemptegelwerk.nl/advies
- https://www.kemptegelwerk.nl/over-ons
- https://www.kemptegelwerk.nl/contact
- https://www.kemptegelwerk.nl/diensten/keuken-tegelen
- https://www.kemptegelwerk.nl/diensten/vloertegels-leggen
- https://www.kemptegelwerk.nl/diensten/badkamer-tegelen
- https://www.kemptegelwerk.nl/diensten/visgraat-tegelen
- https://www.kemptegelwerk.nl/diensten/voegwerk-vernieuwen
- https://www.kemptegelwerk.nl/diensten/renovatie-tegelwerk
- https://www.kemptegelwerk.nl/tegelzetter
- https://www.kemptegelwerk.nl/privacy
Verschil met vorige audit
9 augustus 2026 → 9 september 2026
Nieuw (1)
- robots.txt Disallow lines reveal sensitive paths: /admin/.https://www.kemptegelwerk.nl/robots.txt
Bevindingen
- FoutToegankelijkheidAutomatisch gecontroleerd
4 <input> element(s) have no associated label, aria-label, or aria-labelledby.
Associate a <label for="inputId"> or add aria-label="..." to every visible form input.
Zo los je het op
Koppel elk formulierveld aan een label via for/id, of gebruik aria-label. Een placeholder alleen is niet genoeg: die verdwijnt zodra iemand typt.
- FoutSpam-signalen
Page CSS/HTML suggests hidden/off-screen text patterns often associated with cloaking.
Remove display:none / zero-font-size blocks used to inject extra keywords. Use visible, user-facing content only.
- WaarschuwingSnelheid
HTML document is 588 KB (budget: 488.28125 KB).
Large HTML payloads delay First Contentful Paint on slow connections. Server-render only above-the-fold content and lazy-load the rest, or paginate long listing pages. In Next.js, use streaming with `loading.tsx` to flush the shell early.
Zo los je het op
Je HTML-document is fors groter dan nodig. Grote boosdoeners zijn meestal inline CSS of JSON-data in de pagina; verplaats die naar aparte bestanden of laad ze pas als het nodig is.
- WaarschuwingSnelheid
Inline <style> in <head> is 198 KB (budget: 97.65625 KB).
Large inline stylesheets increase HTML payload and block rendering. Extract non-critical CSS into external files loaded asynchronously. In Vite/Astro, ensure CSS splitting is enabled. In Next.js, prefer CSS Modules or Tailwind's purge to keep critical CSS small.
Zo los je het op
Er staat veel CSS direct in de pagina. Beperk inline CSS tot de kritieke stijlen boven de vouw en zet de rest in een extern stylesheet dat de browser kan cachen.
- WaarschuwingToegankelijkheidAutomatisch gecontroleerd
1 image(s) with alt="" lack role="presentation" or aria-hidden="true".
Mark decorative images explicitly: <img alt="" role="presentation"> or <img alt="" aria-hidden="true">.
- WaarschuwingToegankelijkheidAutomatisch gecontroleerd
Page has no skip-navigation link for keyboard users.
Add a visually hidden link as the first focusable element: <a href="#main-content" class="skip-link">Skip to content</a>.
Zo los je het op
Voeg als eerste link op de pagina een 'skip-link' toe die naar de hoofdinhoud springt (<a href="#main-content">Naar inhoud</a>). Toetsenbordgebruikers hoeven dan niet door het hele menu te tabben.
- WaarschuwingVeiligheid
Sensitive path reachable: /admin/ (HTTP 200, 428129 bytes).
Block the path at the reverse proxy (deny .git/.env/etc.), remove the file from the deploy artifact, and rotate any secrets that may have been exposed.
Zo los je het op
Er is een gevoelig pad publiek bereikbaar (zoals een .env-bestand, .git-map of adminpaneel). Blokkeer het pad op serverniveau of haal het bestand offline, en ververs eventueel uitgelekte sleutels.
- WaarschuwingVeiligheid
No Content-Security-Policy header — XSS / clickjacking surface is wide open.
Start with a strict-dynamic CSP using nonces: `Content-Security-Policy: script-src 'nonce-<...>' 'strict-dynamic'; object-src 'none'; base-uri 'self'; frame-ancestors 'self'`. Roll out in `Content-Security-Policy-Report-Only` first to catch violations.
Zo los je het op
Voeg een Content-Security-Policy header toe die vastlegt welke bronnen scripts en stijlen mogen laden. Begin desnoods met een rapporterende policy (Content-Security-Policy-Report-Only) en scherp die daarna aan.
- WaarschuwingSpam-signalen
Term "inmeting" appears unusually often (4×, 4% of words).
Rewrite for natural language — repeated exact-match phrases can trigger spam classifiers.
- InfoSnelheid
Likely LCP image is missing `fetchpriority="high"`.
Add `fetchpriority="high"` to the hero image (/_next/image?url=%2Fimages%2Fhero-badkamer.webp&w=3840&q=75&dpl=dpl_8UeZUgaJiXpkgZzraymbVSPjMMXf) so the browser fetches it ahead of low-priority resources. Saves 100-300ms LCP on typical pages.
Zo los je het op
Geef je grootste afbeelding boven de vouw voorrang met fetchpriority="high" of een preload-link. Zo start de download direct in plaats van na de rest van de pagina.
- InfoVeiligheid
Missing `Cross-Origin-Opener-Policy` + `Cross-Origin-Embedder-Policy`. Cross-origin isolation lets you use SharedArrayBuffer and high-resolution timers safely.
Send `Cross-Origin-Opener-Policy: same-origin` and `Cross-Origin-Embedder-Policy: require-corp`. Note this requires every embedded resource to send `Cross-Origin-Resource-Policy`.
Zo los je het op
Voeg Cross-Origin-Opener-Policy: same-origin toe (en waar mogelijk Cross-Origin-Embedder-Policy). Dit isoleert je site van vensters die door andere origins zijn geopend.
- InfoVeiligheid
No `Cross-Origin-Resource-Policy` header. Without it, side-channel attacks via Spectre-style speculative execution stay viable.
Send `Cross-Origin-Resource-Policy: same-origin` for HTML responses, and `cross-origin` for assets you intentionally publish (e.g. fonts, JS bundles).
Zo los je het op
Voeg Cross-Origin-Resource-Policy: same-origin (of same-site) toe aan je responses, zodat andere sites je bestanden niet zomaar kunnen insluiten.
- InfoVeiligheid
robots.txt Disallow lines reveal sensitive paths: /admin/.
Listing a path under `Disallow:` doesn't hide it — it advertises it. Either move the resource behind auth and remove the Disallow line, or stop linking the path entirely so it never gets indexed.
- InfoSEO on-page
Title is slightly over the recommended length (61 chars, max 60).
Borderline — Google usually still renders this in full. Trim only if the most important keywords sit past the visible cutoff.
- InfoContent
Text-to-HTML ratio is 1.0% (target ≥ 2%).
Very low ratios usually mean the hydration payload, inline RSC blob or a vendor script is bigger than the rendered prose. Inspect the largest scripts and externalise or split them.
- InfoTechniek
Crawl stopped at the max-pages limit (15); 28 sitemap URLs were not visited but might still be reachable.
Re-run with `--max-pages 2000` (or higher) before trusting orphan-from-sitemap counts.
- InfoKwaliteitsindruk
Homepage has no `<link rel="icon">` — browsers will request /favicon.ico which may 404.
Add a custom favicon that reflects your brand. A missing favicon causes extra 404 log noise and looks unprofessional in browser tabs and bookmarks.
- InfoPrivacy
1 phone-shaped string(s) appear in main content. Examples: 06 25 05 17 62.
If the phone numbers are intentional public contact info, ignore this finding. If they're personal numbers (employees, customer testimonials), redact or replace with a routing alias.
Meer uit het keurmerkregister
Andere websites met een actief WebYes-keurmerk. Elk rapport is openbaar en op dezelfde vier pijlers gekeurd.