Scanned on October 8, 2026
Your site has a solid foundation, but security and AI-readiness need attention. Enable HSTS immediately across all pages to protect visitors. Your SEO optimization is a real strength in the market.
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.
+9 more
Lower impact and more work. Plan them once the rest is done.
+39 more
Weight: 25% · 9 passed · 6 warnings · 2 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: 15.1 MB, 84 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: 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 514 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: 514 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: 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: 357ms (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: Measured on a first load with no interaction, so scripts gated behind cookie consent don't count against you here. The 600 KB bar is best practice, not the cohort average: the shops we benchmarked have a median of 1 270 KB, and the best of them (a category winner that won on mobile) ships 410 KB.
How to fix: Split the bundle so a product page doesn't load checkout and account code. Defer third-party scripts until interaction. Drop unused plugin bundles — on most shops these outweigh your own code.
Evidence: PSI-lab · 922 KB JavaScript · Confidence: high
What we found: 922 KB — over the 600 KB budget, but below the 1270 KB median of the award-winning shops we benchmarked
Why it matters: Measured on a first load with no interaction, so scripts gated behind cookie consent don't count against you here. The 600 KB bar is best practice, not the cohort average: the shops we benchmarked have a median of 1 270 KB, and the best of them (a category winner that won on mobile) ships 410 KB.
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 · 84 requests · Confidence: high
What we found: 84 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: 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: 172 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: 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: no-store, no-cache, must-revalidate, no-cache, private
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: Synchronous scripts block HTML parsing — the browser stops rendering until each script downloads and executes. Async/defer allows parallel downloading without blocking.
How to fix: Add 'defer' to scripts that don't need to run immediately, 'async' for independent scripts. Use type='module' for modern ES modules. Only critical inline scripts should be synchronous.
Evidence: HTML-heuristic · Confidence: high
What we found: Only 44% of 9 scripts use async/defer
Why it matters: Synchronous scripts block HTML parsing — the browser stops rendering until each script downloads and executes. Async/defer allows parallel downloading without blocking.
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!
| Category | Score | Weight | Failures | Warnings | OK |
|---|---|---|---|---|---|
| Performance | 76/100 | 25% | 2 | 6 | 9 |
| SEO | 85/100 | 20% | 1 | 4 | 18 |
| Security | 60/100 | 15% | 2 | 7 | 8 |
| Mobile | 61/100 | 10% | 1 | 10 | 5 |
| AI Readiness | 57/100 | 10% | 4 | 23 | 8 |
| Legal & Compliance | 82/100 | 10% | 1 | 3 | 11 |
| Vulnerability | 64/100 | 10% | 4 | 3 | 8 |
| Accessibility / EAA | 79/100 | 10% | 0 | 3 | 5 |
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 |
|---|---|---|
| Admin Panel at Default URL | Vulnerability | quick fix |
| HTTP → HTTPS Redirect | Security | quick fix |
| HSTS (Strict-Transport-Security) | Security | quick fix |
| Consumer Dispute Resolution Links | Legal & Compliance | quick fix |
High impact, but the fix needs planning.
| Finding | Category | Effort |
|---|---|---|
| Known Vulnerabilities (CVE) | Vulnerability | project |
| Structured Data (JSON-LD) | SEO | about a day |
| Content-Security-Policy (CSP) | Security | about a day |
| Form Input Labels (WCAG 3.3.2) | Mobile | about a day |
| Structured Data Foundation | AI Readiness | about a day |
| Organization Schema + Entity Linking | AI Readiness | about a day |
| jQuery Version | Vulnerability | about a day |
| Payment Page Security | Vulnerability | about a day |
| Total Page Weight | Performance | project |
| Unused Code (CSS + JS) | Performance | project |
| Knowledge Graph Readiness | AI Readiness | project |
| Content-to-Boilerplate Ratio | AI Readiness | project |
Lower impact, quick to do.
| Finding | Category | Effort |
|---|---|---|
| Cache-Control Strategy | Performance | quick fix |
| Meta Description | SEO | quick fix |
| Twitter/X Cards | SEO | quick fix |
| Canonical URL Consistency | SEO | quick fix |
| CAA DNS Record | Security | quick fix |
| Referrer-Policy | Security | quick fix |
| Permissions-Policy | Security | quick fix |
| Cookie Security Flags | Security | quick fix |
| Subresource Integrity (SRI) | Security | quick fix |
| Theme Color | Mobile | quick fix |
| Print Stylesheet | Mobile | quick fix |
| Canonical Tag for AI Deduplication | AI Readiness | quick fix |
+2 more
Lower impact and more work. Plan them once the rest is done.
| Finding | Category | Effort |
|---|---|---|
| Lazy Loading | Performance | about a day |
| Script Loading Strategy | Performance | 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 |
| PWA Features | Mobile | about a day |
| Responsive Images (srcset) | Mobile | about a day |
| Mobile Sticky CTA | Mobile | about a day |
| Heading Hierarchy (WCAG 1.3.1) | Mobile | about a day |
| Link Text Quality (WCAG 2.4.4) | Mobile | about a day |
| FAQ Schema (Direct AI Answers) | AI Readiness | about a day |
+32 more
The full interactive version, with clickable links and the option to re-scan, is here:
https://score.zulien.sk/r/habala.sk