Carbon report
www.spiegel.de
Scanned · all pages on www.spiegel.de
Redirected here by the site from spiegel.de
0.384 g
cleaner than an estimated 46.8% of pages on the web
- A+
- A
- B
- C
- D
- E
- F
A+ is 0.04 g or less per view, F is more than 0.359 g CO₂e.
The numbers
- 0.484 g CO₂e
- 0.083 g CO₂e
- verified green
- 304 ms
- n/a
- 32 ms
At 10,000 views a month this page emits about 46.1 kg CO₂e a year, roughly 189 km in an average petrol car. The estimate assumes 75% new and 25% returning visitors, a measured cache reload ratio of 17%, and world-average grid intensity. How we calculate this
What to fix
apply everything → ~0.151 g/visit, rating C
Defer video and audiosave ~0.186 g/visit (1.94 MB)High impact · quick fix
2.42 MB of audio/video downloads during initial page load; 1 video autoplays; 18 videos preload data without preload="none".
Never autoload media: use preload="none" with a poster image, load players on interaction, and stream in an efficient codec (AV1/HEVC).
- ss.widget.320.mp42.42 MB
- ss.widget.mp40 B
Optimize web fontssave ~0.014 g/visit (143 kB)Medium impact · quick fix
12 font files total 409 kB.
Subset fonts to used glyphs, prefer one variable font over multiple weights, serve WOFF2 only, and consider system fonts for UI text.
- SpiegelSerifTextUI-Regular.woff241 kB
- SpiegelSans4UI-Bold.woff240 kB
- FP5K91xuHSSpKilTg3tZgsXYyjWl1bsC6mdx9qSkYxYCK…40 kB
- SpiegelSans4UI-Regular.woff239 kB
- XbvfukaUw81aftKubuMpQmk4NjUSSd0jmFMtaT4u3s8GE…38 kB
Reduce JavaScript payloadsave ~0.013 g/visit (138 kB)Medium impact · moderate effort
12 scripts total 554 kB on the wire (2.09 MB decoded). Bundles this size usually carry a lot of unused code.
Split bundles per route, tree-shake dependencies, and audit with a bundle analyzer or coverage profile. A 25% cut is a conservative target for bundles this size.
- launch-8a2e39fde471.min.js124 kB
- Notice.97af9.js95 kB
- iqadcontroller.js77 kB
- c3650cdf-216a-4ba2-80b0-9d6c540b105e58d2670b-…62 kB
- index.fa4e3342d1fdc67eee34.js57 kB
Audit third-party servicessave ~0.011 g/visit (118 kB)Medium impact · moderate effort
2 third-party domains account for 236 kB (6% of the page).
Remove services that no longer earn their place; load the rest on interaction (facades for embeds, delayed consent-gated tags). Each third party is also a privacy and performance dependency.
- assets.adobedtm.com125 kB
- 111 kB
Fix caching for returning visitorssave ~0.0052 g/visit (43 kB)Medium impact · quick fix
On a repeat visit 173 kB of static assets were re-downloaded instead of coming from cache.
Serve static assets with Cache-Control: public, max-age=31536000, immutable and versioned filenames so returning visitors download almost nothing.
- c3650cdf-216a-4ba2-80b0-9d6c540b105e58d2670b-…Cache-Control: no-cache · 62 kB
- FP5K91xuHSSpKilTg3tZgsXYyjWl1bsC6mdx9qSkYxYCK…no Cache-Control header · 40 kB
- XbvfukaUw81aftKubuMpQmk4NjUSSd0jmFMtaT4u3s8GE…no Cache-Control header · 38 kB
- zw33CphKpKVsayl6dSK296z8AZM5Nm9no Cache-Control header · 33 kB
- 203692e46-5d334-4157-cee1-0cd05f384080_w910h_…Cache-Control: max-age=0, max-stale=0, must-revalidate, no-cache, no-store, no-transform, post-check=0, pre-check=0, private · 312 B
Upgrade compression beyond gzipsave ~0.014 g/visit (145 kB)Advisory · quick fix
969 kB of text ships gzip-compressed; Brotli or Zstandard would cut roughly another 15-20%, and browsers without them fall back to gzip automatically.
Serve precompressed Brotli for static text assets (highest level, compressed at build time) and enable Brotli or zstd for dynamic responses; keep gzip only as the fallback.
- messages259 kB
- spiegel.de249 kB
- launch-8a2e39fde471.min.js124 kB
- Notice.97af9.js95 kB
- iqadcontroller.js77 kB
Set a page-weight budgetAdvisory · moderate effort
At 4.00 MB per view this page rates F. The findings above list where the weight is.
Agree a transfer budget (e.g. under 975 kB reaches a B), enforce it in CI, and re-scan after each change to hold the line.
Remove the entry redirectAdvisory · quick fix
The address that was scanned goes through 1 redirect before the document is served, ending at https://www.spiegel.de/. Every hop is a full round trip on a connection that has not warmed up yet.
Point links, sitemaps and canonical tags at the final address, and make the host redirect in one hop rather than chaining http to https to www.
- https://spiegel.de/redirects to https://www.spiegel.de/
Simplify the document structureAdvisory · larger effort
The page renders 8389 DOM elements, above the 1,500 guideline. Large trees cost memory and CPU on every visitor's device.
Flatten wrapper markup, render long lists virtually or paginate, and prefer semantic elements over nested divs.
Where the bytes are
- Audio / video2.42 MB · 2 req
- JavaScript554 kB · 12 req
- Fonts409 kB · 12 req
- Data (XHR)261 kB · 3 req
- HTML251 kB · 2 req
- Images73 kB · 31 req
- CSS28 kB · 2 req
- Data (fetch)4.6 kB · 6 req
Ten heaviest requests
| Resource | Type | Wire size | Cache-Control |
|---|---|---|---|
| interactive.spiegel.de/gra/apps/geschichte/2026/files/video/ss.widget.320.mp4 | media | 2.42 MB | public, s-maxage=10800, max-age=10800 |
| sp-spiegel-de.spiegel.de/wrapper/v2/messages?hasCsp=true&env=prod&body=%7B%22accountId%22%3A331%2C%22campaignEnv%22%3A%22prod%22%2C%22campaigns%22%3A%7B%22gdpr%22%3A%7B%22consentStatus%22%3A%7B%7D%2C%22targetingParams%22%3A%7B%22platform%22%3A%22web%22%2C%22is_phone%22%3Afalse%2C%22is_tablet%22%3Afalse%2C%22is_mobile%22%3Afalse%2C%22route%22%3A%22homepage%22%2C%22is_loggedIn%22%3Afalse%2C%22has_paid_access%22%3Afalse%2C%22has_noAds_access%22%3Afalse%2C%22has_conditional_access%22%3Atrue%2C%22disable_consent%22%3Afalse%2C%22lang%22%3A%22en%22%2C%22requestMessage%22%3A%22consent-layer%22%7D%7D%7D%2C%22clientMMSOrigin%22%3A%22https%3A%2F%2Fsp-spiegel-de.spiegel.de%22%2C%22hasCSP%22%3Atrue%2C%22includeData%22%3A%7B%22localState%22%3A%7B%22type%22%3A%22string%22%7D%2C%22actions%22%3A%7B%22type%22%3A%22RecordString%22%7D%2C%22cookies%22%3A%7B%22type%22%3A%22RecordString%22%7D%7D%2C%22propertyHref%22%3A%22https%3A%2F%2Fspiegel-ads%22%7D&localState=null&metadata=%7B%22gdpr%22%3A%7B%22applies%22%3Atrue%7D%7D&nonKeyedLocalState=null&ch=5199078315199078318211&scriptVersion=4.40.2&scriptType=unified | xhr | 259 kB | max-age=0, s-maxage=1200 |
| spiegel.de/ | document | 249 kB | public, max-age=0,s-maxage=90 |
| assets.adobedtm.com/cc10f7b4369d/32ae8c3350c5/launch-8a2e39fde471.min.js | script | 124 kB | max-age=3600 |
| sp-spiegel-de.spiegel.de/Notice.97af9.js | script | 95 kB | max-age=3600 |
| cdn.prod.www.spiegel.de/assets/iqd/cdn_iqdspiegel/iqadcontroller.js | script | 77 kB | public,max-age=300,s-maxage=300 |
| cdn.prod.www.spiegel.de/images/e057fa72-baeb-4a48-b0fa-07a905b87938_w720_r1.5_fpx52_fpy50.webp | image | 66 kB | public, s-maxage=2592000, max-age=2592000 |
| www.spiegel.de/c3650cdf-216a-4ba2-80b0-9d6c540b105e58d2670b-ea0f-484e-b88c-0e2c1499ec9bd71e4b42-8570-44e3-89b6-845326fa43b6 | script | 62 kB | no-cache |
| cdn.prod.www.spiegel.de/public/shared/generated/js/index.fa4e3342d1fdc67eee34.js | script | 57 kB | public, s-maxage=2592000, max-age=2592000 |
| sp-spiegel-de.spiegel.de/unified/wrapperMessagingWithoutDetection.js | script | 41 kB | max-age=3600 |
Share this report
<a href="https://carbonless.cc/report/www.spiegel.de"><img src="https://carbonless.cc/api/badge?url=https%3A%2F%2Fwww.spiegel.de" alt="Carbon rating for this page" width="150" height="30" loading="lazy" /></a>The badge is a lightweight SVG (under 1 kB) served with long-lived caching, so a new scan can take up to a day to show through.