Skip to main content
Local BusinessMixed

SEO Report: visma.fi

Generated April 30, 2026 · 32 findings · 3.2s

80
report.overallScore
81
seo
83
security
0
performance
62
accessibility
93
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
81(+33 vs avg)
security
83(+21 vs avg)
performance
0(-50 vs avg)
accessibility
62(+6 vs avg)
Best Practices
93(+33 vs avg)

Score Projection

Estimated improvement based on the findings in this report

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

Ready to improve your SEO?

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

Module Breakdown

structured data
301 finding
content
487 findings
dns
504 findings
accessibility
623 findings
headers
704 findings
brand checker
704 findings
technology
753 findings
page experience
751 finding
news mentions
90
sitemap
951 finding
rate limits
952 findings
meta
971 finding
cookies
100
ssl
100
robots
100
mobile
1001 finding
layout scan
100
social checker
100
uptime checker
100
crawl budget
100
indexing checker
100
log analyzer
100

All Findings (30)

Critical (4)

  • highcontent

    Images missing alt text

    1 image(s) have no alt attribute

    Add descriptive alt text to all images for accessibility and SEO

  • highaccessibility

    1 images missing alt attribute

    Images without alt text are inaccessible to screen readers

    Add descriptive alt text to all informational images, or alt="" for decorative ones

  • highaccessibility

    1 form fields without labels

    Form inputs without associated labels are inaccessible

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

  • highpage experience

    Intrusive interstitials detected

    Found 11 potential popup/overlay elements

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

Medium (10)

  • mediumdns

    Missing SPF record

    No SPF TXT record found. Email spoofing is possible.

    Add a TXT record with v=spf1 policy

  • mediumdns

    Missing DMARC record

    No DMARC policy found at _dmarc subdomain.

    Add a DMARC TXT record to prevent email spoofing

  • mediumdns

    No DKIM record found

    None of the common DKIM selectors returned a valid key. Email authentication may be incomplete.

    Configure DKIM signing with your email provider and publish the public key in DNS

  • 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

  • mediumtechnology

    Render-blocking scripts

    9 scripts load synchronously without async/defer

    Add async or defer to non-critical scripts to improve page load speed

  • mediumcontent

    Multiple H1 tags

    Found 4 H1 tags (recommended: exactly 1)

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

  • mediumcontent

    External links without noopener

    8 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

  • mediumbrand checker

    No Organization schema

    No Organization JSON-LD found

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

Low (16)

  • 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

    Missing Cache-Control header

    No Cache-Control header — browser caching is undefined

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

  • lowmeta

    Missing og:url

    Open Graph URL is not set

    Add og:url meta tag matching the canonical URL

  • lowsitemap

    No lastmod dates

    Sitemap URLs don't include lastmod timestamps

    Add <lastmod> to help search engines prioritize crawling

  • lowtechnology

    Many inline scripts

    18 inline <script> blocks found

    Move inline scripts to external files for caching and CSP compliance

  • lowtechnology

    Many third-party domains

    23 external domains — may impact performance and privacy

    Reduce third-party dependencies or self-host critical resources

  • lowcontent

    Low text-to-HTML ratio

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

    Consider adding more descriptive text content

  • lowcontent

    Empty anchor links

    41 links point to "#" or "javascript:void(0)"

    Use proper URLs or button elements instead of empty anchors

  • lowcontent

    Multiple iframes detected

    4 iframes found — content inside iframes is harder for search engines to crawl

    Minimize use of iframes for important content

  • lowcontent

    Lazy images without dimensions

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

    Add width and height attributes to lazy-loaded images

  • 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

  • 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 visma.fi.

Prioritize high-severity issues first, then medium. For each fix, make the actual code change — don't just describe what to do.

```json
{
  "domain": "visma.fi",
  "scores": {
    "overall": 80,
    "performance": 0,
    "seo": 81,
    "accessibility": 62,
    "bestPractices": 93,
    "security": 83
  },
  "findings": [
    {
      "module": "dns",
      "severity": "medium",
      "title": "Missing SPF record",
      "description": "No SPF TXT record found. Email spoofing is possible.",
      "recommendation": "Add a TXT record with v=spf1 policy"
    },
    {
      "module": "dns",
      "severity": "medium",
      "title": "Missing DMARC record",
      "description": "No DMARC policy found at _dmarc subdomain.",
      "recommendation": "Add a DMARC TXT record to prevent email spoofing"
    },
    {
      "module": "dns",
      "severity": "medium",
      "title": "No DKIM record found",
      "description": "None of the common DKIM selectors returned a valid key. Email authentication may be incomplete.",
      "recommendation": "Configure DKIM signing with your email provider and publish the public key in DNS"
    },
    {
      "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": "technology",
      "severity": "medium",
      "title": "Render-blocking scripts",
      "description": "9 scripts load synchronously without async/defer",
      "recommendation": "Add async or defer to non-critical scripts to improve page load speed"
    },
    {
      "module": "content",
      "severity": "medium",
      "title": "Multiple H1 tags",
      "description": "Found 4 H1 tags (recommended: exactly 1)",
      "recommendation": "Use only one H1 per page; use H2-H6 for subsections"
    },
    {
      "module": "content",
      "severity": "high",
      "title": "Images missing alt text",
      "description": "1 image(s) have no alt attribute",
      "recommendation": "Add descriptive alt text to all images for accessibility and SEO"
    },
    {
      "module": "content",
      "severity": "medium",
      "title": "External links without noopener",
      "description": "8 external links with target=\"_blank\" lack rel=\"noopener\"",
      "recommendation": "Add rel=\"noopener noreferrer\" to all target=\"_blank\" links"
    },
    {
      "module": "accessibility",
      "severity": "high",
      "title": "1 images missing alt attribute",
      "description": "Images without alt text are inaccessible to screen readers",
      "recommendation": "Add descriptive alt text to all informational images, or alt=\"\" for decorative ones"
    },
    {
      "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": "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": "page-experience",
      "severity": "high",
      "title": "Intrusive interstitials detected",
      "description": "Found 11 potential popup/overlay elements",
      "recommendation": "Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties"
    }
  ]
}
```

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

Finland has high technology adoption and favors Finnish-language pages.

Start your free trial

Use Ctrl+P / Cmd+P to save as PDF