Domain Risk HeatMap
xufa.es
10/7/2026, 5:35:16 PM
Indicators
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.
| Risk | What it means for your business |
|---|---|
| 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 |
|
| Low |
|
| Low |
|
| Low |
|
| Low |
|
| Low |
|
| Low |
|
| Low |
|
| Low |
|
| Low |
|
| Low |
|
| Low |
|
| Low |
|
| 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. |
| Info |
|
| Info |
|
| 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>. |
| Info |
|
| 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. |
| Info |
|
| 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. |
| 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. |
| 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. |
| Info |
|
| 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. |
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.
Details are protected until domain ownership is verified to avoid exposing sensitive technical information publicly
Details are protected until domain ownership is verified to avoid exposing sensitive technical information publicly
Details are protected until domain ownership is verified to avoid exposing sensitive technical information publicly
Details are protected until domain ownership is verified to avoid exposing sensitive technical information publicly
Lowtls-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.
Complete and standardize the HTTP-to-HTTPS redirect configuration.
Recommended checks:
Identify the incomplete case
- Check whether the issue affects:
- Apex domain.
wwwdomain.- Specific paths.
- Trailing slash variants.
- Query strings.
- Subdomains.
- Redirect status codes.
- Check whether the issue affects:
Use permanent redirects
- Use
301redirects for production canonical URLs. - Avoid temporary
302redirects unless there is a specific operational reason.
- Use
Preserve URL structure
- Keep the same path and query string after redirect.
- Avoid sending all HTTP requests to the homepage.
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.
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.
Test common entry points
http://domain.comhttp://www.domain.com- Important landing pages.
- Key content/category pages.
- Login and account pages.
Review HSTS only after fixing redirects
- HSTS should be considered only when HTTPS works reliably across the intended hostnames.
Lowheaders-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.
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-Typevalues. - Apply the header consistently through the web server, CDN or reverse proxy.
- Re-test static assets and API responses after deployment.
Lowheaders-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.
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
SAMEORIGINif legitimate same-origin embedding is needed. - Use
DENYif the site should never be embedded. - Do not use
ALLOW-FROM; it is obsolete and ignored by modern browsers. - If CSP
frame-ancestorsis already correctly configured, treat missing XFO as a lower-priority compatibility issue. - Validate embedded widgets, admin panels, previews and embedded flows before enforcing
DENY.
Lowheaders-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.
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-originfor most commercial websites. - Use
no-referrerwhere 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.
Lowheaders-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.
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
selfor 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:
cameramicrophonegeolocationpaymentusbfullscreenautoplayclipboard-readclipboard-write
Lowseo-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.
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.
Lowseo-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.
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.
Lowseo-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.
Verify the robots.txt response directly.
Recommended technical actions:
- Request
https://xufa.es/robots.txtdirectly in a browser and confirm it returns plain text, not an HTML page. - Confirm the HTTP response status is
200. - Confirm the
Content-Typeistext/plain. - Ensure the file uses valid directives such as
User-agent,Disallow,AllowandSitemap. - Check server, CDN or CMS routing rules that might intercept the
/robots.txtpath. - Re-test after fixing the configuration.
Lowseo-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.
Verify the sitemap response directly.
Recommended technical actions:
- Request
https://xufa.es/sitemap.xmldirectly 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.xmlpath. - Re-test after fixing the configuration.
Lowasset-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.
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
preconnectin 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
preconnectto 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: swapor 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.
Lowlegal-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.
Manually verify whether a privacy policy exists and is easy to access from the analysed page.
Recommended technical actions:
Add a persistent footer link using clear wording such as:
Privacy PolicyPrivacy NoticeData Protection- Localised equivalents where appropriate, for example
Política de privacidad.
Ensure the link is present in the initial HTML where possible, not only injected after user interaction.
Use a stable, crawlable URL, for example:
/privacy-policy/privacy/politica-de-privacidad
Confirm that the linked page returns HTTP
200, is indexable if appropriate, and is not blocked by authentication, geolocation or JavaScript-only navigation.Manually review the legal content with the responsible legal/privacy team. This automated indicator only checks discoverability, not legal sufficiency.
Lowlegal-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.
Perform a browser-based consent review to confirm whether non-essential trackers load before user consent.
Recommended technical validation:
- Open the page in a clean browser profile or incognito session.
- Clear cookies, local storage and session storage before testing.
- Open DevTools → Network.
- Reload the page without interacting with the cookie banner.
- Filter requests by known tracker domains, for example analytics, advertising, heatmap, session replay or remarketing providers.
- Check whether any non-essential scripts, pixels, cookies or network calls are triggered before consent.
- 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.
Lowlegal-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.
Manually verify whether the site provides the required legal and policy information for its jurisdiction and business model.
Recommended technical actions:
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
Add persistent footer links using clear labels, for example:
Legal NoticeTerms and ConditionsCookie PolicyPrivacy Policy- Localised equivalents such as
Aviso legal,Condiciones de ventaorPolítica de cookies.
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.
Validate that each linked page is technically accessible:
- No redirect loops.
- No broken links.
- No accidental
noindexif visibility is required. - No blocking by robots.txt if search discoverability is desired.
Send the final legal content to the responsible legal/privacy team. This indicator only checks discoverability, not legal sufficiency.
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.
Infoseo-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.
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.
Infoseo-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.
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, optionallyItemListif appropriate. - Blog or guide page:
ArticleorBlogPosting. - FAQ section:
FAQPageonly if the questions and answers are visible to users. - Local business page:
LocalBusinesswhen 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.
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>.
Infoaccessibility-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.
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"orrole="navigation". - Avoid nesting landmarks of the same type without distinguishing labels.
- Re-test with a screen reader or accessibility browser extension.
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.
Infoinfo-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.
Publish a security.txt file with a clear vulnerability reporting process.
Recommended actions:
Create the file at the standard location:
https://example.com/.well-known/security.txtInclude at least a valid contact method.
Example:
Contact: mailto:security@example.com Preferred-Languages: en, es Canonical: https://example.com/.well-known/security.txtOptional but recommended fields:
Policy: https://example.com/security-policy Acknowledgments: https://example.com/security-acknowledgments Expires: 2027-12-31T23:59:59ZMake sure the contact mailbox is monitored.
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
Verify publication:
curl -I https://example.com/.well-known/security.txt curl https://example.com/.well-known/security.txt
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.
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.
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.
Infodns-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.
Enable DNSSEC signing for the domain.
Recommended technical actions:
- Confirm DNSSEC support with the current DNS hosting provider or registrar.
- Enable DNSSEC signing on the authoritative DNS zone.
- Publish the resulting DS record with the domain registrar so the parent zone can delegate trust.
- Verify propagation and validate the chain of trust with an external DNSSEC validation tool.
- Monitor key rotation schedules if the provider does not automate them.
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.
What to do now?
Choose the option that best fits your situation.
Fix it in-house
Ideal if you have a developer, agency, or technical team available.
Request an advanced audit
Recommended if the site generates significant revenue or you need complete information to decide.
Not sure what to do?
Request a 15-minute review where we will analyse your audit results and tell you:
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.