Skip to content
https://www.spiegel.de

Performance

· 14 checks — Lighthouse + waterfall + sustainability rolled into one auditable list.
SCORE
84
GRADE
B
FIX
1
REVIEW
4
PASS
7
INFO
2

Performance-focused optimization plan with CWV assessment, top offenders, and time estimates

95
Performance Overall performance score (0–100) based on Core Web Vitals and other metrics. 90+ is good.
93
Accessibility Measures how accessible the page is for users with disabilities. Checks color contrast, ARIA labels, and semantic HTML.
100
Best Practices Checks for modern web development best practices including HTTPS, no console errors, and secure JavaScript.
100
SEO Measures basic SEO optimizations: meta tags, crawlability, link text, and mobile friendliness.

First Contentful Paint First Contentful Paint — how long until the browser renders the first piece of content. Under 1.8s is good.

907 ms

Largest Contentful Paint Largest Contentful Paint — how long until the largest visible element loads. Under 2.5s is good.

1.19 s

Total Blocking Time Total Blocking Time — total time the main thread was blocked, preventing user input. Under 200ms is good.

71 ms

Cumulative Layout Shift Cumulative Layout Shift — measures visual stability. How much the page layout shifts during loading. Under 0.1 is good.

0.000

Speed Index Speed Index — how quickly content is visually displayed during load. Under 3.4s is good.

1.42 s

Time to Interactive Time to Interactive — how long until the page is fully interactive and responds to user input. Under 3.8s is good.

2.57 s

Page Load Progression

498 ms
996 ms
1.5 s
2.0 s
2.5 s
3.0 s
3.5 s
4.0 s
Checks
14
7 PASS 4 REVIEW 1 FIX
D
Third-Party Impact
Action
84% third-party, 0 ms blocking
FIX
84% third-party, 0 ms blocking
Warning::
Third-party code accounts for 84% of page weight (1.2 MiB of 1.4 MiB)
Info::
Third-party blocking time is low (0 ms)
16%
84%
First-party Third-party
B
Page Weight Budget
1.4 MB transferred, 73 requests
REVIEW
1.4 MB transferred, 73 requests
Info::
Page weighs 4.8 MB (1.4 MB transferred)
Info::
Fonts are 399 KB — consider subsetting or using system fonts
Subset fonts to include only used characters, or switch to system font stacks.
Got: 399 KB
Info::
73 HTTP requests
Info::
Estimated 0.30 g CO2 per page load
1.4 MB / 2.4 MB budget
1.4 MB transferred
73 requests
0.30 g CO2 per page load
JavaScript 483.0 KiB 33%
Fonts 399.4 KiB 28%
Other 254.6 KiB 18%
HTML 234.2 KiB 16%
Images 40.0 KiB 3%
CSS 27.3 KiB 2%
Other 4.2 KiB 0%
Other 4.0 KiB 0%
Other 754 B 0%
0 2.4 MB 4.9 MB
Under budget

Subset fonts to include only used characters, or switch to system font stacks.

Why this matters

Font payload is large — subset to used glyphs only, or fall back to system fonts (zero load time).

Source: web.dev font loading

C
JS Execution Cost
Action
1899ms total JS execution
REVIEW
1899ms total JS execution
Warning::
https://www.spiegel.de/: 1053ms CPU time
Warning::
Unattributable: 277ms CPU time
Info::
https://sp-spiegel-de.spiegel.de/Notice.8f529.js: 200ms CPU time
Info::
https://sp-spiegel-de.spiegel.de/unified/wrapperMe...: 167ms CPU time
Info::
https://cdn.prod.www.spiegel.de/public/shared/gene...: 110ms CPU time
Info::
Third-party scripts: 847ms (45% of total)

Main Thread Breakdown

Other 37% Script Evaluation 29% Style & Layout 17% Rendering 6% Parse HTML & CSS 6% Script Parsing & Compilation 4%
ScriptTotalScriptingParse/CompileParty
https://www.spiegel.de/1053ms61ms13ms1st
Unattributable277ms25ms0ms3rd
https://sp-spiegel-de.spiegel.de/Notice.8f529.js200ms146ms19ms3rd
https://sp-spiegel-de.spiegel.de/unified/wrapperMessagingWithoutDetection.js167ms123ms6ms3rd
https://cdn.prod.www.spiegel.de/public/shared/generated/js/index.bef94a1227f9ba910327.js110ms93ms7ms3rd
https://assets.adobedtm.com/cc10f7b4369d/32ae8c3350c5/launch-8a2e39fde471.min.js92ms72ms14ms3rd
B
JS Bundles
12 scripts, 129 KB unused
REVIEW
12 scripts, 129 KB unused
Warning::
https://sp-spiegel-de.spiegel.de/Notice.8f529.js: 63 KB unused (69%)
Consider code splitting or tree shaking to reduce unused code.
Warning::
https://cdn.prod.www.spiegel.de/public/shared/gene...: 42 KB unused (77%)
Consider code splitting or tree shaking to reduce unused code.
Warning::
https://assets.adobedtm.com/cc10f7b4369d/32ae8c335...: 24 KB unused (20%)
Consider code splitting or tree shaking to reduce unused code.
Info::
Total unused JavaScript: 129 KB
129 KB unused JavaScript

Downloaded but never executed on this page.

ScriptSizeUnusedMinifiedParty
https://sp-spiegel-de.spiegel.de/Notice.8f529.js91 KB63 KB (69%)3rd
https://cdn.prod.www.spiegel.de/public/shared/generated/js/index.bef94a1227f9ba910327.js55 KB42 KB (77%)3rd
https://assets.adobedtm.com/cc10f7b4369d/32ae8c3350c5/launch-8a2e39fde471.min.js118 KB24 KB (20%)3rd
https://cdn.prod.www.spiegel.de/public/shared/generated/js/commons.c0c8da65a3f202a0f54c.js29 KB3rd
https://cdn.prod.www.spiegel.de/public/shared/generated/js/header.a8fe52f48a8d879860e4.js4 KB3rd
https://cdn.prod.www.spiegel.de/public/shared/generated/js/vendors.f1c4f8bff0ebc606b86f.js33 KB3rd
https://sp-spiegel-de.spiegel.de/unified/wrapperMessagingWithoutDetection.js42 KB3rd
https://s3.eu-central-1.amazonaws.com/prod.iqdcontroller.iqdigital/cdn_iqdspiegel/live/iqadcontroller.js.gz78 KB3rd
https://sp-spiegel-de.spiegel.de/unified/4.40.1/gdpr-tcf.27718c8cb9d29947d2c1.bundle.js29 KB3rd
https://sp-spiegel-de.spiegel.de/mms/v2/get_site_data?hasCsp=true&href=https%3A%2F%2Fspiegel-ads&account_id=3311 KB3rd

Consider code splitting or tree shaking to reduce unused code.

Why this matters

This bundle has high unused code — code-split or tree-shake to ship only what executes.

Source: web.dev / Lighthouse coverage

Consider code splitting or tree shaking to reduce unused code.

Why this matters

This bundle has high unused code — code-split or tree-shake to ship only what executes.

Source: web.dev / Lighthouse coverage

Consider code splitting or tree shaking to reduce unused code.

Why this matters

This bundle has high unused code — code-split or tree-shake to ship only what executes.

Source: web.dev / Lighthouse coverage

B
HTTP Caching
public, max-age=0,s-maxage=90
REVIEW
public, max-age=0,s-maxage=90
Info::
Cache-Control header is set
Got: public, max-age=0,s-maxage=90
Info::
CDN TTL: 1 minute (s-maxage=90)
Info::
No ETag or Last-Modified header
Conditional requests (304 Not Modified) are not possible without validators.
Cache-Control

public, max-age=0,s-maxage=90

DirectiveValueMeaning
publicAny cache may store this response
max-age0Cache for 0 seconds
s-maxage90CDN caches for 1 minute
A+
Text Compression
All text resources are compressed
PASS
All text resources are compressed
Info::
All text resources are compressed
All text resources are properly compressed.
A
Image Optimization
33 images, 0 KB saveable
PASS
33 images, 0 KB saveable
Info::
All images are well-optimized
33 images 40 KB
0 oversized -0 KB
2 legacy format
0 missing dimensions CLS risk
A+
Font Loading
12 fonts (399 KB)
PASS
12 fonts (399 KB)
Info::
12 font(s) use font-display: swap (FOUT risk but functional)

Web fonts

12

399 KB total

Render-blocking

0

of 12

Dominant font-display

swap

Most common across fonts

Font loading timeline
Transfer FOIT (block) FOUT (swap)
0 ms 500 ms 1.0 s FCP 907 ms LCP 1.2 shttps://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSlab4UICd-ExtraBold.woff2SpiegelSlab4UICd-ExtraB... https://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSlab4UICd-ExtraBold.woff2 — 32.2 KiB — 0 ms — font-display: swaphttps://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSerifTextUI-Regular.woff2SpiegelSerifTextUI-Regu... https://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSerifTextUI-Regular.woff2 — 40.1 KiB — 0 ms — font-display: swaphttps://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSerifTextUI-Italic.woff2SpiegelSerifTextUI-Ital... https://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSerifTextUI-Italic.woff2 — 32.7 KiB — 0 ms — font-display: swaphttps://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSerifTextUI-Bold.woff2SpiegelSerifTextUI-Bold... https://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSerifTextUI-Bold.woff2 — 31.0 KiB — 0 ms — font-display: swaphttps://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSerifTextUI-BoldItalic.woff2SpiegelSerifTextUI-Bold... https://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSerifTextUI-BoldItalic.woff2 — 33.3 KiB — 0 ms — font-display: swaphttps://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSerifDisplayUI-BoldItalic.woff2SpiegelSerifDisplayUI-B... https://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSerifDisplayUI-BoldItalic.woff2 — 33.8 KiB — 0 ms — font-display: swaphttps://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSans4UI-Regular.woff2SpiegelSans4UI-Regular.... https://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSans4UI-Regular.woff2 — 37.9 KiB — 0 ms — font-display: swaphttps://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSans4UI-Bold.woff2SpiegelSans4UI-Bold.woff2 https://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSans4UI-Bold.woff2 — 39.1 KiB — 0 ms — font-display: swaphttps://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSans4-6SemiBold.woff2SpiegelSans4-6SemiBold.... https://cdn.prod.www.spiegel.de/public/shared/fonts/SpiegelSans4-6SemiBold.woff2 — 11.4 KiB — 0 ms — font-display: swapdata:font/woff2;base64,d09GMk9UVE8AAH9wAAsAAAAA5IwAAH8jAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYKZABvocByZ…woff2;base64,d09GMk9UVE... data:font/woff2;base64,d09GMk9UVE8AAH9wAAsAAAAA5IwAAH8jAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYKZABvocByZ… — 31.9 KiB — 0 ms — font-display: swapdata:font/woff2;base64,d09GMk9UVE8AAJZAAAsAAAABGCwAAJXwAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYK7chuBmCwc…woff2;base64,d09GMk9UVE... data:font/woff2;base64,d09GMk9UVE8AAJZAAAsAAAABGCwAAJXwAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYK7chuBmCwc… — 37.6 KiB — 0 ms — font-display: swapdata:font/woff2;base64,d09GMk9UVE8AAJsMAAsAAAABIZAAAJq7AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYLNUxuBmVgc…woff2;base64,d09GMk9UVE... data:font/woff2;base64,d09GMk9UVE8AAJsMAAsAAAABIZAAAJq7AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAADYLNUxuBmVgc… — 38.8 KiB — 0 ms — font-display: swap
SpiegelSlab4UICd-ExtraB... woff2 swap
Size 32 KB
Load time 0 ms
Start 0 ms
Risk FOUT — text flashes from fallback to web font
SpiegelSerifTextUI-Regu... woff2 swap
Size 40 KB
Load time 0 ms
Start 0 ms
Risk FOUT — text flashes from fallback to web font
SpiegelSerifTextUI-Ital... woff2 swap
Size 33 KB
Load time 0 ms
Start 0 ms
Risk FOUT — text flashes from fallback to web font
SpiegelSerifTextUI-Bold... woff2 swap
Size 31 KB
Load time 0 ms
Start 0 ms
Risk FOUT — text flashes from fallback to web font
SpiegelSerifTextUI-Bold... woff2 swap
Size 33 KB
Load time 0 ms
Start 0 ms
Risk FOUT — text flashes from fallback to web font
SpiegelSerifDisplayUI-B... woff2 swap
Size 34 KB
Load time 0 ms
Start 0 ms
Risk FOUT — text flashes from fallback to web font
SpiegelSans4UI-Regular.... woff2 swap
Size 38 KB
Load time 0 ms
Start 0 ms
Risk FOUT — text flashes from fallback to web font
SpiegelSans4UI-Bold.woff2 woff2 swap
Size 39 KB
Load time 0 ms
Start 0 ms
Risk FOUT — text flashes from fallback to web font
SpiegelSans4-6SemiBold.... woff2 swap
Size 11 KB
Load time 0 ms
Start 0 ms
Risk FOUT — text flashes from fallback to web font
woff2;base64,d09GMk9UVE... woff2 swap
Size 32 KB
Load time 0 ms
Start 0 ms
Risk FOUT — text flashes from fallback to web font
woff2;base64,d09GMk9UVE... woff2 swap
Size 38 KB
Load time 0 ms
Start 0 ms
Risk FOUT — text flashes from fallback to web font
woff2;base64,d09GMk9UVE... woff2 swap
Size 39 KB
Load time 0 ms
Start 0 ms
Risk FOUT — text flashes from fallback to web font
Optimization checklist
  • Preload critical fonts (priority=high)
  • Use woff2 format for all fonts
  • Set font-display to swap, optional, or fallback
  • Subset large fonts (≤100 KB each)
A+
Resource Caching
All resources properly cached
PASS
All resources properly cached
Info::
No caching issues found
All static resources have appropriate caching headers.
A+
Critical Rendering Path
No render-blocking resources
PASS
No render-blocking resources
Info::
No render-blocking resources detected
A+
Resource Hints
No optimization needed
PASS
No optimization needed
Info::
No resource hint issues
A+
Green Hosting
Whether the site is served from green-energy infrastructure
PASS

Green Hosting

This site is hosted on green energy infrastructure

Provider: Link11 GmbH

Network Waterfall
73 requests over 0ms
INFO

Performance analysis not available for this result.

Third-Party Script Cost
Per-script blocking time, transfer cost, and cache headers
INFO
45% of JavaScript execution is third-party
First-party Third-party 847ms · 307KB · €4/mo
Unattributable
Other
Costly
Execution 277ms
Transfer 0 KB
Monthly Cost €1/mo
sp-spiegel-de.spiegel.de
Other
Costly
Execution 200ms
Transfer 91 KB
Unused 69%
Monthly Cost €1/mo
sp-spiegel-de.spiegel.de
Other
Optional
Execution 167ms
Transfer 42 KB
Monthly Cost €1/mo
cdn.prod.www.spiegel.de
Other
Optional
Execution 110ms
Transfer 55 KB
Unused 77%
Monthly Cost €1/mo
assets.adobedtm.com
Other
Optional
Execution 92ms
Transfer 118 KB
Unused 20%
Monthly Cost €0/mo

These scripts may cost more than they're worth

  • Unattributable adds 277ms and costs ~€1/month
  • sp-spiegel-de.spiegel.de adds 200ms and costs ~€1/month

45% of JavaScript execution time comes from third-party scripts.

Why this matters

Third-party scripts (analytics, ads, social, A/B testing) often dominate execution time — every one is a perf-and-privacy tax.

Learn more

Each third-party script is a black box: you don't control when it loads, what it executes, or how much it grows. They often account for a major share of total blocking time on average sites (HTTP Archive's Web Almanac documents the trend). Audit which ones you actually need, defer the rest, and use facade patterns (lite-youtube, lite-vimeo) for embedded media.

Source: web.dev / HTTP Archive Web Almanac

Unattributable takes 277ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.

Why this matters

This script has high main-thread execution time — optimize hot paths or defer.

Source: web.dev

sp-spiegel-de.spiegel.de takes 200ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.

Why this matters

This script has high main-thread execution time — optimize hot paths or defer.

Source: web.dev

69% of sp-spiegel-de.spiegel.de's code is unused. The script may be loading features you don't use.

Why this matters

Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.

Source: web.dev

77% of cdn.prod.www.spiegel.de's code is unused. The script may be loading features you don't use.

Why this matters

Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.

Source: web.dev

How third-party costs are calculated

All checks on this page are automated. Results are estimates - run targeted manual reviews when the score affects a release decision.

Send Feedback