Average

Score Report

herbadrug.sk

Scanned on October 8, 2026

Unknown
jQuery 1.11.3
openresty
Company:Herba Drug, s.r.o.· NACE 2042
NIS2: important entity · Mfg Chemicals
Risk:0/100low
Credit:A+
VAT registered
Top 12% in sector
Full company profile →
Last scanned: October 8, 2026
AI verdict

Your store performs well overall, but has security gaps to fix. Install HTTPS security headers (HSTS) and Content-Security-Policy to protect customer data. Your SEO and accessibility are excellent.

NIS2: important entity — Mfg Chemicals

NIS2 readiness: 2/7 · 29%

Your shop falls under NIS2. The directive requires documented technical measures. These 5 shop-side signals are what we can verify externally:

✓Valid SSL/TLS certificateNIS2 Art. 21(2)(c)
—DMARC email authentication (anti-phishing)NIS2 Art. 21(2)(g)
✓Incident reporting contact (security.txt)NIS2 Art. 21(2)(b), Art. 23
✗Content Security Policy (XSS protection)NIS2 Art. 21(2)(c)
✗HSTS (forced HTTPS)NIS2 Art. 21(2)(c)
✗Vulnerability management (no known CVEs)NIS2 Art. 21(2)(e), 21(2)(g)
!Data protection (cookie consent + privacy policy)NIS2 Art. 21(2)(j)
Check full NIS2 compliance → Legal basis: NIS2 Art. 21 · SK 366/2024
Action plan

Action plan by impact and effort

Every problem found, sorted by how much fixing it helps and how much work the fix takes. Start with the quick wins.

How we rank →

Quick wins

5

High impact, little work. Do these first.

Bigger projects

10

High impact, but the fix needs planning.

+5 more

Small fixes

18

Lower impact, quick to do.

+13 more

Later

47

Lower impact and more work. Plan them once the rest is done.

+42 more

Performance

Weight: 25% · 10 passed · 6 warnings · 2 failed · 2 SPA (verify manually)

What we found: 388 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.

How to fix: You're loading 388 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: 14 CSS files — too many!

Why it matters: Each CSS file blocks rendering. With 14 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: 2.3 MB, 72 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.

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: 748 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.

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-lab748 KB JavaScript· Confidence: high

What we found: 50 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.

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: 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.

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: Only 73% of 11 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.

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: 14 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.

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

8 issues found in Performance. Room for improvement.

Your store doesn't qualify for the Zulien Score Badge yet. Score 80+ to earn it!

📧 Re-scan reminders

We'll email you monthly when it's time to re-scan and track your improvements.

🚀 Improve your score

Our PrestaShop modules can fix most of these issues automatically.

Free 15-min consultation · No commitment

Share & Export

This is an automated heuristic estimate, not a professional audit. Findings reflect publicly observable signals at scan time and may include false positives.Learn about our methodologyReport inaccuracyRemove this report