Scanned on October 8, 2026
Your site runs well overall, but has security and technical gaps to close. Add HTTPS protection (HSTS) to all pages as your top priority. Your accessibility for users with disabilities 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.
+6 more
Lower impact, quick to do.
+14 more
Lower impact and more work. Plan them once the rest is done.
+39 more
Weight: 25% · 11 passed · 7 warnings · 2 failed · 2 SPA (verify manually)
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 390 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: 390 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: 6 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 33% of 9 scripts optimized — most are render-blocking
Why it matters: 6 render-blocking scripts can add 1-3 seconds to page load. Each synchronous script creates a sequential download-parse-execute chain.
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: 212ms (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: A 3 MB page takes 6+ seconds on 3G mobile. Most e-commerce traffic is mobile — heavy pages lose customers on poor connections.
How to fix: Reduce page weight: compress images to WebP (saves 30-50%), enable text compression (gzip/brotli), lazy load below-fold images, remove unused CSS/JS.
Evidence: PSI-lab · Confidence: high
What we found: 2.0 MB, 81 requests (optimal: <1.5 MB, <50 req)
Why it matters: A 3 MB page takes 6+ seconds on 3G mobile. Most e-commerce traffic is mobile — heavy pages lose customers on poor connections.
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 · 646 KB JavaScript · Confidence: high
What we found: 646 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 · 81 requests · Confidence: high
What we found: 81 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: 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: 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: Third-party connections require DNS lookup, TCP handshake, and TLS negotiation. Preconnect performs these in parallel with HTML parsing, saving 100-300ms per origin.
How to fix: Add <link rel='preconnect'> for key third-party domains: www.googletagmanager.com, connect.facebook.net, www.google.com. Preconnect saves 100-300ms per domain by starting DNS+TCP+TLS early.
Evidence: PSI-lab · Confidence: high
What we found: 5 external domains without preconnect
Why it matters: Third-party connections require DNS lookup, TCP handshake, and TLS negotiation. Preconnect performs these in parallel with HTML parsing, saving 100-300ms per origin.
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 | 81/100 | 25% | 2 | 7 | 11 |
| SEO | 82/100 | 20% | 1 | 5 | 18 |
| Security | 60/100 | 15% | 2 | 7 | 8 |
| Mobile | 51/100 | 10% | 1 | 9 | 6 |
| AI Readiness | 57/100 | 10% | 4 | 23 | 8 |
| Legal & Compliance | 75/100 | 10% | 1 | 7 | 9 |
| Vulnerability | 62/100 | 10% | 4 | 4 | 7 |
| Accessibility / EAA | 93/100 | 10% | 0 | 1 | 7 |
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 |
| Script Loading Strategy | Performance | about a day |
| Structured Data (JSON-LD) | SEO | about a day |
| Content-Security-Policy (CSP) | Security | 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 |
| Unused Code (CSS + JS) | Performance | project |
| Mobile Performance Score | Mobile | project |
| Content-to-Boilerplate Ratio | AI Readiness | project |
Lower impact, quick to do.
| Finding | Category | Effort |
|---|---|---|
| Cache-Control Strategy | Performance | quick fix |
| Meta Title | SEO | 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 |
+7 more
Lower impact and more work. Plan them once the rest is done.
| Finding | Category | Effort |
|---|---|---|
| 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 |
| 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 |
| Site Search Schema (SearchAction) | AI Readiness | about a day |
| Product Feed (AI Commerce) | AI Readiness | about a day |
| Heureka XML Feed | 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/biocentrumplus.sk