Skip to main content
GeneralMixed

SEO Report: jollyroom.dk

Generated April 28, 2026 · 35 findings · 7.8s

80
report.overallScore
86
seo
87
security
0
performance
54
accessibility
81
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
86(+41 vs avg)
security
87(+29 vs avg)
performance
0(-44 vs avg)
accessibility
54(+2 vs avg)
Best Practices
81(+25 vs avg)

Score Projection

Estimated improvement based on the findings in this report

Current score: 80Projected score: 85
Current score
Free (+2)
Starter (+1)
Pro (+2)

Ready to improve your SEO?

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

Module Breakdown

sitemap
502 findings
accessibility
544 findings
headers
655 findings
log analyzer
653 findings
content
674 findings
social checker
702 findings
rate limits
753 findings
page experience
751 finding
mobile
803 findings
uptime checker
851 finding
brand checker
851 finding
meta
872 findings
news mentions
90
dns
951 finding
structured data
952 findings
technology
951 finding
cookies
100
ssl
100
robots
100
layout scan
100
crawl budget
100
indexing checker
100

All Findings (34)

Critical (5)

  • 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

  • highaccessibility

    9 form fields without labels

    Form inputs without associated labels are inaccessible

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

  • highaccessibility

    33 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 29 potential popup/overlay elements

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

Medium (15)

  • 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

  • mediummeta

    Missing og:image

    No Open Graph image set. Social shares will lack a preview image.

    Add og:image meta tag (1200x630px recommended)

  • mediumcontent

    Multiple H1 tags

    Found 2 H1 tags (recommended: exactly 1)

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

  • 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

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

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

  • mediummobile

    Fixed-width elements may cause horizontal scroll

    3 elements have fixed widths > 400px

    Use max-width: 100% or responsive units instead of fixed pixel widths

  • mediumaccessibility

    Potential color contrast issues

    18 elements with very light text colors detected

    Ensure text meets WCAG AA contrast ratio (4.5:1 for normal text, 3:1 for large text)

  • mediumaccessibility

    Auto-playing media detected

    6 video/audio elements auto-play

    Avoid auto-playing media or ensure it has controls and is muted by default

  • 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 og:image

    No social sharing image set — posts will lack visual appeal

    Add og:image meta tag (1200x630px recommended)

  • 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

  • mediumbrand checker

    No Organization schema

    No Organization JSON-LD found

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

  • mediumlog analyzer

    Server version exposed

    Server header reveals version: Microsoft-IIS/10.0

    Remove version numbers from the Server header to reduce attack surface

  • mediumlog analyzer

    X-Powered-By header exposed

    X-Powered-By: ASP.NET

    Remove the X-Powered-By header to reduce information leakage

Low (14)

  • lowdns

    No IPv6 (AAAA) records

    The domain has no AAAA records for IPv6 connectivity

    Add AAAA DNS records for IPv6 support

  • 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 1s (recommended: 31536000)

    Set max-age to at least 31536000 (1 year)

  • lowheaders

    Server header exposes software

    Server: Microsoft-IIS/10.0

    Remove or obfuscate the Server header to reduce information leakage

  • lowheaders

    X-Powered-By exposes technology

    X-Powered-By: ASP.NET

    Remove the X-Powered-By header

  • lowmeta

    Missing Twitter Card

    No twitter:card meta tag

    Add twitter:card meta tag for Twitter sharing

  • lowstructured data

    Missing Organization schema

    No Organization or LocalBusiness structured data found

    Add Organization schema with name, logo, and contact info

  • lowtechnology

    Many inline scripts

    19 inline <script> blocks found

    Move inline scripts to external files for caching and CSP compliance

  • lowcontent

    Lazy images without dimensions

    292 lazy-loaded images lack width/height — causes layout shift

    Add width and height attributes to lazy-loaded images

  • lowmobile

    Missing autocomplete attributes

    2 form fields lack autocomplete hints

    Add autocomplete attributes (email, tel, name) for faster mobile form filling

  • lowmobile

    Unresponsive images

    3 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

  • 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 jollyroom.dk.

Prioritize high-severity issues first, then medium. For each fix, make the actual code change — don't just describe what to do.

```json
{
  "domain": "jollyroom.dk",
  "scores": {
    "overall": 80,
    "performance": 0,
    "seo": 86,
    "accessibility": 54,
    "bestPractices": 81,
    "security": 87
  },
  "findings": [
    {
      "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": "meta",
      "severity": "medium",
      "title": "Missing og:image",
      "description": "No Open Graph image set. Social shares will lack a preview image.",
      "recommendation": "Add og:image meta tag (1200x630px recommended)"
    },
    {
      "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": "content",
      "severity": "medium",
      "title": "Multiple H1 tags",
      "description": "Found 2 H1 tags (recommended: exactly 1)",
      "recommendation": "Use only one H1 per page; use H2-H6 for subsections"
    },
    {
      "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": "medium",
      "title": "External links without noopener",
      "description": "5 external links with target=\"_blank\" lack rel=\"noopener\"",
      "recommendation": "Add rel=\"noopener noreferrer\" to all target=\"_blank\" links"
    },
    {
      "module": "mobile",
      "severity": "medium",
      "title": "Fixed-width elements may cause horizontal scroll",
      "description": "3 elements have fixed widths > 400px",
      "recommendation": "Use max-width: 100% or responsive units instead of fixed pixel widths"
    },
    {
      "module": "accessibility",
      "severity": "high",
      "title": "9 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": "Potential color contrast issues",
      "description": "18 elements with very light text colors detected",
      "recommendation": "Ensure text meets WCAG AA contrast ratio (4.5:1 for normal text, 3:1 for large text)"
    },
    {
      "module": "accessibility",
      "severity": "high",
      "title": "33 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": "accessibility",
      "severity": "medium",
      "title": "Auto-playing media detected",
      "description": "6 video/audio elements auto-play",
      "recommendation": "Avoid auto-playing media or ensure it has controls and is muted by default"
    },
    {
      "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 og:image",
      "description": "No social sharing image set — posts will lack visual appeal",
      "recommendation": "Add og:image meta tag (1200x630px recommended)"
    },
    {
      "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": "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": "page-experience",
      "severity": "high",
      "title": "Intrusive interstitials detected",
      "description": "Found 29 potential popup/overlay elements",
      "recommendation": "Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties"
    },
    {
      "module": "log-analyzer",
      "severity": "medium",
      "title": "Server version exposed",
      "description": "Server header reveals version: Microsoft-IIS/10.0",
      "recommendation": "Remove version numbers from the Server header to reduce attack surface"
    },
    {
      "module": "log-analyzer",
      "severity": "medium",
      "title": "X-Powered-By header exposed",
      "description": "X-Powered-By: ASP.NET",
      "recommendation": "Remove the X-Powered-By header to reduce information leakage"
    }
  ]
}
```

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

In Denmark, Google dominates with 95%+ market share. Focus on local searches and Danish language quality.

Start your free trial

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