SEO Rapport: modz.fr
Gegenereerd op 30 april 2026 · 39 bevindingen · 3.8s
Dienstverlenende bedrijven moeten lokale zoekresultaten domineren met kloppende NAP-gegevens, recensies en lokale signalen om klanten in de buurt aan te trekken.
Scoreoverzicht
Gemiddelde Lokaal bedrijf-score: 54
Scoreprojectie
Geschatte verbetering op basis van de bevindingen in dit rapport
Klaar om uw SEO te verbeteren?
Start een gratis proefperiode en ontdek hoe uw score kan verbeteren.
Overzicht per module
Alle bevindingen (36)
Kritiek (7)
- highsitemap
Invalid sitemap format
Sitemap does not appear to be valid XML
Ensure sitemap.xml is properly formatted XML
- highsitemap
Empty sitemap
Sitemap contains no URLs
Add URLs to the sitemap
- highcontent
Images missing alt text
1 image(s) have no alt attribute
Add descriptive alt text to all images for accessibility and SEO
- highaccessibility
1 images missing alt attribute
Images without alt text are inaccessible to screen readers
Add descriptive alt text to all informational images, or alt="" for decorative ones
- highaccessibility
3 form fields without labels
Form inputs without associated labels are inaccessible
Use <label for="id"> or aria-label on every form field
- highaccessibility
2 buttons without accessible name
Buttons with no text, aria-label, or title are invisible to screen readers
Add visible text or aria-label to all buttons
- highpage experience
Intrusive interstitials detected
Found 14 potential popup/overlay elements
Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties
Gemiddeld (14)
- mediumcookies
3 cookies missing Secure flag
Cookies without Secure flag can be sent over unencrypted HTTP connections
Add the Secure attribute to all cookies to prevent transmission over HTTP
- mediumheaders
Missing content-security-policy
CSP header is missing. The site may be vulnerable to XSS attacks.
Add a Content-Security-Policy header to restrict resource loading
- mediumheaders
Missing x-content-type-options
X-Content-Type-Options is missing. MIME-sniffing attacks are possible.
Add X-Content-Type-Options: nosniff header
- mediumrobots
No sitemap in robots.txt
robots.txt does not reference a sitemap
Add Sitemap: https://yourdomain.com/sitemap.xml to robots.txt
- mediumtechnology
Render-blocking scripts
8 scripts load synchronously without async/defer
Add async or defer to non-critical scripts to improve page load speed
- mediumtechnology
Mixed content detected
1 resources loaded over HTTP on an HTTPS page
Update all resource URLs to use HTTPS
- mediummobile
Viewport missing width=device-width
Viewport does not set width=device-width
Set width=device-width in viewport meta tag
- mediummobile
Zoom disabled
Viewport prevents user zoom — accessibility issue
Remove maximum-scale=1 and user-scalable=no to allow pinch-to-zoom
- mediumaccessibility
Missing main landmark
No <main> element or role="main" found
Wrap primary content in a <main> element for screen reader navigation
- mediumaccessibility
No skip navigation link
No skip-to-content link at the top of the page
Add a visually hidden skip link as the first focusable element
- mediumaccessibility
Positive tabindex values found
2 elements use tabindex > 0, which disrupts natural tab order
Use tabindex="0" or tabindex="-1" instead of positive values
- mediumrate limits
No rate limiting detected
10 rapid requests all succeeded without any rate-limit headers or 429 responses. The site may be vulnerable to abuse.
Implement rate limiting (e.g., 429 Too Many Requests) to protect against brute-force attacks
- mediumsocial checker
Missing Twitter Card
No twitter:card meta tag — Twitter/X will use default preview
Add twitter:card meta tag (e.g., "summary_large_image")
- mediumuptime checker
Inconsistent www handling
Both www and non-www versions respond with 200 — one should redirect to the other
Choose either www or non-www as canonical and redirect the other with a 301
Laag (15)
- lowcookies
2 cookies missing HttpOnly flag
Cookies without HttpOnly can be accessed by JavaScript, increasing XSS risk
Add HttpOnly to session and authentication cookies
- lowcookies
2 cookies missing SameSite attribute
Missing SameSite defaults to Lax in modern browsers but should be explicit
Set SameSite=Strict or SameSite=Lax on all cookies
- lowdns
No IPv6 (AAAA) records
The domain has no AAAA records for IPv6 connectivity
Add AAAA DNS records for IPv6 support
- lowdns
DMARC policy is 'none'
DMARC is set but policy is 'none' (monitoring only).
Consider upgrading DMARC policy to 'quarantine' or 'reject'
- lowheaders
Missing referrer-policy
Referrer-Policy is not set. Full URLs may leak to third parties.
Add Referrer-Policy: strict-origin-when-cross-origin
- lowheaders
Missing permissions-policy
Permissions-Policy is missing.
Add Permissions-Policy to restrict browser feature access
- lowheaders
HSTS max-age too short
HSTS max-age is 15552001s (recommended: 31536000)
Set max-age to at least 31536000 (1 year)
- lowheaders
Server header exposes software
Server: Apache
Remove or obfuscate the Server header to reduce information leakage
- lowmeta
Meta description too long
Description is 225 characters (recommended: 120-160)
Shorten the meta description to 120-160 characters
- lowmeta
Missing Twitter Card
No twitter:card meta tag
Add twitter:card meta tag for Twitter sharing
- lowcontent
Lazy images without dimensions
34 lazy-loaded images lack width/height — causes layout shift
Add width and height attributes to lazy-loaded images
- lowmobile
Missing autocomplete attributes
1 form fields lack autocomplete hints
Add autocomplete attributes (email, tel, name) for faster mobile form filling
- lowrate limits
No WAF detected
No Web Application Firewall (Cloudflare, AWS, Akamai, Vercel, Sucuri, Fastly) was detected in response headers.
Consider using a WAF to protect against common web attacks (XSS, SQL injection, DDoS)
- lowrate limits
No bot protection detected
No CAPTCHA, challenge page, or bot detection was triggered during rapid requests.
Consider implementing bot protection (e.g., Cloudflare Turnstile, hCaptcha) for sensitive endpoints
- lowbrand checker
No web app manifest
No manifest.json linked — PWA features unavailable
Add a web app manifest for installability and brand customization
AI Fix Prompt
Kopieer deze prompt naar ChatGPT of Claude voor stapsgewijze instructies om de problemen op te lossen
Fix all SEO issues found in the audit of modz.fr.
Prioritize high-severity issues first, then medium. For each fix, make the actual code change — don't just describe what to do.
```json
{
"domain": "modz.fr",
"scores": {
"overall": 74,
"performance": 0,
"seo": 88,
"accessibility": 31,
"bestPractices": 84,
"security": 79
},
"findings": [
{
"module": "cookies",
"severity": "medium",
"title": "3 cookies missing Secure flag",
"description": "Cookies without Secure flag can be sent over unencrypted HTTP connections",
"recommendation": "Add the Secure attribute to all cookies to prevent transmission over HTTP"
},
{
"module": "headers",
"severity": "medium",
"title": "Missing content-security-policy",
"description": "CSP header is missing. The site may be vulnerable to XSS attacks.",
"recommendation": "Add a Content-Security-Policy header to restrict resource loading"
},
{
"module": "headers",
"severity": "medium",
"title": "Missing x-content-type-options",
"description": "X-Content-Type-Options is missing. MIME-sniffing attacks are possible.",
"recommendation": "Add X-Content-Type-Options: nosniff header"
},
{
"module": "robots",
"severity": "medium",
"title": "No sitemap in robots.txt",
"description": "robots.txt does not reference a sitemap",
"recommendation": "Add Sitemap: https://yourdomain.com/sitemap.xml to robots.txt"
},
{
"module": "sitemap",
"severity": "high",
"title": "Invalid sitemap format",
"description": "Sitemap does not appear to be valid XML",
"recommendation": "Ensure sitemap.xml is properly formatted XML"
},
{
"module": "sitemap",
"severity": "high",
"title": "Empty sitemap",
"description": "Sitemap contains no URLs",
"recommendation": "Add URLs to the sitemap"
},
{
"module": "technology",
"severity": "medium",
"title": "Render-blocking scripts",
"description": "8 scripts load synchronously without async/defer",
"recommendation": "Add async or defer to non-critical scripts to improve page load speed"
},
{
"module": "technology",
"severity": "medium",
"title": "Mixed content detected",
"description": "1 resources loaded over HTTP on an HTTPS page",
"recommendation": "Update all resource URLs to use HTTPS"
},
{
"module": "content",
"severity": "high",
"title": "Images missing alt text",
"description": "1 image(s) have no alt attribute",
"recommendation": "Add descriptive alt text to all images for accessibility and SEO"
},
{
"module": "mobile",
"severity": "medium",
"title": "Viewport missing width=device-width",
"description": "Viewport does not set width=device-width",
"recommendation": "Set width=device-width in viewport meta tag"
},
{
"module": "mobile",
"severity": "medium",
"title": "Zoom disabled",
"description": "Viewport prevents user zoom — accessibility issue",
"recommendation": "Remove maximum-scale=1 and user-scalable=no to allow pinch-to-zoom"
},
{
"module": "accessibility",
"severity": "high",
"title": "1 images missing alt attribute",
"description": "Images without alt text are inaccessible to screen readers",
"recommendation": "Add descriptive alt text to all informational images, or alt=\"\" for decorative ones"
},
{
"module": "accessibility",
"severity": "high",
"title": "3 form fields without labels",
"description": "Form inputs without associated labels are inaccessible",
"recommendation": "Use <label for=\"id\"> or aria-label on every form field"
},
{
"module": "accessibility",
"severity": "medium",
"title": "Missing main landmark",
"description": "No <main> element or role=\"main\" found",
"recommendation": "Wrap primary content in a <main> element for screen reader navigation"
},
{
"module": "accessibility",
"severity": "medium",
"title": "No skip navigation link",
"description": "No skip-to-content link at the top of the page",
"recommendation": "Add a visually hidden skip link as the first focusable element"
},
{
"module": "accessibility",
"severity": "medium",
"title": "Positive tabindex values found",
"description": "2 elements use tabindex > 0, which disrupts natural tab order",
"recommendation": "Use tabindex=\"0\" or tabindex=\"-1\" instead of positive values"
},
{
"module": "accessibility",
"severity": "high",
"title": "2 buttons without accessible name",
"description": "Buttons with no text, aria-label, or title are invisible to screen readers",
"recommendation": "Add visible text or aria-label to all buttons"
},
{
"module": "rate-limits",
"severity": "medium",
"title": "No rate limiting detected",
"description": "10 rapid requests all succeeded without any rate-limit headers or 429 responses. The site may be vulnerable to abuse.",
"recommendation": "Implement rate limiting (e.g., 429 Too Many Requests) to protect against brute-force attacks"
},
{
"module": "social-checker",
"severity": "medium",
"title": "Missing Twitter Card",
"description": "No twitter:card meta tag — Twitter/X will use default preview",
"recommendation": "Add twitter:card meta tag (e.g., \"summary_large_image\")"
},
{
"module": "uptime-checker",
"severity": "medium",
"title": "Inconsistent www handling",
"description": "Both www and non-www versions respond with 200 — one should redirect to the other",
"recommendation": "Choose either www or non-www as canonical and redirect the other with a 301"
},
{
"module": "page-experience",
"severity": "high",
"title": "Intrusive interstitials detected",
"description": "Found 14 potential popup/overlay elements",
"recommendation": "Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties"
}
]
}
```Aanbevelingen voor uw branche
- 1Optimaliseer uw Google Bedrijfsprofiel
- 2Voeg Service/LocalBusiness schema toe
- 3Integreer klantbeoordelingen met Review schema
- 4Zorg voor consistente NAP-gegevens op alle pagina's
- 5Meld het bedrijf aan bij belangrijke lokale bedrijvengidsen
SEO-checklist voor Lokaal bedrijf
Tips voor Gemengd-websites
- →Richt specifieke landingspagina's in voor elke doelgroep
- →Hanteer verschillende metadatastrategieën per paginagroep
- →Segmenteer uw sitemap op basis van contenttype
Lokale SEO-context
Frankrijk vereist Franstalige content voor lokale zoekopdrachten en handhaaft een streng RGPD-kader.
Gebruik Ctrl+P / Cmd+P om op te slaan als PDF