Skip to main content
GeneralMixed

SEO Report: grn.es

Generated April 30, 2026 · 45 findings · 9.8s

76
report.overallScore
72
seo
73
security
0
performance
89
accessibility
77
Best Practices

Institutional websites prioritize accessibility, security, and proper indexing — citizens and stakeholders need easy access to relevant information.

Score Breakdown

Average General score: 50

seo
72(+27 vs avg)
security
73(+15 vs avg)
performance
0(-44 vs avg)
accessibility
89(+37 vs avg)
Best Practices
77(+21 vs avg)

Score Projection

Estimated improvement based on the findings in this report

Current score: 76Projected score: 82
Current score
Free (+3)
Starter (+2)
Pro (+1)

Ready to improve your SEO?

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

Module Breakdown

headers
108 findings
social checker
255 findings
structured data
301 finding
meta
516 findings
uptime checker
702 findings
brand checker
704 findings
rate limits
753 findings
news mentions
751 finding
indexing checker
751 finding
dns
802 findings
sitemap
802 findings
content
801 finding
log analyzer
802 findings
robots
851 finding
technology
851 finding
layout scan
851 finding
accessibility
892 findings
page experience
951 finding
cookies
100
ssl
100
mobile
1001 finding
crawl budget
100

All Findings (44)

Critical (5)

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

  • highcontent

    No H1 tag found

    The page has no H1 heading

    Add exactly one H1 tag with the primary keyword

  • 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

  • highindexing checker

    Canonical points to different domain

    Canonical: https://grn.cat/ points to grn.cat

    Ensure the canonical URL points to the same domain unless cross-domain canonicalization is intended

Medium (20)

  • 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-content-type-options

    X-Content-Type-Options is missing. MIME-sniffing attacks are possible.

    Add X-Content-Type-Options: nosniff header

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

  • 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 sitemap in robots.txt

    robots.txt does not reference a sitemap

    Add Sitemap: https://yourdomain.com/sitemap.xml to robots.txt

  • mediumsitemap

    Sitemap contains foreign URLs

    6 URLs belong to other domains

    Only include URLs from your own domain in the sitemap

  • mediumtechnology

    Mixed content detected

    17 resources loaded over HTTP on an HTTPS page

    Update all resource URLs to use HTTPS

  • mediumaccessibility

    Missing main landmark

    No <main> element or role="main" found

    Wrap primary content in a <main> element for screen reader navigation

  • 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

    Intermittent failures

    1 of 3 requests failed

    Investigate server stability — intermittent failures hurt user experience and SEO

  • 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

  • mediumlog analyzer

    Server version exposed

    Server header reveals version: Apache/2.4.56 (Debian)

    Remove version numbers from the Server header to reduce attack surface

Low (19)

  • 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

    Server header exposes software

    Server: Apache/2.4.56 (Debian)

    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

    Title too long

    Title is 72 characters (recommended: 50-60)

    Shorten the title to 50-60 characters

  • 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

  • lowsitemap

    No lastmod dates

    Sitemap URLs don't include lastmod timestamps

    Add <lastmod> to help search engines prioritize crawling

  • 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

  • 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

  • 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

    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 grn.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": "grn.es",
  "scores": {
    "overall": 76,
    "performance": 0,
    "seo": 72,
    "accessibility": 89,
    "bestPractices": 77,
    "security": 73
  },
  "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": "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-content-type-options",
      "description": "X-Content-Type-Options is missing. MIME-sniffing attacks are possible.",
      "recommendation": "Add X-Content-Type-Options: nosniff header"
    },
    {
      "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": "high",
      "title": "Missing meta description",
      "description": "No meta description tag found",
      "recommendation": "Add a meta description (120-160 characters)"
    },
    {
      "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": "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 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": "medium",
      "title": "Sitemap contains foreign URLs",
      "description": "6 URLs belong to other domains",
      "recommendation": "Only include URLs from your own domain in the sitemap"
    },
    {
      "module": "technology",
      "severity": "medium",
      "title": "Mixed content detected",
      "description": "17 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": "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": "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": "Intermittent failures",
      "description": "1 of 3 requests failed",
      "recommendation": "Investigate server stability — intermittent failures hurt user experience and SEO"
    },
    {
      "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": "indexing-checker",
      "severity": "high",
      "title": "Canonical points to different domain",
      "description": "Canonical: https://grn.cat/ points to grn.cat",
      "recommendation": "Ensure the canonical URL points to the same domain unless cross-domain canonicalization is intended"
    },
    {
      "module": "log-analyzer",
      "severity": "medium",
      "title": "Server version exposed",
      "description": "Server header reveals version: Apache/2.4.56 (Debian)",
      "recommendation": "Remove version numbers from the Server header to reduce attack surface"
    }
  ]
}
```

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.

Start your free trial

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