Report loading
www.explain-5.space
Preparing the full page inventory and screenshots.
Report loading
Preparing the full page inventory and screenshots.
Fair
Health Score
Score by category
The headline health score combines page-level quality and site-wide repeat patterns, then stays anchored to the weakest visible category so it never looks worse than every category beneath it.
Section 01
Summary language has been tempered to match the structured findings: this scan does not contain any CRITICAL severity findings.
The absence of a Content-Security-Policy (CSP) header represents a high-priority security concern that exposes Explain5 to XSS and injection attacks.
Explain5 delivers an exceptionally fast and stable user experience, characterized by excellent Largest Contentful Paint (LCP) metrics well below the 2.5s threshold and zero Cumulative Layout Shift (CLS). The site features a modern, minimalist design with a clear visual hierarchy and prominent primary calls-to-action that effectively guide users toward core engagement. Technical implementations, including global keyboard-focus styling and respect for reduced motion preferences, provide a solid foundation for a high-quality, accessible interface.
However, critical security and accessibility gaps undermine the platform's professional integrity and usability. The lack of a CSP header leaves the site vulnerable to malicious scripts, while insufficient color contrast ratios fail to meet WCAG 2 AA standards. On mobile, the typography scale in feature grids is dangerously small at 10.5px, which significantly hinders readability for many users. Furthermore, heavy third-party script loads and missing canonical URLs create technical debt that splits search engine ranking signals and introduces unnecessary latency.
A significant opportunity exists to drive organic growth by optimizing SEO fundamentals and refining the brand's value proposition. Expanding meta descriptions will improve click-through rates from search results, while explicitly mentioning AI/LLM capabilities in the subheadline will differentiate Explain5 from competitors. By addressing these technical gaps and sharpening the messaging, the platform can better leverage its high-performance architecture to convert more visitors into active learners.
First 30 Days:
5 highest-impact findings, ranked.
The primary content of the page is not wrapped in a <main> element with an appropriate ARIA role, which can make navigation via screen readers difficult.
How to fix: Ensure the content within the <main> class='container' is explicitly identified as the primary landmark using a role='main' attribute or by wrapping it in a <main> tag (which is already present but should be verified for semantic prominence).
On /terms
No CSP header found. The site is vulnerable to XSS and injection attacks.
How to fix: Add a Content-Security-Policy header. Start restrictive: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'
On /
Ensure the contrast between foreground and background colors meets WCAG 2 AA minimum contrast ratio thresholds. Fix any of the following: Element has insufficient color contrast of 2.45 (foreground color: #1dafa1, background color: #e8f6f5, font size: 8.3pt (11px), font weight: normal). Expected contrast ratio of 4.5:1
How to fix: Element matching `.hover\:bg-primary\/20` has contrast ratio 2.45; WCAG AA requires 4.5:1. Increase the contrast between foreground and background colours (the Tailwind hint below proposes the next darker step in the same family if the offending class is a recognised palette utility). Reference: https://dequeuniversity.com/rules/axe/4.11/color-contrast?application=playwright
On /
No <link rel="canonical"> on this page. Search engines may treat URL variations (with/without trailing slash, query-string permutations) as separate pages, splitting ranking signals.
How to fix: Add to <head>: <link rel="canonical" href="https://www.explain-5.space/terms">
On /terms
The page can be embedded in iframes, risking clickjacking.
How to fix: Add: X-Frame-Options: DENY (or SAMEORIGIN if embedding is needed). Alternatively, set CSP frame-ancestors.
On /