Performance
· 16 checks — Lighthouse + waterfall + sustainability rolled into one auditable list.Performance-focused optimization plan with CWV assessment, top offenders, and time estimates
First Contentful Paint First Contentful Paint — how long until the browser renders the first piece of content. Under 1.8s is good.
10.68 s
Largest Contentful Paint Largest Contentful Paint — how long until the largest visible element loads. Under 2.5s is good.
38.66 s
Total Blocking Time Total Blocking Time — total time the main thread was blocked, preventing user input. Under 200ms is good.
120.30 s
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.
23.31 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.
201.73 s
Page Load Progression
FPage Weight BudgetAction14.7 MB transferred, 51 requestsFIX
Convert images to WebP/AVIF and resize to display dimensions to reduce transfer size.
Image bandwidth is high — modern formats (WebP/AVIF) and resizing typically cut it 50%+.
Source: web.dev
Large JavaScript bundles delay interactivity. Split code by route or defer non-critical scripts.
JavaScript bundle is large — code-split routes and lazy-load off-screen components to defer.
Source: web.dev
FJS Execution CostAction175292ms total JS executionFIX
Main Thread Breakdown
| Script | Total | Scripting | Parse/Compile | Party |
|---|---|---|---|---|
| https://www.midjourney.com/public/out/clientSideEntry-fawaqcm4.js | 170167ms | 31921ms | 23ms | 1st |
| Unattributable | 2557ms | 154ms | 0ms | 3rd |
| https://www.midjourney.com/ | 973ms | 46ms | 2ms | 1st |
| https://www.midjourney.com/__/auth/iframe.js | 606ms | 547ms | 37ms | 1st |
| https://www.googletagmanager.com/gtag/js?id=AW-16508112792 | 522ms | 409ms | 58ms | 3rd |
| https://www.midjourney.com/cdn-cgi/challenge-platform/scripts/jsd/main.js | 349ms | 277ms | 3ms | 1st |
| https://apis.google.com/_/scs/abc-static/_/js/k=gapi.lb.en.PJsh2cctCQI.O/m=gapi_iframes/rt=j/sv=1/d=1/ed=1/rs=AHpOoo_QlMhY2cycn60Rs8eI1WInRwuahw/cb=gapi.loaded_0?le=scs | 118ms | 100ms | 14ms | 3rd |
FJS BundlesAction9 scripts, 971 KB unusedFIX
Downloaded but never executed on this page.
| Script | Size | Unused | Minified | Party |
|---|---|---|---|---|
| https://www.midjourney.com/public/out/clientSideEntry-fawaqcm4.js | 1263 KB | 867 KB (69%) | ✓ | 1st |
| https://www.midjourney.com/__/auth/iframe.js | 90 KB | 55 KB (61%) | ✓ | 1st |
| https://www.googletagmanager.com/gtag/js?id=AW-16508112792 | 146 KB | 50 KB (34%) | ✓ | 3rd |
| https://www.midjourney.com/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js | 1 KB | — | ✓ | 1st |
| https://challenges.cloudflare.com/turnstile/v0/b/625261456364/api.js | 17 KB | — | ✓ | 3rd |
| https://www.midjourney.com/cdn-cgi/challenge-platform/h/b/scripts/jsd/625261456364/main.js? | 12 KB | — | ✓ | 1st |
| https://apis.google.com/js/api.js?onload=__iframefcb468788 | 6 KB | — | ✓ | 3rd |
| https://apis.google.com/_/scs/abc-static/_/js/k=gapi.lb.en.PJsh2cctCQI.O/m=gapi_iframes/rt=j/sv=1/d=1/ed=1/rs=AHpOoo_QlMhY2cycn60Rs8eI1WInRwuahw/cb=gapi.loaded_0?le=scs | 34 KB | — | ✓ | 3rd |
| https://googleads.g.doubleclick.net/pagead/viewthroughconversion/16508112792/?random=1775594116446&cv=11&fst=1775594116446&bg=ffffff&guid=ON&async=1&en=gtag.config>m=45be6460v9180911394za200zd9180911394xec&gcd=13n3n3n3n5l1&dma=0&tag_exp=0~115938465~115938468~116991817&frm=0&hn=www.googleadservices.com&npa=0&pscdl=noapi&auid=676106600.1775594116&uaa=&uab=64&uafvl=Not-A.Brand%3B24.0.0.0%7CChromium%3B146.0.7680.164&uamb=1&uam=moto%20g%20power%20(2022)&uap=Android&uapv=11.0&uaw=0&data=event%3Dgtag.config&rfmt=3&fmt=4 | 2 KB | — | ✓ | 3rd |
Consider code splitting or tree shaking to reduce unused code.
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.
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.
This bundle has high unused code — code-split or tree-shake to ship only what executes.
Source: web.dev / Lighthouse coverage
FHTTP CachingActionNo cache headersFIX
No Cache-Control header
Adding a Cache-Control header can significantly improve repeat-visit performance.
BImage Optimization16 images, 0 KB saveableREVIEW
A+Third-Party Impact4% third-party, 0 ms blockingPASS
A+Text CompressionAll text resources are compressedPASS
A+Font Loading2 fonts (82 KB)PASS
Web fonts
2
82 KB total
Render-blocking
0
of 2
Dominant font-display
swap
Most common across fonts
Font loading timeline
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 CachingAll resources properly cachedPASS
A+Critical Rendering PathNo render-blocking resourcesPASS
A+Resource HintsNo optimization neededPASS
A+Render-Blocking ResourcesNo render-blocking resources detectedPASS
A+Third-Party ResourcesNo third-party resources detectedPASS
A+Green HostingWhether the site is served from green-energy infrastructurePASS
Green Hosting
This site is hosted on green energy infrastructure
Provider: Cloudflare
Network Waterfall51 requests over 0msINFO
Performance analysis not available for this result.
Third-Party Script CostPer-script blocking time, transfer cost, and cache headersINFO
| Script | Category | Execution | Transfer | Unused | Monthly Cost | Verdict |
|---|---|---|---|---|---|---|
Unattributable Unattributable | Other | 2557ms | 0 KB | — | $34/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 522ms | 146 KB | 34% | $7/mo | Costly |
apis.google.com apis.google.com | Other | 118ms | 34 KB | — | $2/mo | Optional |
These scripts may cost more than they're worth
- Unattributable adds 2557ms and costs ~$34/month
- Google Tag Manager adds 522ms and costs ~$7/month
Unattributable takes 2557ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev
Google Tag Manager takes 522ms of CPU time. Consider loading it asynchronously or replacing it with a lighter alternative.
This script has high main-thread execution time — optimize hot paths or defer.
Source: web.dev