SEO Report: tv2ostjylland.dk
Generated April 28, 2026 · 38 findings · 5.1s
Institutional websites prioritize accessibility, security, and proper indexing — citizens and stakeholders need easy access to relevant information.
Score Breakdown
Average General score: 50
Score Projection
Estimated improvement based on the findings in this report
Ready to improve your SEO?
Start a free trial and see how your score can improve.
Module Breakdown
All Findings (35)
Critical (4)
- highmeta
Missing meta description
No meta description tag found
Add a meta description (120-160 characters)
- highcontent
No H1 tag found
The page has no H1 heading
Add exactly one H1 tag with the primary keyword
- highaccessibility
8 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
- highuptime checker
No HTTPS redirect
HTTP requests are not redirected to HTTPS
Configure a 301 redirect from HTTP to HTTPS for all pages
Medium (14)
- 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
- mediumssl
HTTP does not redirect to HTTPS
Port 80 does not redirect to HTTPS
Set up a 301 redirect from HTTP to HTTPS
- 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
Very low text-to-HTML ratio
Text/HTML ratio is 2% (recommended: >5%)
Increase meaningful text content relative to HTML markup
- mediumcontent
Low keyword relevance
Only 0% of title keywords appear in body text
Ensure the page content includes the keywords from the title
- 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
29 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
- mediumbrand checker
Missing favicon
No favicon link tag found
Add a favicon for brand recognition in browser tabs and bookmarks
- 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 (17)
- 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
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
- lowmeta
Title too long
Title is 348 characters (recommended: 50-60)
Shorten the title to 50-60 characters
- lowmeta
Missing og:description
Open Graph description is not set
Add og:description meta tag for social sharing
- lowmeta
Missing favicon
No favicon link tag found
Add a favicon for better browser tab recognition
- lowsitemap
No lastmod dates
Sitemap URLs don't include lastmod timestamps
Add <lastmod> to help search engines prioritize crawling
- lowtechnology
Many inline scripts
42 inline <script> blocks found
Move inline scripts to external files for caching and CSP compliance
- lowcontent
Lazy images without dimensions
16 lazy-loaded images lack width/height — causes layout shift
Add width and height attributes to lazy-loaded images
- lowmobile
Unresponsive images
27 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
- 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
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 tv2ostjylland.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": "tv2ostjylland.dk",
"scores": {
"overall": 77,
"performance": 0,
"seo": 76,
"accessibility": 69,
"bestPractices": 91,
"security": 78
},
"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": "medium",
"title": "HTTP does not redirect to HTTPS",
"description": "Port 80 does not redirect to HTTPS",
"recommendation": "Set up a 301 redirect from HTTP to HTTPS"
},
{
"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": "content",
"severity": "high",
"title": "No H1 tag found",
"description": "The page has no H1 heading",
"recommendation": "Add exactly one H1 tag with the primary keyword"
},
{
"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": "Low keyword relevance",
"description": "Only 0% of title keywords appear in body text",
"recommendation": "Ensure the page content includes the keywords from the title"
},
{
"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": "8 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": "29 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": "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": "brand-checker",
"severity": "medium",
"title": "Missing favicon",
"description": "No favicon link tag found",
"recommendation": "Add a favicon for brand recognition in browser tabs and bookmarks"
},
{
"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.