Skip to main content
Local BusinessMixed

SEO Report: esmark.dk

Generated April 28, 2026 · 26 findings · 10.8s

80
report.overallScore
83
seo
69
security
0
performance
89
accessibility
91
Best Practices

Service businesses need to dominate local search results with correct NAP data, reviews, and local signals to attract nearby customers.

Score Breakdown

Average Local Business score: 54

seo
83(+35 vs avg)
security
69(+7 vs avg)
performance
0(-50 vs avg)
accessibility
89(+33 vs avg)
Best Practices
91(+31 vs avg)

Score Projection

Estimated improvement based on the findings in this report

Current score: 80Projected score: 83
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
506 findings
news mentions
751 finding
brand checker
753 findings
page experience
751 finding
content
843 findings
social checker
851 finding
crawl budget
851 finding
log analyzer
851 finding
accessibility
892 findings
mobile
952 findings
rate limits
952 findings
meta
971 finding
cookies
100
dns
100
robots
100
sitemap
100
technology
100
layout scan
100
uptime checker
100
indexing checker
100

All Findings (24)

Critical (2)

  • highssl

    SSL certificate not found

    Could not retrieve SSL certificate

    Ensure the site has a valid SSL certificate installed

  • highpage experience

    Intrusive interstitials detected

    Found 5 potential popup/overlay elements

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

Medium (9)

  • 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

    External links without noopener

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

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

  • 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

  • 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

  • mediumlog analyzer

    Exposed /wp-login.php

    /wp-login.php is accessible (HTTP 200) — CMS admin panel is publicly visible

    Restrict access to admin panels via IP whitelisting or authentication

Low (13)

  • 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

    Missing Cache-Control header

    No Cache-Control header — browser caching is undefined

    Add Cache-Control with appropriate max-age for static and dynamic resources

  • lowheaders

    Content-Type missing charset

    Content-Type header does not specify charset

    Add charset=utf-8 to Content-Type header

  • lowmeta

    Missing Twitter Card

    No twitter:card meta tag

    Add twitter:card meta tag for Twitter sharing

  • lowcontent

    Low text-to-HTML ratio

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

    Consider adding more descriptive text content

  • lowcontent

    Lazy images without dimensions

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

    Add width and height attributes to lazy-loaded images

  • lowmobile

    Unresponsive images

    24 images lack srcset or responsive sizing

    Use srcset and sizes attributes for responsive images

  • lowaccessibility

    Missing navigation landmark

    No <nav> element or role="navigation" found

    Wrap navigation links in a <nav> element

  • lowrate limits

    No rate limiting detected

    No explicit rate-limit headers or 429 responses detected. Cloudflare WAF provides platform-level protection.

    Implement rate limiting (e.g., 429 Too Many Requests) to protect against brute-force attacks

  • 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 esmark.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": "esmark.dk",
  "scores": {
    "overall": 80,
    "performance": 0,
    "seo": 83,
    "accessibility": 89,
    "bestPractices": 91,
    "security": 69
  },
  "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": "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": "External links without noopener",
      "description": "20 external links with target=\"_blank\" lack rel=\"noopener\"",
      "recommendation": "Add rel=\"noopener noreferrer\" to all target=\"_blank\" links"
    },
    {
      "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": "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": "page-experience",
      "severity": "high",
      "title": "Intrusive interstitials detected",
      "description": "Found 5 potential popup/overlay elements",
      "recommendation": "Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties"
    },
    {
      "module": "log-analyzer",
      "severity": "medium",
      "title": "Exposed /wp-login.php",
      "description": "/wp-login.php is accessible (HTTP 200) — CMS admin panel is publicly visible",
      "recommendation": "Restrict access to admin panels via IP whitelisting or authentication"
    }
  ]
}
```

Recommendations for your industry

  • 1Optimize Google Business profile
  • 2Add Service/LocalBusiness schema
  • 3Integrate customer reviews with Review schema
  • 4Ensure consistent NAP data across all pages
  • 5Create profiles in local business directories

SEO Checklist for Local Business

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