SEO Report: madridactual.es
Generated AP ۱۴۰۵ غویی ۱۱ · 38 findings · 6.8s
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 (34)
Critical (2)
- highaccessibility
2 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 5 potential popup/overlay elements
Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties
Medium (12)
- 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
- mediumheaders
CSP allows unsafe-eval
Content-Security-Policy uses 'unsafe-eval' which allows dynamic code execution
Remove 'unsafe-eval' and refactor code to avoid eval()
- mediummeta
Canonical / og:url mismatch
Canonical: https://www.madridactual.es/ og:url: https://www.madridactual.es/?import_ep=1
Ensure canonical URL and og:url match
- mediumstructured data
Missing @type in schema
A structured data object has no @type
Add a @type property (e.g. Organization, WebSite)
- mediumtechnology
Render-blocking scripts
12 scripts load synchronously without async/defer
Add async or defer to non-critical scripts to improve page load speed
- mediumcontent
External links without noopener
4 external links with target="_blank" lack rel="noopener"
Add rel="noopener noreferrer" to all target="_blank" links
- 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
- mediumsocial checker
Missing og:description
Open Graph description is not set
Add og:description for better social sharing previews
- mediumbrand checker
No Organization schema
No Organization JSON-LD found
Add Organization structured data with name, logo, and contact information
- mediumlog analyzer
X-Powered-By header exposed
X-Powered-By: PleskLin
Remove the X-Powered-By header to reduce information leakage
Low (20)
- 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'
- lowdns
DMARC reporting not configured
DMARC record does not have a rua= tag for aggregate reports.
Add rua=mailto:[email protected] to receive DMARC reports
- lowheaders
Server header exposes software
Server: nginx
Remove or obfuscate the Server header to reduce information leakage
- lowheaders
X-Powered-By exposes technology
X-Powered-By: PleskLin
Remove the X-Powered-By header
- lowmeta
Missing og:description
Open Graph description is not set
Add og:description meta tag for social 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
36 inline <script> blocks found
Move inline scripts to external files for caching and CSP compliance
- lowtechnology
Many external CSS files
23 external stylesheets loaded
Consider bundling CSS files to reduce HTTP requests
- lowcontent
Heading level skipped
H6 follows H4 (skipped H5)
Maintain sequential heading hierarchy without skipping levels
- lowcontent
Empty anchor links
4 links point to "#" or "javascript:void(0)"
Use proper URLs or button elements instead of empty anchors
- lowmobile
Missing autocomplete attributes
1 form fields lack autocomplete hints
Add autocomplete attributes (email, tel, name) for faster mobile form filling
- lowmobile
Unresponsive images
29 images lack srcset or responsive sizing
Use srcset and sizes attributes for responsive 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 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
- lowuptime checker
No custom 404 page
The 404 error page appears to be a generic server default
Create a custom 404 page with navigation links and search to retain visitors
- 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
109 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 madridactual.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": "madridactual.es",
"scores": {
"overall": 84,
"performance": 0,
"seo": 90,
"accessibility": 69,
"bestPractices": 85,
"security": 84
},
"findings": [
{
"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": "headers",
"severity": "medium",
"title": "CSP allows unsafe-eval",
"description": "Content-Security-Policy uses 'unsafe-eval' which allows dynamic code execution",
"recommendation": "Remove 'unsafe-eval' and refactor code to avoid eval()"
},
{
"module": "meta",
"severity": "medium",
"title": "Canonical / og:url mismatch",
"description": "Canonical: https://www.madridactual.es/\nog:url: https://www.madridactual.es/?import_ep=1",
"recommendation": "Ensure canonical URL and og:url match"
},
{
"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": "Render-blocking scripts",
"description": "12 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": "External links without noopener",
"description": "4 external links with target=\"_blank\" lack rel=\"noopener\"",
"recommendation": "Add rel=\"noopener noreferrer\" to all target=\"_blank\" links"
},
{
"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": "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 og:description",
"description": "Open Graph description is not set",
"recommendation": "Add og:description for better social sharing previews"
},
{
"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 5 potential popup/overlay elements",
"recommendation": "Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties"
},
{
"module": "log-analyzer",
"severity": "medium",
"title": "X-Powered-By header exposed",
"description": "X-Powered-By: PleskLin",
"recommendation": "Remove the X-Powered-By header to reduce information leakage"
}
]
}
```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.