SEO Report: expresso.pt
Generated २०२६ अप्रिल २८ · 27 findings · 14.7s
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
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 (23)
Critical (4)
- highssl
SSL certificate not found
Could not retrieve SSL certificate
Ensure the site has a valid SSL certificate installed
- highsitemap
Missing sitemap.xml
No sitemap.xml found at the root
Create a sitemap.xml to help search engines discover all pages
- highaccessibility
2 form fields without labels
Form inputs without associated labels are inaccessible
Use <label for="id"> or aria-label on every form field
- highcookies
Module failed
The operation was aborted due to timeout
Try scanning again
Medium (8)
- 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
Missing canonical URL
No canonical link tag found
Add a canonical URL to prevent duplicate content issues
- mediumtechnology
Mixed content detected
4 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 1% (recommended: >5%)
Increase meaningful text content relative to HTML markup
- mediumcontent
External links without noopener
31 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
- mediumcrawl budget
No sitemap.xml found
sitemap.xml returned HTTP 404
Create a sitemap.xml to help search engines discover all pages
- 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
Low (11)
- 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
HSTS max-age too short
HSTS max-age is 86400s (recommended: 31536000)
Set max-age to at least 31536000 (1 year)
- lowheaders
Server header exposes software
Server: nginx
Remove or obfuscate the Server header to reduce information leakage
- lowtechnology
Many third-party domains
20 external domains — may impact performance and privacy
Reduce third-party dependencies or self-host critical resources
- lowrate limits
No rate limiting detected
No explicit rate-limit headers or 429 responses detected. AWS CloudFront WAF provides platform-level protection.
Implement rate limiting (e.g., 429 Too Many Requests) to protect against brute-force attacks
- lownews mentions
No press page on site
Found 12 external mentions but no dedicated press page
Create a /press or /news section to aggregate and amplify media coverage
- lowpage experience
Popup elements detected
Found 1 popup/overlay element(s) — likely consent banners
Ensure popups don't cover main content excessively, especially on mobile
- lowpage experience
No lazy loading on images
27 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 expresso.pt.
Prioritize high-severity issues first, then medium. For each fix, make the actual code change — don't just describe what to do.
```json
{
"domain": "expresso.pt",
"scores": {
"overall": 72,
"performance": 0,
"seo": 82,
"accessibility": 77,
"bestPractices": 96,
"security": 50
},
"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": "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": "meta",
"severity": "medium",
"title": "Missing canonical URL",
"description": "No canonical link tag found",
"recommendation": "Add a canonical URL to prevent duplicate content issues"
},
{
"module": "sitemap",
"severity": "high",
"title": "Missing sitemap.xml",
"description": "No sitemap.xml found at the root",
"recommendation": "Create a sitemap.xml to help search engines discover all pages"
},
{
"module": "technology",
"severity": "medium",
"title": "Mixed content detected",
"description": "4 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 1% (recommended: >5%)",
"recommendation": "Increase meaningful text content relative to HTML markup"
},
{
"module": "content",
"severity": "medium",
"title": "External links without noopener",
"description": "31 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": "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": "cookies",
"severity": "high",
"title": "Module failed",
"description": "The operation was aborted due to timeout",
"recommendation": "Try scanning again"
},
{
"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": "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"
}
]
}
```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