SEO Report: soundi.fi
Generated 30 April 2026 · 35 findings · 3.4s
Content sites thrive on organic traffic — fresh content, strong internal linking, and proper article markup are critical for search visibility.
Score Breakdown
Average Media / Blog score: 58
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 (33)
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
2 form fields without labels
Form inputs without associated labels are inaccessible
Use <label for="id"> or aria-label on every form field
- highaccessibility
2 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 (17)
- mediumdns
Missing SPF record
No SPF TXT record found. Email spoofing is possible.
Add a TXT record with v=spf1 policy
- 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 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-frame-options
X-Frame-Options is missing. The site may be vulnerable to clickjacking.
Add X-Frame-Options: DENY or SAMEORIGIN header
- mediummeta
Meta description too short
Description is 38 characters (recommended: 120-160)
Write a more detailed meta description
- mediummeta
Missing og:image
No Open Graph image set. Social shares will lack a preview image.
Add og:image meta tag (1200x630px recommended)
- mediumstructured data
Missing @type in schema
A structured data object has no @type
Add a @type property (e.g. Organization, WebSite)
- mediumtechnology
Mixed content detected
9 resources loaded over HTTP on an HTTPS page
Update all resource URLs to use HTTPS
- 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
14 external links with target="_blank" lack rel="noopener"
Add rel="noopener noreferrer" to all target="_blank" links
- mediumcontent
Low keyword relevance
Only 25% of title keywords appear in body text
Ensure the page content includes the keywords from the title
- mediumaccessibility
Missing main landmark
No <main> element or role="main" found
Wrap primary content in a <main> element for screen reader navigation
- 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
- 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
- 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)
- 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
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 Twitter Card
No twitter:card meta tag
Add twitter:card meta tag for Twitter sharing
- lowstructured data
Missing Organization schema
No Organization or LocalBusiness structured data found
Add Organization schema with name, logo, and contact info
- lowstructured data
Missing WebSite schema
No WebSite structured data found
Add WebSite schema with SearchAction for sitelinks search box
- lowtechnology
Many inline scripts
16 inline <script> blocks found
Move inline scripts to external files for caching and CSP compliance
- lowtechnology
Many third-party domains
24 external domains — may impact performance and privacy
Reduce third-party dependencies or self-host critical resources
- lowmobile
Unresponsive images
11 images lack srcset or responsive sizing
Use srcset and sizes attributes for responsive 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
- lowpage experience
No lazy loading on images
20 images without lazy loading
Add loading="lazy" to below-the-fold images for faster initial page load
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 soundi.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": "soundi.fi",
"scores": {
"overall": 79,
"performance": 0,
"seo": 90,
"accessibility": 54,
"bestPractices": 89,
"security": 77
},
"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": "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": "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-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": "meta",
"severity": "medium",
"title": "Meta description too short",
"description": "Description is 38 characters (recommended: 120-160)",
"recommendation": "Write a more detailed meta description"
},
{
"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": "structured-data",
"severity": "medium",
"title": "Missing @type in schema",
"description": "A structured data object has no @type",
"recommendation": "Add a @type property (e.g. Organization, WebSite)"
},
{
"module": "technology",
"severity": "medium",
"title": "Mixed content detected",
"description": "9 resources loaded over HTTP on an HTTPS page",
"recommendation": "Update all resource URLs to use HTTPS"
},
{
"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": "14 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 25% of title keywords appear in body text",
"recommendation": "Ensure the page content includes the keywords from the title"
},
{
"module": "accessibility",
"severity": "high",
"title": "2 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": "Missing main landmark",
"description": "No <main> element or role=\"main\" found",
"recommendation": "Wrap primary content in a <main> element for screen reader navigation"
},
{
"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": "2 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": "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": "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
- 1Update existing content regularly
- 2Add Article/BlogPosting schema markup
- 3Strengthen internal link structure between articles
- 4Optimize readability and heading structure
- 5Optimize OG tags for social sharing
SEO Checklist for Media / Blog
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.