Skip to main content
FinanceMixed

SEO Report: novobanco.pt

Generated ٢٠٢٦ اپريل ٢٨ · 40 findings · 7.1s

78
report.overallScore
85
seo
83
security
0
performance
55
accessibility
80
Best Practices

Ecommerce and commercial websites have unique SEO challenges — product pages require structured data, fast loading, and optimal mobile experience to convert.

Score Breakdown

Average Finance score: 70

seo
85(+19 vs avg)
security
83(+3 vs avg)
performance
0(-60 vs avg)
accessibility
55(-13 vs avg)
Best Practices
80(+6 vs avg)

Score Projection

Estimated improvement based on the findings in this report

Current score: 78Projected score: 85
Current score
Free (+3)
Starter (+1)
Pro (+3)

Ready to improve your SEO?

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

Module Breakdown

social checker
255 findings
sitemap
502 findings
content
516 findings
accessibility
553 findings
headers
605 findings
page experience
702 findings
meta
744 findings
rate limits
753 findings
dns
802 findings
technology
851 finding
uptime checker
851 finding
brand checker
902 findings
log analyzer
951 finding
cookies
100
ssl
100
structured data
1001 finding
robots
100
mobile
1001 finding
layout scan
100
news mentions
1001 finding
crawl budget
100
indexing checker
100

All Findings (36)

Critical (8)

  • 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

    Images missing alt text

    30 image(s) have no alt attribute

    Add descriptive alt text to all images for accessibility and SEO

  • highaccessibility

    30 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

    2 form fields without labels

    Form inputs without associated labels are inaccessible

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

  • highaccessibility

    5 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

  • 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

    Intrusive interstitials detected

    Found 4 potential popup/overlay elements

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

Medium (13)

  • 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-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

    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)

  • 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

    7 external links with target="_blank" lack rel="noopener"

    Add rel="noopener noreferrer" to all target="_blank" links

  • 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

  • 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

    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

Low (15)

  • 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

  • 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

  • lowcontent

    Heading level skipped

    H4 follows H2 (skipped H3)

    Maintain sequential heading hierarchy without skipping levels

  • lowcontent

    Low text-to-HTML ratio

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

    Consider adding more descriptive text content

  • lowcontent

    Lazy images without dimensions

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

    Add width and height attributes to lazy-loaded 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

  • lowsocial checker

    Missing og:type

    Open Graph type is not set

    Add og:type meta tag (e.g., "website", "article")

  • 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

    No resource hints

    No preload or preconnect hints found

    Add preload for critical resources and preconnect for important third-party origins

  • 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 novobanco.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": "novobanco.pt",
  "scores": {
    "overall": 78,
    "performance": 0,
    "seo": 85,
    "accessibility": 55,
    "bestPractices": 80,
    "security": 83
  },
  "findings": [
    {
      "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-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": "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": "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": "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": "30 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": "7 external links with target=\"_blank\" lack rel=\"noopener\"",
      "recommendation": "Add rel=\"noopener noreferrer\" to all target=\"_blank\" links"
    },
    {
      "module": "accessibility",
      "severity": "high",
      "title": "30 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": "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": "high",
      "title": "5 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": "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": "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": "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": "page-experience",
      "severity": "high",
      "title": "Intrusive interstitials detected",
      "description": "Found 4 potential popup/overlay elements",
      "recommendation": "Reduce intrusive interstitials — they hurt mobile experience and can trigger Google penalties"
    }
  ]
}
```

Recommendations for your industry

  • 1Add Product schema markup to product pages
  • 2Mark up prices with Offer schema
  • 3Optimize checkout speed to under 3 seconds
  • 4Add trust signals and customer reviews
  • 5Ensure mobile-friendly checkout experience

SEO Checklist for Finance

Tips for Mixed websites

  • →Define clear landing pages for each segment
  • →Use different meta strategies per page group
  • →Segment sitemap by content type
Start your free trial

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