Scanned on August 3, 2026
Your store works but has significant room for improvement. Start by adding meta descriptions and H1 headings to all product pages—they're essential for search engines and customers. Your security foundation is solid and your server setup is functional.
Sorted by score impact — each fix moves your overall grade up.
Weight: 25% · 9 passed · 6 warnings · 5 failed · 2 SPA (verify manually)
Why it matters: Pages over 3 MB take 12+ seconds on 3G. The average e-commerce page is around 2 MB — you're well above that. Even small latency increases measurably reduce sales.
How to fix: Critical: your page is over 3 MB. 1) Convert all images to WebP/AVIF, 2) Lazy load everything below the fold, 3) Remove unused plugins, 4) Combine and minify CSS/JS, 5) Enable brotli compression.
Evidence: PSI-lab · Confidence: high
What we found: 4.7 MB, 80 requests — too heavy!
Why it matters: Pages over 3 MB take 12+ seconds on 3G. The average e-commerce page is around 2 MB — you're well above that. Even small latency increases measurably reduce sales.
Why it matters: Above 1 200 KB the parse and execute cost alone stalls mid-range phones for seconds before anything is interactive. For reference, the best shop in our benchmark ships 410 KB and won its award on mobile experience.
How to fix: Audit what ships on a product page: split the bundle by route, defer every third-party tag until interaction or consent, and remove plugins whose bundle you cannot account for. Measure again after each removal.
Evidence: PSI-lab · 1414 KB JavaScript · Confidence: high
What we found: 1414 KB — more than double the 600 KB budget
Why it matters: Above 1 200 KB the parse and execute cost alone stalls mid-range phones for seconds before anything is interactive. For reference, the best shop in our benchmark ships 410 KB and won its award on mobile experience.
Why it matters: Over 200 KB of unused code significantly slows parsing and execution. This is one of the easiest performance wins — removing dead code requires no trade-offs.
How to fix: You're loading 897 KB of code that isn't used on this page. 1) Audit plugins and remove unused ones, 2) Use code-splitting for page-specific JS, 3) Run PurgeCSS on your stylesheets.
Evidence: PSI-lab · Confidence: low
What we found: 897 KB wasted on unused code!
Why it matters: Over 200 KB of unused code significantly slows parsing and execution. This is one of the easiest performance wins — removing dead code requires no trade-offs.
Note: This check uses heuristic detection and may produce false positives. Manual verification recommended.
Why it matters: 28 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 24% of 37 scripts optimized — most are render-blocking
Why it matters: 28 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 19 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: 19 CSS files — too many!
Why it matters: Each CSS file blocks rendering. With 19 files, the browser must download all of them before painting anything. This can add 1-2+ seconds on mobile networks.
Why it matters: TBT measures how long the main thread is blocked. During this time, clicks and taps don't respond — your store feels frozen. This directly impacts perceived quality.
How to fix: Reduce JavaScript execution: defer non-critical scripts, code-split large bundles, remove unused plugins. Third-party scripts (analytics, chat, ads) are often the biggest offenders.
Evidence: PSI-lab · Confidence: high
What we found: 370ms (good: <200ms)
Why it matters: TBT measures how long the main thread is blocked. During this time, clicks and taps don't respond — your store feels frozen. This directly impacts perceived quality.
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 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: no-cache/no-store forces browsers to re-download resources on every visit. Repeat visitors load your entire site from scratch every time.
How to fix: Set appropriate cache headers: static assets should have max-age=31536000 with versioned filenames. HTML pages can use max-age=0 with ETag for revalidation.
Evidence: HTTP-header · Confidence: high
What we found: max-age=0, no-cache, no-store, must-revalidate
Why it matters: no-cache/no-store forces browsers to re-download resources on every visit. Repeat visitors load your entire site from scratch every time.
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: 19 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
Your store doesn't qualify for the Zulien Score Badge yet. Score 80+ to earn it!
Your store is losing customers every day. The issues above are costing you sales.
| Category | Score | Weight | Failures | Warnings | OK |
|---|---|---|---|---|---|
| Performance | 71/100 | 25% | 5 | 6 | 9 |
| SEO | 64/100 | 20% | 4 | 6 | 13 |
| Security | 59/100 | 15% | 3 | 6 | 7 |
| Mobile | 67/100 | 10% | 0 | 10 | 7 |
| AI Readiness | 49/100 | 10% | 9 | 17 | 8 |
| Legal & Compliance | 60/100 | 10% | 2 | 7 | 6 |
| Vulnerability | 70/100 | 10% | 3 | 5 | 8 |
The full interactive version, with clickable links and the option to re-scan, is here:
https://score.zulien.sk/r/kelo.sk