SEO Report: geriatia.es
Generated 30. април 2026. · 67 findings · 3.7s
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 (63)
Critical (12)
- 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
- highmeta
Missing meta description
No meta description tag found
Add a meta description (120-160 characters)
- highmeta
Missing viewport meta
No viewport meta tag found. Mobile rendering will be broken.
Add <meta name="viewport" content="width=device-width, initial-scale=1">
- highsitemap
Invalid sitemap format
Sitemap does not appear to be valid XML
Ensure sitemap.xml is properly formatted XML
- highsitemap
Empty sitemap
Sitemap contains no URLs
Add URLs to the sitemap
- highcontent
No H1 tag found
The page has no H1 heading
Add exactly one H1 tag with the primary keyword
- highcontent
Images missing alt text
7 image(s) have no alt attribute
Add descriptive alt text to all images for accessibility and SEO
- 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
7 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
- 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
- highpage experience
Missing viewport meta
No viewport meta tag — mobile rendering will be broken
Add <meta name="viewport" content="width=device-width, initial-scale=1">
Medium (30)
- mediumcookies
3 cookies missing Secure flag
Cookies without Secure flag can be sent over unencrypted HTTP connections
Add the Secure attribute to all cookies to prevent transmission over HTTP
- 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 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
- mediumssl
SSL certificate expiring within 30 days
Certificate expires in 23 days
Plan to renew the SSL certificate soon
- 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
- mediumstructured data
No structured data found
No JSON-LD schemas detected on the page
Add structured data (Organization, WebSite, BreadcrumbList) for rich search results
- mediumrobots
No User-agent directive
robots.txt has no User-agent directive
Add User-agent: * to apply rules to all crawlers
- mediumrobots
No sitemap in robots.txt
robots.txt does not reference a sitemap
Add Sitemap: https://yourdomain.com/sitemap.xml to robots.txt
- mediumtechnology
Mixed content detected
2 resources loaded over HTTP on an HTTPS page
Update all resource URLs to use HTTPS
- mediumcontent
Thin content
Page has only 236 words (recommended: 300+)
Add more meaningful content — aim for at least 300 words on key pages
- mediumcontent
External links without noopener
2 external links with target="_blank" lack rel="noopener"
Add rel="noopener noreferrer" to all target="_blank" links
- mediummobile
1 small tap targets detected
Some interactive elements may be too small for comfortable tapping
Ensure all tap targets are at least 44x44px with adequate spacing
- mediummobile
Fixed-width elements may cause horizontal scroll
1 elements have fixed widths > 400px
Use max-width: 100% or responsive units instead of fixed pixel widths
- 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
- 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
- mediumlayout scan
No landmark elements
No semantic landmarks found (nav, main, header, footer)
Use semantic HTML5 landmarks for better accessibility and SEO
- 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")
- mediumuptime checker
Inconsistent www handling
Both www and non-www versions respond with 200 — one should redirect to the other
Choose either www or non-www as canonical and redirect the other with a 301
- mediumuptime checker
Soft 404 detected
Non-existent URLs return HTTP 200 instead of 404
Return proper 404 status codes for non-existent pages to avoid indexing junk URLs
- mediumbrand checker
No Organization schema
No Organization JSON-LD found
Add Organization structured data with name, logo, and contact information
- mediumbrand checker
Missing favicon
No favicon link tag found
Add a favicon for brand recognition in browser tabs and bookmarks
- 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
- mediumlog analyzer
Exposed /wp-admin
/wp-admin is accessible (HTTP 200) — CMS admin panel is publicly visible
Restrict access to admin panels via IP whitelisting or authentication
Low (21)
- lowcookies
3 cookies missing HttpOnly flag
Cookies without HttpOnly can be accessed by JavaScript, increasing XSS risk
Add HttpOnly to session and authentication cookies
- lowcookies
3 cookies missing SameSite attribute
Missing SameSite defaults to Lax in modern browsers but should be explicit
Set SameSite=Strict or SameSite=Lax on all cookies
- lowdns
No IPv6 (AAAA) records
The domain has no AAAA records for IPv6 connectivity
Add AAAA DNS records for IPv6 support
- lowdns
Only one MX record (no redundancy)
A single MX record means no failover if the mail server goes down.
Add a secondary MX record for email redundancy
- 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
- 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: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
- lowmeta
Missing favicon
No favicon link tag found
Add a favicon for better browser tab recognition
- lowaccessibility
Missing navigation landmark
No <nav> element or role="navigation" found
Wrap navigation links in a <nav> element
- 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
- 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
- lowpage experience
Popup elements detected
Found 2 popup/overlay element(s) — likely consent banners
Ensure popups don't cover main content excessively, especially on mobile
- lowpage experience
No resource hints
No preload or preconnect hints found
Add preload for critical resources and preconnect for important third-party origins
- lowpage experience
No lazy loading on images
7 images without lazy loading
Add loading="lazy" to below-the-fold images for faster initial page load
- lowlog analyzer
Soft 404 response
Non-existent pages return HTTP 200 instead of 404
Return proper 404 status codes for non-existent pages
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 geriatia.es.
Prioritize high-severity issues first, then medium. For each fix, make the actual code change — don't just describe what to do.
```json
{
"domain": "geriatia.es",
"scores": {
"overall": 62,
"performance": 0,
"seo": 58,
"accessibility": 51,
"bestPractices": 66,
"security": 69
},
"findings": [
{
"module": "cookies",
"severity": "medium",
"title": "3 cookies missing Secure flag",
"description": "Cookies without Secure flag can be sent over unencrypted HTTP connections",
"recommendation": "Add the Secure attribute to all cookies to prevent transmission over HTTP"
},
{
"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": "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": "ssl",
"severity": "medium",
"title": "SSL certificate expiring within 30 days",
"description": "Certificate expires in 23 days",
"recommendation": "Plan to renew the SSL certificate soon"
},
{
"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": "high",
"title": "Missing viewport meta",
"description": "No viewport meta tag found. Mobile rendering will be broken.",
"recommendation": "Add <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">"
},
{
"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": "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": "robots",
"severity": "medium",
"title": "No User-agent directive",
"description": "robots.txt has no User-agent directive",
"recommendation": "Add User-agent: * to apply rules to all crawlers"
},
{
"module": "robots",
"severity": "medium",
"title": "No sitemap in robots.txt",
"description": "robots.txt does not reference a sitemap",
"recommendation": "Add Sitemap: https://yourdomain.com/sitemap.xml to robots.txt"
},
{
"module": "sitemap",
"severity": "high",
"title": "Invalid sitemap format",
"description": "Sitemap does not appear to be valid XML",
"recommendation": "Ensure sitemap.xml is properly formatted XML"
},
{
"module": "sitemap",
"severity": "high",
"title": "Empty sitemap",
"description": "Sitemap contains no URLs",
"recommendation": "Add URLs to the sitemap"
},
{
"module": "technology",
"severity": "medium",
"title": "Mixed content detected",
"description": "2 resources loaded over HTTP on an HTTPS page",
"recommendation": "Update all resource URLs to use HTTPS"
},
{
"module": "content",
"severity": "high",
"title": "No H1 tag found",
"description": "The page has no H1 heading",
"recommendation": "Add exactly one H1 tag with the primary keyword"
},
{
"module": "content",
"severity": "medium",
"title": "Thin content",
"description": "Page has only 236 words (recommended: 300+)",
"recommendation": "Add more meaningful content — aim for at least 300 words on key pages"
},
{
"module": "content",
"severity": "high",
"title": "Images missing alt text",
"description": "7 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": "2 external links with target=\"_blank\" lack rel=\"noopener\"",
"recommendation": "Add rel=\"noopener noreferrer\" to all target=\"_blank\" links"
},
{
"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": "mobile",
"severity": "medium",
"title": "1 small tap targets detected",
"description": "Some interactive elements may be too small for comfortable tapping",
"recommendation": "Ensure all tap targets are at least 44x44px with adequate spacing"
},
{
"module": "mobile",
"severity": "medium",
"title": "Fixed-width elements may cause horizontal scroll",
"description": "1 elements have fixed widths > 400px",
"recommendation": "Use max-width: 100% or responsive units instead of fixed pixel widths"
},
{
"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": "high",
"title": "7 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": "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": "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": "medium",
"title": "No landmark elements",
"description": "No semantic landmarks found (nav, main, header, footer)",
"recommendation": "Use semantic HTML5 landmarks for better accessibility and SEO"
},
{
"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": "uptime-checker",
"severity": "medium",
"title": "Inconsistent www handling",
"description": "Both www and non-www versions respond with 200 — one should redirect to the other",
"recommendation": "Choose either www or non-www as canonical and redirect the other with a 301"
},
{
"module": "uptime-checker",
"severity": "medium",
"title": "Soft 404 detected",
"description": "Non-existent URLs return HTTP 200 instead of 404",
"recommendation": "Return proper 404 status codes for non-existent pages to avoid indexing junk URLs"
},
{
"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": "brand-checker",
"severity": "medium",
"title": "Missing favicon",
"description": "No favicon link tag found",
"recommendation": "Add a favicon for brand recognition in browser tabs and bookmarks"
},
{
"module": "page-experience",
"severity": "high",
"title": "Missing viewport meta",
"description": "No viewport meta tag — mobile rendering will be broken",
"recommendation": "Add <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">"
},
{
"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"
},
{
"module": "log-analyzer",
"severity": "medium",
"title": "Exposed /wp-admin",
"description": "/wp-admin 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
- 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
Spain has growing e-commerce and mobile search dominates.