Skip to main content
GeneralMixed

SEO Report: vejle.dk

Generated April 28, 2026 · 26 findings · 4.2s

82
report.overallScore
83
seo
86
security
0
performance
69
accessibility
90
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
83(+38 vs avg)
security
86(+28 vs avg)
performance
0(-44 vs avg)
accessibility
69(+17 vs avg)
Best Practices
90(+34 vs avg)

Score Projection

Estimated improvement based on the findings in this report

Current score: 82Projected score: 87
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

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

All Findings (24)

Critical (3)

  • highmeta

    Missing meta description

    No meta description tag found

    Add a meta description (120-160 characters)

  • highaccessibility

    1 form fields without labels

    Form inputs without associated labels are inaccessible

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

  • highpage experience

    Intrusive interstitials detected

    Found 4 potential popup/overlay elements

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

Medium (13)

  • 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-frame-options

    X-Frame-Options is missing. The site may be vulnerable to clickjacking.

    Add X-Frame-Options: DENY or SAMEORIGIN header

  • 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

  • mediumstructured data

    No structured data found

    No JSON-LD schemas detected on the page

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

  • mediumsitemap

    Duplicate URLs in sitemap

    3 duplicate URLs found in sitemap

    Remove duplicate URLs from the sitemap

  • mediumtechnology

    Mixed content detected

    1 resources loaded over HTTP on an HTTPS page

    Update all resource URLs to use HTTPS

  • 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 1% (recommended: >5%)

    Increase meaningful text content relative to HTML markup

  • mediumaccessibility

    Positive tabindex values found

    1 elements use tabindex > 0, which disrupts natural tab order

    Use tabindex="0" or tabindex="-1" instead of positive values

  • mediumaccessibility

    Auto-playing media detected

    1 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:description

    Open Graph description is not set

    Add og:description for better social sharing previews

  • mediumbrand checker

    No Organization schema

    No Organization JSON-LD found

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

Low (8)

  • lowmeta

    Missing og:description

    Open Graph description is not set

    Add og:description meta tag for social sharing

  • lowmeta

    Missing og:type

    Open Graph type is not set

    Add og:type meta tag (e.g., "website", "article")

  • lowtechnology

    Many external CSS files

    37 external stylesheets loaded

    Consider bundling CSS files to reduce HTTP requests

  • 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

    Missing og:type

    Open Graph type is not set

    Add og:type meta tag (e.g., "website", "article")

  • lowuptime checker

    No custom 404 page

    The 404 error page appears to be a generic server default

    Create a custom 404 page with navigation links and search to retain visitors

  • lowbrand checker

    No WebSite schema

    No WebSite JSON-LD found

    Add WebSite structured data for sitelinks search box in Google

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 vejle.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": "vejle.dk",
  "scores": {
    "overall": 82,
    "performance": 0,
    "seo": 83,
    "accessibility": 69,
    "bestPractices": 90,
    "security": 86
  },
  "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": "headers",
      "severity": "medium",
      "title": "Missing x-frame-options",
      "description": "X-Frame-Options is missing. The site may be vulnerable to clickjacking.",
      "recommendation": "Add X-Frame-Options: DENY or SAMEORIGIN header"
    },
    {
      "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": "high",
      "title": "Missing meta description",
      "description": "No meta description tag found",
      "recommendation": "Add a meta description (120-160 characters)"
    },
    {
      "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": "medium",
      "title": "Duplicate URLs in sitemap",
      "description": "3 duplicate URLs found in sitemap",
      "recommendation": "Remove duplicate URLs from the sitemap"
    },
    {
      "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": "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 1% (recommended: >5%)",
      "recommendation": "Increase meaningful text content relative to HTML markup"
    },
    {
      "module": "accessibility",
      "severity": "high",
      "title": "1 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": "Positive tabindex values found",
      "description": "1 elements use tabindex > 0, which disrupts natural tab order",
      "recommendation": "Use tabindex=\"0\" or tabindex=\"-1\" instead of positive values"
    },
    {
      "module": "accessibility",
      "severity": "medium",
      "title": "Auto-playing media detected",
      "description": "1 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:description",
      "description": "Open Graph description is not set",
      "recommendation": "Add og:description for better social sharing previews"
    },
    {
      "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 4 potential popup/overlay elements",
      "recommendation": "Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties"
    }
  ]
}
```

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