cjxsolar.nl
Hoe snel, hoe vindbaar en hoe leesbaar voor AI is cjxsolar.nl nu?
Dit is de stand op 9 oktober 2026. Alle 43 pagina's uit de sitemap zijn doorgemeten, de homepage is bovendien door Google PageSpeed gehaald en vijf keer door een eigen Lighthouse-run. Er is niets aangepast en er is geen toegang gebruikt: alles is van buitenaf gemeten.
Snelheid
58 / 100
Google-score op mobiel. De echte bezoekers halen de Core Web Vitals wel (LCP 1,2 s).
SEO
92 / 100
Google-score. Alle 43 pagina's hebben titel, omschrijving en canonical. 6 pagina's hebben een h1-probleem.
Vindbaar door AI
4 van 4
Agentic Browsing-controles geslaagd. Geen AI-crawler geblokkeerd. De structured data is wel rommelig.
01
Het kort
De site is technisch gezond: bezoekers merken weinig van trage laadtijden, alles is vindbaar voor zoekmachines en AI-crawlers worden niet buitengesloten. De zwakke plekken zitten in een paar concrete dingen, die allemaal in de ruwe pagina te zien zijn.
Wat goed staat
- Core Web Vitals geslaagd op echte bezoekersdata.
- Titel, omschrijving, canonical en Open Graph op 43 van 43 pagina's.
- Tekst staat gewoon in de HTML, ook zonder JavaScript.
- Productpagina's hebben Product-schema met prijs in euro, voorraad en GTIN.
- Geen enkele AI-crawler wordt geweerd.
Wat opvalt
- De hoofdafbeelding van de homepage staat op
loading="lazy", terwijl hij het grootste element is. - Een script van 402 KB (Font Awesome) blokkeert het opbouwen van de pagina.
- Op 6 pagina's klopt het aantal h1's niet; de homepage heeft het logo als h1.
- De structured data spreekt zichzelf tegen (twee Organization-blokken, twee beoordelingsscores).
- Geen BreadcrumbList en geen FAQPage, terwijl de FAQ 31 vragen heeft.
02
Snelheid
Wat Google meet
Google PageSpeed Insights, tabblad Mobiel, gemeten op 9 oktober 2026 om 11:40 (schermafdruk hieronder).
| Onderdeel | Score | Beoordeling |
|---|---|---|
| Prestaties | 58 | verbeterbaar |
| Toegankelijkheid | 92 | goed |
| Best practices | 96 | goed |
| SEO | 92 | goed |
| Agentic Browsing | 4 van 4 | goed |
Wat echte bezoekers merken
Dezelfde pagina laat ook data van echte Chrome-bezoekers zien (Chrome UX Report, laatste 28 dagen, voor de hele site). Het getal is het 75e percentiel: driekwart van de bezoeken is zo snel of sneller.
| Meting | Waarde | Beoordeling |
|---|---|---|
| LCP, hoofdinhoud zichtbaar | 1,2 s | goed |
| INP, reactie op een klik | 187 ms | goed |
| CLS, verspringen van de pagina | 0,03 | goed |
| FCP, eerste beeld | 1,1 s | goed |
| TTFB, antwoord van de server | 0,5 s | goed |
| Core Web Vitals samen | geslaagd | goed |

Het verschil tussen die 58 en de goede bezoekerscijfers komt doordat de score een simulatie is op een trage telefoon met een trage verbinding, en de bezoekerscijfers uit de praktijk komen. Beide zijn waar. De score vertelt wat er onder moeilijke omstandigheden gebeurt.
Waar de laadtijd in zit
Ik heb de homepage vijf keer door Lighthouse 13.4.1 gehaald (dezelfde versie als Google gebruikt), mobiel, met Nederlandse instellingen. Prestatiescores: 47, 50, 53, 53, 53. Het overgedragen gewicht lag in alle vijf binnen 3% van elkaar. In de run die ik hieronder gebruik:
| Wat | Verzoeken | Overgedragen |
|---|---|---|
| Alles samen | 291 | 3.888 KiB |
| Scripts | 90 | 2.297 KiB |
| Verzoeken naar andere partijen dan cjxsolar.nl | 120 | 2.012 KiB |
| Afbeeldingen | 15 | 520 KiB |
Bevinding 1
De hoofdafbeelding wordt bewust laat geladen
De grote afbeelding bovenaan de homepage (1600 bij 1108 pixels) heeft loading="lazy" en geen fetchpriority. Lazy loading zegt de browser: laad dit pas als het nodig lijkt. Voor het element dat bezoekers als eerste zien is dat de verkeerde keuze. Lighthouse meldt dit als een mislukte controle. De pagina heeft in totaal 34 afbeeldingen op lazy staan.
Bevinding 2
Een script van 402 KB houdt de pagina tegen
In de kop van de homepage staat font-awesome/6.4.0/js/all.min.js, een script van 402.466 bytes van een externe server (cdnjs), zonder defer of async. Ernaast staat het bijbehorende stijlbestand (19 KB). Lighthouse markeert beide als renderblokkerend: de browser wacht erop voor hij iets laat zien.
Bevinding 3
Veel code van andere partijen, waarvan veel ongebruikt
In mijn meting laadde de homepage van 33 externe adressen, onder meer Google Tag Manager en Analytics, Microsoft Clarity en Bing, Facebook, Klarna, Beslist en Mailchimp (één daarvan, google.co.il, hoort bij mijn locatie). De formulier-app laadt 260 KiB aan JavaScript waarvan Lighthouse 243 KiB ongebruikt noemt op de homepage. Samen zijn alle scripts 2,3 MB.
Bevinding 4
Vijf afbeeldingen zijn zwaarder dan nodig
Lighthouse schat dat de homepage ongeveer 235 KiB lichter kan door vijf afbeeldingen in het juiste formaat en een zuiniger formaat te leveren. Dat is bescheiden naast de scripts.
03
SEO
Gemeten over alle 43 pagina's uit de sitemap: de homepage, 1 blogoverzicht, 9 artikelen, 4 collecties, 7 pagina's en 21 producten. Alle 43 geven HTTP 200 en geen enkele staat op noindex.
| Controle | Uitkomst | Opmerking |
|---|---|---|
| Unieke titel | 43 van 43 | goed geen dubbele titels. 21 titels zijn langer dan 60 tekens, een richtlijn, want Google kapt af op breedte. |
| Omschrijving | 43 van 43 | let op 5 pagina's delen een omschrijving (zie bevinding 6) |
| Canonical | 43 van 43 | goed |
| Open Graph en Twitter | 43 van 43 | goed |
| Taal | nl op 43 | goed één taal, dus geen hreflang nodig |
| Precies één h1 | 37 van 43 | aandacht zie bevinding 5 |
| Kopvolgorde zonder sprong | 29 van 43 | let op 14 pagina's springen over een kopniveau |
| Afbeeldingen met alt | 673 van 779 | let op 106 zonder alt-attribuut (zie bevinding 7) |
| Structured data aanwezig | 43 van 43 | goed maar zie het hoofdstuk AI |
| BreadcrumbList | 0 van 43 | ontbreekt |
| Tekst leesbaar zonder JavaScript | ja | goed homepage: 3.378 tekens zonder, 3.491 met |
De aantallen afbeeldingen tellen elke afbeelding per pagina, dus een logo dat op elke pagina staat telt 43 keer mee. Een lege alt (alt="") is bij puur decoratieve afbeeldingen juist correct: 97 afbeeldingen hebben die.
Bevinding 5
Zes pagina's hebben niet precies één h1
Op de homepage staat het logo in de kop van de pagina verpakt in een <h1>, zodat de homepage er twee heeft: het logo en de echte kop "De #1 Plug & Play zonnepanelen met stekker in de Benelux". Vier productpagina's hebben ook twee h1's. De FAQ-pagina heeft er geen: daar beginnen alle koppen op niveau 2.
Dit is een veelvoorkomende uitkomst van een thema, geen bewuste keuze. Het gevolg is dat zoekmachines en AI-systemen minder duidelijk zien waar de pagina over gaat.
Bevinding 6
Vier productpagina's lijken dezelfde set te beschrijven
Er zijn productpagina's voor een set van 880 Wp (2 panelen en een 800 W-omvormer) onder drie verschillende titels: "Zonnepanelen met stekker", "Plug and play zonnepanelen" en "Plug-in zonnepanelen". De webnaam van één eindigt op -copy. Drie van deze pagina's (de hoofdset en twee van de 880 Wp-pagina's) delen dezelfde omschrijving. Een tweede groep van twee, de montagesets platdak en platdak portrait, deelt een andere. Of het echt aparte producten zijn kan ik van buiten niet zien.
Pagina's die op elkaar lijken concurreren in zoekresultaten met elkaar.
Bevinding 7
Veel afbeeldingen zonder alt, onder andere de hoofdafbeelding
De hoofdafbeelding op de homepage is de enige afbeelding op die pagina zonder alt-attribuut, en het is de enige controle die Lighthouse bij SEO laat falen (daarom 92 en geen 100). Daarnaast hebben vijf accessoirepagina's (achterplaat, zijplaat, MC4-verlengkabel) elk 10 afbeeldingen zonder alt: samen 50 van de 106.
04
Vindbaarheid door AI
Deze meting laat zien of AI-systemen de site kunnen lezen, mogen lezen en er iets zinnigs uit kunnen halen. Wat ik hier niet kon meten staat onderaan.
Toegang
| Controle | Uitkomst |
|---|---|
| robots.txt | open staat alles toe behalve winkelwagen, kassa en account. Er wordt geen enkele AI-bot genoemd of geweerd. |
| 15 user-agents opgevraagd | alle 200 onder meer GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Bingbot, Applebot, Amazonbot, CCBot |
| Inhoud zonder JavaScript | leesbaar de tekst staat in de HTML |
| Agentic Browsing (Google) | 4 van 4 |
| Winkelen via AI-assistenten | aanwezig /.well-known/ucp antwoordt (Universal Commerce Protocol, versie 2026-08-25) met een MCP-endpoint. De tekst zegt dat afrekenen menselijke goedkeuring vraagt. |
Wat er te lezen valt
Bevinding 8
llms.txt bestaat, maar zegt niets over CJX Solar
Er staat een /llms.txt (4.479 bytes) die volgens de tekst zelf /agents.md spiegelt. Het is de standaardtekst van het platform: instructies voor winkel-assistenten. Het woord "zonnepaneel" of "plug" komt er geen enkele keer in voor: geen beschrijving van het assortiment, de kennisbank of waar het bedrijf voor staat. Of die inhoud aan te passen is binnen het platform weet ik niet.
Bevinding 9
De bedrijfsgegevens in de structured data spreken elkaar tegen
Na het laden staan er twee Organization-blokken op de homepage en op de vijf andere pagina's die ik daarop heb nagekeken. Het eerste is het eigen blok van het thema (naam "CJX Solar", logo, drie echte social-links). Het tweede wordt toegevoegd door het WebwinkelKeur-script en staat niet in de ruwe HTML. Daarin staat:
- de naam "CJX solar" (kleine s) en als logo het WebwinkelKeur-icoon, niet het eigen logo;
- telefoonnummer +31654780486, terwijl in de voet van de site (085) 060 6653 staat;
- een beoordeling van 9,9 uit 15, terwijl de widget op dezelfde pagina 9,2 uit 369 toont;
- een
@idzonder https:// ervoor (webwinkelkeur.nl/1221523).
Het eerste blok heeft bovendien zes lege waarden in de lijst met sameAs (3 van de 9 zijn gevuld). Crawlers die geen JavaScript draaien zien alleen het eerste blok; wie wel rendert (Google) ziet beide.
Bevinding 10
Wat er in de Product- en Article-markup mist
De Product-markup bevat naam, merk, prijs in euro, voorraad en GTIN. Er staan geen beoordelingen in, geen verzend- of retourinformatie. De 9 kennisbankartikelen hebben Article-markup, maar als auteur staat daar "Shopify API" en er is geen wijzigingsdatum. Een AI-systeem dat wil weten wie dit schreef en of het actueel is, krijgt geen antwoord.
Bevinding 11
De FAQ heeft 31 vragen en geen markup
De FAQ-pagina bevat 31 vragen als koppen, maar geen FAQPage-markup, geen h1 en nergens een BreadcrumbList op de 43 pagina's.
Bevinding 12
De garantie heeft op de site meerdere termijnen
De homepage noemt "10 jaar zorgeloze garantie". Op de productpagina staat bovenaan "12 jaar volledige garantie" en in de specificaties "10 jaar fabrieksgarantie" en "25 jaar productgarantie". Het kunnen verschillende garanties zijn (fabriek, product, CJX), maar dat staat er niet bij. Een AI-assistent die vraagt hoeveel jaar garantie je krijgt, kan elk van die getallen overnemen.
Wat ik niet heb kunnen meten
- Of ChatGPT, Perplexity, Gemini of Claude CJX Solar noemen als iemand om plug-and-play zonnepanelen vraagt. Dat meet je door de vragen echt te stellen en te kijken welke bronnen terugkomen.
- Posities in Google en het aantal geïndexeerde pagina's. Dat staat in Search Console en niet daarbuiten.
- Bezoekersaantallen en de bron daarvan.
05
Waar de meeste winst zit
Gerangschikt op wat het meest oplevert voor de minste moeite. Alles hieronder is aan te wijzen in de ruwe pagina, zie het volgende hoofdstuk.
- De hoofdafbeelding van de homepage: niet lazy laden,
fetchpriority="high"erbij en een alt-tekst. Raakt snelheid én het enige SEO-punt dat Lighthouse laat falen. - Font Awesome: het script van 402 KB niet in de kop laten blokkeren, of alleen de gebruikte icoontjes laden.
- De h1's: het logo uit de h1 halen, op de productpagina's één h1 houden, op de FAQ er een zetten.
- Structured data opruimen: één Organization met kloppende naam, logo, telefoonnummer en beoordeling; de lege
sameAs-waarden weg; BreadcrumbList en FAQPage toevoegen; een echte auteur en wijzigingsdatum op de artikelen. - De dubbele 880 Wp-pagina's: samenvoegen of elk een eigen titel en omschrijving geven.
- Scripts van andere partijen doorlichten: welke zijn nog nodig, welke laden code die niet gebruikt wordt (de formulier-app, de meerdere gtag/js-bestanden).
- De garantietermijnen: op elke plek dezelfde termijn, of erbij zetten welke garantie het is.
- Alt-teksten: de 50 ontbrekende op de accessoirepagina's en de rest van de 106.
- De inhoud van llms.txt: een beschrijving van assortiment en kennisbank, voor zover het platform dat toestaat.
06
Controleer het zelf
Elke proef hieronder is te draaien in de Terminal van een Mac, zonder iets te installeren. Zet de uitkomst naast wat in dit rapport staat.
1. Is de hoofdafbeelding lazy?
curl -s https://cjxsolar.nl/ | grep -o '<img[^>]*ed9f3491[^>]*>'
Je ziet loading="lazy" in de regel en geen alt.
2. Staat het Font Awesome-script blokkerend in de kop?
curl -s https://cjxsolar.nl/ | grep -o '<script[^>]*font-awesome[^>]*>'
Geen defer en geen async in de regel.
3. Hoeveel h1's heeft de homepage, en de FAQ?
curl -s https://cjxsolar.nl/ | grep -o '<h1[^>]*>' | wc -l
curl -s https://cjxsolar.nl/pages/faq-plug-play-zonnepanelen-met-stekker | grep -o '<h1[^>]*>' | wc -l
De uitkomst is 2 en 0.
4. Is er breadcrumb- of FAQ-markup?
curl -s https://cjxsolar.nl/products/plug-play-zonnepanelen-set | grep -c BreadcrumbList
curl -s https://cjxsolar.nl/pages/faq-plug-play-zonnepanelen-met-stekker | grep -c FAQPage
Twee keer 0.
5. Krijgen AI-crawlers toegang?
for ua in GPTBot ClaudeBot PerplexityBot Google-Extended; do printf "$ua "; curl -s -o /dev/null -w "%{http_code}\n" -A "$ua" https://cjxsolar.nl/; done
curl -s https://cjxsolar.nl/robots.txt | grep -i -E "gptbot|claude|perplexity|google-extended"
Vier keer 200. De tweede opdracht geeft niets terug: geen enkele AI-bot wordt genoemd, dus ook niet geweerd.
6. Zegt llms.txt iets over wat CJX Solar verkoopt?
curl -s https://cjxsolar.nl/llms.txt | grep -ci -E "zonnepane|plug"
De uitkomst is 0.
7. Staan de bedrijfsgegevens dubbel in de structured data?
curl -s https://cjxsolar.nl/ | grep -o 'application/ld+json' | wc -l
In de ruwe HTML staan 2 blokken. Open daarna de homepage in Chrome, kies Inspecteren, tabblad Console, en voer dit uit: document.querySelectorAll('script[type="application/ld+json"]').length. Na het laden zijn het er 3: het WebwinkelKeur-script voegt een tweede Organization toe.
8. De Google-score zelf
Open PageSpeed voor cjxsolar.nl
Kies het tabblad Mobiel. De prestatiescore schommelt een paar punten per meting: mijn eigen vijf runs gaven 47 tot 53, Google gaf 58.
07
Hoe er gemeten is
- Datum: 9 oktober 2026, tussen 11:40 en 12:00.
- Pagina's: alle 43 adressen uit de sitemap (21 producten, 4 collecties, 7 pagina's, 9 artikelen, het blogoverzicht en de homepage), met een echte browser opgehaald.
- Google-cijfers: PageSpeed Insights via pagespeed.web.dev, tabblad Mobiel. Dit zijn de enige tijden in dit rapport. De API van Google zat op zijn dagquotum, dus de schermafdruk is de bron.
- Eigen runs: Lighthouse 13.4.1, vijf keer, mobiel, vanuit Israël. Daarvan zijn alleen de gewichten en de oorzaken gebruikt, geen tijden.
- Prijzen en landkeuze: de winkel kiest in een browser vanuit Israël automatisch Israël en rekent dan in ILS. Daarom zijn de metingen gedaan met de landkeuze Nederland (cookie
localization=NL). Wat crawlers zonder cookie ophalen is al in euro: de prijs staat in het schema als EUR 449,95. - Afronding: aantallen zijn geteld, niet geschat. Percentielen komen van Google.