Skip to main content
GeneralMixed

SEO Report: festivalnikon.fr

Generated May 1, 2026 · 44 findings · 3.5s

70
report.overallScore
67
seo
83
security
0
performance
39
accessibility
86
Best Practices

Institutional websites prioritize accessibility, security, and proper indexing — citizens and stakeholders need easy access to relevant information.

Score Breakdown

Average General score: 50

seo
67(+22 vs avg)
security
83(+25 vs avg)
performance
0(-44 vs avg)
accessibility
39(-13 vs avg)
Best Practices
86(+30 vs avg)

Score Projection

Estimated improvement based on the findings in this report

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

Ready to improve your SEO?

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

Module Breakdown

structured data
301 finding
sitemap
301 finding
accessibility
395 findings
content
603 findings
technology
653 findings
headers
704 findings
brand checker
704 findings
dns
754 findings
rate limits
753 findings
news mentions
751 finding
mobile
804 findings
robots
851 finding
social checker
851 finding
uptime checker
851 finding
crawl budget
851 finding
indexing checker
851 finding
meta
873 findings
page experience
902 findings
cookies
951 finding
ssl
100
layout scan
100
log analyzer
100

All Findings (41)

Critical (5)

  • 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

    112 image(s) have no alt attribute

    Add descriptive alt text to all images for accessibility and SEO

  • highaccessibility

    112 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

    2 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

Medium (18)

  • mediumdns

    No DKIM record found

    None of the common DKIM selectors returned a valid key. Email authentication may be incomplete.

    Configure DKIM signing with your email provider and publish the public key in DNS

  • mediumheaders

    Missing x-content-type-options

    X-Content-Type-Options is missing. MIME-sniffing attacks are possible.

    Add X-Content-Type-Options: nosniff header

  • mediummeta

    Missing canonical URL

    No canonical link tag found

    Add a canonical URL to prevent duplicate content issues

  • mediumstructured data

    No structured data found

    No JSON-LD schemas detected on the page

    Add structured data (Organization, WebSite, BreadcrumbList) for rich search results

  • 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

    10 scripts load synchronously without async/defer

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

  • mediumtechnology

    Mixed content detected

    12 resources loaded over HTTP on an HTTPS page

    Update all resource URLs to use HTTPS

  • mediumcontent

    Multiple H1 tags

    Found 10 H1 tags (recommended: exactly 1)

    Use only one H1 per page; use H2-H6 for subsections

  • mediumcontent

    External links without noopener

    31 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

    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

  • 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

  • mediumbrand checker

    No Organization schema

    No Organization JSON-LD found

    Add Organization structured data with name, logo, and contact information

  • mediumcrawl budget

    No sitemap.xml found

    sitemap.xml returned HTTP 404

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

  • mediumindexing checker

    Missing canonical URL

    No canonical link tag found — search engines may index duplicate versions

    Add a self-referencing canonical URL to prevent duplicate content issues

Low (18)

  • lowcookies

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

    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 third-party domains

    49 external domains — may impact performance and privacy

    Reduce third-party dependencies or self-host critical resources

  • lowmobile

    Viewport missing initial-scale

    Viewport does not set initial-scale

    Add initial-scale=1 to viewport meta tag

  • 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

  • lownews mentions

    No press or news presence

    No press pages found on the site and no external news mentions detected

    Create a /news or /press page with company updates — this builds authority and earns links

  • lowbrand checker

    No WebSite schema

    No WebSite JSON-LD found

    Add WebSite structured data for sitelinks search box in Google

  • lowbrand checker

    No web app manifest

    No manifest.json linked — PWA features unavailable

    Add a web app manifest for installability and brand customization

  • lowbrand checker

    Missing og:site_name

    Open Graph site name is not set

    Add og:site_name meta tag for consistent social sharing

  • 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

    116 images without lazy loading

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

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 festivalnikon.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": "festivalnikon.fr",
  "scores": {
    "overall": 70,
    "performance": 0,
    "seo": 67,
    "accessibility": 39,
    "bestPractices": 86,
    "security": 83
  },
  "findings": [
    {
      "module": "dns",
      "severity": "medium",
      "title": "No DKIM record found",
      "description": "None of the common DKIM selectors returned a valid key. Email authentication may be incomplete.",
      "recommendation": "Configure DKIM signing with your email provider and publish the public key in DNS"
    },
    {
      "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": "meta",
      "severity": "medium",
      "title": "Missing canonical URL",
      "description": "No canonical link tag found",
      "recommendation": "Add a canonical URL to prevent duplicate content issues"
    },
    {
      "module": "structured-data",
      "severity": "medium",
      "title": "No structured data found",
      "description": "No JSON-LD schemas detected on the page",
      "recommendation": "Add structured data (Organization, WebSite, BreadcrumbList) for rich search results"
    },
    {
      "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": "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": "10 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": "12 resources loaded over HTTP on an HTTPS page",
      "recommendation": "Update all resource URLs to use HTTPS"
    },
    {
      "module": "content",
      "severity": "medium",
      "title": "Multiple H1 tags",
      "description": "Found 10 H1 tags (recommended: exactly 1)",
      "recommendation": "Use only one H1 per page; use H2-H6 for subsections"
    },
    {
      "module": "content",
      "severity": "high",
      "title": "Images missing alt text",
      "description": "112 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": "31 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": "112 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": "2 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": "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": "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": "brand-checker",
      "severity": "medium",
      "title": "No Organization schema",
      "description": "No Organization JSON-LD found",
      "recommendation": "Add Organization structured data with name, logo, and contact information"
    },
    {
      "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": "indexing-checker",
      "severity": "medium",
      "title": "Missing canonical URL",
      "description": "No canonical link tag found — search engines may index duplicate versions",
      "recommendation": "Add a self-referencing canonical URL to prevent duplicate content issues"
    }
  ]
}
```

Recommendations for your industry

  • 1Ensure WCAG 2.1 AA compliance
  • 2Implement all recommended security headers
  • 3Ensure sitemap covers all important pages
  • 4Optimize page load time to under 2 seconds
  • 5Ensure responsive design on all pages

SEO Checklist for General

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