Skip to main content
Local BusinessMixed

SEO Report: jonak.fr

Generated May 1, 2026 · 42 findings · 4.6s

76
report.overallScore
84
seo
82
security
0
performance
47
accessibility
80
Best Practices

Service businesses need to dominate local search results with correct NAP data, reviews, and local signals to attract nearby customers.

Score Breakdown

Average Local Business score: 54

seo
84(+36 vs avg)
security
82(+20 vs avg)
performance
0(-50 vs avg)
accessibility
47(-9 vs avg)
Best Practices
80(+20 vs avg)

Score Projection

Estimated improvement based on the findings in this report

Current score: 76Projected score: 81
Current score
Free (+1)
Starter (+1)
Pro (+3)

Ready to improve your SEO?

Start a free trial and see how your score can improve.

Module Breakdown

sitemap
301 finding
accessibility
474 findings
content
574 findings
page experience
653 findings
headers
706 findings
layout scan
702 findings
technology
753 findings
rate limits
753 findings
cookies
803 findings
dns
853 findings
mobile
852 findings
social checker
851 finding
uptime checker
851 finding
crawl budget
851 finding
news mentions
90
brand checker
951 finding
log analyzer
951 finding
meta
971 finding
ssl
100
structured data
1002 findings
robots
100
indexing checker
100

All Findings (38)

Critical (6)

  • highsitemap

    Missing sitemap.xml

    No sitemap.xml found at the root

    Create a sitemap.xml to help search engines discover all pages

  • highcontent

    Images missing alt text

    4 image(s) have no alt attribute

    Add descriptive alt text to all images for accessibility and SEO

  • highaccessibility

    4 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

    7 form fields without labels

    Form inputs without associated labels are inaccessible

    Use <label for="id"> or aria-label on every form field

  • highaccessibility

    1 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 13 potential popup/overlay elements

    Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties

Medium (13)

  • mediumcookies

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

  • mediumtechnology

    Render-blocking scripts

    15 scripts load synchronously without async/defer

    Add async or defer to non-critical scripts to improve page load speed

  • mediumcontent

    Very low text-to-HTML ratio

    Text/HTML ratio is 2% (recommended: >5%)

    Increase meaningful text content relative to HTML markup

  • mediumcontent

    External links without noopener

    9 external links with target="_blank" lack rel="noopener"

    Add rel="noopener noreferrer" to all target="_blank" links

  • mediummobile

    Zoom disabled

    Viewport prevents user zoom — accessibility issue

    Remove maximum-scale=1 and user-scalable=no to allow pinch-to-zoom

  • 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

  • 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

  • mediumlayout scan

    Inconsistent headings

    Desktop has 1 H1 tags, mobile has 3

    Ensure the same heading structure is served to both mobile and desktop users

  • mediumlayout scan

    Excessive hidden content on mobile

    149 hidden elements on mobile vs 50 on desktop

    Avoid hiding large amounts of content on mobile — Google indexes mobile-first

  • 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

    Soft 404 detected

    Non-existent URLs return HTTP 200 instead of 404

    Return proper 404 status codes for non-existent pages to avoid indexing junk URLs

  • mediumcrawl budget

    No sitemap.xml found

    sitemap.xml returned HTTP 404

    Create a sitemap.xml to help search engines discover all pages

Low (19)

  • lowcookies

    1 cookie 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'

  • lowdns

    Only one MX record (no redundancy)

    A single MX record means no failover if the mail server goes down.

    Add a secondary MX record for email redundancy

  • 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

    Server header exposes software

    Server: nginx

    Remove or obfuscate the Server header to reduce information leakage

  • lowmeta

    Missing Twitter Card

    No twitter:card meta tag

    Add twitter:card meta tag for Twitter sharing

  • lowtechnology

    Many inline scripts

    23 inline <script> blocks found

    Move inline scripts to external files for caching and CSP compliance

  • lowtechnology

    Many third-party domains

    20 external domains — may impact performance and privacy

    Reduce third-party dependencies or self-host critical resources

  • lowcontent

    Empty anchor links

    8 links point to "#" or "javascript:void(0)"

    Use proper URLs or button elements instead of empty anchors

  • lowmobile

    Unresponsive images

    1 images lack srcset or responsive sizing

    Use srcset and sizes attributes for responsive images

  • 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

  • lowpage experience

    No resource hints

    No preload or preconnect hints found

    Add preload for critical resources and preconnect for important third-party origins

  • lowpage experience

    No lazy loading on images

    95 images without lazy loading

    Add loading="lazy" to below-the-fold images for faster initial page load

  • lowlog analyzer

    Soft 404 response

    Non-existent pages return HTTP 200 instead of 404

    Return proper 404 status codes for non-existent pages

AI Fix Prompt

Copy this prompt into ChatGPT or Claude to get step-by-step fix instructions

Fix all SEO issues found in the audit of jonak.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": "jonak.fr",
  "scores": {
    "overall": 76,
    "performance": 0,
    "seo": 84,
    "accessibility": 47,
    "bestPractices": 80,
    "security": 82
  },
  "findings": [
    {
      "module": "cookies",
      "severity": "medium",
      "title": "1 cookie 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": "sitemap",
      "severity": "high",
      "title": "Missing sitemap.xml",
      "description": "No sitemap.xml found at the root",
      "recommendation": "Create a sitemap.xml to help search engines discover all pages"
    },
    {
      "module": "technology",
      "severity": "medium",
      "title": "Render-blocking scripts",
      "description": "15 scripts load synchronously without async/defer",
      "recommendation": "Add async or defer to non-critical scripts to improve page load speed"
    },
    {
      "module": "content",
      "severity": "medium",
      "title": "Very low text-to-HTML ratio",
      "description": "Text/HTML ratio is 2% (recommended: >5%)",
      "recommendation": "Increase meaningful text content relative to HTML markup"
    },
    {
      "module": "content",
      "severity": "high",
      "title": "Images missing alt text",
      "description": "4 image(s) have no alt attribute",
      "recommendation": "Add descriptive alt text to all images for accessibility and SEO"
    },
    {
      "module": "content",
      "severity": "medium",
      "title": "External links without noopener",
      "description": "9 external links with target=\"_blank\" lack rel=\"noopener\"",
      "recommendation": "Add rel=\"noopener noreferrer\" to all target=\"_blank\" links"
    },
    {
      "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": "4 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": "7 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": "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": "high",
      "title": "1 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": "layout-scan",
      "severity": "medium",
      "title": "Inconsistent headings",
      "description": "Desktop has 1 H1 tags, mobile has 3",
      "recommendation": "Ensure the same heading structure is served to both mobile and desktop users"
    },
    {
      "module": "layout-scan",
      "severity": "medium",
      "title": "Excessive hidden content on mobile",
      "description": "149 hidden elements on mobile vs 50 on desktop",
      "recommendation": "Avoid hiding large amounts of content on mobile — Google indexes mobile-first"
    },
    {
      "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": "Soft 404 detected",
      "description": "Non-existent URLs return HTTP 200 instead of 404",
      "recommendation": "Return proper 404 status codes for non-existent pages to avoid indexing junk URLs"
    },
    {
      "module": "crawl-budget",
      "severity": "medium",
      "title": "No sitemap.xml found",
      "description": "sitemap.xml returned HTTP 404",
      "recommendation": "Create a sitemap.xml to help search engines discover all pages"
    },
    {
      "module": "page-experience",
      "severity": "high",
      "title": "Intrusive interstitials detected",
      "description": "Found 13 potential popup/overlay elements",
      "recommendation": "Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties"
    }
  ]
}
```

Recommendations for your industry

  • 1Optimize Google Business profile
  • 2Add Service/LocalBusiness schema
  • 3Integrate customer reviews with Review schema
  • 4Ensure consistent NAP data across all pages
  • 5Create profiles in local business directories

SEO Checklist for Local Business

Tips for Mixed websites

  • →Define clear landing pages for each segment
  • →Use different meta strategies per page group
  • →Segment sitemap by content type

Local SEO Context

France requires French content for local searches and has strict RGPD rules.

Start your free trial

Use Ctrl+P / Cmd+P to save as PDF