Domain Risk HeatMap

xufa.es

10/7/2026, 5:35:16 PM

10/10 tests performed · 17 issues reported
Critical 1High 3Low 13

Not detectedMissing step
drag, scroll, click a node

Indicators

Restricted information

Some findings are hidden in this public report because they may include technical details that could facilitate abuse, competitor action, or unnecessary security and reputational exposure. Verify domain ownership to unlock the full report.

Critical

Details are protected until domain ownership is verified to avoid exposing sensitive technical information publicly

High

Details are protected until domain ownership is verified to avoid exposing sensitive technical information publicly

High

Details are protected until domain ownership is verified to avoid exposing sensitive technical information publicly

High

Details are protected until domain ownership is verified to avoid exposing sensitive technical information publicly

Low

tls-certificate › HTTP-to-HTTPS redirection is incomplete: HTTP 403 response with no redirect to HTTPS

Some HTTP requests may not be consistently redirected to the secure version of the website. This creates an inconsistent security posture and may allow visitors to reach unsecured pages in specific cases.

WebsiteServer
Solution:

Complete and standardize the HTTP-to-HTTPS redirect configuration.

Recommended checks:

  1. Identify the incomplete case

    • Check whether the issue affects:
      • Apex domain.
      • www domain.
      • Specific paths.
      • Trailing slash variants.
      • Query strings.
      • Subdomains.
      • Redirect status codes.
  2. Use permanent redirects

    • Use 301 redirects for production canonical URLs.
    • Avoid temporary 302 redirects unless there is a specific operational reason.
  3. Preserve URL structure

    • Keep the same path and query string after redirect.
    • Avoid sending all HTTP requests to the homepage.
  4. Remove redirect chains

    • Configure a direct redirect from HTTP to the final HTTPS canonical URL.
    • Minimize multiple hops across www, non-www, language paths, or trailing slash variants.
  5. Apply rules consistently

    • Configure the redirect at CDN, proxy, load balancer, or web server level.
    • Avoid conflicting redirect rules between application, CMS plugins, hosting panel, and CDN.
  6. Test common entry points

    • http://domain.com
    • http://www.domain.com
    • Important landing pages.
    • Key content/category pages.
    • Login and account pages.
  7. Review HSTS only after fixing redirects

    • HSTS should be considered only when HTTPS works reliably across the intended hostnames.
Low

headers-security › The X-Content-Type-Options header is missing, so browsers are not explicitly instructed to follow declared MIME types.

This is usually a low-severity issue, but it can contribute to avoidable browser-side risk if files are served with incorrect content types. It weakens the site’s security hygiene and should be corrected as part of standard hardening.

WebsiteServer
Solution:

Configure the following header on all relevant responses:

X-Content-Type-Options: nosniff

Technical checks:

  • Ensure JavaScript files are served with a valid JavaScript MIME type.
  • Ensure CSS files are served as text/css.
  • Ensure JSON, images, fonts and downloadable files have correct Content-Type values.
  • Apply the header consistently through the web server, CDN or reverse proxy.
  • Re-test static assets and API responses after deployment.
Low

headers-security › The website does not send X-Frame-Options to restrict whether its pages can be embedded by other websites.

If no equivalent CSP `frame-ancestors` protection is present, attackers may be able to embed pages in deceptive interfaces and attempt clickjacking attacks. This can affect account actions, forms, key user steps or customer trust.

WebsiteServer
Solution:

Configure framing protection using Content-Security-Policy: frame-ancestors where possible, and optionally keep X-Frame-Options for legacy compatibility.

Preferred modern control:

Content-Security-Policy: frame-ancestors 'self'

Or, if the site must not be framed at all:

Content-Security-Policy: frame-ancestors 'none'

Legacy-compatible header:

X-Frame-Options: SAMEORIGIN

Or stricter:

X-Frame-Options: DENY

Technical checks:

  • Use SAMEORIGIN if legitimate same-origin embedding is needed.
  • Use DENY if the site should never be embedded.
  • Do not use ALLOW-FROM; it is obsolete and ignored by modern browsers.
  • If CSP frame-ancestors is already correctly configured, treat missing XFO as a lower-priority compatibility issue.
  • Validate embedded widgets, admin panels, previews and embedded flows before enforcing DENY.
Low

headers-security › No explicit Referrer Policy is configured to control how much URL information is shared when visitors navigate to external resources.

External services may receive more referral information than necessary, including page paths or campaign context depending on browser behavior and destination. This creates unnecessary privacy and information-disclosure exposure.

WebsiteServer
Solution:

Configure an explicit Referrer-Policy header.

Recommended balanced option:

Referrer-Policy: strict-origin-when-cross-origin

Stricter option:

Referrer-Policy: no-referrer

Technical guidance:

  • Use strict-origin-when-cross-origin for most commercial websites.
  • Use no-referrer where maximum privacy is required.
  • Avoid unsafe-url, because it can disclose full URLs to external destinations.
  • Avoid placing sensitive data, tokens, emails or identifiers in URLs.
  • Validate analytics, attribution and affiliate tracking before choosing a stricter policy.
Low

headers-security › No Permissions Policy is configured to restrict access to sensitive browser features and APIs.

Browser capabilities such as camera, microphone, geolocation, payment or fullscreen may be available more broadly than required, especially to embedded third-party content. This increases unnecessary privacy and security exposure.

WebsiteServer
Solution:

Define a Permissions-Policy header that disables unused browser features and only allows required capabilities.

Example restrictive baseline:

Permissions-Policy: camera=(), microphone=(), geolocation=(), payment=(), usb=(), fullscreen=(self)

Adapt the policy to the site:

  • Disable features not used by the website.
  • Allow features only for self or specific trusted origins when required.
  • Review embedded third-party content, including videos, maps, service widgets and marketing tools.
  • Test user journeys that may require browser permissions.
  • Document intentional exceptions.

Common directives to review:

  • camera
  • microphone
  • geolocation
  • payment
  • usb
  • fullscreen
  • autoplay
  • clipboard-read
  • clipboard-write
Low

seo-basics › No meta description tag was detected

Without a meta description, search engines may generate their own snippet from page content. This reduces control over the first message users see in search results and can weaken the commercial presentation of the page.

WebsiteSEO
Solution:

Add a descriptive meta description inside the document <head>.

Recommended implementation:

<meta name="description" content="Concise description of the page, its value and its relevant context for users.">

Technical checks:

  • Write a unique description for each important page.
  • Keep it aligned with the visible page content.
  • Avoid keyword stuffing or misleading claims.
  • Avoid duplicate descriptions across many pages.
  • Ensure it is present in the initial HTML response.
  • For website pages, describe the content, category or commercial intent clearly.
  • Re-test after deployment and cache purge.
Low

seo-basics › No favicon declaration was detected in the analysed page

The site may appear less recognisable in browser tabs, bookmarks and saved browsing contexts. This is a minor issue, but it can make the site feel less polished and weaken brand consistency.

WebsiteSEO
Solution:

Add a favicon file and declare it in the document <head>.

Recommended implementation:

<link rel="icon" href="/favicon.ico" sizes="any">
<link rel="icon" href="/favicon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">

Technical checks:

  • Use a square icon.
  • Provide a high-resolution version, for example 48x48 px or larger.
  • Ensure each favicon URL returns HTTP 200.
  • Ensure the icon file is not blocked by robots.txt if search visibility is relevant.
  • Confirm the declaration is present on the homepage and key templates.
  • Check that the declared file is not returning an HTML error page.
  • Purge CDN/cache after deployment.
Low

seo-basics › robots.txt did not return valid directive syntax (https://xufa.es/robots.txt)

The file at the expected robots.txt location does not look like a valid robots exclusion file. This may indicate it is missing and the server is returning a generic HTML error page, or that the file is misconfigured. Crawlers may ignore it or misinterpret crawling rules.

WebsiteSEO
Solution:

Verify the robots.txt response directly.

Recommended technical actions:

  • Request https://xufa.es/robots.txt directly in a browser and confirm it returns plain text, not an HTML page.
  • Confirm the HTTP response status is 200.
  • Confirm the Content-Type is text/plain.
  • Ensure the file uses valid directives such as User-agent, Disallow, Allow and Sitemap.
  • Check server, CDN or CMS routing rules that might intercept the /robots.txt path.
  • Re-test after fixing the configuration.
Low

seo-basics › sitemap.xml did not return valid XML (urlset or sitemapindex) (https://xufa.es/sitemap.xml)

The file at the expected sitemap location is not a valid sitemap or sitemap index. Search engines may be unable to parse it, which removes one of the structured discovery signals for the site's pages.

WebsiteSEO
Solution:

Verify the sitemap response directly.

Recommended technical actions:

  • Request https://xufa.es/sitemap.xml directly and confirm it returns valid XML, not an HTML error page.
  • Confirm the HTTP response status is 200.
  • Confirm the root element is <urlset> or <sitemapindex> with the correct namespace.
  • Validate the XML structure with a sitemap validation tool.
  • Check server, CDN or CMS routing rules that might intercept the /sitemap.xml path.
  • Re-test after fixing the configuration.
Low

asset-optimization › External fonts were detected (fonts.googleapis.com) without preconnect or dns-prefetch

The site depends on an external font provider without instructing the browser to anticipate the connection. This may add DNS, TCP, or TLS latency during the initial load and delay stable text rendering, especially on mobile or slower connections.

Website
Solution:

Add resource hints for external font origins that participate in the initial page load.

Technical recommendations:

  • Identify the real origin from which the font files are downloaded.
  • Add preconnect in the <head> for critical font origins:
    <link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
    
  • If the provider uses separate domains for CSS and font files, review both origins.
  • For Google Fonts, the usual configuration is:
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    
  • As a lighter alternative, use dns-prefetch:
    <link rel="dns-prefetch" href="https://fonts.googleapis.com">
    
  • Place the hints as early as possible inside the <head>.
  • Avoid adding preconnect to too many domains. Use it only for origins that are genuinely required during the initial load.
  • Review whether external fonts can be self-hosted to reduce third-party dependency.
  • Use font-display: swap or an equivalent strategy to avoid invisible text while fonts are loading.
  • Validate the result by measuring FCP, LCP, and visual text behavior during page load.
Low

legal-compliance › No candidate privacy policy link was detected in the analysed page

The scan could not confirm that visitors have easy access to privacy information from the analysed page. For a website, this can weaken trust during registration, account or contact-form interactions. This is not a legal conclusion; footer links, JavaScript-rendered menus, regional banners or non-standard wording may require manual review.

WebsiteLegal
Solution:

Manually verify whether a privacy policy exists and is easy to access from the analysed page.

Recommended technical actions:

  1. Add a persistent footer link using clear wording such as:

    • Privacy Policy
    • Privacy Notice
    • Data Protection
    • Localised equivalents where appropriate, for example Política de privacidad.
  2. Ensure the link is present in the initial HTML where possible, not only injected after user interaction.

  3. Use a stable, crawlable URL, for example:

    • /privacy-policy
    • /privacy
    • /politica-de-privacidad
  4. Confirm that the linked page returns HTTP 200, is indexable if appropriate, and is not blocked by authentication, geolocation or JavaScript-only navigation.

  5. Manually review the legal content with the responsible legal/privacy team. This automated indicator only checks discoverability, not legal sufficiency.

Low

legal-compliance › Known tracking services were detected, but no recognised consent mechanism was confirmed automatically: ["Google Fonts (GDPR risk)"]

The analysed page contains known analytics, advertising or behaviour-tracking services, and the scan did not identify a recognised consent mechanism in the analysed HTML. For a website, this can create a privacy, trust and compliance review issue, especially if non-essential trackers load before consent. This finding is not proof of unlawful tracking; manual browser testing is required.

WebsiteLegal
Solution:

Perform a browser-based consent review to confirm whether non-essential trackers load before user consent.

Recommended technical validation:

  1. Open the page in a clean browser profile or incognito session.
  2. Clear cookies, local storage and session storage before testing.
  3. Open DevTools → Network.
  4. Reload the page without interacting with the cookie banner.
  5. Filter requests by known tracker domains, for example analytics, advertising, heatmap, session replay or remarketing providers.
  6. Check whether any non-essential scripts, pixels, cookies or network calls are triggered before consent.
  7. Repeat the test after accepting, rejecting and customising consent choices.

If non-essential trackers load before consent:

  • Configure a Consent Management Platform (CMP).
  • Categorise scripts by purpose: necessary, analytics, advertising, personalisation, functional.
  • Block non-essential tags by default.
  • Trigger analytics, advertising and remarketing tags only after the matching consent category is granted.
  • Integrate the CMP with the tag manager, for example Google Tag Manager Consent Mode where applicable.
  • Verify that consent withdrawal updates or deletes relevant client-side storage where technically possible.
  • Document the final behaviour for legal/privacy review.

This technical fix should be validated by both a developer and the legal/privacy owner.

Low

legal-compliance › No candidate legal notice, terms or cookie policy link was detected in the analysed page

The scan could not confirm that legal transparency information is easy to find from the analysed page. For a website, this may reduce visitor confidence and increase friction during account creation or form completion. This is not a legal conclusion; non-standard wording, dynamic navigation, regional content or JavaScript-rendered links may require manual review.

WebsiteLegal
Solution:

Manually verify whether the site provides the required legal and policy information for its jurisdiction and business model.

Recommended technical actions:

  1. Check whether the following pages exist:

    • Legal notice / imprint / company information
    • Terms and conditions
    • Cookie policy
    • Privacy policy
    • Service, cancellation and policy information for the website, where applicable
  2. Add persistent footer links using clear labels, for example:

    • Legal Notice
    • Terms and Conditions
    • Cookie Policy
    • Privacy Policy
    • Localised equivalents such as Aviso legal, Condiciones de venta or Política de cookies.
  3. Ensure the links are:

    • Available from the homepage and relevant user-flow pages.
    • Present in the server-rendered HTML where possible.
    • Not hidden behind consent banners, modals or user-only areas.
    • Crawlable and returning HTTP 200.
  4. Validate that each linked page is technically accessible:

    • No redirect loops.
    • No broken links.
    • No accidental noindex if visibility is required.
    • No blocking by robots.txt if search discoverability is desired.
  5. Send the final legal content to the responsible legal/privacy team. This indicator only checks discoverability, not legal sufficiency.

Info

headers-security › No active web application firewall or bot protection signal was detected from response headers or content

This is not necessarily a problem: many legitimate sites operate without a dedicated WAF and rely on other controls. This check only looks for signals of an active protection mode (challenge pages, bot-management cookies). The site may still sit behind a CDN or proxy (e.g. Cloudflare, Sucuri) with WAF capabilities available but not actively challenging this request, which this passive check cannot confirm either way.

WebsiteWAF
Info

seo-basics › No Open Graph metadata was detected

Without Open Graph metadata, shared links may rely on generic or unpredictable fallback values. This can weaken brand presentation, reduce trust in shared links and make key content or campaign pages less attractive when distributed through social channels or messaging apps.

WebsiteSEO
Solution:

Add the core Open Graph tags inside the document <head>.

Recommended implementation:

<meta property="og:title" content="Page title for social sharing">
<meta property="og:description" content="Short, compelling description for social sharing">
<meta property="og:image" content="https://example.com/path/to/image.jpg">

Technical checks:

  • Use an absolute URL for og:image.
  • Recommended image size: at least 1200x630 px.
  • Ensure the image URL returns HTTP 200.
  • Ensure the image is not blocked by authentication, hotlink protection or robots rules.
  • Use page-specific metadata for content pages, categories, blog posts and campaigns.
  • Keep Open Graph values consistent with the page title, meta description and visible content.
  • Ensure the tags are present in the initial HTML response.
  • Re-test link previews after deployment and cache purge.
Info

seo-basics › No structured data (application/ld+json) was detected on the analysed page

Without structured data, search engines rely mainly on the visible HTML and surrounding signals to interpret the page. This can reduce eligibility for rich result features and weakens machine-readable context for services, organisation details, breadcrumbs, articles or FAQs.

WebsiteSEO
Solution:

Add relevant Schema.org structured data using JSON-LD.

Recommended implementation:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Brand Name",
  "url": "https://example.com"
}
</script>

Recommended schema types by page:

  • Homepage: Organization, WebSite.
  • Detail page: use schema types only when the corresponding data is real and visible.
  • Category page: BreadcrumbList, optionally ItemList if appropriate.
  • Blog or guide page: Article or BlogPosting.
  • FAQ section: FAQPage only if the questions and answers are visible to users.
  • Local business page: LocalBusiness when the business has a real physical presence.

Technical checks:

  • Use JSON-LD where possible.
  • Choose schema types that match the actual page content.
  • Keep structured data consistent with visible content.
  • Do not mark up fake reviews, unavailable items or hidden content.
  • Validate the markup before deployment.
  • Check eligibility with rich result testing tools where applicable.
  • Ensure the JSON-LD is present in the initial HTML or reliably rendered for crawlers.
  • Re-test after deployment and monitor Search Console for structured data errors.
Info

accessibility-basics › No content images were detected in the analysed page

Alt text coverage could not be evaluated because the page does not reference any images via <img>.

WebsiteAccessibility
Info

accessibility-basics › No semantic landmarks (main, nav, header, footer or equivalent ARIA roles) were detected

Without landmarks, screen reader users have no quick way to navigate between page regions and must read through the page sequentially, which increases the effort needed to use the site.

WebsiteAccessibility
Solution:

Add semantic HTML5 landmarks to the page structure.

Recommended implementation:

<header>...</header>
<nav>...</nav>
<main>...</main>
<footer>...</footer>

Technical checks:

  • Use exactly one <main> element per page for the primary content.
  • Use <nav> for primary navigation menus.
  • If semantic tags cannot be used, apply equivalent ARIA roles, for example role="main" or role="navigation".
  • Avoid nesting landmarks of the same type without distinguishing labels.
  • Re-test with a screen reader or accessibility browser extension.
Info

accessibility-basics › No links or buttons were found to evaluate accessible text

Accessible naming could not be evaluated because the page does not contain any <a> or <button> elements in the analysed HTML.

WebsiteAccessibility
Info

info-exposure › No security.txt vulnerability reporting file detected

The website does not publish a standard security contact file. This is not a vulnerability by itself, but it may make it harder for researchers or third parties to report security issues responsibly. In practice, this can delay remediation of problems that may affect customer trust, service availability, or business reputation.

DomainWebsite
Solution:

Publish a security.txt file with a clear vulnerability reporting process.

Recommended actions:

  1. Create the file at the standard location:

    https://example.com/.well-known/security.txt
    
  2. Include at least a valid contact method.

    Example:

    Contact: mailto:security@example.com
    Preferred-Languages: en, es
    Canonical: https://example.com/.well-known/security.txt
    
  3. Optional but recommended fields:

    Policy: https://example.com/security-policy
    Acknowledgments: https://example.com/security-acknowledgments
    Expires: 2027-12-31T23:59:59Z
    
  4. Make sure the contact mailbox is monitored.

  5. Define an internal triage process:

    • Who receives the report
    • Who validates the issue
    • Expected response time
    • Escalation path for critical vulnerabilities
    • Criteria for coordinated disclosure
  6. Verify publication:

    curl -I https://example.com/.well-known/security.txt
    curl https://example.com/.well-known/security.txt
    
Info

performance-basics › No suitable static resource was found to evaluate caching behaviour

Static asset caching could not be verified from the available resources. This result is neutral and should not be interpreted as a confirmed performance issue.

WebsiteServer
Info

asset-optimization › No recognizable CDN was detected for the static assets analyzed

Not using a CDN is not necessarily a performance issue. A local website with moderate traffic and solid hosting may serve assets correctly without one. For websites with international traffic, high-volume campaigns, or frequent traffic spikes, a CDN can help make load times more stable.

WebsiteCDN
Info

asset-optimization › No images were detected through `<img>` tags in the analyzed HTML

Image format usage could not be evaluated because the reviewed page does not reference images through `<img>` tags. The site may use CSS background images, JavaScript-rendered images, or the analyzed page may not include relevant visual content.

Website
Info

dns-email-reputation › No validated DNSSEC delegation was found for the domain: No DS records in the parent zone

DNS responses for this domain cannot be cryptographically validated, leaving some exposure to DNS spoofing or cache poisoning in vulnerable network paths. This is a common configuration across the web and is rarely a critical issue on its own, but enabling DNSSEC adds a meaningful layer of trust for domains handling logins or sensitive customer data.

DomainDNS
Solution:

Enable DNSSEC signing for the domain.

Recommended technical actions:

  1. Confirm DNSSEC support with the current DNS hosting provider or registrar.
  2. Enable DNSSEC signing on the authoritative DNS zone.
  3. Publish the resulting DS record with the domain registrar so the parent zone can delegate trust.
  4. Verify propagation and validate the chain of trust with an external DNSSEC validation tool.
  5. Monitor key rotation schedules if the provider does not automate them.
Info

legal-compliance › Known tracking services detected: ["Google Fonts (GDPR risk)"]

These services are commonly used for analytics, advertising, attribution, personalisation or behaviour measurement. This indicator is informational; privacy and compliance impact depends on the service purpose, configuration, consent behaviour, data sharing model and applicable jurisdiction.

WebsiteLegal

What to do now?

Choose the option that best fits your situation.

Free

Fix it in-house

Ideal if you have a developer, agency, or technical team available.

  • Prioritised action plan.
  • Explanation of each issue.
  • Step-by-step remediation guide.
Recommended

Request an advanced audit

Recommended if the site generates significant revenue or you need complete information to decide.

  • Manually verifies all findings.
  • Rules out false positives.
  • Analyses configurations that cannot be checked automatically.
  • Evaluates platform-specific risks (Shopify, WooCommerce, PrestaShop, Magento…).
  • Prioritises issues by business impact.
  • Delivers an executive report and remediation plan.
15 min

Not sure what to do?

Request a 15-minute review where we will analyse your audit results and tell you:

  • Which issues are genuinely important.
  • Which ones can wait.
  • Which are likely false positives.
  • The most cost-effective way to resolve them.

What is behind this report?

Built to detect the kind of issues that silently affect sales, trust, checkout confidence, campaign performance, and operational continuity.

  • A system designed to prevent your website and digital marketing from failing.
  • A team with over 25 years of experience building digital projects for businesses.
  • Thousands of automated audits run during platform training and validation.
  • Dozens of technical indicators analysed on every execution.
  • Multiple data sources combined — DNS, TLS, HTTP, performance, reputation, email, legal compliance, SEO, and more.
  • AI specialised in interpreting business impact, not just technical results.

About this audit

This report is provided for informational and prioritisation purposes only. It reflects automated observations obtained from publicly available information at the time of analysis. The findings are not definitive proof of a vulnerability, legal breach, security incident, performance failure, reputational damage, or business loss. They highlight indicators that may deserve review because improving them can help reduce exposure, strengthen digital operations, and support customer trust. Risk estimates are decision-support indicators, not predictions of specific events. Automated analysis cannot verify every technical, legal, operational, or business context. Expert review may be required to validate results, rule out false positives, and determine actual impact before making significant remediation or compliance decisions.