Carbon report
www.producthunt.com
Scanned · all pages on www.producthunt.com
Redirected here by the site from producthunt.com
0.138 g
cleaner than an estimated 81.1% 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.178 g CO₂e
- 0.018 g CO₂e
- verified green
- 340 ms
- n/a
- 41 ms
At 10,000 views a month this page emits about 16.5 kg CO₂e a year, roughly 68 km in an average petrol car. The estimate assumes 75% new and 25% returning visitors, a measured cache reload ratio of 10%, and world-average grid intensity. How we calculate this
What to fix
apply everything → ~0.059 g/visit, rating A
Reduce JavaScript payloadsave ~0.031 g/visit (328 kB)High impact · moderate effort
54 scripts total 1.31 MB on the wire (4.32 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.
- js175 kB
- 987696277471153119 kB
- fbevents.js110 kB
- client99 kB
- 25-3lwdyk7cc6.js65 kB
Audit third-party servicessave ~0.029 g/visit (306 kB)High impact · moderate effort
14 third-party domains account for 612 kB (42% 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.
- connect.facebook.net229 kB
- www.googletagmanager.com175 kB
- accounts.google.com100 kB
- snap.licdn.com40 kB
- ph-files.imgix.net37 kB
- static.ads-twitter.com14 kB
Fix caching for returning visitorssave ~0.0034 g/visit (28 kB)Medium impact · quick fix
On a repeat visit 111 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.
- v1Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0 · 80 kB
- api.jsCache-Control: max-age=31536000, stale-if-error=10800, stale-while-revalidate=31536000, public · 27 kB
- favicon.icoCache-Control: public, max-age=86400 · 5.0 kB
Upgrade compression beyond gzipsave ~0.016 g/visit (172 kB)Advisory · quick fix
1.15 MB 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.
- 987696277471153119 kB
- fbevents.js110 kB
- client99 kB
- 25-3lwdyk7cc6.js65 kB
- 045eokxglkhiq.js54 kB
Remove references to broken resourcessave ~0.0019 g/visit (21 kB)Advisory · quick fix
4 requests answered 4xx/5xx on load: transfer and connections spent on nothing, on every single visit.
Delete or fix the references (stale asset URLs, dead third-party tags). Each one is a request the page provably does not need.
- graphqlHTTP 403 · 5.3 kB
- graphqlHTTP 403 · 5.3 kB
- resetHTTP 403 · 4.8 kB
- graphqlHTTP 403 · 5.2 kB
Remove the entry redirectAdvisory · quick fix
The address that was scanned goes through 1 redirect before the document is served, ending at https://www.producthunt.com/. 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://producthunt.com/redirects to https://www.producthunt.com/
Where the bytes are
- JavaScript1.31 MB · 54 req
- CSS50 kB · 6 req
- Images42 kB · 34 req
- HTML35 kB · 1 req
- Data (fetch)24 kB · 9 req
- Data (XHR)2.8 kB · 3 req
- Other561 B · 1 req
Ten heaviest requests
| Resource | Type | Wire size | Cache-Control |
|---|---|---|---|
| www.googletagmanager.com/gtag/js?id=G-WZ46833KH9 | script | 175 kB | private, max-age=900 |
| connect.facebook.net/signals/config/987696277471153?v=2.9.373&r=stable&domain=www.producthunt.com&hme=6d1ed5deee7eafc01c53d9e9fc3c4e10db50c3d28237bc4932686777e5c3969a&ex_m=111%2C215%2C163%2C23%2C76%2C77%2C154%2C72%2C71%2C11%2C172%2C96%2C17%2C146%2C134%2C41%2C79%2C84%2C142%2C168%2C174%2C27%2C15%2C28%2C29%2C30%2C32%2C50%2C155%2C81%2C119%2C19%2C21%2C46%2C42%2C44%2C43%2C89%2C98%2C102%2C117%2C153%2C156%2C48%2C118%2C25%2C22%2C126%2C73%2C38%2C158%2C157%2C159%2C150%2C148%2C26%2C37%2C61%2C116%2C170%2C74%2C18%2C161%2C121%2C87%2C70%2C20%2C91%2C92%2C123%2C90%2C144%2C143%2C147%2C103%2C169%2C36%2C51%2C120%2C49%2C8%2C4%2C5%2C7%2C6%2C3%2C97%2C108%2C175%2C182%2C229%2C78%2C242%2C241%2C240%2C24%2C35%2C57%2C110%2C63%2C10%2C67%2C104%2C105%2C106%2C112%2C137%2C33%2C31%2C139%2C140%2C141%2C136%2C135%2C164%2C80%2C167%2C165%2C166%2C52%2C62%2C130%2C16%2C171%2C47%2C286%2C287%2C285%2C300%2C318%2C222%2C211%2C64%2C212%2C210%2C321%2C312%2C54%2C223%2C114%2C138%2C86%2C128%2C56%2C127%2C133%2C132%2C60%2C68%2C66%2C160%2C82%2C83%2C122%2C39%2C34%2C55%2C58%2C107%2C173%2C1%2C131%2C14%2C129%2C12%2C2%2C59%2C99%2C69%2C65%2C125%2C95%2C94%2C176%2C177%2C100%2C101%2C9%2C109%2C53%2C151%2C93%2C85%2C75%2C124%2C113%2C45%2C152%2C0%2C88%2C145%2C149%2C162%2C40%2C115%2C13%2C178 | script | 119 kB | public, max-age=1200 |
| connect.facebook.net/en_US/fbevents.js | script | 110 kB | public, max-age=1200 |
| accounts.google.com/gsi/client | script | 99 kB | private, max-age=1800 |
| www.producthunt.com/_next/static/chunks/25-3lwdyk7cc6.js | script | 65 kB | public, max-age=31536000, immutable |
| www.producthunt.com/_next/static/chunks/045eokxglkhiq.js | script | 54 kB | public, max-age=31536000, immutable |
| www.producthunt.com/_next/static/chunks/1xem70vqsejxu.js | script | 42 kB | public, max-age=31536000, immutable |
| www.producthunt.com/_next/static/chunks/2c1l746qhea4v.js | script | 39 kB | public, max-age=31536000, immutable |
| www.producthunt.com/_next/static/chunks/0_l87l0abf7t9.js | script | 38 kB | public, max-age=31536000, immutable |
| www.producthunt.com/_next/static/chunks/0yit7o0z_8k_4.js | script | 38 kB | public, max-age=31536000, immutable |
Share this report
<a href="https://carbonless.cc/report/www.producthunt.com"><img src="https://carbonless.cc/api/badge?url=https%3A%2F%2Fwww.producthunt.com" 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.