solarfast.nl
Nog niet gekeurd
Voor het keurmerk is een gemiddelde van minstens 80 nodig, en geen enkele pijler mag onder de 60 zitten.
Beter dan 57% van de 23 gescande sites · methodiek
Gescand op 9 oktober 2026 · 15 pagina's gecontroleerd · 7 verbeterpunten gevonden
- SnelheidOp ordeBeter dan 78% (landelijk)
- VeiligheidOp ordeBeter dan 87% (landelijk)
- MobielOp ordeBeter dan 17% (landelijk)
- ToegankelijkheidOnder de 60
In herstel: nog 30 dagen. Voldoet de site daarna nog niet aan de eisen, dan wordt de registervermelding opgeschort tot een scan weer slaagt.
Machineleesbare verificatie: /api/verify/solarfast.nl
Los dit eerst op
Deze bevindingen brengen de score het snelst omhoog: eerst pijlers onder de ondergrens van 60, daarna naar ernst en afstand tot 80.
- FoutToegankelijkheidAutomatisch gecontroleerd
Verborgen elementen die toch focus kunnen krijgen
Een link, knop of formulierveld heeft aria-hidden="true". Schermlezers zien het element dan niet, terwijl toetsenbordgebruikers er nog naartoe kunnen tabben en op een onzichtbare plek terechtkomen.
Zo los je het op
Elementen met aria-hidden="true" zijn nog steeds focusbaar met het toetsenbord. Haal ze ook uit de tabvolgorde (tabindex="-1") of verberg ze echt.
Voor de webbouwer: Haal aria-hidden="true" weg van links, knoppen en velden. Wil je ze echt verbergen, gebruik dan het hidden-attribuut of haal het element uit de pagina.
- FoutToegankelijkheidAutomatisch gecontroleerd
Invoervelden zonder label
Minstens een invoerveld heeft geen label, aria-label, aria-labelledby of title. Bezoekers met een schermlezer horen niet wat ze moeten invullen.
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.
Voor de webbouwer: Koppel een <label for="id"> aan elk zichtbaar veld, of voeg aria-label toe.
- WaarschuwingToegankelijkheidAutomatisch gecontroleerd
Decoratieve afbeeldingen zijn niet expliciet gemarkeerd
Afbeeldingen met een lege alt-tekst hebben geen role="presentation" of aria-hidden="true". De scanner vraagt om een expliciete markering, zodat hulpsoftware ze zeker overslaat.
Zo los je het op
Voor de webbouwer: Gebruik <img alt="" role="presentation"> of <img alt="" aria-hidden="true"> voor decoratieve afbeeldingen.
Alle bevindingen per pijler
- 0 kritiek
- 2 fout
- 3 waarschuwing
- 2 info
Snelheid2 bevindingenscore 99
- WaarschuwingSnelheid
De grootste afbeelding wordt uitgesteld geladen
De afbeelding die waarschijnlijk het grootste onderdeel boven de vouw is, heeft loading="lazy". Het laden start daardoor pas laat, en bezoekers zien het hoofdbeeld later.
Zo los je het op
Haal loading="lazy" weg van de grootste afbeelding boven de vouw. Lazy loading stelt juist die download uit en maakt je LCP langzamer.
Voor de webbouwer: Verwijder loading="lazy" van de hero-afbeelding.
- InfoSnelheid
De grootste afbeelding krijgt geen voorrang
De afbeelding die waarschijnlijk het grootste onderdeel boven de vouw is, mist fetchpriority="high". De browser haalt hem daardoor mogelijk later op en de pagina lijkt later af.
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.
Voor de webbouwer: Zet fetchpriority="high" op de hero-afbeelding.
Veiligheid1 bevindingscore 90
- InfoVeiligheid
CSP staat inline scripts toe zonder nonce of hash
De CSP staat 'unsafe-inline' toe zonder nonce of hash. Daarmee schakelt de beveiliging tegen ingespoten scripts in feite uit. Bij Next.js-sites meldt de scanner dit als info, omdat dit een bekende afweging is.
Zo los je het op
Geef inline scripts een nonce of hash in je CSP in plaats van ze via 'unsafe-inline' toe te staan. De meeste frameworks (waaronder Next.js) kunnen nonces per request genereren.
Voor de webbouwer: Genereer per respons een nonce en gebruik script-src 'nonce-...' 'strict-dynamic'.
Toegankelijkheid4 bevindingenscore 0
- FoutToegankelijkheidAutomatisch gecontroleerd
Verborgen elementen die toch focus kunnen krijgen
Een link, knop of formulierveld heeft aria-hidden="true". Schermlezers zien het element dan niet, terwijl toetsenbordgebruikers er nog naartoe kunnen tabben en op een onzichtbare plek terechtkomen.
Zo los je het op
Elementen met aria-hidden="true" zijn nog steeds focusbaar met het toetsenbord. Haal ze ook uit de tabvolgorde (tabindex="-1") of verberg ze echt.
Voor de webbouwer: Haal aria-hidden="true" weg van links, knoppen en velden. Wil je ze echt verbergen, gebruik dan het hidden-attribuut of haal het element uit de pagina.
- FoutToegankelijkheidAutomatisch gecontroleerd
Invoervelden zonder label
Minstens een invoerveld heeft geen label, aria-label, aria-labelledby of title. Bezoekers met een schermlezer horen niet wat ze moeten invullen.
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.
Voor de webbouwer: Koppel een <label for="id"> aan elk zichtbaar veld, of voeg aria-label toe.
- WaarschuwingToegankelijkheidAutomatisch gecontroleerd
Decoratieve afbeeldingen zijn niet expliciet gemarkeerd
Afbeeldingen met een lege alt-tekst hebben geen role="presentation" of aria-hidden="true". De scanner vraagt om een expliciete markering, zodat hulpsoftware ze zeker overslaat.
Zo los je het op
Voor de webbouwer: Gebruik <img alt="" role="presentation"> of <img alt="" aria-hidden="true"> voor decoratieve afbeeldingen.
- WaarschuwingToegankelijkheidAutomatisch gecontroleerd
Keuzegroepen zonder fieldset en legend
De pagina heeft radio- of checkboxgroepen, maar nergens een <fieldset> met <legend>. Schermlezers kunnen niet voorlezen bij welke vraag de opties horen.
Zo los je het op
Voor de webbouwer: Wrap samenhangende radio's of checkboxen in <fieldset><legend>Vraag</legend>...</fieldset>.
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 oktober 2026 · Full audit
72Snelheid 99Veiligheid 90Mobiel 100Toegankelijkheid 08 september 2026 · Full audit
68Snelheid 96Veiligheid 76Mobiel 100Toegankelijkheid 08 augustus 2026 · Quick scan
91Snelheid 100Veiligheid 84Mobiel 100Toegankelijkheid 811 augustus 2026 · Full audit
92Snelheid 98Veiligheid 76Mobiel 100Toegankelijkheid 921 augustus 2026 · Full audit
79Snelheid 62Veiligheid 76Mobiel 100Toegankelijkheid 76
Toon oudere keuringen (6)
1 augustus 2026 · Quick scan
77Snelheid 62Veiligheid 79Mobiel 100Toegankelijkheid 6831 juli 2026 · Quick scan
77Snelheid 62Veiligheid 79Mobiel 100Toegankelijkheid 689 juli 2026 · Full audit
94Snelheid 96Veiligheid 79Mobiel 100Toegankelijkheid 1008 juli 2026 · Full audit
64Snelheid 30Veiligheid 79Mobiel 100Toegankelijkheid 468 juli 2026 · Quick scan
64Snelheid 31Veiligheid 79Mobiel 100Toegankelijkheid 468 juli 2026 · Quick scan
64Snelheid 31Veiligheid 79Mobiel 100Toegankelijkheid 46
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://solarfast.nl/
- https://www.solarfast.nl/referenties
- https://www.solarfast.nl/contact
- https://www.solarfast.nl/thuisbatterij
- https://www.solarfast.nl/zonnepanelen
- https://www.solarfast.nl/warmtepomp
- https://www.solarfast.nl/laadpaal
- https://www.solarfast.nl/airco
- https://www.solarfast.nl/kennisbank
- https://www.solarfast.nl/blog
- https://www.solarfast.nl/blog/salderen-stopt-2027
- https://www.solarfast.nl/blog/klantverhalen-de-reis-naar-duurzaamheid
- https://www.solarfast.nl/over-ons
- https://www.solarfast.nl/vacatures
- https://www.solarfast.nl/slimme-energie-thuis
Verschil met vorige audit
8 september 2026 → 9 oktober 2026
Opgelost (2)
- 3 render-blocking <link rel="stylesheet"> in <head> (target: ≤2).https://www.solarfast.nl/locaties
- Missing `Cross-Origin-Opener-Policy` + `Cross-Origin-Embedder-Policy`. Cross-origin isolation lets you use SharedArrayBuffer and high-resolution timers safely.https://www.solarfast.nl/
Nieuw (1)
- Page has 1 radio/checkbox group(s) but no <fieldset> + <legend> to group them.https://www.solarfast.nl/contact
Aanvullende categorieën: 15 bevindingen
- FoutTechniekTechnische melding
8 of 16 prose strings in the RSC flight payload never appear in the rendered HTML (e.g. "'PP Neue Montreal', 'Plus Jakarta Sans', system-ui, sans-serif", "De pagina die je zoekt bestaat niet of is verplaatst."). That content is invisible to AI crawlers and to Google's first-pass HTML fetch.
Dit is een technische melding van de scanner, in de oorspronkelijke (Engelse) tekst. Laat je webbouwer ernaar kijken.
Zo los je het op
Voor de webbouwer: Server-render this content: remove client-only mount gates (idle/IntersectionObserver deferred-mount wrappers, `useState(false)` + effect flips) and `next/dynamic` with `ssr: false` around content sections; keep `next/dynamic` (default ssr: true) for code-splitting. Accordions/tabs must keep collapsed text in the DOM (Radix `forceMount`, native <details>). Verify with view-source: the copy must appear outside <script> tags.
- FoutSpam-signalenTechnische melding
Page CSS/HTML suggests hidden/off-screen text patterns often associated with cloaking.
Dit is een technische melding van de scanner, in de oorspronkelijke (Engelse) tekst. Laat je webbouwer ernaar kijken.
Zo los je het op
Voor de webbouwer: Remove display:none / zero-font-size blocks used to inject extra keywords. Use visible, user-facing content only.
- WaarschuwingSEO on-pageTechnische melding
0/34 images are missing alt attributes.
Dit is een technische melding van de scanner, in de oorspronkelijke (Engelse) tekst. Laat je webbouwer ernaar kijken.
Zo los je het op
Voor de webbouwer: Add a descriptive `alt="..."` for every <img>. Use `alt=""` only for purely decorative images.
- WaarschuwingSEO on-pageTechnische melding
Hreflang "en" points at host "www.solarfast.nl" (expected locale "nl" for this ccTLD).
Dit is een technische melding van de scanner, in de oorspronkelijke (Engelse) tekst. Laat je webbouwer ernaar kijken.
Zo los je het op
Voor de webbouwer: Serve each hreflang alternate on a host whose ccTLD matches the language, or use a language-neutral host with matching path prefixes.
- WaarschuwingStructured dataTechnische melding
1 of 7 FAQPage answers in JSON-LD never appear in the rendered HTML (first: "Ik ben installateur of partner. Waar kan ik terecht?"). Google requires marked-up content to be visible on the page.
Dit is een technische melding van de scanner, in de oorspronkelijke (Engelse) tekst. Laat je webbouwer ernaar kijken.
Zo los je het op
Voor de webbouwer: Render the FAQ answers in the server HTML. If a client-only mount hides the whole section, remove the gate (or `ssr: false`); if an accordion unmounts collapsed panels, keep them in the DOM (Radix `forceMount` + CSS-hidden closed state, or native <details>/<summary>). Collapsed-but-present answers are fine; the text just has to exist outside <script> tags.
- WaarschuwingContentTechnische melding
14 pages share the title template "… | Solarfast" with distinct left/right tokens (below near-clone Jaccard).
Dit is een technische melding van de scanner, in de oorspronkelijke (Engelse) tekst. Laat je webbouwer ernaar kijken.
Zo los je het op
Voor de webbouwer: Differentiate titles beyond a shared brand/site suffix or prefix. Examples: https://www.solarfast.nl/airco, https://www.solarfast.nl/blog, https://www.solarfast.nl/blog/klantverhalen-de-reis-naar-duurzaamheid, https://www.solarfast.nl/blog/salderen-stopt-2027, https://www.solarfast.nl/contact (+9 more).
- WaarschuwingContentTechnische melding
Page has 22 overlapping main-content paragraph pair(s) (short/long or repeated blocks).
Dit is een technische melding van de scanner, in de oorspronkelijke (Engelse) tekst. Laat je webbouwer ernaar kijken.
Zo los je het op
Voor de webbouwer: Deduplicate short vs long descriptions and repeated paragraphs so each block adds unique information.
- WaarschuwingSpam-signalenTechnische melding
Term "besparen" appears unusually often (9×, 5% of words).
Dit is een technische melding van de scanner, in de oorspronkelijke (Engelse) tekst. Laat je webbouwer ernaar kijken.
Zo los je het op
Voor de webbouwer: Rewrite for natural language — repeated exact-match phrases can trigger spam classifiers.
- WaarschuwingPrivacyTechnische melding
Trackers detected without a consent platform on the page: google-tag-manager, meta-pixel.
Dit is een technische melding van de scanner, in de oorspronkelijke (Engelse) tekst. Laat je webbouwer ernaar kijken.
Zo los je het op
Voor de webbouwer: Static presence cannot establish consent behavior. Independently inspect runtime requests before and after consent and verify the configured consent policy.
- InfoSEO on-pageTechnische melding
H1 is slightly over the recommended length (27 chars, max undefined).
Dit is een technische melding van de scanner, in de oorspronkelijke (Engelse) tekst. Laat je webbouwer ernaar kijken.
Zo los je het op
Voor de webbouwer: Trim the H1 toward a short heading if the extra words are body copy rather than the page topic.
- InfoLinksTechnische melding
Page uses 3 generic anchor(s) like "click here" / "lees meer".
Dit is een technische melding van de scanner, in de oorspronkelijke (Engelse) tekst. Laat je webbouwer ernaar kijken.
Zo los je het op
Voor de webbouwer: Use descriptive anchors that summarise the destination for users and search engines.
- InfoContentTechnische melding
Text-to-HTML ratio is 0.0% (target ≥ 2%).
Dit is een technische melding van de scanner, in de oorspronkelijke (Engelse) tekst. Laat je webbouwer ernaar kijken.
Zo los je het op
Voor de webbouwer: 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.
- InfoTechniekTechnische melding
No HTML sitemap link found on the homepage. Placing one in the footer is an industry best practice for UX and crawler/AI discovery.
Dit is een technische melding van de scanner, in de oorspronkelijke (Engelse) tekst. Laat je webbouwer ernaar kijken.
Zo los je het op
Voor de webbouwer: Add a link to a user-facing HTML sitemap (e.g. `/sitemap`, not `sitemap.xml`) inside the <footer>. An HTML sitemap acts as a structural overview for lost visitors and as a fallback discovery surface for search engines and AI crawlers.
- InfoKwaliteitsindrukTechnische melding
Homepage has no `<link rel="icon">` — browsers will request /favicon.ico which may 404.
Dit is een technische melding van de scanner, in de oorspronkelijke (Engelse) tekst. Laat je webbouwer ernaar kijken.
Zo los je het op
Voor de webbouwer: Add a custom favicon that reflects your brand. A missing favicon causes extra 404 log noise and looks unprofessional in browser tabs and bookmarks.
- InfoPrivacyTechnische melding
1 phone-shaped string(s) appear in main content. Examples: 020 250 46 70.
Dit is een technische melding van de scanner, in de oorspronkelijke (Engelse) tekst. Laat je webbouwer ernaar kijken.
Zo los je het op
Voor de webbouwer: 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.