Skip to main content
GeneralMixed

SEO Report: ssi.dk

Generated April 28, 2026 · 32 findings · 3.2s

82
report.overallScore
79
seo
80
security
0
performance
84
accessibility
93
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
79(+34 vs avg)
security
80(+22 vs avg)
performance
0(-44 vs avg)
accessibility
84(+32 vs avg)
Best Practices
93(+37 vs avg)

Score Projection

Estimated improvement based on the findings in this report

Current score: 82Projected score: 86
Current score
Free (+2)
Starter (+1)
Pro (+1)

Ready to improve your SEO?

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

Module Breakdown

structured data
301 finding
headers
357 findings
sitemap
502 findings
rate limits
753 findings
brand checker
753 findings
log analyzer
802 findings
accessibility
842 findings
uptime checker
851 finding
indexing checker
851 finding
meta
872 findings
content
872 findings
cookies
951 finding
dns
951 finding
mobile
951 finding
social checker
951 finding
page experience
951 finding
ssl
100
robots
100
technology
1001 finding
layout scan
100
news mentions
100
crawl budget
100

All Findings (29)

Critical (3)

  • highheaders

    Missing strict-transport-security

    HSTS header is missing. The site may be vulnerable to downgrade attacks.

    Add Strict-Transport-Security header with max-age of at least 31536000

  • 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

Medium (12)

  • mediumheaders

    CSP allows unsafe-eval

    Content-Security-Policy uses 'unsafe-eval' which allows dynamic code execution

    Remove 'unsafe-eval' and refactor code to avoid eval()

  • mediumheaders

    CORS allows all origins

    Access-Control-Allow-Origin: * allows any website to make requests

    Restrict CORS to specific trusted origins if the page handles sensitive data

  • 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

  • mediumcontent

    Thin content

    Page has only 255 words (recommended: 300+)

    Add more meaningful content — aim for at least 300 words on key pages

  • 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

  • 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

  • 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

  • mediumlog analyzer

    Server version exposed

    Server header reveals version: Microsoft-IIS/10.0

    Remove version numbers from the Server header to reduce attack surface

Low (14)

  • lowcookies

    1 cookie missing HttpOnly flag

    Cookies without HttpOnly can be accessed by JavaScript, increasing XSS risk

    Add HttpOnly to session and authentication cookies

  • 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

    Server header exposes software

    Server: Microsoft-IIS/10.0

    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

  • lowcontent

    Low text-to-HTML ratio

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

    Consider adding more descriptive text content

  • lowmobile

    Unresponsive images

    7 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

  • lowsocial checker

    No social profile links

    No links to social media profiles found on the homepage

    Add links to your social media profiles for better brand visibility and authority signals

  • lowbrand checker

    No WebSite schema

    No WebSite JSON-LD found

    Add WebSite structured data for sitelinks search box in Google

  • 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 lazy loading on images

    10 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 ssi.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": "ssi.dk",
  "scores": {
    "overall": 82,
    "performance": 0,
    "seo": 79,
    "accessibility": 84,
    "bestPractices": 93,
    "security": 80
  },
  "findings": [
    {
      "module": "headers",
      "severity": "high",
      "title": "Missing strict-transport-security",
      "description": "HSTS header is missing. The site may be vulnerable to downgrade attacks.",
      "recommendation": "Add Strict-Transport-Security header with max-age of at least 31536000"
    },
    {
      "module": "headers",
      "severity": "medium",
      "title": "CSP allows unsafe-eval",
      "description": "Content-Security-Policy uses 'unsafe-eval' which allows dynamic code execution",
      "recommendation": "Remove 'unsafe-eval' and refactor code to avoid eval()"
    },
    {
      "module": "headers",
      "severity": "medium",
      "title": "CORS allows all origins",
      "description": "Access-Control-Allow-Origin: * allows any website to make requests",
      "recommendation": "Restrict CORS to specific trusted origins if the page handles sensitive data"
    },
    {
      "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": "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": "Thin content",
      "description": "Page has only 255 words (recommended: 300+)",
      "recommendation": "Add more meaningful content — aim for at least 300 words on key pages"
    },
    {
      "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": "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": "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": "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"
    },
    {
      "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"
    }
  ]
}
```

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