Scanned on October 19, 2026
Your store works reasonably well, but has notable gaps in SEO and security. Prioritize adding meta descriptions to all products and pages immediately. On the bright side, your accessibility for all visitors is excellent.
Every problem found, sorted by how much fixing it helps and how much work the fix takes. Start with the quick wins.
High impact, little work. Do these first.
High impact, but the fix needs planning.
+7 more
Lower impact, quick to do.
+12 more
Lower impact and more work. Plan them once the rest is done.
+29 more
Weight: 25% · 10 passed · 7 warnings · 2 failed · 3 SPA (verify manually)
Why it matters: 41 render-blocking scripts can add 1-3 seconds to page load. Each synchronous script creates a sequential download-parse-execute chain.
How to fix: Add defer or async to all <script src='...'> tags. Render-blocking scripts are a leading cause of slow FCP. Defer maintains execution order, async does not.
Evidence: HTML-heuristic · Confidence: high
What we found: Only 0% of 41 scripts optimized — most are render-blocking
Why it matters: 41 render-blocking scripts can add 1-3 seconds to page load. Each synchronous script creates a sequential download-parse-execute chain.
Why it matters: Each CSS file blocks rendering. With 28 files, the browser must download all of them before painting anything. This can add 1-2+ seconds on mobile networks.
How to fix: Bundle your CSS files into 1-3 files maximum. Use a build tool (Webpack, Vite, Gulp) to concatenate and minify. Critical CSS should be inlined, the rest deferred.
Evidence: HTML-heuristic · Confidence: high
What we found: 28 CSS files — too many!
Why it matters: Each CSS file blocks rendering. With 28 files, the browser must download all of them before painting anything. This can add 1-2+ seconds on mobile networks.
Why it matters: The 80-request bar is best practice; the benchmarked cohort median is 140 and the best shop manages 37. Being under the median is not the same as being fast.
How to fix: Bundle CSS/JS that always loads together, serve icons as a sprite or font rather than individual files, and lazy-load below-fold images so they aren't requested on load.
Evidence: PSI-lab · 120 requests · Confidence: high
What we found: 120 requests — over the budget of 80, but at or below the median of the award-winning shops we benchmarked (140)
Why it matters: The 80-request bar is best practice; the benchmarked cohort median is 140 and the best shop manages 37. Being under the median is not the same as being fast.
Why it matters: Unused code is downloaded and parsed but never executed — pure waste. Removing it speeds up parse time and reduces bandwidth.
How to fix: Remove unused CSS with PurgeCSS or UnCSS. Code-split JavaScript so only needed code loads per page. Audit plugins — each adds CSS/JS.
Evidence: PSI-lab · Confidence: low
What we found: 94 KB unused (CSS: 59 KB, JS: 36 KB)
Why it matters: Unused code is downloaded and parsed but never executed — pure waste. Removing it speeds up parse time and reduces bandwidth.
Note: This check uses heuristic detection and may produce false positives. Manual verification recommended.
Why it matters: Preconnect saves 100-500ms per third-party origin by establishing connections early. Preload starts downloading critical resources before the browser discovers them in CSS/JS.
How to fix: Add resource hints: <link rel='preconnect' href='https://fonts.googleapis.com'> for third-party origins, <link rel='preload' as='image' href='hero.webp'> for critical resources.
Evidence: HTML-heuristic · Confidence: high
Why it matters: Preconnect saves 100-500ms per third-party origin by establishing connections early. Preload starts downloading critical resources before the browser discovers them in CSS/JS.
Why it matters: Without lazy loading, ALL images download on page load — even those never scrolled to. On a product page with 20 images, lazy loading can save most of the initial download.
How to fix: Add loading='lazy' to all images below the fold. Keep the hero/LCP image eager-loaded. Native lazy loading is supported by all modern browsers.
Evidence: HTML-heuristic · Confidence: high
What we found: 7 images without lazy loading
Why it matters: Without lazy loading, ALL images download on page load — even those never scrolled to. On a product page with 20 images, lazy loading can save most of the initial download.
Why it matters: Without font-display, custom fonts cause Flash of Invisible Text (FOIT) — text is completely hidden during font download. On slow connections this can last 3+ seconds.
How to fix: Add &display=swap to your Google Fonts URL, or add font-display: swap to your @font-face declarations.
Evidence: HTML-heuristic · Confidence: high
What we found: Google Fonts detected without font-display
Why it matters: Without font-display, custom fonts cause Flash of Invisible Text (FOIT) — text is completely hidden during font download. On slow connections this can last 3+ seconds.
Why it matters: Fonts are discovered late in the render pipeline (after CSS is parsed). Preloading tells the browser to download them immediately, reducing Flash of Invisible Text (FOIT) by 200-500ms.
How to fix: Preload your primary font: <link rel='preload' href='/fonts/main.woff2' as='font' type='font/woff2' crossorigin>. For Google Fonts: preconnect to fonts.gstatic.com.
Evidence: HTML-heuristic · Confidence: high
What we found: Custom fonts detected without preload hints
Why it matters: Fonts are discovered late in the render pipeline (after CSS is parsed). Preloading tells the browser to download them immediately, reducing Flash of Invisible Text (FOIT) by 200-500ms.
Why it matters: Render-blocking CSS delays first paint. Inlining critical CSS eliminates the render-blocking round trip — the biggest FCP improvement for CSS-heavy sites.
How to fix: Extract critical above-the-fold CSS and inline it in <head>. Load remaining CSS asynchronously: <link rel='preload' href='styles.css' as='style' onload='this.rel="stylesheet"'>.
Evidence: PSI-lab · Confidence: high
What we found: 28 CSS files without critical CSS extraction
Why it matters: Render-blocking CSS delays first paint. Inlining critical CSS eliminates the render-blocking round trip — the biggest FCP improvement for CSS-heavy sites.
Why it matters: We report this as unmeasured rather than as zero third parties, because those are very different findings.
How to fix: Re-run the scan, or check the third-party summary directly at PageSpeed Insights.
Evidence: PSI-lab · Confidence: high
How to fix: Re-run the scan, or test directly at PageSpeed Insights. This metric needs a successful Lighthouse lab run.
Evidence: PSI-lab · Confidence: high
Why it matters: Asset caching can eliminate a large share of requests for repeat visitors. We only see the HTML response here, so this is a hint, not a verdict.
How to fix: Ensure static assets (CSS/JS/images) are served with 'Cache-Control: max-age=31536000, immutable' and versioned filenames. HTML can stay 'max-age=0, must-revalidate'.
Evidence: HTTP-header · Confidence: high
Your store doesn't qualify for the Zulien Score Badge yet. Score 80+ to earn it!
| Category | Score | Weight | Failures | Warnings | OK |
|---|---|---|---|---|---|
| Performance | 87/100 | 25% | 2 | 7 | 10 |
| SEO | 66/100 | 20% | 5 | 6 | 15 |
| Security | 60/100 | 15% | 2 | 8 | 7 |
| Mobile | 72/100 | 10% | 0 | 7 | 6 |
| AI Readiness | 48/100 | 10% | 7 | 12 | 7 |
| Legal & Compliance | 65/100 | 10% | 1 | 6 | 6 |
| Vulnerability | 76/100 | 10% | 2 | 3 | 6 |
| Accessibility / EAA | 100/100 | 10% | 0 | 0 | 8 |
Every problem found, sorted by how much fixing it helps and how much work the fix takes. Start with the quick wins.
High impact, little work. Do these first.
| Finding | Category | Effort |
|---|---|---|
| Meta Description | SEO | quick fix |
| Robots Noindex Warning | SEO | quick fix |
| HSTS (Strict-Transport-Security) | Security | quick fix |
| Canonical Tag for AI Deduplication | AI Readiness | quick fix |
| CMS Version Disclosure | Vulnerability | quick fix |
High impact, but the fix needs planning.
| Finding | Category | Effort |
|---|---|---|
| Privacy Policy Page | Legal & Compliance | about a day |
| Known Vulnerabilities (CVE) | Vulnerability | project |
| Script Loading Strategy | Performance | about a day |
| Internal Linking | SEO | about a day |
| Content-Security-Policy (CSP) | Security | about a day |
| Heading Hierarchy for AI | AI Readiness | about a day |
| Image Alt Text Quality for AI | AI Readiness | about a day |
| Text-to-HTML Ratio | SEO | project |
| Content Depth | SEO | project |
| Content Accessibility for AI | AI Readiness | project |
| Content Depth for AI | AI Readiness | project |
| Answer-First Content Format | AI Readiness | project |
Lower impact, quick to do.
| Finding | Category | Effort |
|---|---|---|
| Open Graph Tags | SEO | quick fix |
| Canonical URL | SEO | quick fix |
| Meta Robots Tag | SEO | quick fix |
| DNSSEC | Security | quick fix |
| CAA DNS Record | Security | quick fix |
| X-Content-Type-Options | Security | quick fix |
| Referrer-Policy | Security | quick fix |
| Permissions-Policy | Security | quick fix |
| Cookie Security Flags | Security | quick fix |
| security.txt (RFC 9116) | Security | quick fix |
| Theme Color | Mobile | quick fix |
| Legal Contact / Imprint Page | Legal & Compliance | quick fix |
+5 more
Lower impact and more work. Plan them once the rest is done.
| Finding | Category | Effort |
|---|---|---|
| Lazy Loading | Performance | about a day |
| Content Structure (H2 Headings) | SEO | about a day |
| Image Format Optimization | SEO | about a day |
| CDN / WAF Protection | Security | about a day |
| Touch Target Size | Mobile | about a day |
| Font Size Readability | Mobile | about a day |
| Inline CSS Size | Mobile | about a day |
| Responsive Images (srcset) | Mobile | about a day |
| Organization Schema + Entity Linking | AI Readiness | about a day |
| FAQ Schema (Direct AI Answers) | AI Readiness | about a day |
| Cookie Policy | Legal & Compliance | about a day |
| Terms & Conditions Page | Legal & Compliance | about a day |
+22 more
The full interactive version, with clickable links and the option to re-scan, is here:
https://score.zulien.sk/r/dev.proenergy.sk