Spring naar inhoud
Start gratis scan
Openbaar rapportKeurmerk geldig tot 8 juli 2027

ogjg.nl

Bezoek ogjg.nl ↗

Snelheid
21
Veiligheid
79
Mobiel
100
Toegankelijkheid
0
Gemiddelde score
50/ 100
Beter dan 8% van de 13 gescande sites
Nog geen keurmerk

Gekeurd op 9 juli 2026 · 8 pagina's gecontroleerd · 16 verbeterpunten gevonden

Volledige audit

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.

Spam-signalen
0
Content
87
SEO on-page
92
Techniek
98
Structured data
99
Kwaliteitsindruk
99
Links
100
AI-vindbaarheid (GEO)
100
URL-structuur
100
Social
100
Privacy
100
Juridisch
100

Bevindingen (28)

  • FoutToegankelijkheid

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

    Lees meer in de kennisbank: WCAG-richtlijnen →

  • FoutToegankelijkheid

    1 <button> element(s) have no accessible name.

    Add visible text content, aria-label="...", or aria-labelledby="..." to every <button>.

    Zo los je het op

    Er zijn knoppen zonder naam, zoals een hamburger- of sluitknop met alleen een icoon. Voeg een aria-label toe (bijvoorbeeld aria-label="Menu openen").

    Lees meer in de kennisbank: WCAG-richtlijnen →

  • FoutToegankelijkheid

    14 link(s) have no accessible name (no text, aria-label, or title).

    Add visible link text or aria-label to every <a> element so screen readers can announce the destination.

    Zo los je het op

    Er zijn links zonder leesbare naam, meestal icoon-links. Geef ze een aria-label of visueel verborgen tekst, zodat een schermlezer meer voorleest dan alleen 'link'.

    Lees meer in de kennisbank: WCAG-richtlijnen →

  • 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

    48 render-blocking <link rel="stylesheet"> in <head> (target: ≤2).

    Inline critical CSS, lazy-load the rest with the `<link rel="preload" as="style" onload="this.rel='stylesheet'">` pattern, or split chunks per route. Each blocking stylesheet adds round-trips to LCP.

    Zo los je het op

    Verklein je render-blokkerende CSS: inline de kritieke stijlen voor boven de vouw en laad de rest asynchroon. Verwijder ook CSS die nergens meer gebruikt wordt.

    Lees meer in de kennisbank: Website snelheid testen →

  • WaarschuwingSnelheid

    1 parser-blocking <script src> in <head> (no defer/async).

    Add `defer` or `async` to every external <script> in <head>. Parser-blocking scripts directly inflate INP and TBT.

    Zo los je het op

    Geef script-tags in de head een defer- of async-attribuut, of verplaats ze naar het einde van de body. Nu blokkeren ze het opbouwen van de pagina.

    Lees meer in de kennisbank: Website snelheid testen →

  • WaarschuwingSnelheid

    Likely LCP image has `loading="lazy"` — this is a known anti-pattern.

    Remove `loading="lazy"` from the hero image (https://www.oudgeleerdjonggedaan.nl/wp-content/uploads/2025/01/icon-locaties.svg). Lazy-loading the LCP image delays it until intersection-observer fires.

    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.

    Lees meer in de kennisbank: Core Web Vitals →

  • WaarschuwingSnelheid

    Critical-path payload too heavy: 2 budgets breached simultaneously.

    Breaches: 48 blocking <link rel="stylesheet">; 1 blocking <script src> without defer/async. Each one alone is borderline; together they translate to a multi-second LCP on slow networks. Inline only the above-the-fold critical CSS, defer everything else, and split route-specific bundles.

    Lees meer in de kennisbank: Core Web Vitals →

  • WaarschuwingSnelheid

    8 image(s) lack explicit width/height or aspect-ratio, risking layout shifts.

    Examples: https://www.oudgeleerdjonggedaan.nl/wp-content/uploads/2025/01/icon-locaties.svg, https://www.oudgeleerdjonggedaan.nl/wp-content/uploads/2025/12/Aafje.png, https://www.oudgeleerdjonggedaan.nl/wp-content/uploads/2025/12/Amtelring.png. Always set width and height attributes (or CSS aspect-ratio) on <img> so the browser reserves space before the image loads. In Next.js, use the `width`/`height` props or `fill` with a sized parent.

    Zo los je het op

    Geef elke afbeelding een width- en height-attribuut (of CSS aspect-ratio). De browser reserveert dan ruimte en de pagina verspringt niet tijdens het laden (CLS).

    Lees meer in de kennisbank: Core Web Vitals →

  • WaarschuwingToegankelijkheid

    13 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">.

    Lees meer in de kennisbank: WCAG-richtlijnen →

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

    Lees meer in de kennisbank: Security headers →

  • WaarschuwingSEO on-page

    Title is too long (78 chars, max 60); will be truncated in SERPs.

    Trim to ~60 characters and keep the most important keywords on the left.

  • WaarschuwingSEO on-page

    Page has multiple <h1> tags (2).

    Consolidate to a single <h1> per page; use <h2>-<h6> for subsections.

  • WaarschuwingStructured data

    Page looks like a watch page (1 content video, 0 words) but has no VideoObject structured data.

    This page reads as a dedicated watch page (one video, minimal other text). Add a VideoObject JSON-LD block (name, description, thumbnailUrl, contentUrl, uploadDate, duration, url/embedUrl pointing at this page) so Google can index it as a video result. If the clip is only supplementary (e.g. a homepage promo), keep it inline without schema instead.

  • WaarschuwingContent

    Title overlaps significantly with 2 other page(s).

    Differentiate titles to avoid cannibalisation. Similar pages: https://www.oudgeleerdjonggedaan.nl/colleges/online/, https://www.oudgeleerdjonggedaan.nl/colleges/op-locatie/

  • WaarschuwingSpam-signalen

    Term "colleges" appears unusually often (12×, 5% 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 (https://www.oudgeleerdjonggedaan.nl/wp-content/uploads/2025/01/icon-locaties.svg) 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.

    Lees meer in de kennisbank: Core Web Vitals →

  • InfoSnelheid

    4 image(s) ≥800px wide without srcset or <picture> for responsive delivery.

    Use `srcset` with multiple resolutions or wrap images in `<picture>` with WebP/AVIF sources. In Next.js, use `next/image` which handles this automatically. Without responsive images, mobile users download desktop-sized assets.

    Zo los je het op

    Lever afbeeldingen in een modern formaat (WebP of AVIF), geschaald naar het formaat waarop ze getoond worden. Een fotodienst of buildstap (zoals next/image) regelt dit automatisch.

    Lees meer in de kennisbank: Core Web Vitals →

  • InfoSnelheid

    Likely unminified JS/CSS: 6 inline blocks + 17 external files.

    Minify JavaScript and CSS to cut bytes and parse time. Examples: https://js.mollie.com/v1/mollie.js?ver=1.8.2, https://pretix.eu/widget/v2.nl.js, https://www.oudgeleerdjonggedaan.nl/wp-content/plugins/talkie-text-to-speech//js/scripts.js (heuristic — external file contents are not fetched)

    Zo los je het op

    CSS- of JavaScript-bestanden worden ongeminified geserveerd. Zet minificatie aan in je buildproces; vrijwel elke bundler doet dit standaard in productie.

    Lees meer in de kennisbank: Website snelheid testen →

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

    Lees meer in de kennisbank: Security headers →

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

    Lees meer in de kennisbank: Security headers →

  • InfoVeiligheid

    robots.txt Disallow lines reveal sensitive paths: /wp-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.

    Lees meer in de kennisbank: Security headers →

  • InfoSEO on-page

    Heading level jumps from h1 to h3, skipping h2.

  • InfoSEO on-page

    8/25 images lack explicit width/height or aspect-ratio (CLS risk).

    Set width+height attributes, or use `style="aspect-ratio: w / h"` on the <img> or its wrapper to reserve layout space.

  • InfoContent

    Text-to-HTML ratio is 1.4% (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 (6); 671 sitemap URLs were not visited but might still be reachable.

    Re-run with `--max-pages 2000` (or higher) before trusting orphan-from-sitemap counts.

  • InfoTechniek

    No HTML sitemap link found on the homepage. Placing one in the footer is an industry best practice for UX and crawler/AI discovery.

    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.

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

Volledige audit uitgevoerd op 9 juli 2026.

Meer uit het keurmerkregister

Andere websites met een actief WebYes-keurmerk. Elk rapport is openbaar en op dezelfde vier pijlers gekeurd.

mgsoftware.nl✓ Gekeurd

Score 82 / 100 · bekijk het rapport →

domeinflits.nl✓ Gekeurd

Score 90 / 100 · bekijk het rapport →

solarfast.nl✓ Gekeurd

Score 94 / 100 · bekijk het rapport →

webyes.nl✓ Gekeurd

Score 94 / 100 · bekijk het rapport →

Scan je eigen websiteBekijk het keurmerkregister →
webyes

Het onafhankelijke keurmerk voor Nederlandse websites. Kalm, transparant, jaarlijks herkeurd.

Start gratis scan

Keurmerk

  • Start gratis scan
  • Hoe het werkt
  • Keurmerkregister
  • Prijzen
  • Veelgestelde vragen

Kennis

  • Kennisbank
  • Blog
  • Jaarrapport

Bedrijf

  • Over ons
  • Contact
  • Mijn account

Juridisch

  • Privacybeleid
  • Algemene voorwaarden
  • Cookies
© 2026 WebYesGebouwd in Nederland.

Jaarrapport in de maak. In de maak: het jaarrapport over de staat van het Nederlandse web. Lees meer →

webyes
WerkwijzePrijzenRegisterKennisbankOver ons
InloggenStart gratis scan