Skip to main content
GeneralMixed

SEO Report: tvsyd.dk

Generated 2026 බක් 27 · 29 findings · 12.9s

75
report.overallScore
86
seo
62
security
0
performance
69
accessibility
91
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
62(+4 vs avg)
performance
0(-44 vs avg)
accessibility
69(+17 vs avg)
Best Practices
91(+35 vs avg)

Score Projection

Estimated improvement based on the findings in this report

Current score: 75Projected score: 78
Current score
Free (+1)
Starter (+1)
Pro (+1)

Ready to improve your SEO?

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

Module Breakdown

ssl
01 finding
structured data
301 finding
headers
406 findings
uptime checker
602 findings
accessibility
693 findings
content
744 findings
rate limits
753 findings
brand checker
753 findings
log analyzer
851 finding
dns
951 finding
sitemap
951 finding
mobile
952 findings
news mentions
96
cookies
100
meta
100
robots
100
technology
100
layout scan
100
social checker
100
crawl budget
100
page experience
1001 finding
indexing checker
100

All Findings (27)

Critical (3)

  • highssl

    SSL certificate not found

    Could not retrieve SSL certificate

    Ensure the site has a valid SSL certificate installed

  • highaccessibility

    1 form fields without labels

    Form inputs without associated labels are inaccessible

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

  • highuptime checker

    No HTTPS redirect

    HTTP requests are not redirected to HTTPS

    Configure a 301 redirect from HTTP to HTTPS for all pages

Medium (12)

  • 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-content-type-options

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

    Add X-Content-Type-Options: nosniff header

  • 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

  • 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

    Multiple H1 tags

    Found 59 H1 tags (recommended: exactly 1)

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

  • mediumcontent

    External links without noopener

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

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

  • 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

  • mediumaccessibility

    Auto-playing media detected

    11 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

  • mediumuptime checker

    Slow response time

    Average response time is 2200ms (should be < 2000ms)

    Optimize server response time — consider CDN, caching, or server upgrades

  • mediumbrand checker

    No Organization schema

    No Organization JSON-LD found

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

  • mediumlog analyzer

    X-Powered-By header exposed

    X-Powered-By: PHP/8.3.30

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

Low (12)

  • lowdns

    No IPv6 (AAAA) records

    The domain has no AAAA records for IPv6 connectivity

    Add AAAA DNS records for IPv6 support

  • 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

    HSTS max-age too short

    HSTS max-age is 300s (recommended: 31536000)

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

  • lowheaders

    X-Powered-By exposes technology

    X-Powered-By: PHP/8.3.30

    Remove the X-Powered-By header

  • lowsitemap

    No lastmod dates

    Sitemap URLs don't include lastmod timestamps

    Add <lastmod> to help search engines prioritize crawling

  • lowcontent

    Low text-to-HTML ratio

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

    Consider adding more descriptive text content

  • lowcontent

    Lazy images without dimensions

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

    Add width and height attributes to lazy-loaded images

  • lowmobile

    Unresponsive images

    19 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 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

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 tvsyd.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": "tvsyd.dk",
  "scores": {
    "overall": 75,
    "performance": 0,
    "seo": 86,
    "accessibility": 69,
    "bestPractices": 91,
    "security": 62
  },
  "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-content-type-options",
      "description": "X-Content-Type-Options is missing. MIME-sniffing attacks are possible.",
      "recommendation": "Add X-Content-Type-Options: nosniff header"
    },
    {
      "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": "ssl",
      "severity": "high",
      "title": "SSL certificate not found",
      "description": "Could not retrieve SSL certificate",
      "recommendation": "Ensure the site has a valid SSL certificate installed"
    },
    {
      "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": "content",
      "severity": "medium",
      "title": "Multiple H1 tags",
      "description": "Found 59 H1 tags (recommended: exactly 1)",
      "recommendation": "Use only one H1 per page; use H2-H6 for subsections"
    },
    {
      "module": "content",
      "severity": "medium",
      "title": "External links without noopener",
      "description": "15 external links with target=\"_blank\" lack rel=\"noopener\"",
      "recommendation": "Add rel=\"noopener noreferrer\" to all target=\"_blank\" links"
    },
    {
      "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": "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": "medium",
      "title": "Auto-playing media detected",
      "description": "11 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": "uptime-checker",
      "severity": "medium",
      "title": "Slow response time",
      "description": "Average response time is 2200ms (should be < 2000ms)",
      "recommendation": "Optimize server response time — consider CDN, caching, or server upgrades"
    },
    {
      "module": "uptime-checker",
      "severity": "high",
      "title": "No HTTPS redirect",
      "description": "HTTP requests are not redirected to HTTPS",
      "recommendation": "Configure a 301 redirect from HTTP to HTTPS for all pages"
    },
    {
      "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": "log-analyzer",
      "severity": "medium",
      "title": "X-Powered-By header exposed",
      "description": "X-Powered-By: PHP/8.3.30",
      "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