# Technologie-analyse — jdlsourcing.com

*Meting 2026-09-04 door MagicEverse. Bronnen: HTTP-headers, HTML/CSS van home, shop, contact en een productpagina (NL), WordPress/WooCommerce REST API, DNS, TLS, Wayback Machine, asset-download. Ruwe data in `_raw/scan.json`.*

---

## 1. Samenvatting

JDL Sourcing draait op een **jonge, zelfgebouwde Elementor-site** (WordPress 6.9.7 + Elementor Pro 4.2.4, thema Hello Elementor) op **Elementor Cloud** achter Cloudflare, in drie talen via TranslatePress. De huidige site is in **maart–april 2025** gebouwd (domein bestaat sinds 2018) en wordt bijgehouden (vacaturepagina's en teksten tot augustus 2026, 41 producten tot december 2025). Het is een **inspiratiecatalogus met offerte-flow**, geen webshop: alle producten staan op prijs 0 en zijn niet te kopen, maar de WooCommerce-restanten (Winkel, Winkelwagen, Afrekenen, Mijn account) staan nog live.

Sterk: snel (Cloudflare-cache HIT, TTFB 0,25 s), HSTS aan, WebP-afbeeldingen, drietalig, veel vertrouwenssignalen. Zwak:

1. **Elementor-zwaarte:** HTML van 541 KB (7.000+ Elementor-verwijzingen), 117 assets / 18,7 MB op de homepage inclusief een 2,5 MB-foto en 2,4 MB-video; 12+ Elementor-add-ons waaronder een muziekspeler en marquee.
2. **Geen cookie-consent** terwijl Google Ads (AW-784402679), reCAPTCHA en **drie chat-widgets** (Crisp, Tidio, WhatsApp) laden.
3. **Geen robots.txt en geen sitemap** (alle drie de varianten 404) — voor een drietalige site een SEO-gemis; Yoast is wel actief.
4. **E-mail/DNS:** het domein heeft **geen MX-record**, geen SPF en geen DMARC; mail loopt via jdlsourcing.nl (info@jdlsourcing.nl). Het .com-domein is daardoor vrij te spoofen.
5. **WooCommerce-rommel en dubbele URL's:** `/nl/shop/`, `/nl/cart/`, `/nl/checkout/`, `/nl/my-account/` live; "Over ons" linkt naar `/nl/about%20/` (spatie in URL); producten hangen in "Uncategorized".

## 2. Platform en stack

| Onderdeel | Bevinding |
|---|---|
| CMS | WordPress **6.9.7**, thema **Hello Elementor** (kaal), pagina's volledig in **Elementor Pro 4.2.4** (`css_print_method: internal` → alle CSS inline in de HTML) |
| E-commerce | **WooCommerce 11.0.1** als productcatalogus: 41 producten, prijs 0, `is_purchasable: false`; categorieën Merchandise (26), Kleding (8), Verpakkingen (8), Premiums (7), Geïnspireerd (5); alles óók in "Uncategorized" |
| Meertaligheid | **TranslatePress** (Multilingual + Business): `/nl/`, `/en/`, `/fr/`, hreflang aanwezig; standaardtaal Engels (schema verwijst naar `/en/#website`) |
| Elementor-add-ons | ElementsKit Lite, Essential Addons, Marquee Addons (logo-rij), Music Player for Elementor, Ele Custom Skin, Extensions for Elementor Form |
| Formulieren | Elementor Pro Forms (contact + productaanvraag) met Google reCAPTCHA; belofte "binnen 24 uur" |
| Hosting-integraties | Elementor Cloud (`x-powered-by: Elementor Cloud`, `ec-cdn-*` headers), Elementor Send (`send-app`, e-mailmarketing), Elementor One, Jetpack |
| SEO | Yoast SEO (schema-graph aanwezig) — maar géén sitemap/robots bereikbaar |
| Chat | **Crisp, Tidio én WhatsApp-widget** alle drie in de broncode |
| Analytics | Google Ads-tag `AW-784402679` via gtag; geen GA4-ID gevonden, geen Meta Pixel |
| Orderportaal | **Softr** (`jdlorders.softr.app`) — extern no-code portaal voor klanten, gelinkt via het account-icoon |
| JavaScript | jQuery 3.7.1 (Google CDN), Elementor frontend + Pro, Swiper, ElementsKit, reCAPTCHA |
| Fonts | Manrope zelf gehost (Elementor local fonts), Font Awesome 5, eIcons, ElementsKit-iconen, Swiper-iconen, WooCommerce-iconfont |
| Beheerders (REST users) | één account `aclkitjtqh` (willekeurige naam — goede praktijk) |

## 3. Hosting, DNS en TLS

| Onderdeel | Bevinding |
|---|---|
| Edge | Cloudflare (anycast 162.159.137.9), `CF-Cache-Status: HIT`, `Age: 28881` → volledige pagina-cache (max-age 300 / s-maxage 604800), HTTP/3 |
| Origin | **Elementor Cloud** (Elementor Hosting op Google Cloud) |
| DNS | ns01/ns02.hostnet.nl (Hostnet) |
| Mail | ❌ **geen MX op jdlsourcing.com**; contactadres is info@jdlsourcing.nl; geen SPF, geen DMARC op .com |
| TLS | Google Trust Services (Cloudflare), TLS 1.3, alleen `jdlsourcing.com` in SAN (geen www), geldig tot 19-10-2026 |
| HSTS | ✅ `max-age=15552000` (180 dagen, geen preload) |
| TTFB / totaal | 0,23–0,25 s (cache), HTML **541 KB** |

## 4. Leeftijd en onderhoud

| Signaal | Datum |
|---|---|
| Eerste Wayback-snapshot | 05-02-2018 (slechts één jaarlijkse snapshot: 2018; de site is voor archieven vrijwel onzichtbaar) |
| Huidige site gebouwd | Home 29-03-2025; WooCommerce-pagina's, Over, CSR, Contact 04-04-2025; Blog 15-04-2025; Producten 10-06-2025 |
| Content 2025–2026 | 10 blogposts (mrt–apr 2025, daarna niets), 41 producten (apr–dec 2025), stagepagina's (jun 2025, mei–jun 2026), Projectmanager-vacature (aug 2026), Home bijgewerkt 05-08-2026 |
| Media | 99 uploads dec 2025 → aug 2026 |

Conclusie: **± 1,5 jaar oud, in eigen beheer gebouwd** (Elementor, geen bureau-signatuur), actief op vacatures en homepage, blog en catalogus sinds eind 2025 stil.

## 5. Performance

| Meting | Waarde |
|---|---|
| HTML homepage | **541 KB** (Elementor inline CSS + TranslatePress-markup) |
| Same-origin assets op home | **117 bestanden, 18,7 MB** |
| Grootste | `SPA-fruit-giveaway…jpg` 2,5 MB, intro-video mp4 2,4 MB, `takeaway-packaging.png` 1,6 MB, `…removebg-preview.png` 1,3 MB, `POSM-SPA-scaled.jpg` 0,96 MB, `Warehouse.jpeg` 0,63 MB |
| Formaten | deels WebP (teamfoto's), maar veel PNG/JPG-originelen als "scaled" (2560 px) |
| Iconfonts | 23 fontbestanden (FA solid/regular/brands, eIcons, ElementsKit, Swiper, Dashicons, WooCommerce) — grotendeels ongebruikt |
| JS | jQuery + Elementor/Pro + add-ons + drie chatwidgets ≈ 700 KB |
| Caching | uitstekend (Cloudflare edge-cache 7 dagen), maar de eerste render is zwaar door omvang |

**Beoordeling:** server en cache zijn snel, de pagina niet: 18,7 MB en 541 KB HTML is 5–10× wat nodig is. Grote winst: afbeeldingen naar WebP ≤ 300 KB, video lazy, add-ons snoeien (muziekspeler, marquee), één chat.

## 6. Security

| Check | Resultaat |
|---|---|
| Strict-Transport-Security | ✅ |
| X-Content-Type-Options / CSP / X-Frame-Options / Referrer-Policy / Permissions-Policy | ❌ ontbreken |
| `/wp-json/wp/v2/users` | ⚠️ open, maar toont alleen een niet-raadbare gebruikersnaam |
| `readme.html`, `xmlrpc.php` | ✅ 404 (Elementor Cloud blokkeert) |
| Generator-meta | ⚠️ WP-, WC- en Elementor-versie zichtbaar |
| WooCommerce Store API | open (`wc/store/v1/products` werkt) — onnodig voor een catalogus zonder verkoop; `wc/pos`, `wc-admin`, `elementor-hosting`, `e-send` namespaces actief |
| Cache-headers | `public, s-maxage=604800` op HTML: let op dat ingelogde/persoonlijke pagina's niet gecachet worden (Winkelwagen/Mijn account staan live) |

Geen acute kwetsbaarheid; managed hosting doet de basis, headers ontbreken.

## 7. Privacy en AVG

- ❌ **Geen cookiebanner** (geen Complianz/CookieYes/Cookiebot/etc. gevonden) terwijl Google Ads-tag, reCAPTCHA, Crisp, Tidio en WhatsApp-widget direct laden → toestemming ontbreekt voor marketing-cookies.
- Privacyverklaring en algemene voorwaarden zijn **PDF's** in `/wp-content/uploads/2025/05/` (geen HTML-pagina's, "Privacy-.pdf" met streepje in de naam).
- Drie chatleveranciers + Softr + Elementor Send = veel verwerkers voor de privacyverklaring.

## 8. SEO en content

| Check | Resultaat |
|---|---|
| Title/description | ✅ NL-title "JDLsourcing - Custom made merch, premiums en verpakkingen." + description |
| H1 | ✅ één h1 op home en productpagina's |
| Sitemap/robots | ❌ `/robots.txt`, `/sitemap_index.xml`, `/wp-sitemap.xml`, `/sitemap.xml` allemaal 404 |
| Hreflang | ✅ nl-NL / en-US / fr-FR |
| Schema.org | ✅ Yoast-graph, maar `isPartOf` verwijst naar `/en/#website` op NL-pagina's; productpagina's zonder Product-schema |
| URL-hygiëne | ⚠️ `/nl/about%20/` (spatie), Engelse slugs onder `/nl/` (`/nl/checkout/`, `/nl/contact-us/`), "Winkel op" en "Neem contact op met" als afgebroken vertaalde titels |
| WooCommerce-restanten | ⚠️ Winkel, Winkelwagen, Afrekenen, Mijn account live en indexeerbaar zonder functie |
| Blog | 10 posts, gestopt april 2025 |
| Afbeeldingen | alt-teksten wisselend; bestandsnamen soms beschrijvend (`JDLsourcing-custom-made-bottle-opener.png`), soms IMG_xxxx |

## 9. Mobiel en toegankelijkheid

- Responsive via Elementor-breakpoints: logo links, vlag + account + hamburger rechts, hero-tekst gecentreerd, masonry wordt 2 kolommen. Werkt netjes.
- Contrast: navy op wit en wit op navy ruim voldoende; muted #AFB0CA op navy (footer-meta) ± 4:1, net AA voor grote tekst.
- Skiplink "Ga naar de inhoud" aanwezig; social-links zonder tekstlabel (alleen icoon).
- Formulier: telefoonveld als `spinbutton` (type=number) — onhandig voor +31-nummers.

## 10. Wat de site wél en niet doet

| Functie | Hoe |
|---|---|
| Catalogus | WooCommerce-producten als inspiratie (41), per product galerij (3 foto's), beschrijving, "Offerte aanvragen"; geen prijzen, opties of staffels |
| Offerte | Elementor-formulier (naam, e-mail, telefoon, deadline, budget, bedrijf, bericht) op product- en contactpagina; antwoord binnen 24 uur |
| Bestellen/betalen | niet (Woo-pagina's wel live, maar producten niet koopbaar) |
| Orderstatus klanten | extern Softr-portaal (`jdlorders.softr.app`) |
| Personalisatie | niet; alleen foto's van eerdere custom cases |
| Talen | NL/EN/FR met TranslatePress (machinaal + handmatig; enkele vertaalfouten in titels) |
| Vertrouwen | klantlogo's, EcoVadis Silver, MVO-badge, Google-reviews-link, 3 reviews |
| Recruitment | vijf stage-/vacaturepagina's (2025–2026) |

## 11. Aanbevelingen

**Quick wins (uren)**
1. Cookiebanner (bijv. Complianz) en tags pas na toestemming; één chat-widget kiezen.
2. Yoast-sitemap en robots.txt inschakelen (waarschijnlijk uitgezet of geblokkeerd op Elementor Cloud); WooCommerce-pagina's Winkel/Winkelwagen/Afrekenen/Mijn account op noindex of verwijderen; `/nl/about%20/` repareren; producten uit "Uncategorized".
3. DNS voor jdlsourcing.com: SPF `v=spf1 -all` (of de echte mailbron) + DMARC `p=reject` als het domein niet mailt; anders MX + SPF/DKIM/DMARC goed zetten. Zelfde check voor jdlsourcing.nl.
4. Security-headers via Cloudflare; generator-tags uit.
5. Beeldoptimalisatie: alles WebP ≤ 300 KB, video lazy, muziekspeler-/marquee-plugins verwijderen als ze niet nodig zijn.

**Structureel (waar MagicEverse waarde toevoegt)**
- **Van inspiratiecatalogus naar configureerbare offerte**: met **Magic Logo** zet de klant zijn ontwerp op de thermosbeker, tas of verpakking en kiest drukpositie/techniek; de aanvraag komt met visual én specificaties binnen — precies wat de "briefing & sourcing"-stap nu per mail ophaalt.
- **Backoffice-agent + orderportaal**: het Softr-portaal is een losse no-code laag; een Magic Agent die offertes, samples en inspectiefoto's per order bijhoudt (en de klant via WhatsApp/e-mail updatet) vervangt handwerk en drie chat-widgets.
- **PIM voor custom cases**: 41 producten zijn nu handmatig in WooCommerce gezet zonder specificaties; één productbron met MOQ, levertijd, decoratie en varianten maakt de catalogus (en de drie talen) beheersbaar.
- **Drietalige contentmotor**: blog staat stil sinds april 2025; cases per project (foto's zijn er al) als landingspagina's in NL/EN/FR.

## 12. Scorekaart

| Gebied | Score (1-5) | Toelichting |
|---|---|---|
| Actualiteit platform | ★★★★★ | WP 6.9.7 / Elementor 4.2.4 / WC 11.0.1, Elementor Cloud + Cloudflare |
| Onderhoud content | ★★★☆☆ | homepage en vacatures actueel; blog en catalogus stil sinds 2025 |
| Design/merk | ★★★★☆ | strak navy/wit, eigen projectfoto's, consistente pill-knoppen; Elementor-kit rommelig |
| Performance | ★★☆☆☆ | 18,7 MB en 541 KB HTML, 12 add-ons, 3 chats — cache verbergt het |
| Security | ★★★☆☆ | HSTS ✅, readme/xmlrpc dicht; overige headers ontbreken |
| E-mail/DNS | ★☆☆☆☆ | geen MX/SPF/DMARC op .com |
| Privacy/AVG | ★☆☆☆☆ | geen consent, drie chats, beleid als PDF |
| SEO | ★★☆☆☆ | geen sitemap/robots, Woo-restanten, URL-fouten; wel hreflang en schema |
| Conversieflow | ★★★☆☆ | duidelijke offerte-CTA en 24-uursbelofte; geen prijzen, opties of personalisatie |
