Performance
· 17 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.
5.61 s
Largest Contentful Paint Largest Contentful Paint — how long until the largest visible element loads. Under 2.5s is good.
35.37 s
Total Blocking Time Total Blocking Time — total time the main thread was blocked, preventing user input. Under 200ms is good.
2.24 s
Cumulative Layout Shift Cumulative Layout Shift — measures visual stability. How much the page layout shifts during loading. Under 0.1 is good.
0.228
Speed Index Speed Index — how quickly content is visually displayed during load. Under 3.4s is good.
17.76 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.
42.83 s
Page Load Progression
FPage Weight BudgetAction20.1 MB transferred, 176 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
Subset fonts to include only used characters, or switch to system font stacks.
Font payload is large — subset to used glyphs only, or fall back to system fonts (zero load time).
Source: web.dev font loading
Remove unused CSS rules with tools like PurgeCSS to reduce stylesheet size.
CSS bundle is large — purge unused styles (PurgeCSS, Tailwind JIT) to reduce CSS payload.
Source: web.dev
Each request adds latency. Bundle small files, use sprites, or eliminate unnecessary requests.
High HTTP request count — bundling, sprite-ing, and HTTP/2 server push can reduce per-request overhead.
Source: web.dev
FJS Execution CostAction8677ms total JS executionFIX
Main Thread Breakdown
| Script | Total | Scripting | Parse/Compile | Party |
|---|---|---|---|---|
| https://peraichi.com/ | 2143ms | 32ms | 7ms | 1st |
| Unattributable | 1154ms | 132ms | 0ms | 3rd |
| https://www.googletagmanager.com/gtm.js?id=GTM-WR9XQH | 827ms | 693ms | 63ms | 3rd |
| https://scripts.clarity.ms/0.8.59/clarity.js | 474ms | 205ms | 7ms | 3rd |
| https://peraichi.com/js/front_all.js?1776753345 | 460ms | 360ms | 8ms | 1st |
| https://script.hotjar.com/modules.6a0f3932cb1341a35c18.js | 460ms | 410ms | 21ms | 3rd |
| https://www.googletagmanager.com/gtag/js?id=UA-58464770-2 | 320ms | 277ms | 26ms | 3rd |
| https://www.googletagmanager.com/gtag/js?id=G-VS0Y19WXJC&cx=c>m=4e64k0h1 | 286ms | 240ms | 42ms | 3rd |
| https://www.googletagmanager.com/gtm.js?id=GTM-NGS6QVQ3>m=4e64k0h1 | 258ms | 192ms | 63ms | 3rd |
| https://www.googletagmanager.com/gtag/js?id=G-FT0P1X38TQ&cx=c>m=4e64k0 | 241ms | 193ms | 46ms | 3rd |
Showing top 10 of 24 scripts
FJS BundlesAction46 scripts, 890 KB unusedFIX
Downloaded but never executed on this page.
| Script | Size | Unused | Minified | Party |
|---|---|---|---|---|
| https://www.googletagmanager.com/gtag/js?id=AW-17668541560 | 144 KB | 106 KB (73%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=G-VS0Y19WXJC&cx=c>m=4e64k0h1 | 173 KB | 70 KB (40%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/destination?id=AW-941828060&cx=c>m=4e64k0h1 | 144 KB | 69 KB (48%) | ✓ | 3rd |
| https://www.google-analytics.com/gtm/js?id=OPT-TQQS8DB&t=gtag_UA_58464770_2&cid=399490135.1776893226 | 112 KB | 68 KB (61%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtm.js?id=GTM-NGS6QVQ3>m=4e64k0h1 | 148 KB | 67 KB (45%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtm.js?id=GTM-MWJNCFXF | 119 KB | 66 KB (56%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=G-FT0P1X38TQ&cx=c>m=4e64k0 | 173 KB | 66 KB (38%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=G-250757919&cx=c>m=4e64k0h1 | 137 KB | 65 KB (47%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=UA-58464770-2 | 117 KB | 62 KB (53%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/destination?id=AW-17668541560&cx=c>m=4e64k0h1 | 144 KB | 61 KB (43%) | ✓ | 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
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
DPage Weight InventoryAction176 resources · 20.1 MB · 890 KB savings availableFIX
~889.6 KiB of savings available
| # | Resource | Type | Size | Cache | Unused | 3rd party | Issues |
|---|---|---|---|---|---|---|---|
| — | — | ||||||
| 176 resources | 20.1 MiB | ||||||
FHTTP CachingActionNo cache headersFIX
No Cache-Control header
Adding a Cache-Control header can significantly improve repeat-visit performance.
CImage OptimizationAction85 images, 0 KB saveableREVIEW
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
Set explicit width and height to prevent CLS.
Image without explicit width/height — browser can't reserve space; CLS jumps when image loads.
Source: web.dev / Core Web Vitals
CGreen HostingActionWhether the site is served from green-energy infrastructureREVIEW
Green Hosting
No green hosting detected
A+Third-Party Impact13% third-party, 0 ms blockingPASS
A+Text CompressionAll text resources are compressedPASS
A+Font Loading9 fonts (266 KB)PASS
Web fonts
9
266 KB total
Render-blocking
0
of 9
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
Network Waterfall176 requests over 10311msINFO
Third-Party Script CostPer-script blocking time, transfer cost, and cache headersINFO
| Script | Category | Execution | Transfer | Unused | Monthly Cost | Verdict |
|---|---|---|---|---|---|---|
Unattributable Unattributable | Other | 1154ms | 0 KB | — | ¥2974/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 827ms | 177 KB | 34% | ¥2132/mo | Costly |
Microsoft Clarity scripts.clarity.ms | Session Replay | 474ms | 26 KB | — | ¥1223/mo | Costly |
Hotjar script.hotjar.com | Session Replay | 460ms | 57 KB | 46% | ¥1186/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 320ms | 117 KB | 53% | ¥825/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 286ms | 173 KB | 40% | ¥737/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 258ms | 148 KB | 45% | ¥664/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 241ms | 173 KB | 38% | ¥622/mo | Costly |
Facebook Pixel connect.facebook.net | Advertising | 227ms | 97 KB | 27% | ¥585/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 222ms | 137 KB | 47% | ¥572/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 201ms | 144 KB | 48% | ¥517/mo | Costly |
Twitter/X Embed platform.twitter.com | Social | 187ms | 27 KB | — | ¥481/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 179ms | 144 KB | 43% | ¥462/mo | Costly |
Facebook Pixel connect.facebook.net | Advertising | 171ms | 16 KB | — | ¥441/mo | Costly |
Facebook Pixel connect.facebook.net | Advertising | 162ms | 97 KB | 33% | ¥417/mo | Costly |
Facebook Pixel connect.facebook.net | Advertising | 158ms | 78 KB | 60% | ¥408/mo | Costly |
Google Analytics www.google-analytics.com | Analytics | 129ms | 112 KB | 61% | ¥333/mo | Costly |
Facebook Pixel connect.facebook.net | Advertising | 128ms | 47 KB | — | ¥330/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 94ms | 119 KB | 56% | ¥241/mo | Costly |
Facebook Pixel connect.facebook.net | Advertising | 74ms | 17 KB | — | ¥192/mo | Costly |
Mixpanel cdn.mxpnl.com | Analytics | 66ms | 32 KB | — | ¥171/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 56ms | 144 KB | 73% | ¥146/mo | Costly |
These scripts may cost more than they're worth
- Unattributable adds 1154ms and costs ~¥2974/month
- Google Tag Manager adds 827ms and costs ~¥2132/month
- Microsoft Clarity adds 474ms and costs ~¥1223/month
- Hotjar adds 460ms and costs ~¥1186/month
- Google Tag Manager adds 320ms and costs ~¥825/month
- Google Tag Manager adds 286ms and costs ~¥737/month
- Google Tag Manager adds 258ms and costs ~¥664/month
- Google Tag Manager adds 241ms and costs ~¥622/month
- Facebook Pixel adds 227ms and costs ~¥585/month
- Google Tag Manager adds 222ms and costs ~¥572/month
- Google Tag Manager adds 201ms and costs ~¥517/month
- Twitter/X Embed adds 187ms and costs ~¥481/month
- Google Tag Manager adds 179ms and costs ~¥462/month
- Facebook Pixel adds 171ms and costs ~¥441/month
- Facebook Pixel adds 162ms and costs ~¥417/month
- Facebook Pixel adds 158ms and costs ~¥408/month
- Google Analytics adds 129ms and costs ~¥333/month
- Facebook Pixel adds 128ms and costs ~¥330/month
- Google Tag Manager adds 94ms and costs ~¥241/month
- Facebook Pixel adds 74ms and costs ~¥192/month
- Mixpanel adds 66ms and costs ~¥171/month
- Google Tag Manager adds 56ms and costs ~¥146/month
70% of JavaScript execution time is spent on third-party scripts. Consider auditing which scripts are essential.
When third-party JS execution time exceeds your own, performance gains from frontend work are capped by code you don't own.
Learn more ▾ ▴
Every millisecond of third-party JS competes with your own for main-thread time. If their share is bigger than yours, optimization on your code base barely moves the needle. Audit, defer, or remove third-parties before further frontend optimization. Use Lighthouse's third-party audit to identify the worst offenders.
Source: web.dev
Unattributable takes 1154ms 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 827ms 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
Microsoft Clarity takes 474ms 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
Hotjar takes 460ms 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 320ms 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
53% of Google Tag Manager's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
Google Tag Manager takes 286ms 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 258ms 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 241ms 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
Facebook Pixel takes 227ms 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 222ms 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 201ms 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
Twitter/X Embed takes 187ms 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 179ms 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
Facebook Pixel takes 171ms 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
Facebook Pixel takes 162ms 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
Facebook Pixel takes 158ms 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
60% of Facebook Pixel's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
Google Analytics takes 129ms 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
61% of Google Analytics's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
Facebook Pixel takes 128ms 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 94ms 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
56% of Google Tag Manager's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev
Facebook Pixel takes 74ms 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
Mixpanel takes 66ms 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 56ms 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
73% of Google Tag Manager's code is unused. The script may be loading features you don't use.
Bundle has high unused-code ratio — tree-shaking and route-splitting recover the wasted bytes.
Source: web.dev