Average

Score Report

marton.cz

Scanned on October 8, 2026

Unknown
jQuery 1.11.3
openresty
Company:Damian Marton s.r.o.· NACE 4939
NIS2: out of scope
Risk:30/100medium
Credit:B
VAT registered
Full company profile →
Last scanned: October 8, 2026
AI verdict

Your site works well but has security gaps. Add HSTS headers immediately to protect customer data. Excellent accessibility for disabled visitors.

Not subject to NIS2 cybersecurity duties.Based on NACE sector + company size, Article 21 compliance is not mandatory. Security best practices still recommended.
Supplying a NIS2-regulated company?Even outside direct scope you may inherit supply-chain duties — regulated companies cascade them to suppliers by contract (security, incident reporting, encryption). ICT and managed-service providers are in scope regardless of size.
Check supplier obligations Legal basis: NIS2 Art. 21 · CZ 264/2025 §11 · NIS2 Art. 21(2)(d)
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

13

High impact, but the fix needs planning.

+8 more

Small fixes

18

Lower impact, quick to do.

+13 more

Later

43

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

+38 more

Performance

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

What we found: 17.2 MB, 144 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.

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: 144 requests — well past both the 80 budget and the cohort median of 140

Why it matters: Past ~140 requests the browser spends its time on connection and queueing overhead rather than rendering. The best shop in our benchmark renders with 37.

How to fix: Start with what loads before first paint: bundle the CSS/JS, sprite the icons, lazy-load every below-fold image, and remove duplicate tag-manager containers loading the same vendor twice.
Evidence:PSI-lab144 requests· Confidence: high

What we found: 248 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 248 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: 1147 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-lab1147 KB JavaScript· Confidence: high

What we found: 83 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 50% of 6 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

7 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