Skip to content
https://share.riseup.net

Performance

· 22 checks — Lighthouse + waterfall + sustainability rolled into one auditable list.
SCORE
95
GRADE
A
FIX
1
REVIEW
5
PASS
13
INFO
3

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

100
Performance Overall performance score (0–100) based on Core Web Vitals and other metrics. 90+ is good.
67
Accessibility Measures how accessible the page is for users with disabilities. Checks color contrast, ARIA labels, and semantic HTML.
96
Best Practices Checks for modern web development best practices including HTTPS, no console errors, and secure JavaScript.
90
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.

283 ms

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

283 ms

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

0 ms

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

0.001

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

742 ms

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

283 ms

Page Load Progression

375 ms
750 ms
1.1 s
1.5 s
1.9 s
2.2 s
2.6 s
3.0 s
Checks
22
13 PASS 5 REVIEW 1 FIX
F
HTTP Caching
Action
No cache headers
FIX
No cache headers
Warning::
No Cache-Control header found
Browsers will use heuristic caching, which can be unpredictable. Set explicit cache headers.
Info::
Last-Modified header present

No Cache-Control header

Adding a Cache-Control header can significantly improve repeat-visit performance.

B
HTTP/3 (QUIC)
HTTP/3 not advertised
REVIEW
HTTP/3 not advertised
Info::
HTTP/3 (QUIC) is not advertised
HTTP/3 isn't advertised via Alt-Svc and the worker didn't negotiate h3. HTTP/3 reduces handshake latency (1-RTT instead of 2-3 RTTs) and is more resilient on lossy connections. Most modern CDNs (Cloudflare, Fastly, AWS CloudFront, Google Cloud CDN) support HTTP/3 with a single config switch -- consider enabling for mobile-heavy workloads.
B
Document Compression
Document response uses gzip; brotli would be ~20% smaller
REVIEW
Document response uses gzip; brotli would be ~20% smaller
Info::
Main HTML response uses gzip (brotli would be ~20% smaller)
All current browsers support brotli. Most CDNs (Cloudflare, Fastly, AWS CloudFront, Vercel, Netlify) can switch from gzip to brotli with a single config flag. Origin servers (nginx, Apache) need a brotli module compiled in -- nginx-brotli or Apache mod_brotli.
B
Main HTML Cache-Control
No Cache-Control header on main HTML response
REVIEW
No Cache-Control header on main HTML response
Info::
Main HTML response has no Cache-Control header
Without an explicit Cache-Control, browsers fall back to heuristic caching (~10% of Last-Modified age). Set `Cache-Control: no-cache` or `max-age=300` for HTML to control freshness explicitly -- prevents stale auth state and SPA shell drift.
B
Server-Timing Observability
No Server-Timing header found
REVIEW
No Server-Timing header found
Info::
No Server-Timing header found
Server-Timing exposes backend timing breakdowns to browser DevTools (e.g., `db: 45ms; render: 120ms; cache: 2ms`). Useful for diagnosing slow pages without backend log access. Most modern frameworks (Next.js, Cloudflare Workers, Fastly) emit it automatically; absence on a managed platform usually means telemetry headers are stripped at the edge.
C
Green Hosting
Action
Whether the site is served from green-energy infrastructure
REVIEW

Green Hosting

No green hosting detected

A+
Page Weight Budget
148 KB transferred, 21 requests
PASS
148 KB transferred, 21 requests
Info::
Page weighs 146 KB (148 KB transferred)
Info::
21 HTTP requests
Info::
Estimated 0.03 g CO2 per page load
148 KB / 2.4 MB budget
148 KB transferred
21 requests
0.03 g CO2 per page load
JavaScript 96.7 KiB 66%
Other 19.9 KiB 14%
Images 18.4 KiB 12%
CSS 11.6 KiB 8%
HTML 1.0 KiB 1%
0 2.4 MB 4.9 MB
Under budget
A+
Third-Party Impact
No third-party resources
PASS
No third-party resources
Info::
No third-party resources detected
No third-party resources detected — all resources are first-party.
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
1 images, 0 KB saveable
PASS
1 images, 0 KB saveable
Info::
All images are well-optimized
1 images 18 KB
0 oversized -0 KB
1 legacy format
0 missing dimensions CLS risk
A+
JS Execution Cost
No JS execution data
PASS
No JS execution data
Info::
No significant JS execution detected

Main Thread Breakdown

Other 49% Script Evaluation 30% Style & Layout 13% Script Parsing & Compilation 4%
A+
Font Loading
No web fonts (system fonts)
PASS
No web fonts (system fonts)
Info::
No web fonts loaded — system fonts are fastest
No web fonts loaded — system fonts are optimal.
A+
JS Bundles
13 scripts, 0 KB unused
PASS
13 scripts, 0 KB unused
0 KB unused JavaScript

Downloaded but never executed on this page.

ScriptSizeUnusedMinifiedParty
https://share.riseup.net/js/main.js4 KB—✓1st
https://share.riseup.net/deps/highlight.min.js35 KB—✓1st
https://share.riseup.net/config.js1 KB—✓1st
https://share.riseup.net/js/shims.js1 KB—✓1st
https://share.riseup.net/deps/zepto.min.js27 KB—✓1st
https://share.riseup.net/js/home.js7 KB—✓1st
https://share.riseup.net/js/download.js9 KB—✗1st
https://share.riseup.net/js/textpaste.js3 KB—✓1st
https://share.riseup.net/js/loadencryption.js3 KB—✓1st
https://share.riseup.net/js/updown.js3 KB—✓1st
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+
LCP Image Preload
LCP preload audit not available
PASS
LCP preload audit not available
Info::
LCP image preload audit not available for this scan
A
Server Response Intelligence
2 server-response signal(s) detected
PASS
2 server-response signal(s) detected
Warning::
Compressed response missing `Vary` header
The page is served with `Content-Encoding: gzip` but has no `Vary` header. Without `Vary: Accept-Encoding`, intermediary caches (corporate proxies, ISP caches) may serve the compressed variant to clients that didn't send the matching `Accept-Encoding` -- the client sees garbled bytes. Add `Vary: Accept-Encoding` whenever the response is conditionally compressed.
Info::
`Last-Modified` present -- timestamp-based conditional GET supported
Consider also setting `ETag` for stronger revalidation -- ETags are content hashes that don't suffer from clock-skew or DST issues. Last-Modified alone is functional for conditional GETs and not a bug.
A+
Page Weight Inventory
21 resources · 148 KB · 0 KB savings available
PASS
21 resources · 148 KB · 0 KB savings available
Info::
Within 1MB page-weight target
Got: 148 KB
21 resources · 147.5 KiB · 0 third-party Within 1MB page-weight target
JavaScript 78% · 115.4 KiB
Image 12% · 18.4 KiB
CSS 8% · 11.6 KiB
Document 1% · 2.2 KiB
Asset Compression
No text asset hosts to measure
INFO
No text asset hosts to measure
Info::
No third-party or subdomain host served enough text assets to measure
Asset compression is measured per host, from one HEAD request against a sampled resource. Pages that serve all their JS and CSS from the document's own origin are covered by the document compression check instead.
Network Waterfall
21 requests over 2246ms
INFO
0 ms 500 ms 1.0 s 1.5 s 2.0 s FCP 283 ms LCP 283 mshttps://share.riseup.net// https://share.riseup.net/ — 200 — 1.0 KiB — 470 ms — h2https://share.riseup.net/css/highlight.css/css/highlight.css https://share.riseup.net/css/highlight.css — 200 — 9.0 KiB — 158 ms — h2https://share.riseup.net/js/main.js/js/main.js https://share.riseup.net/js/main.js — 200 — 4.1 KiB — 312 ms — h2https://share.riseup.net/deps/hybrid.min.css/deps/hybrid.min.css https://share.riseup.net/deps/hybrid.min.css — 200 — 2.5 KiB — 311 ms — h2https://share.riseup.net/deps/highlight.min.js/deps/highlight.min.js https://share.riseup.net/deps/highlight.min.js — 200 — 35.4 KiB — 465 ms — h2https://share.riseup.net/config.js/config.js https://share.riseup.net/config.js — 200 — 1.2 KiB — 157 ms — h2https://share.riseup.net/js/shims.js/js/shims.js https://share.riseup.net/js/shims.js — 200 — 1.3 KiB — 157 ms — h2https://share.riseup.net/deps/zepto.min.js/deps/zepto.min.js https://share.riseup.net/deps/zepto.min.js — 200 — 27.1 KiB — 156 ms — h2https://share.riseup.net/images/bg.svg/images/bg.svg https://share.riseup.net/images/bg.svg — 200 — 18.4 KiB — 157 ms — h2https://share.riseup.net/js/home.js/js/home.js https://share.riseup.net/js/home.js — 200 — 7.3 KiB — 156 ms — h2https://share.riseup.net/js/download.js/js/download.js https://share.riseup.net/js/download.js — 200 — 8.7 KiB — 157 ms — h2https://share.riseup.net/js/textpaste.js/js/textpaste.js https://share.riseup.net/js/textpaste.js — 200 — 2.5 KiB — 158 ms — h2https://share.riseup.net/js/loadencryption.js/js/loadencryption.js https://share.riseup.net/js/loadencryption.js — 200 — 2.6 KiB — 160 ms — h2https://share.riseup.net/js/updown.js/js/updown.js https://share.riseup.net/js/updown.js — 200 — 3.0 KiB — 159 ms — h2https://share.riseup.net/js/dragresize.js/js/dragresize.js https://share.riseup.net/js/dragresize.js — 200 — 2.9 KiB — 156 ms — h2https://share.riseup.net/js/encryption.js/js/encryption.js https://share.riseup.net/js/encryption.js — 200 — 388 B — 342 ms — h2https://share.riseup.net/static/favicon/32px.png/static/favicon/32px.png https://share.riseup.net/static/favicon/32px.png — 404 — 296 B — 156 ms — h2https://share.riseup.net/deps/sjcl.min.js/deps/sjcl.min.js https://share.riseup.net/deps/sjcl.min.js — 200 — 18.8 KiB — 157 ms — h2https://share.riseup.net/static/favicon/16px.png/static/favicon/16px.png https://share.riseup.net/static/favicon/16px.png — 404 — 296 B — 156 ms — h2https://share.riseup.net/static/favicon/64px.png/static/favicon/64px.png https://share.riseup.net/static/favicon/64px.png — 404 — 296 B — 156 ms — h2https://share.riseup.net/static/favicon/128px.png/static/favicon/128px.png https://share.riseup.net/static/favicon/128px.png — 404 — 296 B — 157 ms — h2
HTML JavaScript CSS Images Fonts XHR/Fetch Other
Real-User Performance (CrUX)
Field metrics from the Chrome User Experience Report
INFO

Chrome User Experience (CrUX)

Real-user metrics from the Chrome UX Report (2026-09-28 — 2026-10-25)

LCP (p75)

2532 ms

74% good

INP (p75)

0 ms

0% good

CLS (p75)

0.000

99% good

FCP (p75)

1534 ms

TTFB (p75)

910 ms

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

Send Feedback