Report loading
andreareader.com
Preparing the full page inventory and screenshots.
Report loading
Preparing the full page inventory and screenshots.
Poor
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 Andrea Reader web presence suffers from a high-priority security concern involving publicly accessible sensitive files that poses an immediate threat to application integrity.
The site demonstrates a sophisticated digital foundation, featuring a cohesive design system with high-quality typography and effective use of device mockups to communicate product value. The technical SEO implementation is excellent, utilizing comprehensive JSON-LD structured data for Organization, SoftwareApplication, and FAQPage to facilitate rich search results. Furthermore, the user interface provides clear primary calls-to-action and maintains strong accessibility standards through well-implemented focus styling and proper heading hierarchies.
However, extreme page weight—exceeding 68 MB—creates a massive performance bottleneck that degrades the user experience on both desktop and mobile. This bloat contributes to a critical Largest Contentful Paint (LCP) of over 6 seconds and significant Cumulative Layout Shift (CLS), particularly on mobile where layout instability reaches 0.14. The lack of essential security headers, such as Content-Security-Policy and HSTS, further exposes the site to XSS and protocol downgrade attacks.
There is a significant opportunity to capture market share by optimizing the delivery of heavy media assets. By aggressively compressing images and optimizing video delivery, the brand can drastically reduce LCP and page weight, transforming the current high-latency experience into a seamless, high-performance landing page that converts visitors before they bounce due to loading delays.
First 30 Days Recommendation:
5 highest-impact findings, ranked.
While `SoftwareApplication` schema is present, the critical 'offers' or 'price' property is missing. This prevents Google from showing rich snippets like price/free status in search results.
How to fix: Add an `offers` property to the `SoftwareApplication` JSON-LD block, specifying that the app is free (e.g., `"offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" }`).
On /index.html
The Largest Contentful Paint (LCP) is 292ms, which is excellent. However, the primary visual element in the header (the logo and name) relies on external font loading and multiple images. While the speed is good, ensuring all critical assets are prioritized via `fetchpriority='high'` could further reduce perceived load time.
How to fix: Ensure the logo image (`../resources/imagenes/logoweb.png`) has `fetchpriority='high'` if it is identified as the LCP element in real-world metrics.
No HSTS header. Users are vulnerable to protocol downgrade attacks.
How to fix: Add: Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
On /
The Largest Contentful Paint (LCP) is 6.3 seconds, which is significantly above the Google-recommended threshold of 2.5s. This delay in rendering the main hero content will lead to a higher bounce rate and poor user perception of quality.
How to fix: Optimize the loading of the hero images and videos. Ensure that `resources/imagenes/logoweb.png` and the primary iPad mockup image are optimized for WebP format and have explicit width/height attributes to prevent layout shift.
On /index.html
LCP measures how quickly the largest visible element finishes rendering. Google flags anything above 2.5s as needing improvement and anything above 4s as poor — both signal a slow first impression to users and rank against the page in CrUX.
How to fix: Optimise the LCP element: serve responsive image sizes (srcset/sizes), set fetchpriority="high" on the hero image, preconnect to the image origin, and ensure the LCP element isn't blocked by render-blocking scripts (see PERF-015) or late-mounting React components.
On /index.html