Skip to main content
GeneralMixed

SEO Report: gyldendal.dk

Generated April 28, 2026 · 35 findings · 5.1s

79
report.overallScore
82
seo
80
security
0
performance
62
accessibility
94
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
82(+37 vs avg)
security
80(+22 vs avg)
performance
0(-44 vs avg)
accessibility
62(+10 vs avg)
Best Practices
94(+38 vs avg)

Score Projection

Estimated improvement based on the findings in this report

Current score: 79Projected score: 83
Current score
Free (+1)
Starter (+1)
Pro (+2)

Ready to improve your SEO?

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

Module Breakdown

headers
307 findings
structured data
301 finding
accessibility
623 findings
content
674 findings
brand checker
704 findings
rate limits
753 findings
social checker
802 findings
news mentions
852 findings
log analyzer
851 finding
technology
902 findings
meta
942 findings
dns
951 finding
sitemap
951 finding
cookies
100
ssl
100
robots
100
mobile
1001 finding
layout scan
100
uptime checker
100
crawl budget
100
page experience
1001 finding
indexing checker
100

All Findings (31)

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

  • highaccessibility

    1 form fields without labels

    Form inputs without associated labels are inaccessible

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

  • highaccessibility

    6 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

Medium (11)

  • 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

  • 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

    External links without noopener

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

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

  • mediumcontent

    Low keyword relevance

    Only 40% 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

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

  • 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 (17)

  • 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

    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

    Missing Twitter Card

    No twitter:card meta tag

    Add twitter:card meta tag for Twitter sharing

  • lowmeta

    Missing og:type

    Open Graph type is not set

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

  • lowsitemap

    No lastmod dates

    Sitemap URLs don't include lastmod timestamps

    Add <lastmod> to help search engines prioritize crawling

  • lowtechnology

    Many inline scripts

    21 inline <script> blocks found

    Move inline scripts to external files for caching and CSP compliance

  • lowtechnology

    Many third-party domains

    22 external domains — may impact performance and privacy

    Reduce third-party dependencies or self-host critical resources

  • lowcontent

    Lazy images without dimensions

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

    Add width and height attributes to lazy-loaded 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 page on site

    Found 11 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")

  • 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

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 gyldendal.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": "gyldendal.dk",
  "scores": {
    "overall": 79,
    "performance": 0,
    "seo": 82,
    "accessibility": 62,
    "bestPractices": 94,
    "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": "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": "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": "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": "External links without noopener",
      "description": "13 external links with target=\"_blank\" lack rel=\"noopener\"",
      "recommendation": "Add rel=\"noopener noreferrer\" to all target=\"_blank\" links"
    },
    {
      "module": "content",
      "severity": "medium",
      "title": "Low keyword relevance",
      "description": "Only 40% of title keywords appear in body text",
      "recommendation": "Ensure the page content includes the keywords from the title"
    },
    {
      "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": "high",
      "title": "6 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": "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": "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