[
  {
    "id": "01k2pmp233td1pxzjqhgx5xk2t",
    "url": "https://ovsloterdijkamsterdam.nl/",
    "name": "Stufkens",
    "email": "j.stufkens@amsterdam.nl",
    "phone": null,
    "results": [
      {
        "category": "performance",
        "tests": [
          {
            "name": "Lighthouse prestatie test",
            "description": "Voert een uitgebreide Lighthouse-audit uit die prestaties, toegankelijkheid, best practices, SEO en PWA omvat.",
            "result": [
              {
                "success": false,
                "message": "Lighthouse test succesvol voltooid.",
                "findings": [
                  {
                    "name": "Lighthouse performance",
                    "key": "lighthouse_performance",
                    "value": "Score: 35%",
                    "numeric_value": "35.0000"
                  }
                ]
              }
            ]
          },
          {
            "name": "Kritieke Bronnen Laadtest",
            "description": "Controleert op resource hints, render-blokkerende bronnen, TTFB en kritieke CSS-implementatie.",
            "result": [
              {
                "success": false,
                "message": "Geen resource hints gevonden.",
                "findings": [
                  {
                    "name": "No resource hints",
                    "key": "no_resource_hints",
                    "value": "Geen resource hints (preload, prefetch, dns-prefetch) gevonden in de pagina.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "accessibility",
        "tests": [
          {
            "name": "Toegankelijke afbeeldingen Test",
            "description": "Controleert of alle afbeeldingen de juiste toegankelijkheidsattributen hebben (alt-tekst of decoratieve markeringen).",
            "result": [
              {
                "success": true,
                "message": "Alle afbeeldingen hebben juiste toegankelijkheidsattributen.",
                "findings": [
                  {
                    "name": "Accessible images",
                    "key": "accessible_images",
                    "value": "Alle 40 afbeeldingen hebben juiste toegankelijkheidsattributen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Skip link Test",
            "description": "Controleert op toegankelijkheids-skiplinks die toetsenbordgebruikers in staat stellen om navigatie over te slaan en direct naar de hoofdinhoud te gaan.",
            "result": [
              {
                "success": true,
                "message": "Skip links gevonden.",
                "findings": [
                  {
                    "name": "Valid skip links",
                    "key": "valid_skip_links",
                    "value": "Skip links gedetecteerd op de pagina. Dit verbetert de toegankelijkheid voor toetsenbordgebruikers.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "ARIA Attributen Test",
            "description": "Valideert de juiste implementatie van ARIA-attributen voor verbeterde ondersteuning van schermlezers.",
            "result": [
              {
                "success": false,
                "message": "ARIA toegankelijkheidsproblemen gevonden.",
                "findings": [
                  {
                    "name": "Missing landmarks",
                    "key": "missing_landmarks",
                    "value": "Essentiële landmarks ontbreken: Geen navigatie-landmark gevonden (gebruik <nav> element of role=\"navigation\")",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Focus Beheer Test",
            "description": "Controleert op goed focusbeheer, inclusief zichtbare focusindicatoren en logische tabvolgorde.",
            "result": [
              {
                "success": false,
                "message": "Focus beheer problemen gevonden.",
                "findings": [
                  {
                    "name": "Hidden focusable elements",
                    "key": "hidden_focusable_elements",
                    "value": "De pagina bevat verborgen elementen die nog steeds focusbaar zijn",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke formulieren Test",
            "description": "Zorgt ervoor dat alle formulieren toegankelijk zijn met de juiste labels, foutafhandeling en ARIA-attributen.",
            "result": [
              {
                "success": true,
                "message": "Alle formulieren zijn toegankelijk.",
                "findings": [
                  {
                    "name": "Forms accessible",
                    "key": "forms_accessible",
                    "value": "Alle 2 formulieren met 5 besturingselementen zijn goed toegankelijk.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Lijst Structuur Test",
            "description": "Verifieert het juiste gebruik van lijstelementen (ul, ol, dl) voor betere toegankelijkheid en ondersteuning van schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Alle lijsten hebben een juiste structuur.",
                "findings": [
                  {
                    "name": "Lists structure valid",
                    "key": "lists_structure_valid",
                    "value": "Alle 11 lijsten hebben een juiste semantische structuur.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke media Test",
            "description": "Verifieert dat audio- en video-inhoud voorzien is van de juiste ondertiteling, transcripties en audiobeschrijvingen.",
            "result": [
              {
                "success": true,
                "message": "Alle media-elementen zijn toegankelijk.",
                "findings": [
                  {
                    "name": "Media accessible",
                    "key": "media_accessible",
                    "value": "Alle 2 media-elementen hebben juiste toegankelijkheidsfeatures.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke tabellen Test",
            "description": "Controleert of tabellen de juiste headers, bijschriften en ARIA-attributen hebben voor schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Geen tabellen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No tables",
                    "key": "no_tables",
                    "value": "De pagina bevat geen tabellen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Viewport en Zoom Test",
            "description": "Verifieert dat de viewport meta tag het juiste zoomen en schalen mogelijk maakt voor toegankelijkheid.",
            "result": [
              {
                "success": true,
                "message": "Viewport configuratie is toegankelijk.",
                "findings": [
                  {
                    "name": "test_results.viewport_accessible",
                    "key": "viewport_accessible",
                    "value": "Viewport staat correct zoomen en schalen toe. Huidige viewport: width=device-width, initial-scale=1, maximum-scale=5.0, user-scalable=1",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Axe Toegankelijkheid Test",
            "description": "Voert een uitgebreide toegankelijkheidsaudit uit met behulp van axe-core.",
            "result": [
              {
                "success": true,
                "message": "Geen toegankelijkheidsovertredingen gevonden",
                "findings": [
                  {
                    "name": "Axe success",
                    "key": "axe_success",
                    "value": "De pagina is geslaagd voor alle toegankelijkheidstests.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "seo",
        "tests": [
          {
            "name": "Meta Beschrijving Test",
            "description": "Controleert of de website een geldige meta beschrijving heeft.",
            "result": [
              {
                "success": false,
                "message": "De meta description tag ontbreekt.",
                "findings": [
                  {
                    "name": "Meta description missing",
                    "key": "meta_description_missing",
                    "value": "De meta description tag is niet aanwezig in de DOM.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Meta Titel Test",
            "description": "Controleert of de website een geldige titel tag heeft met een passende lengte.",
            "result": [
              {
                "success": false,
                "message": "De title is te lang.",
                "findings": [
                  {
                    "name": "Title too long",
                    "key": "title_too_long",
                    "value": "De title is 67 karakters lang, wat meer is dan de aanbevolen limiet van 60 karakters. Title inhoud: \"Home - MIRT-verkenning OV-verbinding Sloterdijk - Amsterdam centrum\"",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Meta Test",
            "description": "Controleert of de webpagina een geldige robots meta tag implementatie heeft.",
            "result": [
              {
                "success": true,
                "message": "Robots meta tag is geldig.",
                "findings": [
                  {
                    "name": "Valid robots",
                    "key": "valid_robots",
                    "value": "De robots meta tag is aanwezig en geldig met inhoud: \"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1\"",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open Graph Meta Test",
            "description": "Controleert of de webpagina alle vereiste Open Graph meta tags (og:title, og:description, og:image, og:url) heeft met geldige inhoud.",
            "result": [
              {
                "success": false,
                "message": "Ontbrekende tags: og:description, og:image",
                "findings": [
                  {
                    "name": "OG tags missing",
                    "key": "og_tags_missing",
                    "value": "De volgende vereiste Open Graph tags ontbreken: og:description, og:image",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Koppen Structuur Test",
            "description": "Controleert of de webpagina een goede hiërarchie van koppen (h1-h6) heeft met correcte volgorde en structuur.",
            "result": [
              {
                "success": true,
                "message": "Kopregel structuur is geldig.",
                "findings": [
                  {
                    "name": "Heading structure valid",
                    "key": "heading_structure_valid",
                    "value": "De pagina heeft een geldige kopregel structuur met juiste hiërarchie.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTML Taal Test",
            "description": "Controleert of de website een geldig HTML lang attribuut heeft.",
            "result": [
              {
                "success": true,
                "message": "Het lang attribuut is geldig.",
                "findings": [
                  {
                    "name": "Lang attribute valid",
                    "key": "lang_attribute_valid",
                    "value": "Het lang attribuut is aanwezig en heeft een geldige waarde: 'nl'.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Link Test",
            "description": "Controleert op gebroken interne links op de webpagina.",
            "result": [
              {
                "success": true,
                "message": "Alle interne links zijn geldig.",
                "findings": [
                  {
                    "name": "Links valid",
                    "key": "links_valid",
                    "value": "Alle interne links werken correct.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Afbeeldingen test",
            "description": "Controleert op gebroken afbeeldingen op de webpagina.",
            "result": [
              {
                "success": true,
                "message": "Alle afbeeldingen zijn geldig.",
                "findings": [
                  {
                    "name": "Images valid",
                    "key": "images_valid",
                    "value": "Alle afbeeldingen op de pagina zijn bereikbaar.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Sitemap XML Test",
            "description": "Valideert de toegankelijkheid, structuur en URL-geldigheid van sitemap.xml.",
            "result": [
              {
                "success": true,
                "message": "Sitemap.xml is geldig en correct geconfigureerd.",
                "findings": [
                  {
                    "name": "Sitemap valid",
                    "key": "sitemap_valid",
                    "value": "Het sitemap.xml bestand is geldig, toegankelijk en bevat correct geformatteerde URLs.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Test",
            "description": "Controleert de toegankelijkheid van robots.txt en valideert de vereiste richtlijnen.",
            "result": [
              {
                "success": true,
                "message": "robots.txt is geldig en correct geconfigureerd.",
                "findings": [
                  {
                    "name": "Robots valid",
                    "key": "robots_valid",
                    "value": "Het robots.txt bestand is geldig en bevat alle vereiste instructies.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Gestructureerde Data Test",
            "description": "Valideert JSON-LD gestructureerde data-implementatie en vereiste eigenschappen voor veelvoorkomende schema's.",
            "result": [
              {
                "success": true,
                "message": "Geen gestructureerde data gevonden.",
                "findings": [
                  {
                    "name": "No structured data",
                    "key": "no_structured_data",
                    "value": "Geen Schema.org gestructureerde data (JSON-LD) gevonden op de pagina. Dit is optioneel maar kan SEO verbeteren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "security",
        "tests": [
          {
            "name": "Onveilige Bronnen Test",
            "description": "Controleert op bronnen die worden geladen via onveilige HTTP op HTTPS-pagina's.",
            "result": [
              {
                "success": true,
                "message": "Alle bronnen worden veilig geladen.",
                "findings": [
                  {
                    "name": "test_results.secure_resources",
                    "key": "secure_resources",
                    "value": "Alle bronnen op de pagina worden geladen via HTTPS.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open bestanden Test",
            "description": "Controleert op publiek toegankelijke gevoelige bestanden zoals .env, .git/config en andere configuratiebestanden.",
            "result": [
              {
                "success": true,
                "message": "Alle gevoelige bestanden zijn correct beveiligd.",
                "findings": [
                  {
                    "name": "test_results.sensitive_file_secure",
                    "key": "sensitive_file_secure",
                    "value": "Alle gevoelige bestanden zijn correct beveiligd met juiste HTTP statuscodes.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTTPS Test",
            "description": "Verifieert de juiste HTTPS-handhaving, inclusief omleidingen en eindpunt-toegankelijkheid.",
            "result": [
              {
                "success": true,
                "message": "HTTPS handhaving is correct geconfigureerd.",
                "findings": [
                  {
                    "name": "test_results.https_valid",
                    "key": "https_valid",
                    "value": "De website handhaaft HTTPS correct met geldige omleidingen en een werkend HTTPS eindpunt.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Beveiligingsheaders Test",
            "description": "Controleert op essentiële beveiligingsheaders, waaronder Content-Security-Policy, X-Frame-Options, X-XSS-Protection en HSTS.",
            "result": [
              {
                "success": false,
                "message": "Ongeldige beveiligingsheader waarden gedetecteerd.",
                "findings": [
                  {
                    "name": "Security headers invalid",
                    "key": "security_headers_invalid",
                    "value": "De volgende beveiligingsheaders hebben ongeldige waarden: X-Frame-Options, X-XSS-Protection",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "SSL Certificaat Test",
            "description": "Valideert de geldigheid van het SSL-certificaat, vervaldatum, domeinbereik en uitgeversinformatie.",
            "result": [
              {
                "success": true,
                "message": "SSL certificaat is geldig.",
                "findings": [
                  {
                    "name": "SSL valid",
                    "key": "ssl_valid",
                    "value": "SSL certificaat uitgegeven door Let's Encrypt is geldig en verloopt over 52 dagen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "summary": [
      {
        "icon": "material-symbols:warning-outline-rounded",
        "text": "Er valt veel te verbeteren aan de website.\nDe resultaten laten zien dat er diverse gebieden zijn waar optimalisatie nodig is."
      },
      {
        "icon": "material-symbols:timer-outline-rounded",
        "text": "De laadtijd van de website kan verbeterd worden door resource hints toe te voegen.\nDaarnaast ontbreken er belangrijke SEO-elementen zoals meta beschrijving en correcte open graph metadata."
      },
      {
        "icon": "material-symbols:accessibility-new-rounded",
        "text": "Er zijn belangrijke toegankelijkheidsproblemen, zoals het ontbreken van skip links en focusbeheer issues.\nHet is positief dat afbeeldingen en formulieren wel toegankelijk zijn."
      },
      {
        "icon": "material-symbols:warning-outline-rounded",
        "text": "Hoewel de meeste beveiligingstests geslaagd zijn, moet er aandacht besteed worden aan het verbeteren van de beveiligingsheaders."
      },
      {
        "icon": "material-symbols:sentiment-excited-outline-rounded",
        "text": "Wij nodigen u uit voor een gesprek om samen de mogelijkheden voor optimalisatie te bespreken.\nNeem contact met ons op voor meer informatie."
      }
    ],
    "screenshot": "https://quickscan.krafters.nl/storage/screenshots/01k2pmp233td1pxzjqhgx5xk2t.png",
    "created_at": "2025-08-15T12:33:52.000000Z",
    "updated_at": "2025-08-15T12:37:47.000000Z"
  },
  {
    "id": "01k2yeyf1x23mja2m6y9j50ymw",
    "url": "https://www.emmerich-erleben.de/",
    "name": "Mike Wennekes",
    "email": "wennekesmike01@gmail.com",
    "phone": null,
    "results": [
      {
        "category": "performance",
        "tests": [
          {
            "name": "Lighthouse prestatie test",
            "description": "Voert een uitgebreide Lighthouse-audit uit die prestaties, toegankelijkheid, best practices, SEO en PWA omvat.",
            "result": [
              {
                "success": false,
                "message": "Lighthouse test succesvol voltooid.",
                "findings": [
                  {
                    "name": "Lighthouse performance",
                    "key": "lighthouse_performance",
                    "value": "Score: 35%",
                    "numeric_value": "35.0000"
                  }
                ]
              }
            ]
          },
          {
            "name": "Kritieke Bronnen Laadtest",
            "description": "Controleert op resource hints, render-blokkerende bronnen, TTFB en kritieke CSS-implementatie.",
            "result": [
              {
                "success": false,
                "message": "Render-blokkerende bronnen gedetecteerd.",
                "findings": [
                  {
                    "name": "test_results.render_blocking_resources",
                    "key": "render_blocking_resources",
                    "value": "3 render-blokkerende bronnen gevonden. Overweeg async/defer te gebruiken voor scripts en preload voor kritieke CSS.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "accessibility",
        "tests": [
          {
            "name": "Toegankelijke afbeeldingen Test",
            "description": "Controleert of alle afbeeldingen de juiste toegankelijkheidsattributen hebben (alt-tekst of decoratieve markeringen).",
            "result": [
              {
                "success": true,
                "message": "Alle afbeeldingen hebben juiste toegankelijkheidsattributen.",
                "findings": [
                  {
                    "name": "Accessible images",
                    "key": "accessible_images",
                    "value": "Alle 19 afbeeldingen hebben juiste toegankelijkheidsattributen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Skip link Test",
            "description": "Controleert op toegankelijkheids-skiplinks die toetsenbordgebruikers in staat stellen om navigatie over te slaan en direct naar de hoofdinhoud te gaan.",
            "result": [
              {
                "success": false,
                "message": "Geen skip links gevonden.",
                "findings": [
                  {
                    "name": "No skip links",
                    "key": "no_skip_links",
                    "value": "Geen skip links gevonden. Overweeg het toevoegen van skip links om toegankelijkheid voor toetsenbordgebruikers te verbeteren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "ARIA Attributen Test",
            "description": "Valideert de juiste implementatie van ARIA-attributen voor verbeterde ondersteuning van schermlezers.",
            "result": [
              {
                "success": false,
                "message": "ARIA toegankelijkheidsproblemen gevonden.",
                "findings": [
                  {
                    "name": "Missing landmarks",
                    "key": "missing_landmarks",
                    "value": "Essentiële landmarks ontbreken: Geen hoofd-landmark gevonden (gebruik <main> element of role=\"main\")",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Focus Beheer Test",
            "description": "Controleert op goed focusbeheer, inclusief zichtbare focusindicatoren en logische tabvolgorde.",
            "result": [
              {
                "success": false,
                "message": "Focus beheer problemen gevonden.",
                "findings": [
                  {
                    "name": "Hidden focusable elements",
                    "key": "hidden_focusable_elements",
                    "value": "De pagina bevat verborgen elementen die nog steeds focusbaar zijn",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke formulieren Test",
            "description": "Zorgt ervoor dat alle formulieren toegankelijk zijn met de juiste labels, foutafhandeling en ARIA-attributen.",
            "result": [
              {
                "success": true,
                "message": "Geen formulieren gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No forms",
                    "key": "no_forms",
                    "value": "De pagina bevat geen formulieren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Lijst Structuur Test",
            "description": "Verifieert het juiste gebruik van lijstelementen (ul, ol, dl) voor betere toegankelijkheid en ondersteuning van schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Geen lijsten gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No lists",
                    "key": "no_lists",
                    "value": "De pagina bevat geen lijsten.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke media Test",
            "description": "Verifieert dat audio- en video-inhoud voorzien is van de juiste ondertiteling, transcripties en audiobeschrijvingen.",
            "result": [
              {
                "success": true,
                "message": "Geen media-elementen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No media elements",
                    "key": "no_media_elements",
                    "value": "De pagina bevat geen media-elementen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke tabellen Test",
            "description": "Controleert of tabellen de juiste headers, bijschriften en ARIA-attributen hebben voor schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Geen tabellen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No tables",
                    "key": "no_tables",
                    "value": "De pagina bevat geen tabellen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Viewport en Zoom Test",
            "description": "Verifieert dat de viewport meta tag het juiste zoomen en schalen mogelijk maakt voor toegankelijkheid.",
            "result": [
              {
                "success": true,
                "message": "Viewport configuratie is toegankelijk.",
                "findings": [
                  {
                    "name": "test_results.viewport_accessible",
                    "key": "viewport_accessible",
                    "value": "Viewport staat correct zoomen en schalen toe. Huidige viewport: width=device-width, initial-scale=1",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Axe Toegankelijkheid Test",
            "description": "Voert een uitgebreide toegankelijkheidsaudit uit met behulp van axe-core.",
            "result": [
              {
                "success": true,
                "message": "Geen toegankelijkheidsovertredingen gevonden",
                "findings": [
                  {
                    "name": "Axe success",
                    "key": "axe_success",
                    "value": "De pagina is geslaagd voor alle toegankelijkheidstests.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "seo",
        "tests": [
          {
            "name": "Meta Beschrijving Test",
            "description": "Controleert of de website een geldige meta beschrijving heeft.",
            "result": [
              {
                "success": false,
                "message": "De meta description is te lang.",
                "findings": [
                  {
                    "name": "test_results.meta_description_too_long",
                    "key": "meta_description_too_long",
                    "value": "De meta description is 220 karakters lang, wat meer is dan de aanbevolen limiet van 160 karakters.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Meta Titel Test",
            "description": "Controleert of de website een geldige titel tag heeft met een passende lengte.",
            "result": [
              {
                "success": true,
                "message": "De title is geldig.",
                "findings": [
                  {
                    "name": "Title valid",
                    "key": "title_valid",
                    "value": "De title is aanwezig en heeft een geldige lengte van 16 karakters. Title inhoud: \"Emmerich erleben\"",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Meta Test",
            "description": "Controleert of de webpagina een geldige robots meta tag implementatie heeft.",
            "result": [
              {
                "success": true,
                "message": "Geen robots meta tag gevonden.",
                "findings": [
                  {
                    "name": "No robots tag",
                    "key": "no_robots_tag",
                    "value": "Geen robots meta tag aanwezig, wat geldig is omdat het zoekmachines toestaat de pagina te indexeren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open Graph Meta Test",
            "description": "Controleert of de webpagina alle vereiste Open Graph meta tags (og:title, og:description, og:image, og:url) heeft met geldige inhoud.",
            "result": [
              {
                "success": false,
                "message": "Ontbrekende tags: og:image, og:url",
                "findings": [
                  {
                    "name": "OG tags missing",
                    "key": "og_tags_missing",
                    "value": "De volgende vereiste Open Graph tags ontbreken: og:image, og:url",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Koppen Structuur Test",
            "description": "Controleert of de webpagina een goede hiërarchie van koppen (h1-h6) heeft met correcte volgorde en structuur.",
            "result": [
              {
                "success": true,
                "message": "Kopregel structuur is geldig.",
                "findings": [
                  {
                    "name": "Heading structure valid",
                    "key": "heading_structure_valid",
                    "value": "De pagina heeft een geldige kopregel structuur met juiste hiërarchie.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTML Taal Test",
            "description": "Controleert of de website een geldig HTML lang attribuut heeft.",
            "result": [
              {
                "success": true,
                "message": "Het lang attribuut is geldig.",
                "findings": [
                  {
                    "name": "Lang attribute valid",
                    "key": "lang_attribute_valid",
                    "value": "Het lang attribuut is aanwezig en heeft een geldige waarde: 'en'.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Link Test",
            "description": "Controleert op gebroken interne links op de webpagina.",
            "result": [
              {
                "success": true,
                "message": "Alle interne links zijn geldig.",
                "findings": [
                  {
                    "name": "Links valid",
                    "key": "links_valid",
                    "value": "Alle interne links werken correct.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Afbeeldingen test",
            "description": "Controleert op gebroken afbeeldingen op de webpagina.",
            "result": [
              {
                "success": true,
                "message": "Alle afbeeldingen zijn geldig.",
                "findings": [
                  {
                    "name": "Images valid",
                    "key": "images_valid",
                    "value": "Alle afbeeldingen op de pagina zijn bereikbaar.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Sitemap XML Test",
            "description": "Valideert de toegankelijkheid, structuur en URL-geldigheid van sitemap.xml.",
            "result": [
              {
                "success": false,
                "message": "Ongeldige URLs gevonden in sitemap.xml.",
                "findings": [
                  {
                    "name": "Sitemap invalid URLs",
                    "key": "sitemap_invalid_urls",
                    "value": "De volgende URLs in sitemap.xml zijn ongeldig of gebruiken geen HTTPS: \n            https://www.emmerich-erleben.de\n        , \n            https://www.emmerich-erleben.de/search\n        , \n            https://www.emmerich-erleben.de/unsere-wirtschaft\n        , \n            https://www.emmerich-erleben.de/dsgvo\n        , \n            https://www.emmerich-erleben.de/impressum\n        , \n            https://www.emmerich-erleben.de/klk-oleo\n        , \n            https://www.emmerich-erleben.de/essity\n        , \n            https://www.emmerich-erleben.de/van-gulpen-kaffeerosterei\n        , \n            https://www.emmerich-erleben.de/h-von-gimborn-gmbh\n        , \n            https://www.emmerich-erleben.de/convent-spedition-gmbh\n        , \n            https://www.emmerich-erleben.de/kao-chemicals\n        , \n            https://www.emmerich-erleben.de/multicross-gmbh\n        , \n            https://www.emmerich-erleben.de/services/convent-spedition-gmbh\n        , \n            https://www.emmerich-erleben.de/services/essity-bsn-jobst\n        , \n            https://www.emmerich-erleben.de/services/h-von-gimborn-gmbh\n        , \n            https://www.emmerich-erleben.de/services/kao-chemicals\n        , \n            https://www.emmerich-erleben.de/services/klk-oleo\n        , \n            https://www.emmerich-erleben.de/services/multicross-gmbh-copy\n        , \n            https://www.emmerich-erleben.de/services/van-gulpen-kaffeerosterei\n        , \n            https://www.emmerich-erleben.de/event/feierabendmarkt-j3pl2\n        , \n            https://www.emmerich-erleben.de/event/novemberleuchten\n        , \n            https://www.emmerich-erleben.de/event/verkaufsoffener-sonntag\n        ",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Test",
            "description": "Controleert de toegankelijkheid van robots.txt en valideert de vereiste richtlijnen.",
            "result": [
              {
                "success": false,
                "message": "robots.txt mist User-agent instructie.",
                "findings": [
                  {
                    "name": "Robots missing user agent",
                    "key": "robots_missing_user_agent",
                    "value": "Het robots.txt bestand bevat geen \"User-agent: *\" instructie.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Gestructureerde Data Test",
            "description": "Valideert JSON-LD gestructureerde data-implementatie en vereiste eigenschappen voor veelvoorkomende schema's.",
            "result": [
              {
                "success": true,
                "message": "Geen gestructureerde data gevonden.",
                "findings": [
                  {
                    "name": "No structured data",
                    "key": "no_structured_data",
                    "value": "Geen Schema.org gestructureerde data (JSON-LD) gevonden op de pagina. Dit is optioneel maar kan SEO verbeteren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "security",
        "tests": [
          {
            "name": "Onveilige Bronnen Test",
            "description": "Controleert op bronnen die worden geladen via onveilige HTTP op HTTPS-pagina's.",
            "result": [
              {
                "success": true,
                "message": "Alle bronnen worden veilig geladen.",
                "findings": [
                  {
                    "name": "test_results.secure_resources",
                    "key": "secure_resources",
                    "value": "Alle bronnen op de pagina worden geladen via HTTPS.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open bestanden Test",
            "description": "Controleert op publiek toegankelijke gevoelige bestanden zoals .env, .git/config en andere configuratiebestanden.",
            "result": [
              {
                "success": true,
                "message": "Alle gevoelige bestanden zijn correct beveiligd.",
                "findings": [
                  {
                    "name": "test_results.sensitive_file_secure",
                    "key": "sensitive_file_secure",
                    "value": "Alle gevoelige bestanden zijn correct beveiligd met juiste HTTP statuscodes.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTTPS Test",
            "description": "Verifieert de juiste HTTPS-handhaving, inclusief omleidingen en eindpunt-toegankelijkheid.",
            "result": [
              {
                "success": true,
                "message": "HTTPS handhaving is correct geconfigureerd.",
                "findings": [
                  {
                    "name": "test_results.https_valid",
                    "key": "https_valid",
                    "value": "De website handhaaft HTTPS correct met geldige omleidingen en een werkend HTTPS eindpunt.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Beveiligingsheaders Test",
            "description": "Controleert op essentiële beveiligingsheaders, waaronder Content-Security-Policy, X-Frame-Options, X-XSS-Protection en HSTS.",
            "result": [
              {
                "success": false,
                "message": "Ontbrekende vereiste beveiligingsheaders.",
                "findings": [
                  {
                    "name": "Security headers missing",
                    "key": "security_headers_missing",
                    "value": "De volgende beveiligingsheaders ontbreken: Content-Security-Policy, X-Frame-Options, X-XSS-Protection",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "SSL Certificaat Test",
            "description": "Valideert de geldigheid van het SSL-certificaat, vervaldatum, domeinbereik en uitgeversinformatie.",
            "result": [
              {
                "success": true,
                "message": "SSL certificaat is geldig.",
                "findings": [
                  {
                    "name": "SSL valid",
                    "key": "ssl_valid",
                    "value": "SSL certificaat uitgegeven door Google Trust Services is geldig en verloopt over 39 dagen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "summary": [
      {
        "icon": "material-symbols:warning-outline-rounded",
        "text": "Er is veel winst te behalen op de huidige website.\nVeel belangrijke punten vragen aandacht."
      },
      {
        "icon": "material-symbols:timer-outline-rounded",
        "text": "De laadtijd van de website kan verbeterd worden.\nEr zijn render-blokkerende bronnen gedetecteerd.\nMeta description is te lang en Open Graph tags ontbreken."
      },
      {
        "icon": "material-symbols:accessibility-new-rounded",
        "text": "Er zijn toegankelijkheidsproblemen zoals ontbrekende skip links en ARIA attributen.\nFocus beheer verbeteren is aan te raden."
      },
      {
        "icon": "material-symbols:warning-outline-rounded",
        "text": "Er missen essentiële beveiligingsheaders.\nDit kan leiden tot beveiligingsrisico's."
      },
      {
        "icon": "material-symbols:sentiment-excited-outline-rounded",
        "text": "Laten we samen deze verbeterpunten aanpakken!\nNeem contact op voor een vrijblijvend gesprek."
      }
    ],
    "screenshot": "https://quickscan.krafters.nl/storage/screenshots/01k2yeyf1x23mja2m6y9j50ymw.png",
    "created_at": "2025-08-18T11:27:31.000000Z",
    "updated_at": "2025-08-18T11:28:38.000000Z"
  },
  {
    "id": "01k3jnyxtstas33xq994zg5w14",
    "url": "https://primaaudio.nl/",
    "name": "Jacqueline Looijen",
    "email": "jacqueline.looijen@gmail.com",
    "phone": null,
    "results": [
      {
        "category": "performance",
        "tests": [
          {
            "name": "Lighthouse prestatie test",
            "description": "Voert een uitgebreide Lighthouse-audit uit die prestaties, toegankelijkheid, best practices, SEO en PWA omvat.",
            "result": [
              {
                "success": false,
                "message": "Lighthouse test succesvol voltooid.",
                "findings": [
                  {
                    "name": "Lighthouse performance",
                    "key": "lighthouse_performance",
                    "value": "Score: 70%",
                    "numeric_value": "70.0000"
                  }
                ]
              }
            ]
          },
          {
            "name": "Kritieke Bronnen Laadtest",
            "description": "Controleert op resource hints, render-blokkerende bronnen, TTFB en kritieke CSS-implementatie.",
            "result": [
              {
                "success": false,
                "message": "Render-blokkerende bronnen gedetecteerd.",
                "findings": [
                  {
                    "name": "test_results.render_blocking_resources",
                    "key": "render_blocking_resources",
                    "value": "26 render-blokkerende bronnen gevonden. Overweeg async/defer te gebruiken voor scripts en preload voor kritieke CSS.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "accessibility",
        "tests": [
          {
            "name": "Toegankelijke afbeeldingen Test",
            "description": "Controleert of alle afbeeldingen de juiste toegankelijkheidsattributen hebben (alt-tekst of decoratieve markeringen).",
            "result": [
              {
                "success": false,
                "message": "Afbeeldingen gevonden zonder juiste toegankelijkheidsattributen.",
                "findings": [
                  {
                    "name": "Inaccessible images",
                    "key": "inaccessible_images",
                    "value": "https://primaaudio.nl/wp-content/themes/shopstore-pro/assets/img/search.png",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Skip link Test",
            "description": "Controleert op toegankelijkheids-skiplinks die toetsenbordgebruikers in staat stellen om navigatie over te slaan en direct naar de hoofdinhoud te gaan.",
            "result": [
              {
                "success": false,
                "message": "Geen skip links gevonden.",
                "findings": [
                  {
                    "name": "No skip links",
                    "key": "no_skip_links",
                    "value": "Geen skip links gevonden. Overweeg het toevoegen van skip links om toegankelijkheid voor toetsenbordgebruikers te verbeteren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "ARIA Attributen Test",
            "description": "Valideert de juiste implementatie van ARIA-attributen voor verbeterde ondersteuning van schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Alle ARIA attributen zijn geldig.",
                "findings": [
                  {
                    "name": "ARIA valid",
                    "key": "aria_valid",
                    "value": "Alle 7 elementen met ARIA attributen zijn correct geconfigureerd.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Focus Beheer Test",
            "description": "Controleert op goed focusbeheer, inclusief zichtbare focusindicatoren en logische tabvolgorde.",
            "result": [
              {
                "success": false,
                "message": "Focus beheer problemen gevonden.",
                "findings": [
                  {
                    "name": "Hidden focusable elements",
                    "key": "hidden_focusable_elements",
                    "value": "De pagina bevat verborgen elementen die nog steeds focusbaar zijn",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke formulieren Test",
            "description": "Zorgt ervoor dat alle formulieren toegankelijk zijn met de juiste labels, foutafhandeling en ARIA-attributen.",
            "result": [
              {
                "success": false,
                "message": "Formulier toegankelijkheidsproblemen gevonden.",
                "findings": [
                  {
                    "name": "test_results.unlabeled_controls",
                    "key": "unlabeled_controls",
                    "value": "Formulier besturingselementen zonder label gevonden.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Lijst Structuur Test",
            "description": "Verifieert het juiste gebruik van lijstelementen (ul, ol, dl) voor betere toegankelijkheid en ondersteuning van schermlezers.",
            "result": [
              {
                "success": false,
                "message": "Lijststructuur problemen gevonden.",
                "findings": [
                  {
                    "name": "Empty lists",
                    "key": "empty_lists",
                    "value": "Lege lijsten: Lege lijst: <ul class=\"social-list\">",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke media Test",
            "description": "Verifieert dat audio- en video-inhoud voorzien is van de juiste ondertiteling, transcripties en audiobeschrijvingen.",
            "result": [
              {
                "success": true,
                "message": "Geen media-elementen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No media elements",
                    "key": "no_media_elements",
                    "value": "De pagina bevat geen media-elementen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke tabellen Test",
            "description": "Controleert of tabellen de juiste headers, bijschriften en ARIA-attributen hebben voor schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Geen tabellen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No tables",
                    "key": "no_tables",
                    "value": "De pagina bevat geen tabellen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Viewport en Zoom Test",
            "description": "Verifieert dat de viewport meta tag het juiste zoomen en schalen mogelijk maakt voor toegankelijkheid.",
            "result": [
              {
                "success": true,
                "message": "Viewport configuratie is toegankelijk.",
                "findings": [
                  {
                    "name": "test_results.viewport_accessible",
                    "key": "viewport_accessible",
                    "value": "Viewport staat correct zoomen en schalen toe. Huidige viewport: width=device-width, initial-scale=1",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Axe Toegankelijkheid Test",
            "description": "Voert een uitgebreide toegankelijkheidsaudit uit met behulp van axe-core.",
            "result": [
              {
                "success": true,
                "message": "Geen toegankelijkheidsovertredingen gevonden",
                "findings": [
                  {
                    "name": "Axe success",
                    "key": "axe_success",
                    "value": "De pagina is geslaagd voor alle toegankelijkheidstests.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "seo",
        "tests": [
          {
            "name": "Meta Beschrijving Test",
            "description": "Controleert of de website een geldige meta beschrijving heeft.",
            "result": [
              {
                "success": false,
                "message": "De meta description tag ontbreekt.",
                "findings": [
                  {
                    "name": "Meta description missing",
                    "key": "meta_description_missing",
                    "value": "De meta description tag is niet aanwezig in de DOM.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Meta Titel Test",
            "description": "Controleert of de website een geldige titel tag heeft met een passende lengte.",
            "result": [
              {
                "success": true,
                "message": "De title is geldig.",
                "findings": [
                  {
                    "name": "Title valid",
                    "key": "title_valid",
                    "value": "De title is aanwezig en heeft een geldige lengte van 30 karakters. Title inhoud: \"PrimaAudio.nl – High-end audio\"",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Meta Test",
            "description": "Controleert of de webpagina een geldige robots meta tag implementatie heeft.",
            "result": [
              {
                "success": true,
                "message": "Robots meta tag is geldig.",
                "findings": [
                  {
                    "name": "Valid robots",
                    "key": "valid_robots",
                    "value": "De robots meta tag is aanwezig en geldig met inhoud: \"max-image-preview:large\"",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open Graph Meta Test",
            "description": "Controleert of de webpagina alle vereiste Open Graph meta tags (og:title, og:description, og:image, og:url) heeft met geldige inhoud.",
            "result": [
              {
                "success": false,
                "message": "Ontbrekende tags: og:title, og:description, og:image, og:url",
                "findings": [
                  {
                    "name": "OG tags missing",
                    "key": "og_tags_missing",
                    "value": "De volgende vereiste Open Graph tags ontbreken: og:title, og:description, og:image, og:url",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Koppen Structuur Test",
            "description": "Controleert of de webpagina een goede hiërarchie van koppen (h1-h6) heeft met correcte volgorde en structuur.",
            "result": [
              {
                "success": false,
                "message": "Meerdere H1 kopregels gevonden op de pagina.",
                "findings": [
                  {
                    "name": "Multiple H1 elements",
                    "key": "h1_multiple",
                    "value": "2 H1 tags gevonden op de pagina. Er zou precies één H1 tag moeten zijn.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTML Taal Test",
            "description": "Controleert of de website een geldig HTML lang attribuut heeft.",
            "result": [
              {
                "success": true,
                "message": "Het lang attribuut is geldig.",
                "findings": [
                  {
                    "name": "Lang attribute valid",
                    "key": "lang_attribute_valid",
                    "value": "Het lang attribuut is aanwezig en heeft een geldige waarde: 'nl-NL'.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Link Test",
            "description": "Controleert op gebroken interne links op de webpagina.",
            "result": [
              {
                "success": false,
                "message": "Gebroken interne links gevonden.",
                "findings": [
                  {
                    "name": "Broken links",
                    "key": "broken_links",
                    "value": "Aantal gebroken interne links gevonden: 72",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Afbeeldingen test",
            "description": "Controleert op gebroken afbeeldingen op de webpagina.",
            "result": [
              {
                "success": true,
                "message": "Alle afbeeldingen zijn geldig.",
                "findings": [
                  {
                    "name": "Images valid",
                    "key": "images_valid",
                    "value": "Alle afbeeldingen op de pagina zijn bereikbaar.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Sitemap XML Test",
            "description": "Valideert de toegankelijkheid, structuur en URL-geldigheid van sitemap.xml.",
            "result": [
              {
                "success": false,
                "message": "Sitemap.xml niet gevonden of niet toegankelijk.",
                "findings": [
                  {
                    "name": "Sitemap not found",
                    "key": "sitemap_not_found",
                    "value": "Het sitemap.xml bestand is niet gevonden of niet toegankelijk.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Test",
            "description": "Controleert de toegankelijkheid van robots.txt en valideert de vereiste richtlijnen.",
            "result": [
              {
                "success": true,
                "message": "robots.txt is geldig en correct geconfigureerd.",
                "findings": [
                  {
                    "name": "Robots valid",
                    "key": "robots_valid",
                    "value": "Het robots.txt bestand is geldig en bevat alle vereiste instructies.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Gestructureerde Data Test",
            "description": "Valideert JSON-LD gestructureerde data-implementatie en vereiste eigenschappen voor veelvoorkomende schema's.",
            "result": [
              {
                "success": true,
                "message": "Geen gestructureerde data gevonden.",
                "findings": [
                  {
                    "name": "No structured data",
                    "key": "no_structured_data",
                    "value": "Geen Schema.org gestructureerde data (JSON-LD) gevonden op de pagina. Dit is optioneel maar kan SEO verbeteren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "security",
        "tests": [
          {
            "name": "Onveilige Bronnen Test",
            "description": "Controleert op bronnen die worden geladen via onveilige HTTP op HTTPS-pagina's.",
            "result": [
              {
                "success": true,
                "message": "Alle bronnen worden veilig geladen.",
                "findings": [
                  {
                    "name": "test_results.secure_resources",
                    "key": "secure_resources",
                    "value": "Alle bronnen op de pagina worden geladen via HTTPS.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open bestanden Test",
            "description": "Controleert op publiek toegankelijke gevoelige bestanden zoals .env, .git/config en andere configuratiebestanden.",
            "result": [
              {
                "success": true,
                "message": "Alle gevoelige bestanden zijn correct beveiligd.",
                "findings": [
                  {
                    "name": "test_results.sensitive_file_secure",
                    "key": "sensitive_file_secure",
                    "value": "Alle gevoelige bestanden zijn correct beveiligd met juiste HTTP statuscodes.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTTPS Test",
            "description": "Verifieert de juiste HTTPS-handhaving, inclusief omleidingen en eindpunt-toegankelijkheid.",
            "result": [
              {
                "success": false,
                "message": "HTTPS eindpunt is niet toegankelijk.",
                "findings": [
                  {
                    "name": "HTTPS error",
                    "key": "https_error",
                    "value": "Het HTTPS eindpunt is niet toegankelijk of geeft een fout terug.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Beveiligingsheaders Test",
            "description": "Controleert op essentiële beveiligingsheaders, waaronder Content-Security-Policy, X-Frame-Options, X-XSS-Protection en HSTS.",
            "result": [
              {
                "success": false,
                "message": "Ontbrekende vereiste beveiligingsheaders.",
                "findings": [
                  {
                    "name": "Security headers missing",
                    "key": "security_headers_missing",
                    "value": "De volgende beveiligingsheaders ontbreken: Content-Security-Policy, X-XSS-Protection, Strict-Transport-Security",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "SSL Certificaat Test",
            "description": "Valideert de geldigheid van het SSL-certificaat, vervaldatum, domeinbereik en uitgeversinformatie.",
            "result": [
              {
                "success": true,
                "message": "SSL certificaat is geldig.",
                "findings": [
                  {
                    "name": "SSL valid",
                    "key": "ssl_valid",
                    "value": "SSL certificaat uitgegeven door Google Trust Services is geldig en verloopt over 64 dagen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "summary": [
      {
        "icon": "material-symbols:warning-outline-rounded",
        "text": "Er is veel winst te behalen voor de website.\nBelangrijke verbeteringen zijn nodig om de prestaties en toegankelijkheid te optimaliseren."
      },
      {
        "icon": "material-symbols:timer-outline-rounded",
        "text": "De prestatie kan worden verbeterd door render-blokkerende bronnen aan te pakken.\nHet toevoegen van een meta beschrijving en correcte koppenstructuur verbetert de SEO."
      },
      {
        "icon": "material-symbols:accessibility-new-rounded",
        "text": "Toegankelijkheid kan worden versterkt door skip links en goed beheer van focus.\nOok moeten formulieren en afbeeldingen beter toegankelijk worden gemaakt."
      },
      {
        "icon": "material-symbols:warning-outline-rounded",
        "text": "Er zijn beveiligingsverbeteringen nodig zoals het implementeren van vereiste beveiligingsheaders.\nZorg ervoor dat HTTPS correct toegankelijk is."
      },
      {
        "icon": "material-symbols:sentiment-excited-outline-rounded",
        "text": "We bespreken graag hoe deze verbeteringen uw website kunnen optimaliseren.\nNeem contact met ons op voor een vrijblijvend adviesgesprek."
      }
    ],
    "screenshot": "https://quickscan.krafters.nl/storage/screenshots/01k3jnyxtstas33xq994zg5w14.png",
    "created_at": "2025-08-26T07:54:55.000000Z",
    "updated_at": "2025-08-26T07:56:45.000000Z"
  },
  {
    "id": "01k3jp8tme3a5qk76w0vte5yak",
    "url": "https://www.krafters.nl",
    "name": "Danny Degenkamp",
    "email": "danny@krafters.nl",
    "phone": null,
    "results": [
      {
        "category": "performance",
        "tests": [
          {
            "name": "Lighthouse prestatie test",
            "description": "Voert een uitgebreide Lighthouse-audit uit die prestaties, toegankelijkheid, best practices, SEO en PWA omvat.",
            "result": [
              {
                "success": true,
                "message": "Lighthouse test succesvol voltooid.",
                "findings": [
                  {
                    "name": "Lighthouse performance",
                    "key": "lighthouse_performance",
                    "value": "Score: 98%",
                    "numeric_value": "98.0000"
                  }
                ]
              }
            ]
          },
          {
            "name": "Kritieke Bronnen Laadtest",
            "description": "Controleert op resource hints, render-blokkerende bronnen, TTFB en kritieke CSS-implementatie.",
            "result": [
              {
                "success": false,
                "message": "Render-blokkerende bronnen gedetecteerd.",
                "findings": [
                  {
                    "name": "test_results.render_blocking_resources",
                    "key": "render_blocking_resources",
                    "value": "9 render-blokkerende bronnen gevonden. Overweeg async/defer te gebruiken voor scripts en preload voor kritieke CSS.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "accessibility",
        "tests": [
          {
            "name": "Toegankelijke afbeeldingen Test",
            "description": "Controleert of alle afbeeldingen de juiste toegankelijkheidsattributen hebben (alt-tekst of decoratieve markeringen).",
            "result": [
              {
                "success": true,
                "message": "Alle afbeeldingen hebben juiste toegankelijkheidsattributen.",
                "findings": [
                  {
                    "name": "Accessible images",
                    "key": "accessible_images",
                    "value": "Alle 3 afbeeldingen hebben juiste toegankelijkheidsattributen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Skip link Test",
            "description": "Controleert op toegankelijkheids-skiplinks die toetsenbordgebruikers in staat stellen om navigatie over te slaan en direct naar de hoofdinhoud te gaan.",
            "result": [
              {
                "success": true,
                "message": "Skip links gevonden.",
                "findings": [
                  {
                    "name": "Valid skip links",
                    "key": "valid_skip_links",
                    "value": "Skip links gedetecteerd op de pagina. Dit verbetert de toegankelijkheid voor toetsenbordgebruikers.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "ARIA Attributen Test",
            "description": "Valideert de juiste implementatie van ARIA-attributen voor verbeterde ondersteuning van schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Alle ARIA attributen zijn geldig.",
                "findings": [
                  {
                    "name": "ARIA valid",
                    "key": "aria_valid",
                    "value": "Alle 8 elementen met ARIA attributen zijn correct geconfigureerd.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Focus Beheer Test",
            "description": "Controleert op goed focusbeheer, inclusief zichtbare focusindicatoren en logische tabvolgorde.",
            "result": [
              {
                "success": true,
                "message": "Focus beheer is correct geïmplementeerd.",
                "findings": [
                  {
                    "name": "Focus management valid",
                    "key": "focus_management_valid",
                    "value": "Alle 33 focusbare elementen hebben correct focus beheer.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke formulieren Test",
            "description": "Zorgt ervoor dat alle formulieren toegankelijk zijn met de juiste labels, foutafhandeling en ARIA-attributen.",
            "result": [
              {
                "success": true,
                "message": "Geen formulieren gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No forms",
                    "key": "no_forms",
                    "value": "De pagina bevat geen formulieren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Lijst Structuur Test",
            "description": "Verifieert het juiste gebruik van lijstelementen (ul, ol, dl) voor betere toegankelijkheid en ondersteuning van schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Alle lijsten hebben een juiste structuur.",
                "findings": [
                  {
                    "name": "Lists structure valid",
                    "key": "lists_structure_valid",
                    "value": "Alle 7 lijsten hebben een juiste semantische structuur.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke media Test",
            "description": "Verifieert dat audio- en video-inhoud voorzien is van de juiste ondertiteling, transcripties en audiobeschrijvingen.",
            "result": [
              {
                "success": true,
                "message": "Geen media-elementen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No media elements",
                    "key": "no_media_elements",
                    "value": "De pagina bevat geen media-elementen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke tabellen Test",
            "description": "Controleert of tabellen de juiste headers, bijschriften en ARIA-attributen hebben voor schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Geen tabellen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No tables",
                    "key": "no_tables",
                    "value": "De pagina bevat geen tabellen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Viewport en Zoom Test",
            "description": "Verifieert dat de viewport meta tag het juiste zoomen en schalen mogelijk maakt voor toegankelijkheid.",
            "result": [
              {
                "success": true,
                "message": "Viewport configuratie is toegankelijk.",
                "findings": [
                  {
                    "name": "test_results.viewport_accessible",
                    "key": "viewport_accessible",
                    "value": "Viewport staat correct zoomen en schalen toe. Huidige viewport: width=device-width, initial-scale=1",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Axe Toegankelijkheid Test",
            "description": "Voert een uitgebreide toegankelijkheidsaudit uit met behulp van axe-core.",
            "result": [
              {
                "success": true,
                "message": "Geen toegankelijkheidsovertredingen gevonden",
                "findings": [
                  {
                    "name": "Axe success",
                    "key": "axe_success",
                    "value": "De pagina is geslaagd voor alle toegankelijkheidstests.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "seo",
        "tests": [
          {
            "name": "Meta Beschrijving Test",
            "description": "Controleert of de website een geldige meta beschrijving heeft.",
            "result": [
              {
                "success": true,
                "message": "De meta description is geldig.",
                "findings": [
                  {
                    "name": "test_results.meta_description_valid",
                    "key": "meta_description_valid",
                    "value": "De meta description is aanwezig en heeft een geldige lengte van 103 karakters.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Meta Titel Test",
            "description": "Controleert of de website een geldige titel tag heeft met een passende lengte.",
            "result": [
              {
                "success": true,
                "message": "De title is geldig.",
                "findings": [
                  {
                    "name": "Title valid",
                    "key": "title_valid",
                    "value": "De title is aanwezig en heeft een geldige lengte van 48 karakters. Title inhoud: \"Toegankelijke websites en applicaties | Krafters\"",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Meta Test",
            "description": "Controleert of de webpagina een geldige robots meta tag implementatie heeft.",
            "result": [
              {
                "success": true,
                "message": "Robots meta tag is geldig.",
                "findings": [
                  {
                    "name": "Valid robots",
                    "key": "valid_robots",
                    "value": "De robots meta tag is aanwezig en geldig met inhoud: \"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1\"",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open Graph Meta Test",
            "description": "Controleert of de webpagina alle vereiste Open Graph meta tags (og:title, og:description, og:image, og:url) heeft met geldige inhoud.",
            "result": [
              {
                "success": true,
                "message": "Pagina heeft alle vereiste Open Graph tags",
                "findings": [
                  {
                    "name": "test_results.og_tags_valid",
                    "key": "og_tags_valid",
                    "value": "Alle vereiste Open Graph tags zijn aanwezig en hebben inhoud: og:title, og:description, og:image, og:url",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Koppen Structuur Test",
            "description": "Controleert of de webpagina een goede hiërarchie van koppen (h1-h6) heeft met correcte volgorde en structuur.",
            "result": [
              {
                "success": true,
                "message": "Kopregel structuur is geldig.",
                "findings": [
                  {
                    "name": "Heading structure valid",
                    "key": "heading_structure_valid",
                    "value": "De pagina heeft een geldige kopregel structuur met juiste hiërarchie.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTML Taal Test",
            "description": "Controleert of de website een geldig HTML lang attribuut heeft.",
            "result": [
              {
                "success": true,
                "message": "Het lang attribuut is geldig.",
                "findings": [
                  {
                    "name": "Lang attribute valid",
                    "key": "lang_attribute_valid",
                    "value": "Het lang attribuut is aanwezig en heeft een geldige waarde: 'nl'.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Link Test",
            "description": "Controleert op gebroken interne links op de webpagina.",
            "result": [
              {
                "success": true,
                "message": "Alle interne links zijn geldig.",
                "findings": [
                  {
                    "name": "Links valid",
                    "key": "links_valid",
                    "value": "Alle interne links werken correct.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Afbeeldingen test",
            "description": "Controleert op gebroken afbeeldingen op de webpagina.",
            "result": [
              {
                "success": true,
                "message": "Alle afbeeldingen zijn geldig.",
                "findings": [
                  {
                    "name": "Images valid",
                    "key": "images_valid",
                    "value": "Alle afbeeldingen op de pagina zijn bereikbaar.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Sitemap XML Test",
            "description": "Valideert de toegankelijkheid, structuur en URL-geldigheid van sitemap.xml.",
            "result": [
              {
                "success": true,
                "message": "Sitemap.xml is geldig en correct geconfigureerd.",
                "findings": [
                  {
                    "name": "Sitemap valid",
                    "key": "sitemap_valid",
                    "value": "Het sitemap.xml bestand is geldig, toegankelijk en bevat correct geformatteerde URLs.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Test",
            "description": "Controleert de toegankelijkheid van robots.txt en valideert de vereiste richtlijnen.",
            "result": [
              {
                "success": true,
                "message": "robots.txt is geldig en correct geconfigureerd.",
                "findings": [
                  {
                    "name": "Robots valid",
                    "key": "robots_valid",
                    "value": "Het robots.txt bestand is geldig en bevat alle vereiste instructies.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Gestructureerde Data Test",
            "description": "Valideert JSON-LD gestructureerde data-implementatie en vereiste eigenschappen voor veelvoorkomende schema's.",
            "result": [
              {
                "success": true,
                "message": "Geen gestructureerde data gevonden.",
                "findings": [
                  {
                    "name": "No structured data",
                    "key": "no_structured_data",
                    "value": "Geen Schema.org gestructureerde data (JSON-LD) gevonden op de pagina. Dit is optioneel maar kan SEO verbeteren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "security",
        "tests": [
          {
            "name": "Onveilige Bronnen Test",
            "description": "Controleert op bronnen die worden geladen via onveilige HTTP op HTTPS-pagina's.",
            "result": [
              {
                "success": true,
                "message": "Alle bronnen worden veilig geladen.",
                "findings": [
                  {
                    "name": "test_results.secure_resources",
                    "key": "secure_resources",
                    "value": "Alle bronnen op de pagina worden geladen via HTTPS.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open bestanden Test",
            "description": "Controleert op publiek toegankelijke gevoelige bestanden zoals .env, .git/config en andere configuratiebestanden.",
            "result": [
              {
                "success": true,
                "message": "Alle gevoelige bestanden zijn correct beveiligd.",
                "findings": [
                  {
                    "name": "test_results.sensitive_file_secure",
                    "key": "sensitive_file_secure",
                    "value": "Alle gevoelige bestanden zijn correct beveiligd met juiste HTTP statuscodes.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTTPS Test",
            "description": "Verifieert de juiste HTTPS-handhaving, inclusief omleidingen en eindpunt-toegankelijkheid.",
            "result": [
              {
                "success": true,
                "message": "HTTPS handhaving is correct geconfigureerd.",
                "findings": [
                  {
                    "name": "test_results.https_valid",
                    "key": "https_valid",
                    "value": "De website handhaaft HTTPS correct met geldige omleidingen en een werkend HTTPS eindpunt.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Beveiligingsheaders Test",
            "description": "Controleert op essentiële beveiligingsheaders, waaronder Content-Security-Policy, X-Frame-Options, X-XSS-Protection en HSTS.",
            "result": [
              {
                "success": false,
                "message": "Ontbrekende vereiste beveiligingsheaders.",
                "findings": [
                  {
                    "name": "Security headers missing",
                    "key": "security_headers_missing",
                    "value": "De volgende beveiligingsheaders ontbreken: Content-Security-Policy, X-Frame-Options, X-XSS-Protection, Strict-Transport-Security",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "SSL Certificaat Test",
            "description": "Valideert de geldigheid van het SSL-certificaat, vervaldatum, domeinbereik en uitgeversinformatie.",
            "result": [
              {
                "success": true,
                "message": "SSL certificaat is geldig.",
                "findings": [
                  {
                    "name": "SSL valid",
                    "key": "ssl_valid",
                    "value": "SSL certificaat uitgegeven door Let's Encrypt is geldig en verloopt over 65 dagen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "summary": [
      {
        "icon": "material-symbols:thumb-up-outline-rounded",
        "text": "De website heeft sterke prestaties en toegankelijkheid.\nEr zijn veel elementen die goed zijn geïmplementeerd."
      },
      {
        "icon": "material-symbols:timer-outline-rounded",
        "text": "De website laadt snel, maar render-blokkerende bronnen kunnen verbeterd worden.\nSEO is uitstekend, met geldige metadata en structuur."
      },
      {
        "icon": "material-symbols:accessibility-new-rounded",
        "text": "De toegankelijkheid is geweldig, met aandacht voor focusbeheer en ARIA attributen.\nAlle elementen zijn goed volgens de richtlijnen opgezet."
      },
      {
        "icon": "material-symbols:warning-outline-rounded",
        "text": "Hoewel veel beveiligingsmaatregelen top zijn, ontbreken er vereiste beveiligingsheaders."
      },
      {
        "icon": "material-symbols:sentiment-excited-outline-rounded",
        "text": "Laten we samen kijken hoe we die laatste verbeterpunten kunnen aanpakken!\nNeem contact met ons op voor een vrijblijvend gesprek."
      }
    ],
    "screenshot": "https://quickscan.krafters.nl/storage/screenshots/01k3jp8tme3a5qk76w0vte5yak.png",
    "created_at": "2025-08-26T08:00:20.000000Z",
    "updated_at": "2025-08-26T08:01:07.000000Z"
  },
  {
    "id": "01k3wxxpx5yyn84vkhxyyjxdxt",
    "url": "https://www.nakichekoi.nl",
    "name": "Alexander Rokven",
    "email": "info@nakichekoi.nl",
    "phone": null,
    "results": [
      {
        "category": "performance",
        "tests": [
          {
            "name": "Lighthouse prestatie test",
            "description": "Voert een uitgebreide Lighthouse-audit uit die prestaties, toegankelijkheid, best practices, SEO en PWA omvat.",
            "result": [
              {
                "success": false,
                "message": "Lighthouse test succesvol voltooid.",
                "findings": [
                  {
                    "name": "Lighthouse performance",
                    "key": "lighthouse_performance",
                    "value": "Score: 77%",
                    "numeric_value": "77.0000"
                  }
                ]
              }
            ]
          },
          {
            "name": "Kritieke Bronnen Laadtest",
            "description": "Controleert op resource hints, render-blokkerende bronnen, TTFB en kritieke CSS-implementatie.",
            "result": [
              {
                "success": false,
                "message": "Render-blokkerende bronnen gedetecteerd.",
                "findings": [
                  {
                    "name": "test_results.render_blocking_resources",
                    "key": "render_blocking_resources",
                    "value": "25 render-blokkerende bronnen gevonden. Overweeg async/defer te gebruiken voor scripts en preload voor kritieke CSS.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "accessibility",
        "tests": [
          {
            "name": "Toegankelijke afbeeldingen Test",
            "description": "Controleert of alle afbeeldingen de juiste toegankelijkheidsattributen hebben (alt-tekst of decoratieve markeringen).",
            "result": [
              {
                "success": false,
                "message": "Afbeeldingen gevonden zonder juiste toegankelijkheidsattributen.",
                "findings": [
                  {
                    "name": "Inaccessible images",
                    "key": "inaccessible_images",
                    "value": "https://www.nakichekoi.nl/wp-content/themes/storefront-child/assets/img/logo_lokaal0.png",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Skip link Test",
            "description": "Controleert op toegankelijkheids-skiplinks die toetsenbordgebruikers in staat stellen om navigatie over te slaan en direct naar de hoofdinhoud te gaan.",
            "result": [
              {
                "success": false,
                "message": "Geen skip links gevonden.",
                "findings": [
                  {
                    "name": "No skip links",
                    "key": "no_skip_links",
                    "value": "Geen skip links gevonden. Overweeg het toevoegen van skip links om toegankelijkheid voor toetsenbordgebruikers te verbeteren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "ARIA Attributen Test",
            "description": "Valideert de juiste implementatie van ARIA-attributen voor verbeterde ondersteuning van schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Alle ARIA attributen zijn geldig.",
                "findings": [
                  {
                    "name": "ARIA valid",
                    "key": "aria_valid",
                    "value": "Alle 4 elementen met ARIA attributen zijn correct geconfigureerd.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Focus Beheer Test",
            "description": "Controleert op goed focusbeheer, inclusief zichtbare focusindicatoren en logische tabvolgorde.",
            "result": [
              {
                "success": true,
                "message": "Focus beheer is correct geïmplementeerd.",
                "findings": [
                  {
                    "name": "Focus management valid",
                    "key": "focus_management_valid",
                    "value": "Alle 271 focusbare elementen hebben correct focus beheer.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke formulieren Test",
            "description": "Zorgt ervoor dat alle formulieren toegankelijk zijn met de juiste labels, foutafhandeling en ARIA-attributen.",
            "result": [
              {
                "success": true,
                "message": "Alle formulieren zijn toegankelijk.",
                "findings": [
                  {
                    "name": "Forms accessible",
                    "key": "forms_accessible",
                    "value": "Alle 2 formulieren met 6 besturingselementen zijn goed toegankelijk.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Lijst Structuur Test",
            "description": "Verifieert het juiste gebruik van lijstelementen (ul, ol, dl) voor betere toegankelijkheid en ondersteuning van schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Alle lijsten hebben een juiste structuur.",
                "findings": [
                  {
                    "name": "Lists structure valid",
                    "key": "lists_structure_valid",
                    "value": "Alle 11 lijsten hebben een juiste semantische structuur.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke media Test",
            "description": "Verifieert dat audio- en video-inhoud voorzien is van de juiste ondertiteling, transcripties en audiobeschrijvingen.",
            "result": [
              {
                "success": true,
                "message": "Geen media-elementen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No media elements",
                    "key": "no_media_elements",
                    "value": "De pagina bevat geen media-elementen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke tabellen Test",
            "description": "Controleert of tabellen de juiste headers, bijschriften en ARIA-attributen hebben voor schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Geen tabellen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No tables",
                    "key": "no_tables",
                    "value": "De pagina bevat geen tabellen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Viewport en Zoom Test",
            "description": "Verifieert dat de viewport meta tag het juiste zoomen en schalen mogelijk maakt voor toegankelijkheid.",
            "result": [
              {
                "success": true,
                "message": "Viewport configuratie is toegankelijk.",
                "findings": [
                  {
                    "name": "test_results.viewport_accessible",
                    "key": "viewport_accessible",
                    "value": "Viewport staat correct zoomen en schalen toe. Huidige viewport: width=device-width, initial-scale=1",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Axe Toegankelijkheid Test",
            "description": "Voert een uitgebreide toegankelijkheidsaudit uit met behulp van axe-core.",
            "result": [
              {
                "success": true,
                "message": "Geen toegankelijkheidsovertredingen gevonden",
                "findings": [
                  {
                    "name": "Axe success",
                    "key": "axe_success",
                    "value": "De pagina is geslaagd voor alle toegankelijkheidstests.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "seo",
        "tests": [
          {
            "name": "Meta Beschrijving Test",
            "description": "Controleert of de website een geldige meta beschrijving heeft.",
            "result": [
              {
                "success": true,
                "message": "De meta description is geldig.",
                "findings": [
                  {
                    "name": "test_results.meta_description_valid",
                    "key": "meta_description_valid",
                    "value": "De meta description is aanwezig en heeft een geldige lengte van 120 karakters.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Meta Titel Test",
            "description": "Controleert of de website een geldige titel tag heeft met een passende lengte.",
            "result": [
              {
                "success": true,
                "message": "De title is geldig.",
                "findings": [
                  {
                    "name": "Title valid",
                    "key": "title_valid",
                    "value": "De title is aanwezig en heeft een geldige lengte van 56 karakters. Title inhoud: \"Nakiche Koi Vijverartikelen en méér! Alles onder één dak\"",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Meta Test",
            "description": "Controleert of de webpagina een geldige robots meta tag implementatie heeft.",
            "result": [
              {
                "success": true,
                "message": "Robots meta tag is geldig.",
                "findings": [
                  {
                    "name": "Valid robots",
                    "key": "valid_robots",
                    "value": "De robots meta tag is aanwezig en geldig met inhoud: \"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1\"",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open Graph Meta Test",
            "description": "Controleert of de webpagina alle vereiste Open Graph meta tags (og:title, og:description, og:image, og:url) heeft met geldige inhoud.",
            "result": [
              {
                "success": true,
                "message": "Pagina heeft alle vereiste Open Graph tags",
                "findings": [
                  {
                    "name": "test_results.og_tags_valid",
                    "key": "og_tags_valid",
                    "value": "Alle vereiste Open Graph tags zijn aanwezig en hebben inhoud: og:title, og:description, og:url, og:image",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Koppen Structuur Test",
            "description": "Controleert of de webpagina een goede hiërarchie van koppen (h1-h6) heeft met correcte volgorde en structuur.",
            "result": [
              {
                "success": true,
                "message": "Kopregel structuur is geldig.",
                "findings": [
                  {
                    "name": "Heading structure valid",
                    "key": "heading_structure_valid",
                    "value": "De pagina heeft een geldige kopregel structuur met juiste hiërarchie.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTML Taal Test",
            "description": "Controleert of de website een geldig HTML lang attribuut heeft.",
            "result": [
              {
                "success": true,
                "message": "Het lang attribuut is geldig.",
                "findings": [
                  {
                    "name": "Lang attribute valid",
                    "key": "lang_attribute_valid",
                    "value": "Het lang attribuut is aanwezig en heeft een geldige waarde: 'nl-NL'.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Link Test",
            "description": "Controleert op gebroken interne links op de webpagina.",
            "result": [
              {
                "success": false,
                "message": null,
                "findings": []
              }
            ]
          },
          {
            "name": "Afbeeldingen test",
            "description": "Controleert op gebroken afbeeldingen op de webpagina.",
            "result": [
              {
                "success": true,
                "message": "Alle afbeeldingen zijn geldig.",
                "findings": [
                  {
                    "name": "Images valid",
                    "key": "images_valid",
                    "value": "Alle afbeeldingen op de pagina zijn bereikbaar.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Sitemap XML Test",
            "description": "Valideert de toegankelijkheid, structuur en URL-geldigheid van sitemap.xml.",
            "result": [
              {
                "success": true,
                "message": "Sitemap.xml is geldig en correct geconfigureerd.",
                "findings": [
                  {
                    "name": "Sitemap valid",
                    "key": "sitemap_valid",
                    "value": "Het sitemap.xml bestand is geldig, toegankelijk en bevat correct geformatteerde URLs.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Test",
            "description": "Controleert de toegankelijkheid van robots.txt en valideert de vereiste richtlijnen.",
            "result": [
              {
                "success": true,
                "message": "robots.txt is geldig en correct geconfigureerd.",
                "findings": [
                  {
                    "name": "Robots valid",
                    "key": "robots_valid",
                    "value": "Het robots.txt bestand is geldig en bevat alle vereiste instructies.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Gestructureerde Data Test",
            "description": "Valideert JSON-LD gestructureerde data-implementatie en vereiste eigenschappen voor veelvoorkomende schema's.",
            "result": [
              {
                "success": true,
                "message": "Geen gestructureerde data gevonden.",
                "findings": [
                  {
                    "name": "No structured data",
                    "key": "no_structured_data",
                    "value": "Geen Schema.org gestructureerde data (JSON-LD) gevonden op de pagina. Dit is optioneel maar kan SEO verbeteren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "security",
        "tests": [
          {
            "name": "Onveilige Bronnen Test",
            "description": "Controleert op bronnen die worden geladen via onveilige HTTP op HTTPS-pagina's.",
            "result": [
              {
                "success": false,
                "message": "Bronnen gevonden die via onveilige HTTP geladen worden.",
                "findings": [
                  {
                    "name": "Insecure resources",
                    "key": "insecure_resources",
                    "value": "2 bronnen gevonden die via onveilige HTTP geladen worden:\n\nType: link\nURL: http://gmpg.org/xfn/11\nElement: <link rel=\"profile\" href=\"http://gmpg.org/xfn/11\" />\n\nType: link\nURL: http://fonts.googleapis.com\nElement: <link href=\"http://fonts.googleapis.com\" rel=\"preconnect\" />",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open bestanden Test",
            "description": "Controleert op publiek toegankelijke gevoelige bestanden zoals .env, .git/config en andere configuratiebestanden.",
            "result": [
              {
                "success": true,
                "message": "Alle gevoelige bestanden zijn correct beveiligd.",
                "findings": [
                  {
                    "name": "test_results.sensitive_file_secure",
                    "key": "sensitive_file_secure",
                    "value": "Alle gevoelige bestanden zijn correct beveiligd met juiste HTTP statuscodes.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTTPS Test",
            "description": "Verifieert de juiste HTTPS-handhaving, inclusief omleidingen en eindpunt-toegankelijkheid.",
            "result": [
              {
                "success": true,
                "message": "HTTPS handhaving is correct geconfigureerd.",
                "findings": [
                  {
                    "name": "test_results.https_valid",
                    "key": "https_valid",
                    "value": "De website handhaaft HTTPS correct met geldige omleidingen en een werkend HTTPS eindpunt.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Beveiligingsheaders Test",
            "description": "Controleert op essentiële beveiligingsheaders, waaronder Content-Security-Policy, X-Frame-Options, X-XSS-Protection en HSTS.",
            "result": [
              {
                "success": false,
                "message": "Ontbrekende vereiste beveiligingsheaders.",
                "findings": [
                  {
                    "name": "Security headers missing",
                    "key": "security_headers_missing",
                    "value": "De volgende beveiligingsheaders ontbreken: Content-Security-Policy, X-Frame-Options, X-XSS-Protection",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "SSL Certificaat Test",
            "description": "Valideert de geldigheid van het SSL-certificaat, vervaldatum, domeinbereik en uitgeversinformatie.",
            "result": [
              {
                "success": true,
                "message": "SSL certificaat is geldig.",
                "findings": [
                  {
                    "name": "SSL valid",
                    "key": "ssl_valid",
                    "value": "SSL certificaat uitgegeven door Let's Encrypt is geldig en verloopt over 67 dagen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "summary": null,
    "screenshot": "https://quickscan.krafters.nl/storage/screenshots/01k3wxxpx5yyn84vkhxyyjxdxt.png",
    "created_at": "2025-08-30T07:26:28.000000Z",
    "updated_at": "2025-08-30T07:26:44.000000Z"
  },
  {
    "id": "01k476wt8g7nb1h7v40c634khb",
    "url": "https://www.kinto.nl/nl/",
    "name": "Wouter",
    "email": "w.vankemenade@scherponline.nl",
    "phone": null,
    "results": [
      {
        "category": "performance",
        "tests": [
          {
            "name": "Lighthouse prestatie test",
            "description": "Voert een uitgebreide Lighthouse-audit uit die prestaties, toegankelijkheid, best practices, SEO en PWA omvat.",
            "result": [
              {
                "success": true,
                "message": "Lighthouse test succesvol voltooid.",
                "findings": [
                  {
                    "name": "Lighthouse performance",
                    "key": "lighthouse_performance",
                    "value": "Score: 95%",
                    "numeric_value": "95.0000"
                  }
                ]
              }
            ]
          },
          {
            "name": "Kritieke Bronnen Laadtest",
            "description": "Controleert op resource hints, render-blokkerende bronnen, TTFB en kritieke CSS-implementatie.",
            "result": [
              {
                "success": false,
                "message": "Render-blokkerende bronnen gedetecteerd.",
                "findings": [
                  {
                    "name": "test_results.render_blocking_resources",
                    "key": "render_blocking_resources",
                    "value": "2 render-blokkerende bronnen gevonden. Overweeg async/defer te gebruiken voor scripts en preload voor kritieke CSS.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "accessibility",
        "tests": [
          {
            "name": "Toegankelijke afbeeldingen Test",
            "description": "Controleert of alle afbeeldingen de juiste toegankelijkheidsattributen hebben (alt-tekst of decoratieve markeringen).",
            "result": [
              {
                "success": false,
                "message": "Afbeeldingen gevonden zonder juiste toegankelijkheidsattributen.",
                "findings": [
                  {
                    "name": "Inaccessible images",
                    "key": "inaccessible_images",
                    "value": "https://www.facebook.com/tr?id=1883389128790968&amp;ev=PageView&amp;noscript=1",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Skip link Test",
            "description": "Controleert op toegankelijkheids-skiplinks die toetsenbordgebruikers in staat stellen om navigatie over te slaan en direct naar de hoofdinhoud te gaan.",
            "result": [
              {
                "success": true,
                "message": "Skip links gevonden.",
                "findings": [
                  {
                    "name": "Valid skip links",
                    "key": "valid_skip_links",
                    "value": "Skip links gedetecteerd op de pagina. Dit verbetert de toegankelijkheid voor toetsenbordgebruikers.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "ARIA Attributen Test",
            "description": "Valideert de juiste implementatie van ARIA-attributen voor verbeterde ondersteuning van schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Alle ARIA attributen zijn geldig.",
                "findings": [
                  {
                    "name": "ARIA valid",
                    "key": "aria_valid",
                    "value": "Alle 18 elementen met ARIA attributen zijn correct geconfigureerd.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Focus Beheer Test",
            "description": "Controleert op goed focusbeheer, inclusief zichtbare focusindicatoren en logische tabvolgorde.",
            "result": [
              {
                "success": false,
                "message": "Focus beheer problemen gevonden.",
                "findings": [
                  {
                    "name": "Hidden focusable elements",
                    "key": "hidden_focusable_elements",
                    "value": "De pagina bevat verborgen elementen die nog steeds focusbaar zijn",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke formulieren Test",
            "description": "Zorgt ervoor dat alle formulieren toegankelijk zijn met de juiste labels, foutafhandeling en ARIA-attributen.",
            "result": [
              {
                "success": true,
                "message": "Alle formulieren zijn toegankelijk.",
                "findings": [
                  {
                    "name": "Forms accessible",
                    "key": "forms_accessible",
                    "value": "Alle 1 formulieren met 17 besturingselementen zijn goed toegankelijk.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Lijst Structuur Test",
            "description": "Verifieert het juiste gebruik van lijstelementen (ul, ol, dl) voor betere toegankelijkheid en ondersteuning van schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Alle lijsten hebben een juiste structuur.",
                "findings": [
                  {
                    "name": "Lists structure valid",
                    "key": "lists_structure_valid",
                    "value": "Alle 7 lijsten hebben een juiste semantische structuur.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke media Test",
            "description": "Verifieert dat audio- en video-inhoud voorzien is van de juiste ondertiteling, transcripties en audiobeschrijvingen.",
            "result": [
              {
                "success": true,
                "message": "Geen media-elementen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No media elements",
                    "key": "no_media_elements",
                    "value": "De pagina bevat geen media-elementen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke tabellen Test",
            "description": "Controleert of tabellen de juiste headers, bijschriften en ARIA-attributen hebben voor schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Geen tabellen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No tables",
                    "key": "no_tables",
                    "value": "De pagina bevat geen tabellen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Viewport en Zoom Test",
            "description": "Verifieert dat de viewport meta tag het juiste zoomen en schalen mogelijk maakt voor toegankelijkheid.",
            "result": [
              {
                "success": true,
                "message": "Viewport configuratie is toegankelijk.",
                "findings": [
                  {
                    "name": "test_results.viewport_accessible",
                    "key": "viewport_accessible",
                    "value": "Viewport staat correct zoomen en schalen toe. Huidige viewport: width=device-width, initial-scale=1",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Axe Toegankelijkheid Test",
            "description": "Voert een uitgebreide toegankelijkheidsaudit uit met behulp van axe-core.",
            "result": [
              {
                "success": true,
                "message": "Geen toegankelijkheidsovertredingen gevonden",
                "findings": [
                  {
                    "name": "Axe success",
                    "key": "axe_success",
                    "value": "De pagina is geslaagd voor alle toegankelijkheidstests.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "seo",
        "tests": [
          {
            "name": "Meta Beschrijving Test",
            "description": "Controleert of de website een geldige meta beschrijving heeft.",
            "result": [
              {
                "success": true,
                "message": "De meta description is geldig.",
                "findings": [
                  {
                    "name": "test_results.meta_description_valid",
                    "key": "meta_description_valid",
                    "value": "De meta description is aanwezig en heeft een geldige lengte van 148 karakters.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Meta Titel Test",
            "description": "Controleert of de website een geldige titel tag heeft met een passende lengte.",
            "result": [
              {
                "success": true,
                "message": "De title is geldig.",
                "findings": [
                  {
                    "name": "Title valid",
                    "key": "title_valid",
                    "value": "De title is aanwezig en heeft een geldige lengte van 50 karakters. Title inhoud: \"Ontdek Zorgeloos Autorijden met KINTO Flex | KINTO\"",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Meta Test",
            "description": "Controleert of de webpagina een geldige robots meta tag implementatie heeft.",
            "result": [
              {
                "success": true,
                "message": "Robots meta tag is geldig.",
                "findings": [
                  {
                    "name": "Valid robots",
                    "key": "valid_robots",
                    "value": "De robots meta tag is aanwezig en geldig met inhoud: \"max-snippet:-1,max-image-preview:large,max-video-preview:-1\"",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open Graph Meta Test",
            "description": "Controleert of de webpagina alle vereiste Open Graph meta tags (og:title, og:description, og:image, og:url) heeft met geldige inhoud.",
            "result": [
              {
                "success": true,
                "message": "Pagina heeft alle vereiste Open Graph tags",
                "findings": [
                  {
                    "name": "test_results.og_tags_valid",
                    "key": "og_tags_valid",
                    "value": "Alle vereiste Open Graph tags zijn aanwezig en hebben inhoud: og:title, og:description, og:url, og:image",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Koppen Structuur Test",
            "description": "Controleert of de webpagina een goede hiërarchie van koppen (h1-h6) heeft met correcte volgorde en structuur.",
            "result": [
              {
                "success": true,
                "message": "Kopregel structuur is geldig.",
                "findings": [
                  {
                    "name": "Heading structure valid",
                    "key": "heading_structure_valid",
                    "value": "De pagina heeft een geldige kopregel structuur met juiste hiërarchie.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTML Taal Test",
            "description": "Controleert of de website een geldig HTML lang attribuut heeft.",
            "result": [
              {
                "success": true,
                "message": "Het lang attribuut is geldig.",
                "findings": [
                  {
                    "name": "Lang attribute valid",
                    "key": "lang_attribute_valid",
                    "value": "Het lang attribuut is aanwezig en heeft een geldige waarde: 'nl-NL'.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Link Test",
            "description": "Controleert op gebroken interne links op de webpagina.",
            "result": [
              {
                "success": true,
                "message": "Alle interne links zijn geldig.",
                "findings": [
                  {
                    "name": "Links valid",
                    "key": "links_valid",
                    "value": "Alle interne links werken correct.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Afbeeldingen test",
            "description": "Controleert op gebroken afbeeldingen op de webpagina.",
            "result": [
              {
                "success": true,
                "message": "Alle afbeeldingen zijn geldig.",
                "findings": [
                  {
                    "name": "Images valid",
                    "key": "images_valid",
                    "value": "Alle afbeeldingen op de pagina zijn bereikbaar.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Sitemap XML Test",
            "description": "Valideert de toegankelijkheid, structuur en URL-geldigheid van sitemap.xml.",
            "result": [
              {
                "success": true,
                "message": "Sitemap.xml is geldig en correct geconfigureerd.",
                "findings": [
                  {
                    "name": "Sitemap valid",
                    "key": "sitemap_valid",
                    "value": "Het sitemap.xml bestand is geldig, toegankelijk en bevat correct geformatteerde URLs.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Test",
            "description": "Controleert de toegankelijkheid van robots.txt en valideert de vereiste richtlijnen.",
            "result": [
              {
                "success": false,
                "message": "robots.txt niet gevonden of niet toegankelijk.",
                "findings": [
                  {
                    "name": "Robots not found",
                    "key": "robots_not_found",
                    "value": "Het robots.txt bestand is niet gevonden of niet toegankelijk.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Gestructureerde Data Test",
            "description": "Valideert JSON-LD gestructureerde data-implementatie en vereiste eigenschappen voor veelvoorkomende schema's.",
            "result": [
              {
                "success": true,
                "message": "Geen gestructureerde data gevonden.",
                "findings": [
                  {
                    "name": "No structured data",
                    "key": "no_structured_data",
                    "value": "Geen Schema.org gestructureerde data (JSON-LD) gevonden op de pagina. Dit is optioneel maar kan SEO verbeteren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "security",
        "tests": [
          {
            "name": "Onveilige Bronnen Test",
            "description": "Controleert op bronnen die worden geladen via onveilige HTTP op HTTPS-pagina's.",
            "result": [
              {
                "success": true,
                "message": "Alle bronnen worden veilig geladen.",
                "findings": [
                  {
                    "name": "test_results.secure_resources",
                    "key": "secure_resources",
                    "value": "Alle bronnen op de pagina worden geladen via HTTPS.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open bestanden Test",
            "description": "Controleert op publiek toegankelijke gevoelige bestanden zoals .env, .git/config en andere configuratiebestanden.",
            "result": [
              {
                "success": true,
                "message": "Alle gevoelige bestanden zijn correct beveiligd.",
                "findings": [
                  {
                    "name": "test_results.sensitive_file_secure",
                    "key": "sensitive_file_secure",
                    "value": "Alle gevoelige bestanden zijn correct beveiligd met juiste HTTP statuscodes.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTTPS Test",
            "description": "Verifieert de juiste HTTPS-handhaving, inclusief omleidingen en eindpunt-toegankelijkheid.",
            "result": [
              {
                "success": true,
                "message": "HTTPS handhaving is correct geconfigureerd.",
                "findings": [
                  {
                    "name": "test_results.https_valid",
                    "key": "https_valid",
                    "value": "De website handhaaft HTTPS correct met geldige omleidingen en een werkend HTTPS eindpunt.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Beveiligingsheaders Test",
            "description": "Controleert op essentiële beveiligingsheaders, waaronder Content-Security-Policy, X-Frame-Options, X-XSS-Protection en HSTS.",
            "result": [
              {
                "success": false,
                "message": "Ontbrekende vereiste beveiligingsheaders.",
                "findings": [
                  {
                    "name": "Security headers missing",
                    "key": "security_headers_missing",
                    "value": "De volgende beveiligingsheaders ontbreken: Content-Security-Policy",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "SSL Certificaat Test",
            "description": "Valideert de geldigheid van het SSL-certificaat, vervaldatum, domeinbereik en uitgeversinformatie.",
            "result": [
              {
                "success": true,
                "message": "SSL certificaat is geldig.",
                "findings": [
                  {
                    "name": "SSL valid",
                    "key": "ssl_valid",
                    "value": "SSL certificaat uitgegeven door DigiCert, Inc. is geldig en verloopt over 150 dagen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "summary": [
      {
        "icon": "material-symbols:thumb-up-outline-rounded",
        "text": "De website heeft een sterke basis met veel geslaagde tests.\nEr is ruimte voor verdere optimalisatie."
      },
      {
        "icon": "material-symbols:timer-outline-rounded",
        "text": "De prestatie test is geslaagd, maar er zijn render-blokkerende bronnen waardoor de laadtijd kan verbeteren.\nSEO is over het algemeen goed met geldige metatags en structuur."
      },
      {
        "icon": "material-symbols:accessibility-new-rounded",
        "text": "Toegankelijkheid kan verbeteren met correct beheer van focus en afbeeldingen.\nDe rest van de toegankelijkheidstests zijn succesvol."
      },
      {
        "icon": "material-symbols:warning-outline-rounded",
        "text": "Er missen beveiligingsheaders die risico's kunnen vormen.\nHet is belangrijk om deze aan te vullen voor betere beveiliging."
      },
      {
        "icon": "material-symbols:sentiment-excited-outline-rounded",
        "text": "Laten we samen kijken hoe we dit kunnen verbeteren.\nNeem contact met ons op voor een gesprek."
      }
    ],
    "screenshot": "https://quickscan.krafters.nl/storage/screenshots/01k476wt8g7nb1h7v40c634khb.png",
    "created_at": "2025-09-03T07:15:40.000000Z",
    "updated_at": "2025-09-03T07:17:35.000000Z"
  },
  {
    "id": "01k4ch91anpsknh4fbejnrnraf",
    "url": "https://www.bibliotheekzuidkennemerland.nl/",
    "name": "Elma",
    "email": "elma.blom@bibliotheekzuidkennemerland.nl",
    "phone": null,
    "results": [
      {
        "category": "performance",
        "tests": [
          {
            "name": "Lighthouse prestatie test",
            "description": "Voert een uitgebreide Lighthouse-audit uit die prestaties, toegankelijkheid, best practices, SEO en PWA omvat.",
            "result": [
              {
                "success": true,
                "message": "Lighthouse test succesvol voltooid.",
                "findings": [
                  {
                    "name": "Lighthouse performance",
                    "key": "lighthouse_performance",
                    "value": "Score: 98%",
                    "numeric_value": "98.0000"
                  }
                ]
              }
            ]
          },
          {
            "name": "Kritieke Bronnen Laadtest",
            "description": "Controleert op resource hints, render-blokkerende bronnen, TTFB en kritieke CSS-implementatie.",
            "result": [
              {
                "success": false,
                "message": "Geen resource hints gevonden.",
                "findings": [
                  {
                    "name": "No resource hints",
                    "key": "no_resource_hints",
                    "value": "Geen resource hints (preload, prefetch, dns-prefetch) gevonden in de pagina.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "accessibility",
        "tests": [
          {
            "name": "Toegankelijke afbeeldingen Test",
            "description": "Controleert of alle afbeeldingen de juiste toegankelijkheidsattributen hebben (alt-tekst of decoratieve markeringen).",
            "result": [
              {
                "success": true,
                "message": "Alle afbeeldingen hebben juiste toegankelijkheidsattributen.",
                "findings": [
                  {
                    "name": "Accessible images",
                    "key": "accessible_images",
                    "value": "Alle 71 afbeeldingen hebben juiste toegankelijkheidsattributen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Skip link Test",
            "description": "Controleert op toegankelijkheids-skiplinks die toetsenbordgebruikers in staat stellen om navigatie over te slaan en direct naar de hoofdinhoud te gaan.",
            "result": [
              {
                "success": true,
                "message": "Skip links gevonden.",
                "findings": [
                  {
                    "name": "Valid skip links",
                    "key": "valid_skip_links",
                    "value": "Skip links gedetecteerd op de pagina. Dit verbetert de toegankelijkheid voor toetsenbordgebruikers.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "ARIA Attributen Test",
            "description": "Valideert de juiste implementatie van ARIA-attributen voor verbeterde ondersteuning van schermlezers.",
            "result": [
              {
                "success": false,
                "message": "ARIA toegankelijkheidsproblemen gevonden.",
                "findings": [
                  {
                    "name": "Missing landmarks",
                    "key": "missing_landmarks",
                    "value": "Essentiële landmarks ontbreken: Geen hoofd-landmark gevonden (gebruik <main> element of role=\"main\")",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Focus Beheer Test",
            "description": "Controleert op goed focusbeheer, inclusief zichtbare focusindicatoren en logische tabvolgorde.",
            "result": [
              {
                "success": false,
                "message": "Focus beheer problemen gevonden.",
                "findings": [
                  {
                    "name": "Hidden focusable elements",
                    "key": "hidden_focusable_elements",
                    "value": "De pagina bevat verborgen elementen die nog steeds focusbaar zijn",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke formulieren Test",
            "description": "Zorgt ervoor dat alle formulieren toegankelijk zijn met de juiste labels, foutafhandeling en ARIA-attributen.",
            "result": [
              {
                "success": false,
                "message": "Formulier toegankelijkheidsproblemen gevonden.",
                "findings": [
                  {
                    "name": "Missing fieldsets",
                    "key": "missing_fieldsets",
                    "value": "Formulier besturingsgroepen zonder fieldsets gevonden.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Lijst Structuur Test",
            "description": "Verifieert het juiste gebruik van lijstelementen (ul, ol, dl) voor betere toegankelijkheid en ondersteuning van schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Alle lijsten hebben een juiste structuur.",
                "findings": [
                  {
                    "name": "Lists structure valid",
                    "key": "lists_structure_valid",
                    "value": "Alle 15 lijsten hebben een juiste semantische structuur.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke media Test",
            "description": "Verifieert dat audio- en video-inhoud voorzien is van de juiste ondertiteling, transcripties en audiobeschrijvingen.",
            "result": [
              {
                "success": true,
                "message": "Geen media-elementen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No media elements",
                    "key": "no_media_elements",
                    "value": "De pagina bevat geen media-elementen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke tabellen Test",
            "description": "Controleert of tabellen de juiste headers, bijschriften en ARIA-attributen hebben voor schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Geen tabellen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No tables",
                    "key": "no_tables",
                    "value": "De pagina bevat geen tabellen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Viewport en Zoom Test",
            "description": "Verifieert dat de viewport meta tag het juiste zoomen en schalen mogelijk maakt voor toegankelijkheid.",
            "result": [
              {
                "success": true,
                "message": "Viewport configuratie is toegankelijk.",
                "findings": [
                  {
                    "name": "test_results.viewport_accessible",
                    "key": "viewport_accessible",
                    "value": "Viewport staat correct zoomen en schalen toe. Huidige viewport: width=device-width, minimum-scale=1.0, initial-scale=1.0",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Axe Toegankelijkheid Test",
            "description": "Voert een uitgebreide toegankelijkheidsaudit uit met behulp van axe-core.",
            "result": [
              {
                "success": true,
                "message": "Geen toegankelijkheidsovertredingen gevonden",
                "findings": [
                  {
                    "name": "Axe success",
                    "key": "axe_success",
                    "value": "De pagina is geslaagd voor alle toegankelijkheidstests.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "seo",
        "tests": [
          {
            "name": "Meta Beschrijving Test",
            "description": "Controleert of de website een geldige meta beschrijving heeft.",
            "result": [
              {
                "success": true,
                "message": "De meta description is geldig.",
                "findings": [
                  {
                    "name": "test_results.meta_description_valid",
                    "key": "meta_description_valid",
                    "value": "De meta description is aanwezig en heeft een geldige lengte van 143 karakters.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Meta Titel Test",
            "description": "Controleert of de website een geldige titel tag heeft met een passende lengte.",
            "result": [
              {
                "success": true,
                "message": "De title is geldig.",
                "findings": [
                  {
                    "name": "Title valid",
                    "key": "title_valid",
                    "value": "De title is aanwezig en heeft een geldige lengte van 50 karakters. Title inhoud: \"de Bibliotheek Zuid-Kennemerland - Meer dan boeken\"",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Meta Test",
            "description": "Controleert of de webpagina een geldige robots meta tag implementatie heeft.",
            "result": [
              {
                "success": true,
                "message": "Geen robots meta tag gevonden.",
                "findings": [
                  {
                    "name": "No robots tag",
                    "key": "no_robots_tag",
                    "value": "Geen robots meta tag aanwezig, wat geldig is omdat het zoekmachines toestaat de pagina te indexeren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open Graph Meta Test",
            "description": "Controleert of de webpagina alle vereiste Open Graph meta tags (og:title, og:description, og:image, og:url) heeft met geldige inhoud.",
            "result": [
              {
                "success": false,
                "message": "Ontbrekende tags: og:title, og:description, og:image, og:url",
                "findings": [
                  {
                    "name": "OG tags missing",
                    "key": "og_tags_missing",
                    "value": "De volgende vereiste Open Graph tags ontbreken: og:title, og:description, og:image, og:url",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Koppen Structuur Test",
            "description": "Controleert of de webpagina een goede hiërarchie van koppen (h1-h6) heeft met correcte volgorde en structuur.",
            "result": [
              {
                "success": true,
                "message": "Kopregel structuur is geldig.",
                "findings": [
                  {
                    "name": "Heading structure valid",
                    "key": "heading_structure_valid",
                    "value": "De pagina heeft een geldige kopregel structuur met juiste hiërarchie.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTML Taal Test",
            "description": "Controleert of de website een geldig HTML lang attribuut heeft.",
            "result": [
              {
                "success": true,
                "message": "Het lang attribuut is geldig.",
                "findings": [
                  {
                    "name": "Lang attribute valid",
                    "key": "lang_attribute_valid",
                    "value": "Het lang attribuut is aanwezig en heeft een geldige waarde: 'nl'.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Link Test",
            "description": "Controleert op gebroken interne links op de webpagina.",
            "result": [
              {
                "success": true,
                "message": "Alle interne links zijn geldig.",
                "findings": [
                  {
                    "name": "Links valid",
                    "key": "links_valid",
                    "value": "Alle interne links werken correct.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Afbeeldingen test",
            "description": "Controleert op gebroken afbeeldingen op de webpagina.",
            "result": [
              {
                "success": false,
                "message": "Kapotte afbeeldingen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "Broken image",
                    "key": "broken_image",
                    "value": "Kapotte afbeelding gevonden: URL: https://www.bibliotheekzuidkennemerland.nl/dam/beeldmateriaal/luisterboeken-man-homepage-16x9.png.rendition.792.1267.png, Alt: , Status: N/A, Fout: N/A",
                    "numeric_value": null
                  },
                  {
                    "name": "Broken image",
                    "key": "broken_image",
                    "value": "Kapotte afbeelding gevonden: URL: https://www.bibliotheekzuidkennemerland.nl/dam/beeldmateriaal/online-cursussen-homepage-16x9.png.rendition.792.1267.png, Alt: , Status: N/A, Fout: N/A",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Sitemap XML Test",
            "description": "Valideert de toegankelijkheid, structuur en URL-geldigheid van sitemap.xml.",
            "result": [
              {
                "success": false,
                "message": "Sitemap.xml niet gevonden of niet toegankelijk.",
                "findings": [
                  {
                    "name": "Sitemap not found",
                    "key": "sitemap_not_found",
                    "value": "Het sitemap.xml bestand is niet gevonden of niet toegankelijk.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Test",
            "description": "Controleert de toegankelijkheid van robots.txt en valideert de vereiste richtlijnen.",
            "result": [
              {
                "success": false,
                "message": "robots.txt mist Sitemap instructie.",
                "findings": [
                  {
                    "name": "Robots missing sitemap",
                    "key": "robots_missing_sitemap",
                    "value": "Het robots.txt bestand bevat geen Sitemap instructie.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Gestructureerde Data Test",
            "description": "Valideert JSON-LD gestructureerde data-implementatie en vereiste eigenschappen voor veelvoorkomende schema's.",
            "result": [
              {
                "success": true,
                "message": "Geen gestructureerde data gevonden.",
                "findings": [
                  {
                    "name": "No structured data",
                    "key": "no_structured_data",
                    "value": "Geen Schema.org gestructureerde data (JSON-LD) gevonden op de pagina. Dit is optioneel maar kan SEO verbeteren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "security",
        "tests": [
          {
            "name": "Onveilige Bronnen Test",
            "description": "Controleert op bronnen die worden geladen via onveilige HTTP op HTTPS-pagina's.",
            "result": [
              {
                "success": true,
                "message": "Alle bronnen worden veilig geladen.",
                "findings": [
                  {
                    "name": "test_results.secure_resources",
                    "key": "secure_resources",
                    "value": "Alle bronnen op de pagina worden geladen via HTTPS.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open bestanden Test",
            "description": "Controleert op publiek toegankelijke gevoelige bestanden zoals .env, .git/config en andere configuratiebestanden.",
            "result": [
              {
                "success": false,
                "message": "Gevoelige bestanden zijn publiek toegankelijk.",
                "findings": [
                  {
                    "name": "Sensitive file exposed",
                    "key": "sensitive_file_exposed",
                    "value": "De volgende gevoelige bestanden zijn publiek toegankelijk: .htaccess",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTTPS Test",
            "description": "Verifieert de juiste HTTPS-handhaving, inclusief omleidingen en eindpunt-toegankelijkheid.",
            "result": [
              {
                "success": true,
                "message": "HTTPS handhaving is correct geconfigureerd.",
                "findings": [
                  {
                    "name": "test_results.https_valid",
                    "key": "https_valid",
                    "value": "De website handhaaft HTTPS correct met geldige omleidingen en een werkend HTTPS eindpunt.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Beveiligingsheaders Test",
            "description": "Controleert op essentiële beveiligingsheaders, waaronder Content-Security-Policy, X-Frame-Options, X-XSS-Protection en HSTS.",
            "result": [
              {
                "success": false,
                "message": "Ontbrekende vereiste beveiligingsheaders.",
                "findings": [
                  {
                    "name": "Security headers missing",
                    "key": "security_headers_missing",
                    "value": "De volgende beveiligingsheaders ontbreken: Content-Security-Policy, X-XSS-Protection",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "SSL Certificaat Test",
            "description": "Valideert de geldigheid van het SSL-certificaat, vervaldatum, domeinbereik en uitgeversinformatie.",
            "result": [
              {
                "success": true,
                "message": "SSL certificaat is geldig.",
                "findings": [
                  {
                    "name": "SSL valid",
                    "key": "ssl_valid",
                    "value": "SSL certificaat uitgegeven door Let's Encrypt is geldig en verloopt over 83 dagen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "summary": [
      {
        "icon": "material-symbols:warning-outline-rounded",
        "text": "Er is veel ruimte voor verbetering op deze website.\nHet verbeteren van bepaalde aspecten zal de algehele ervaring aanzienlijk versterken."
      },
      {
        "icon": "material-symbols:timer-outline-rounded",
        "text": "De prestatie van de site is sterk met een succesvolle Lighthouse test.\nSEO kan worden verbeterd door ontbrekende Open Graph tags en het oplossen van kapotte afbeeldingen."
      },
      {
        "icon": "material-symbols:accessibility-new-rounded",
        "text": "Hoewel enkele toegankelijkheidstests zijn geslaagd,\nzijn er nog ARIA attributen en formulierproblemen die aandacht vereisen."
      },
      {
        "icon": "material-symbols:warning-outline-rounded",
        "text": "Enkele beveiligingsrisico’s zoals open bestanden en ontbrekende beveiligingsheaders moeten worden aangepakt."
      },
      {
        "icon": "material-symbols:sentiment-excited-outline-rounded",
        "text": "We helpen graag verder met oplossingen voor deze uitdagingen.\nNeem contact met ons op voor een vrijblijvend gesprek."
      }
    ],
    "screenshot": "https://quickscan.krafters.nl/storage/screenshots/01k4ch91anpsknh4fbejnrnraf.png",
    "created_at": "2025-09-05T08:53:19.000000Z",
    "updated_at": "2025-09-05T08:57:59.000000Z"
  },
  {
    "id": "01k58n7h6kc0djnvarjm132y79",
    "url": "http://www.test.nl",
    "name": "test",
    "email": "test@gmail.com",
    "phone": null,
    "results": [
      {
        "category": "performance",
        "tests": [
          {
            "name": "Lighthouse prestatie test",
            "description": "Voert een uitgebreide Lighthouse-audit uit die prestaties, toegankelijkheid, best practices, SEO en PWA omvat.",
            "result": [
              {
                "success": false,
                "message": "Lighthouse audit uitvoeren mislukt.",
                "findings": [
                  {
                    "name": "Lighthouse error",
                    "key": "lighthouse_error",
                    "value": "PageSpeed API call mislukt: {\n  \"error\": {\n    \"code\": 400,\n    \"message\": \"Lighthouse returned error: NOT_HTML. The page provided is not HTML (served as MIME type text/plain).\",\n    \"errors\": [\n      {\n        \"message\": \"Lighthouse returned error: NOT_HTML. The page provided is not HTML (served as MIME type text/plain).\",\n        \"domain\": \"lighthouse\",\n        \"reason\": \"lighthouseUserError\"\n      }\n    ]\n  }\n}\n",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Kritieke Bronnen Laadtest",
            "description": "Controleert op resource hints, render-blokkerende bronnen, TTFB en kritieke CSS-implementatie.",
            "result": [
              {
                "success": false,
                "message": "Geen resource hints gevonden.",
                "findings": [
                  {
                    "name": "No resource hints",
                    "key": "no_resource_hints",
                    "value": "Geen resource hints (preload, prefetch, dns-prefetch) gevonden in de pagina.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "accessibility",
        "tests": [
          {
            "name": "Toegankelijke afbeeldingen Test",
            "description": "Controleert of alle afbeeldingen de juiste toegankelijkheidsattributen hebben (alt-tekst of decoratieve markeringen).",
            "result": [
              {
                "success": true,
                "message": "Geen afbeeldingen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No images",
                    "key": "no_images",
                    "value": "De pagina bevat geen afbeeldingen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Skip link Test",
            "description": "Controleert op toegankelijkheids-skiplinks die toetsenbordgebruikers in staat stellen om navigatie over te slaan en direct naar de hoofdinhoud te gaan.",
            "result": [
              {
                "success": false,
                "message": "Geen skip links gevonden.",
                "findings": [
                  {
                    "name": "No skip links",
                    "key": "no_skip_links",
                    "value": "Geen skip links gevonden. Overweeg het toevoegen van skip links om toegankelijkheid voor toetsenbordgebruikers te verbeteren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "ARIA Attributen Test",
            "description": "Valideert de juiste implementatie van ARIA-attributen voor verbeterde ondersteuning van schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Geen ARIA attributen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No ARIA elements",
                    "key": "no_aria_elements",
                    "value": "De pagina gebruikt geen ARIA attributen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Focus Beheer Test",
            "description": "Controleert op goed focusbeheer, inclusief zichtbare focusindicatoren en logische tabvolgorde.",
            "result": [
              {
                "success": true,
                "message": "Focus beheer is correct geïmplementeerd.",
                "findings": [
                  {
                    "name": "Focus management valid",
                    "key": "focus_management_valid",
                    "value": "Alle 2 focusbare elementen hebben correct focus beheer.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke formulieren Test",
            "description": "Zorgt ervoor dat alle formulieren toegankelijk zijn met de juiste labels, foutafhandeling en ARIA-attributen.",
            "result": [
              {
                "success": true,
                "message": "Geen formulieren gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No forms",
                    "key": "no_forms",
                    "value": "De pagina bevat geen formulieren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Lijst Structuur Test",
            "description": "Verifieert het juiste gebruik van lijstelementen (ul, ol, dl) voor betere toegankelijkheid en ondersteuning van schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Geen lijsten gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No lists",
                    "key": "no_lists",
                    "value": "De pagina bevat geen lijsten.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke media Test",
            "description": "Verifieert dat audio- en video-inhoud voorzien is van de juiste ondertiteling, transcripties en audiobeschrijvingen.",
            "result": [
              {
                "success": true,
                "message": "Geen media-elementen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No media elements",
                    "key": "no_media_elements",
                    "value": "De pagina bevat geen media-elementen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke tabellen Test",
            "description": "Controleert of tabellen de juiste headers, bijschriften en ARIA-attributen hebben voor schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Geen tabellen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No tables",
                    "key": "no_tables",
                    "value": "De pagina bevat geen tabellen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Viewport en Zoom Test",
            "description": "Verifieert dat de viewport meta tag het juiste zoomen en schalen mogelijk maakt voor toegankelijkheid.",
            "result": [
              {
                "success": false,
                "message": "Viewport toegankelijkheidsproblemen gevonden.",
                "findings": [
                  {
                    "name": "Max scale too low",
                    "key": "max_scale_too_low",
                    "value": "maximum-scale=1 is onder aanbevolen minimum van 2. Current viewport: width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Axe Toegankelijkheid Test",
            "description": "Voert een uitgebreide toegankelijkheidsaudit uit met behulp van axe-core.",
            "result": [
              {
                "success": true,
                "message": "Geen toegankelijkheidsovertredingen gevonden",
                "findings": [
                  {
                    "name": "Axe success",
                    "key": "axe_success",
                    "value": "De pagina is geslaagd voor alle toegankelijkheidstests.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "seo",
        "tests": [
          {
            "name": "Meta Beschrijving Test",
            "description": "Controleert of de website een geldige meta beschrijving heeft.",
            "result": [
              {
                "success": false,
                "message": "De meta description is te lang.",
                "findings": [
                  {
                    "name": "test_results.meta_description_too_long",
                    "key": "meta_description_too_long",
                    "value": "De meta description is 204 karakters lang, wat meer is dan de aanbevolen limiet van 160 karakters.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Meta Titel Test",
            "description": "Controleert of de website een geldige titel tag heeft met een passende lengte.",
            "result": [
              {
                "success": true,
                "message": "De title is geldig.",
                "findings": [
                  {
                    "name": "Title valid",
                    "key": "title_valid",
                    "value": "De title is aanwezig en heeft een geldige lengte van 49 karakters. Title inhoud: \"test.nl&nbsp;-&nbsp;Informationen zum Thema Test.\"",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Meta Test",
            "description": "Controleert of de webpagina een geldige robots meta tag implementatie heeft.",
            "result": [
              {
                "success": true,
                "message": "Geen robots meta tag gevonden.",
                "findings": [
                  {
                    "name": "No robots tag",
                    "key": "no_robots_tag",
                    "value": "Geen robots meta tag aanwezig, wat geldig is omdat het zoekmachines toestaat de pagina te indexeren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open Graph Meta Test",
            "description": "Controleert of de webpagina alle vereiste Open Graph meta tags (og:title, og:description, og:image, og:url) heeft met geldige inhoud.",
            "result": [
              {
                "success": false,
                "message": "Ontbrekende tags: og:title, og:description, og:image, og:url",
                "findings": [
                  {
                    "name": "OG tags missing",
                    "key": "og_tags_missing",
                    "value": "De volgende vereiste Open Graph tags ontbreken: og:title, og:description, og:image, og:url",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Koppen Structuur Test",
            "description": "Controleert of de webpagina een goede hiërarchie van koppen (h1-h6) heeft met correcte volgorde en structuur.",
            "result": [
              {
                "success": true,
                "message": "Kopregel structuur is geldig.",
                "findings": [
                  {
                    "name": "Heading structure valid",
                    "key": "heading_structure_valid",
                    "value": "De pagina heeft een geldige kopregel structuur met juiste hiërarchie.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTML Taal Test",
            "description": "Controleert of de website een geldig HTML lang attribuut heeft.",
            "result": [
              {
                "success": true,
                "message": "Het lang attribuut is geldig.",
                "findings": [
                  {
                    "name": "Lang attribute valid",
                    "key": "lang_attribute_valid",
                    "value": "Het lang attribuut is aanwezig en heeft een geldige waarde: 'en'.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Link Test",
            "description": "Controleert op gebroken interne links op de webpagina.",
            "result": [
              {
                "success": true,
                "message": "Alle interne links zijn geldig.",
                "findings": [
                  {
                    "name": "Links valid",
                    "key": "links_valid",
                    "value": "Alle interne links werken correct.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Afbeeldingen test",
            "description": "Controleert op gebroken afbeeldingen op de webpagina.",
            "result": [
              {
                "success": true,
                "message": "Alle afbeeldingen zijn geldig.",
                "findings": [
                  {
                    "name": "Images valid",
                    "key": "images_valid",
                    "value": "Alle afbeeldingen op de pagina zijn bereikbaar.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Sitemap XML Test",
            "description": "Valideert de toegankelijkheid, structuur en URL-geldigheid van sitemap.xml.",
            "result": [
              {
                "success": false,
                "message": "Sitemap.xml niet gevonden of niet toegankelijk.",
                "findings": [
                  {
                    "name": "Sitemap not found",
                    "key": "sitemap_not_found",
                    "value": "Het sitemap.xml bestand is niet gevonden of niet toegankelijk.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Test",
            "description": "Controleert de toegankelijkheid van robots.txt en valideert de vereiste richtlijnen.",
            "result": [
              {
                "success": false,
                "message": "robots.txt niet gevonden of niet toegankelijk.",
                "findings": [
                  {
                    "name": "Robots not found",
                    "key": "robots_not_found",
                    "value": "Het robots.txt bestand is niet gevonden of niet toegankelijk.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Gestructureerde Data Test",
            "description": "Valideert JSON-LD gestructureerde data-implementatie en vereiste eigenschappen voor veelvoorkomende schema's.",
            "result": [
              {
                "success": true,
                "message": "Geen gestructureerde data gevonden.",
                "findings": [
                  {
                    "name": "No structured data",
                    "key": "no_structured_data",
                    "value": "Geen Schema.org gestructureerde data (JSON-LD) gevonden op de pagina. Dit is optioneel maar kan SEO verbeteren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "security",
        "tests": [
          {
            "name": "Onveilige Bronnen Test",
            "description": "Controleert op bronnen die worden geladen via onveilige HTTP op HTTPS-pagina's.",
            "result": [
              {
                "success": false,
                "message": "Pagina wordt niet via HTTPS geserveerd.",
                "findings": [
                  {
                    "name": "test_results.page_not_https",
                    "key": "page_not_https",
                    "value": "De pagina op http://www.test.nl wordt niet via HTTPS geserveerd. Gemengde inhoud controle overgeslagen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open bestanden Test",
            "description": "Controleert op publiek toegankelijke gevoelige bestanden zoals .env, .git/config en andere configuratiebestanden.",
            "result": [
              {
                "success": true,
                "message": "Alle gevoelige bestanden zijn correct beveiligd.",
                "findings": [
                  {
                    "name": "test_results.sensitive_file_secure",
                    "key": "sensitive_file_secure",
                    "value": "Alle gevoelige bestanden zijn correct beveiligd met juiste HTTP statuscodes.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTTPS Test",
            "description": "Verifieert de juiste HTTPS-handhaving, inclusief omleidingen en eindpunt-toegankelijkheid.",
            "result": [
              {
                "success": false,
                "message": "Geen HTTPS omleiding gedetecteerd.",
                "findings": [
                  {
                    "name": "HTTPS no redirect",
                    "key": "https_no_redirect",
                    "value": "De website leidt HTTP niet om naar HTTPS.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Beveiligingsheaders Test",
            "description": "Controleert op essentiële beveiligingsheaders, waaronder Content-Security-Policy, X-Frame-Options, X-XSS-Protection en HSTS.",
            "result": [
              {
                "success": false,
                "message": "HTTPS is vereist voor beveiligingsheaders controle.",
                "findings": [
                  {
                    "name": "Security headers HTTPS required",
                    "key": "security_headers_https_required",
                    "value": "De website moet HTTPS gebruiken voor juiste validatie van beveiligingsheaders.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "SSL Certificaat Test",
            "description": "Valideert de geldigheid van het SSL-certificaat, vervaldatum, domeinbereik en uitgeversinformatie.",
            "result": [
              {
                "success": false,
                "message": "Ongeldig SSL certificaat.",
                "findings": [
                  {
                    "name": "SSL invalid",
                    "key": "ssl_invalid",
                    "value": "SSL certificaat is ongeldig: URL moet HTTPS protocol gebruiken.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "summary": [
      {
        "icon": "material-symbols:warning-outline-rounded",
        "text": "Er is veel ruimte voor verbetering op de huidige website.\nHet is belangrijk om aan verschillende aspecten te werken voor een sterke basis."
      },
      {
        "icon": "material-symbols:timer-outline-rounded",
        "text": "De laadtijd (performance) kan verbeterd worden met resource hints.\nEr ontbreekt essentiële SEO metagegevens die bijsturing vergen."
      },
      {
        "icon": "material-symbols:accessibility-new-rounded",
        "text": "De toegankelijkheid vertoont enkele tekortkomingen zoals ontbrekende skip links en viewport problemen.\nHet focusbeheer is echter goed geregeld."
      },
      {
        "icon": "material-symbols:warning-outline-rounded",
        "text": "Er zijn serieuze beveiligingsproblemen zoals het ontbreken van HTTPS en een ongeldig SSL certificaat."
      },
      {
        "icon": "material-symbols:sentiment-excited-outline-rounded",
        "text": "We nodigen je graag uit voor een gesprek om deze kansen aan te pakken.\nSamen kunnen we de website verbeteren!"
      }
    ],
    "screenshot": "https://quickscan.krafters.nl/storage/screenshots/01k58n7h6kc0djnvarjm132y79.png",
    "created_at": "2025-09-16T07:01:08.000000Z",
    "updated_at": "2025-09-16T07:01:44.000000Z"
  },
  {
    "id": "01k58n96wa1d41v99yy5zr2h7t",
    "url": "http://www.test.nl",
    "name": "Test",
    "email": "test@gmail.com",
    "phone": null,
    "results": [
      {
        "category": "performance",
        "tests": [
          {
            "name": "Lighthouse prestatie test",
            "description": "Voert een uitgebreide Lighthouse-audit uit die prestaties, toegankelijkheid, best practices, SEO en PWA omvat.",
            "result": [
              {
                "success": false,
                "message": "Lighthouse audit uitvoeren mislukt.",
                "findings": [
                  {
                    "name": "Lighthouse error",
                    "key": "lighthouse_error",
                    "value": "PageSpeed API call mislukt: {\n  \"error\": {\n    \"code\": 400,\n    \"message\": \"Lighthouse returned error: NOT_HTML. The page provided is not HTML (served as MIME type text/plain).\",\n    \"errors\": [\n      {\n        \"message\": \"Lighthouse returned error: NOT_HTML. The page provided is not HTML (served as MIME type text/plain).\",\n        \"domain\": \"lighthouse\",\n        \"reason\": \"lighthouseUserError\"\n      }\n    ]\n  }\n}\n",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Kritieke Bronnen Laadtest",
            "description": "Controleert op resource hints, render-blokkerende bronnen, TTFB en kritieke CSS-implementatie.",
            "result": [
              {
                "success": false,
                "message": "Geen resource hints gevonden.",
                "findings": [
                  {
                    "name": "No resource hints",
                    "key": "no_resource_hints",
                    "value": "Geen resource hints (preload, prefetch, dns-prefetch) gevonden in de pagina.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "accessibility",
        "tests": [
          {
            "name": "Toegankelijke afbeeldingen Test",
            "description": "Controleert of alle afbeeldingen de juiste toegankelijkheidsattributen hebben (alt-tekst of decoratieve markeringen).",
            "result": [
              {
                "success": true,
                "message": "Geen afbeeldingen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No images",
                    "key": "no_images",
                    "value": "De pagina bevat geen afbeeldingen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Skip link Test",
            "description": "Controleert op toegankelijkheids-skiplinks die toetsenbordgebruikers in staat stellen om navigatie over te slaan en direct naar de hoofdinhoud te gaan.",
            "result": [
              {
                "success": false,
                "message": "Geen skip links gevonden.",
                "findings": [
                  {
                    "name": "No skip links",
                    "key": "no_skip_links",
                    "value": "Geen skip links gevonden. Overweeg het toevoegen van skip links om toegankelijkheid voor toetsenbordgebruikers te verbeteren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "ARIA Attributen Test",
            "description": "Valideert de juiste implementatie van ARIA-attributen voor verbeterde ondersteuning van schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Geen ARIA attributen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No ARIA elements",
                    "key": "no_aria_elements",
                    "value": "De pagina gebruikt geen ARIA attributen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Focus Beheer Test",
            "description": "Controleert op goed focusbeheer, inclusief zichtbare focusindicatoren en logische tabvolgorde.",
            "result": [
              {
                "success": true,
                "message": "Focus beheer is correct geïmplementeerd.",
                "findings": [
                  {
                    "name": "Focus management valid",
                    "key": "focus_management_valid",
                    "value": "Alle 2 focusbare elementen hebben correct focus beheer.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke formulieren Test",
            "description": "Zorgt ervoor dat alle formulieren toegankelijk zijn met de juiste labels, foutafhandeling en ARIA-attributen.",
            "result": [
              {
                "success": true,
                "message": "Geen formulieren gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No forms",
                    "key": "no_forms",
                    "value": "De pagina bevat geen formulieren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Lijst Structuur Test",
            "description": "Verifieert het juiste gebruik van lijstelementen (ul, ol, dl) voor betere toegankelijkheid en ondersteuning van schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Geen lijsten gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No lists",
                    "key": "no_lists",
                    "value": "De pagina bevat geen lijsten.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke media Test",
            "description": "Verifieert dat audio- en video-inhoud voorzien is van de juiste ondertiteling, transcripties en audiobeschrijvingen.",
            "result": [
              {
                "success": true,
                "message": "Geen media-elementen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No media elements",
                    "key": "no_media_elements",
                    "value": "De pagina bevat geen media-elementen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Toegankelijke tabellen Test",
            "description": "Controleert of tabellen de juiste headers, bijschriften en ARIA-attributen hebben voor schermlezers.",
            "result": [
              {
                "success": true,
                "message": "Geen tabellen gevonden op de pagina.",
                "findings": [
                  {
                    "name": "No tables",
                    "key": "no_tables",
                    "value": "De pagina bevat geen tabellen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Viewport en Zoom Test",
            "description": "Verifieert dat de viewport meta tag het juiste zoomen en schalen mogelijk maakt voor toegankelijkheid.",
            "result": [
              {
                "success": false,
                "message": "Viewport toegankelijkheidsproblemen gevonden.",
                "findings": [
                  {
                    "name": "Max scale too low",
                    "key": "max_scale_too_low",
                    "value": "maximum-scale=1 is onder aanbevolen minimum van 2. Current viewport: width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Axe Toegankelijkheid Test",
            "description": "Voert een uitgebreide toegankelijkheidsaudit uit met behulp van axe-core.",
            "result": [
              {
                "success": true,
                "message": "Geen toegankelijkheidsovertredingen gevonden",
                "findings": [
                  {
                    "name": "Axe success",
                    "key": "axe_success",
                    "value": "De pagina is geslaagd voor alle toegankelijkheidstests.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "seo",
        "tests": [
          {
            "name": "Meta Beschrijving Test",
            "description": "Controleert of de website een geldige meta beschrijving heeft.",
            "result": [
              {
                "success": false,
                "message": "De meta description is te lang.",
                "findings": [
                  {
                    "name": "test_results.meta_description_too_long",
                    "key": "meta_description_too_long",
                    "value": "De meta description is 204 karakters lang, wat meer is dan de aanbevolen limiet van 160 karakters.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Meta Titel Test",
            "description": "Controleert of de website een geldige titel tag heeft met een passende lengte.",
            "result": [
              {
                "success": true,
                "message": "De title is geldig.",
                "findings": [
                  {
                    "name": "Title valid",
                    "key": "title_valid",
                    "value": "De title is aanwezig en heeft een geldige lengte van 49 karakters. Title inhoud: \"test.nl&nbsp;-&nbsp;Informationen zum Thema Test.\"",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Meta Test",
            "description": "Controleert of de webpagina een geldige robots meta tag implementatie heeft.",
            "result": [
              {
                "success": true,
                "message": "Geen robots meta tag gevonden.",
                "findings": [
                  {
                    "name": "No robots tag",
                    "key": "no_robots_tag",
                    "value": "Geen robots meta tag aanwezig, wat geldig is omdat het zoekmachines toestaat de pagina te indexeren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open Graph Meta Test",
            "description": "Controleert of de webpagina alle vereiste Open Graph meta tags (og:title, og:description, og:image, og:url) heeft met geldige inhoud.",
            "result": [
              {
                "success": false,
                "message": "Ontbrekende tags: og:title, og:description, og:image, og:url",
                "findings": [
                  {
                    "name": "OG tags missing",
                    "key": "og_tags_missing",
                    "value": "De volgende vereiste Open Graph tags ontbreken: og:title, og:description, og:image, og:url",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Koppen Structuur Test",
            "description": "Controleert of de webpagina een goede hiërarchie van koppen (h1-h6) heeft met correcte volgorde en structuur.",
            "result": [
              {
                "success": true,
                "message": "Kopregel structuur is geldig.",
                "findings": [
                  {
                    "name": "Heading structure valid",
                    "key": "heading_structure_valid",
                    "value": "De pagina heeft een geldige kopregel structuur met juiste hiërarchie.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTML Taal Test",
            "description": "Controleert of de website een geldig HTML lang attribuut heeft.",
            "result": [
              {
                "success": true,
                "message": "Het lang attribuut is geldig.",
                "findings": [
                  {
                    "name": "Lang attribute valid",
                    "key": "lang_attribute_valid",
                    "value": "Het lang attribuut is aanwezig en heeft een geldige waarde: 'en'.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Link Test",
            "description": "Controleert op gebroken interne links op de webpagina.",
            "result": [
              {
                "success": true,
                "message": "Alle interne links zijn geldig.",
                "findings": [
                  {
                    "name": "Links valid",
                    "key": "links_valid",
                    "value": "Alle interne links werken correct.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Afbeeldingen test",
            "description": "Controleert op gebroken afbeeldingen op de webpagina.",
            "result": [
              {
                "success": true,
                "message": "Alle afbeeldingen zijn geldig.",
                "findings": [
                  {
                    "name": "Images valid",
                    "key": "images_valid",
                    "value": "Alle afbeeldingen op de pagina zijn bereikbaar.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Sitemap XML Test",
            "description": "Valideert de toegankelijkheid, structuur en URL-geldigheid van sitemap.xml.",
            "result": [
              {
                "success": false,
                "message": "Sitemap.xml niet gevonden of niet toegankelijk.",
                "findings": [
                  {
                    "name": "Sitemap not found",
                    "key": "sitemap_not_found",
                    "value": "Het sitemap.xml bestand is niet gevonden of niet toegankelijk.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Robots Test",
            "description": "Controleert de toegankelijkheid van robots.txt en valideert de vereiste richtlijnen.",
            "result": [
              {
                "success": false,
                "message": "robots.txt niet gevonden of niet toegankelijk.",
                "findings": [
                  {
                    "name": "Robots not found",
                    "key": "robots_not_found",
                    "value": "Het robots.txt bestand is niet gevonden of niet toegankelijk.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Gestructureerde Data Test",
            "description": "Valideert JSON-LD gestructureerde data-implementatie en vereiste eigenschappen voor veelvoorkomende schema's.",
            "result": [
              {
                "success": true,
                "message": "Geen gestructureerde data gevonden.",
                "findings": [
                  {
                    "name": "No structured data",
                    "key": "no_structured_data",
                    "value": "Geen Schema.org gestructureerde data (JSON-LD) gevonden op de pagina. Dit is optioneel maar kan SEO verbeteren.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "category": "security",
        "tests": [
          {
            "name": "Onveilige Bronnen Test",
            "description": "Controleert op bronnen die worden geladen via onveilige HTTP op HTTPS-pagina's.",
            "result": [
              {
                "success": false,
                "message": "Pagina wordt niet via HTTPS geserveerd.",
                "findings": [
                  {
                    "name": "test_results.page_not_https",
                    "key": "page_not_https",
                    "value": "De pagina op http://www.test.nl wordt niet via HTTPS geserveerd. Gemengde inhoud controle overgeslagen.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Open bestanden Test",
            "description": "Controleert op publiek toegankelijke gevoelige bestanden zoals .env, .git/config en andere configuratiebestanden.",
            "result": [
              {
                "success": true,
                "message": "Alle gevoelige bestanden zijn correct beveiligd.",
                "findings": [
                  {
                    "name": "test_results.sensitive_file_secure",
                    "key": "sensitive_file_secure",
                    "value": "Alle gevoelige bestanden zijn correct beveiligd met juiste HTTP statuscodes.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "HTTPS Test",
            "description": "Verifieert de juiste HTTPS-handhaving, inclusief omleidingen en eindpunt-toegankelijkheid.",
            "result": [
              {
                "success": false,
                "message": "Geen HTTPS omleiding gedetecteerd.",
                "findings": [
                  {
                    "name": "HTTPS no redirect",
                    "key": "https_no_redirect",
                    "value": "De website leidt HTTP niet om naar HTTPS.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "Beveiligingsheaders Test",
            "description": "Controleert op essentiële beveiligingsheaders, waaronder Content-Security-Policy, X-Frame-Options, X-XSS-Protection en HSTS.",
            "result": [
              {
                "success": false,
                "message": "HTTPS is vereist voor beveiligingsheaders controle.",
                "findings": [
                  {
                    "name": "Security headers HTTPS required",
                    "key": "security_headers_https_required",
                    "value": "De website moet HTTPS gebruiken voor juiste validatie van beveiligingsheaders.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          },
          {
            "name": "SSL Certificaat Test",
            "description": "Valideert de geldigheid van het SSL-certificaat, vervaldatum, domeinbereik en uitgeversinformatie.",
            "result": [
              {
                "success": false,
                "message": "Ongeldig SSL certificaat.",
                "findings": [
                  {
                    "name": "SSL invalid",
                    "key": "ssl_invalid",
                    "value": "SSL certificaat is ongeldig: URL moet HTTPS protocol gebruiken.",
                    "numeric_value": null
                  }
                ]
              }
            ]
          }
        ]
      }
    ],
    "summary": [
      {
        "icon": "material-symbols:warning-outline-rounded",
        "text": "Er is veel winst te behalen op de website.\nBelangrijke verbeterpunten zijn gevonden die aandacht verdienen."
      },
      {
        "icon": "material-symbols:timer-outline-rounded",
        "text": "De prestaties en SEO van de website hebben aandacht nodig.\nDe laadtijd kan verbeterd worden door gebruik van resource hints.\nDaarnaast ontbreken enkele cruciale meta-elementen."
      },
      {
        "icon": "material-symbols:accessibility-new-rounded",
        "text": "Hoewel veel toegankelijkheidstests zijn geslaagd,\nwordt het aangeraden om skip links toe te voegen.\nOok is het belangrijk om viewport problemen op te lossen."
      },
      {
        "icon": "material-symbols:warning-outline-rounded",
        "text": "Er zijn significante beveiligingsrisico’s gevonden.\nHet is cruciaal om HTTPS en een geldig SSL-certificaat te implementeren."
      },
      {
        "icon": "material-symbols:sentiment-excited-outline-rounded",
        "text": "Neem contact met ons op voor een gedetailleerd verbeterplan.\nWe helpen graag bij het optimaliseren van uw website."
      }
    ],
    "screenshot": "https://quickscan.krafters.nl/storage/screenshots/01k58n96wa1d41v99yy5zr2h7t.png",
    "created_at": "2025-09-16T07:02:03.000000Z",
    "updated_at": "2025-09-16T07:02:31.000000Z"
  }
]