SEO Report: dyndns.dk
Generated 28 April 2026 · 38 findings · 3.8s
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 (37)
Critical (7)
- highmeta
Missing meta description
No meta description tag found
Add a meta description (120-160 characters)
- highsitemap
Missing sitemap.xml
No sitemap.xml found at the root
Create a sitemap.xml to help search engines discover all pages
- highmobile
Missing viewport meta tag
No viewport meta tag found — page will not be mobile-responsive
Add <meta name="viewport" content="width=device-width, initial-scale=1">
- highaccessibility
Missing lang attribute
The <html> tag does not have a lang attribute
Add lang="en" (or appropriate language) to the <html> tag
- highaccessibility
1 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
- highlayout scan
Navigation missing on mobile
Desktop has a navigation element but mobile version does not
Ensure mobile users can navigate the site — add a hamburger menu or mobile navigation
- highsocial checker
Missing og:title
Open Graph title is not set — social shares will use generic text
Add og:title meta tag for compelling social media previews
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 canonical URL
No canonical link tag found
Add a canonical URL to prevent duplicate content issues
- mediummeta
Missing og:title
Open Graph title is not set
Add og:title meta tag for social sharing
- mediummeta
Missing og:image
No Open Graph image set. Social shares will lack a preview image.
Add og:image meta tag (1200x630px recommended)
- mediummeta
Missing lang attribute
The <html> element has no lang attribute
Add lang attribute to <html> for accessibility and SEO
- mediummeta
Missing charset declaration
No charset meta tag found
Add <meta charset="utf-8"> as first element in <head>
- mediumstructured data
No structured data found
No JSON-LD schemas detected on the page
Add structured data (Organization, WebSite, BreadcrumbList) for rich search results
- 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
- mediumsocial checker
Missing og:description
Open Graph description is not set
Add og:description for better social sharing previews
- 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")
- mediumbrand checker
No Organization schema
No Organization JSON-LD found
Add Organization structured data with name, logo, and contact information
- mediumcrawl budget
No sitemap.xml found
sitemap.xml returned HTTP 404
Create a sitemap.xml to help search engines discover all pages
- 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
Low (15)
- lowheaders
Missing permissions-policy
Permissions-Policy is missing.
Add Permissions-Policy to restrict browser feature access
- lowheaders
Server header exposes software
Server: nginx
Remove or obfuscate the Server header to reduce information leakage
- lowmeta
Missing og:description
Open Graph description is not set
Add og:description meta tag for social sharing
- lowmeta
Missing Twitter Card
No twitter:card meta tag
Add twitter:card meta tag for Twitter sharing
- lowcontent
Heading level skipped
H5 follows H3 (skipped H4)
Maintain sequential heading hierarchy without skipping levels
- 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 page on site
Found 1 external mentions but no dedicated press page
Create a /press or /news section to aggregate and amplify media coverage
- lowsocial checker
Missing og:type
Open Graph type is not set
Add og:type meta tag (e.g., "website", "article")
- 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
- 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
- lowbrand checker
No web app manifest
No manifest.json linked — PWA features unavailable
Add a web app manifest for installability and brand customization
- 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 resource hints
No preload or preconnect hints found
Add preload for critical resources and preconnect for important third-party origins
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 dyndns.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": "dyndns.dk",
"scores": {
"overall": 76,
"performance": 0,
"seo": 67,
"accessibility": 62,
"bestPractices": 81,
"security": 90
},
"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": "high",
"title": "Missing meta description",
"description": "No meta description tag found",
"recommendation": "Add a meta description (120-160 characters)"
},
{
"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": "meta",
"severity": "medium",
"title": "Missing og:title",
"description": "Open Graph title is not set",
"recommendation": "Add og:title meta tag for social sharing"
},
{
"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": "meta",
"severity": "medium",
"title": "Missing lang attribute",
"description": "The <html> element has no lang attribute",
"recommendation": "Add lang attribute to <html> for accessibility and SEO"
},
{
"module": "meta",
"severity": "medium",
"title": "Missing charset declaration",
"description": "No charset meta tag found",
"recommendation": "Add <meta charset=\"utf-8\"> as first element in <head>"
},
{
"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": "Missing sitemap.xml",
"description": "No sitemap.xml found at the root",
"recommendation": "Create a sitemap.xml to help search engines discover all pages"
},
{
"module": "mobile",
"severity": "high",
"title": "Missing viewport meta tag",
"description": "No viewport meta tag found — page will not be mobile-responsive",
"recommendation": "Add <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">"
},
{
"module": "accessibility",
"severity": "high",
"title": "Missing lang attribute",
"description": "The <html> tag does not have a lang attribute",
"recommendation": "Add lang=\"en\" (or appropriate language) to the <html> tag"
},
{
"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": "1 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": "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": "layout-scan",
"severity": "high",
"title": "Navigation missing on mobile",
"description": "Desktop has a navigation element but mobile version does not",
"recommendation": "Ensure mobile users can navigate the site — add a hamburger menu or mobile navigation"
},
{
"module": "social-checker",
"severity": "high",
"title": "Missing og:title",
"description": "Open Graph title is not set — social shares will use generic text",
"recommendation": "Add og:title meta tag for compelling social media previews"
},
{
"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": "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": "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": "crawl-budget",
"severity": "medium",
"title": "No sitemap.xml found",
"description": "sitemap.xml returned HTTP 404",
"recommendation": "Create a sitemap.xml to help search engines discover all pages"
},
{
"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"
}
]
}
```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.