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.
3.89 s
Largest Contentful Paint Largest Contentful Paint — how long until the largest visible element loads. Under 2.5s is good.
10.39 s
Total Blocking Time Total Blocking Time — total time the main thread was blocked, preventing user input. Under 200ms is good.
454 ms
Cumulative Layout Shift Cumulative Layout Shift — measures visual stability. How much the page layout shifts during loading. Under 0.1 is good.
0.105
Speed Index Speed Index — how quickly content is visually displayed during load. Under 3.4s is good.
4.03 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.
18.33 s
Page Load Progression
FPage Weight BudgetAction2.7 MB transferred, 223 requestsFIX
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
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
DThird-Party ImpactAction100% third-party, 0 ms blockingFIX
FJS Execution CostAction16357ms total JS executionFIX
Main Thread Breakdown
| Script | Total | Scripting | Parse/Compile | Party |
|---|---|---|---|---|
| https://www.bamboohr.com/ | 12217ms | 44ms | 1ms | 3rd |
| Unattributable | 1394ms | 217ms | 0ms | 3rd |
| https://spoon.thebrightforks.com/i/47dc90ad568b2c4fffe90ca4469d6479.js | 627ms | 481ms | 10ms | 3rd |
| https://www.bamboohr.com/metrics/ | 458ms | 255ms | 198ms | 3rd |
| https://knive.thebrightforks.com/ct?id=27244&url=https%3A%2F%2Fwww.bamboohr.com%2F&sf=0&tpi=&ch=cheq4ppc&uvid=&tsf=0&tsfmi=&tsfu=&cb=1776819524599&hl=2&op=0&ag=3406443785&rand=14026828021877151650851172095860211229675082581680185050820228985601775079135608919077218875&fs=412x823&fst=412x823&np=linux%20x86_64&nv=google%20inc.&ref=&ss=412x823&nc=0&at=&di=W1siZWYiLDcwNjBdLFsiYWJuY2giLDE4XSxbLTMsIltcImludGVybmFsLXBkZi12aWV3ZXJcIixcImludGVybmFsLXBkZi12aWV3ZXJcIixcImludGVybmFsLXBkZi12aWV3ZXJcIixcImludGVybmFsLXBkZi12aWV3ZXJcIixcImludGVybmFsLXBkZi12aWV3ZXJcIl0iXSxbLTcsIi0iXSxbLTgsIjAiXSxbLTE4LCJbMCwwLDAsMV0iXSxbLTM3LCItMTA5LTY2LTcwLSJdLFstNDUsIjYyMCwwLDAsMCwwLDAsMCwwLDY0OCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAiXSxbLTUxLCItIl0sWy02MCwyMDddLFstNjYsImdlb2xvY2F0aW9uLGNodWFmdWxsdmVyc2lvbmxpc3QsY3Jvc3NvcmlnaW5pc29sYXRlZCxzY3JlZW53YWtlbG9jayxvbmRldmljZXNwZWVjaHJlY29nbml0aW9uLHRyYW5zbGF0b3IscHVibGlja2V5Y3JlZGVudGlhbHNnZXQsc2hhcmVkc3RvcmFnZXNlbGVjdHVybCxjaHVhYXJjaCxjb21wdXRlcHJlc3N1cmUsY2hwcmVmZXJzcmVkdWNlZHRyYW5zcGFyZW5jeSxkZWZlcnJlZGZldGNoLHVzYixjaHNhdmVkYXRhLHB1YmxpY2tleWNyZWRlbnRpYWxzY3JlYXRlLHNoYXJlZHN0b3JhZ2UsZGVmZXJyZWRmZXRjaG1pbmltYWwscnVuYWRhdWN0aW9uLGNoZG93bmxpbmssY2h1YWZvcm1mYWN0b3JzLG90cGNyZWRlbnRpYWxzLHBheW1lbnQsY2h1YSxjaHVhbW9kZWwsY2hlY3QsYXV0b3BsYXksY2FtZXJhLGxhbmd1YWdlZGV0ZWN0b3IscHJpdmF0ZXN0YXRldG9rZW5pc3N1YW5jZSxkaWdpdGFsY3JlZGVudGlhbHNnZXQsYWNjZWxlcm9tZXRlcixjaHVhcGxhdGZvcm12ZXJzaW9uLGlkbGVkZXRlY3Rpb24scHJpdmF0ZWFnZ3JlZ2F0aW9uLGludGVyZXN0Y29ob3J0LGNodmlld3BvcnRoZWlnaHQsY2FwdHVyZWRzdXJmYWNlY29udHJvbCxsb2NhbGZvbnRzLGNodWFwbGF0Zm9ybSxtaWRpLGNodWFmdWxsdmVyc2lvbix4cnNwYXRpYWx0cmFja2luZyxjbGlwYm9hcmRyZWFkLGdhbWVwYWQsZGlzcGxheWNhcHR1cmUsa2V5Ym9hcmRtYXAsam9pbmFkaW50ZXJlc3Rncm91cCxhcmlhbm90aWZ5LGxvY2FsbmV0d29yayxjaHVhaGlnaGVudHJvcHl2YWx1ZXMsY2h3aWR0aCxjaHByZWZlcnNyZWR1Y2VkbW90aW9uLGJyb3dzaW5ndG9waWNzLGVuY3J5cHRlZG1lZGlhLGxvY2FsbmV0d29ya2FjY2VzcyxneXJvc2NvcGUsc2VyaWFsLGNocnR0LGNodWFtb2JpbGUsd2luZG93bWFuYWdlbWVudCx1bmxvYWQsY2hkcHIsY2hwcmVmZXJzY29sb3JzY2hlbWUsY2h1YXdvdzY0LGF0dHJpYnV0aW9ucmVwb3J0aW5nLGZ1bGxzY3JlZW4saWRlbnRpdHljcmVkZW50aWFsc2dldCxwcml2YXRlc3RhdGV0b2tlbnJlZGVtcHRpb24saGlkLHN1bW1hcml6ZXIsY2h1YWJpdG5lc3Msc3RvcmFnZWFjY2VzcyxzeW5jeGhyLGNoZGV2aWNlbWVtb3J5LGNodmlld3BvcnR3aWR0aCxwaWN0dXJlaW5waWN0dXJlLG1hZ25ldG9tZXRlcixsb29wYmFja25ldHdvcmssY2xpcGJvYXJkd3JpdGUsbWljcm9waG9uZSJdLFstNjksIkxpbnV4IHg4Nl82NHxHb29nbGUgSW5jLnw4fDR8QW5kcm9pZHwxIl0sWy0yLCI4LDFPZWdLQlFJQUFFUWdnU0xsS1U3d1VDeXJZRzRvRlFZcWlLTVdnSW5hOVY5RjdGUVFCa1haVm1vcUtjbFdLOUM2OVE4cEpjdG91YTYzWi9yK3g5dDRuT3lFVWZmZDkzbnYvbFQiXSxbLTUsIi0iXSxbLTEwLCItIl0sWy0xMSwie1widFwiOlwiXCIsXCJtXCI6W1wiZGVzY3JpcHRpb25cIixcIm9nOnRpdGxlXCIsXCJvZzpkZXNjcmlwdGlvblwiLFwidHdpdHRlcjp0aXRsZVwiLFwidHdpdHRlcjpkZXNjcmlwdGlvblwiXX0iXSxbLTE2LCI0Il0sWy00MCwiMzMiXSxbLTIzLCIrIl0sWy01MiwiLSJdLFstNTMsIjAwMSJdLFstNTYsImxhbmRzY2FwZS1wcmltYXJ5Il0sWy02MiwiODAiXSxbMTIsIntcImN0eFwiOlwid2ViZ2xcIixcInZcIjpcImdvb2dsZSBpbmMuIChnb29nbGUpXCIsXCJyXCI6XCJhbmdsZSAoZ29vZ2xlLCB2dWxrYW4gMS4zLjAgKHN3aWZ0c2hhZGVyIGRldmljZSAoc3ViemVybykgKDB4MDAwMGMwZGUpKSwgc3dpZnRzaGFkZXIgZHJpdmVyKVwiLFwic2x2XCI6XCJ3ZWJnbCBnbHNsIGVzIDEuMCAob3BlbmdsIGVzIGdsc2wgZXMgMS4wIGNocm9taXVtKVwiLFwiZ3ZlclwiOlwid2ViZ2wgMS4wIChvcGVuZ2wgZXMgMi4wIGNocm9taXVtKVwiLFwiZ3ZlblwiOlwid2Via2l0XCIsXCJiZW5cIjoxMixcIndnbFwiOjEsXCJncmVuXCI6XCJ3ZWJraXQgd2ViZ2xcIixcInNlZlwiOjE5MzA4MjAyNzksXCJzZWNcIjpcIlwifSJdLFstNjEsIntcIndnc2xcIjpcIjg7cGFja2VkXzR4OF9pbnRlZ2VyX2RvdF9wcm9kdWN0O3N1Ymdyb3VwX3VuaWZvcm1pdHk7c3ViZ3JvdXBfaWQ7cmVhZG9ubHlfYW5kX3JlYWR3cml0ZV9zdG9yYWdlX3RleHR1cmVzO3VucmVzdHJpY3RlZF9wb2ludGVyX3BhcmFtZXRlcnM7cG9pbnRlcl9jb21wb3NpdGVfYWNjZXNzO3RleHR1cmVfYW5kX3NhbXBsZXJfbGV0O3VuaWZvcm1fYnVmZmVyX3N0YW5kYXJkX2xheW91dDtcIixcInBjZlwiOlwicmdiYTh1bm9ybVwifSJdLFstMjgsImVuLVVTLGVuIl0sWy0zMiwiMCJdLFstMzMsIi0iXSxbLTM2LCJbXCJcIixcIlwiXSJdLFstMTUsIi0iXSxbLTE3LCI0Il0sWy00MSwiLSJdLFstNTQsIntcImhcIjpbXCJfM1wiLFwiMjg3Mjg5OTMyMFwiXSxcImRcIjpbXSxcImJcIjpbXCJfMVwiLFwiMzkwNjY4MzU0OFwiXSxcInNcIjoxfSJdLFstNTcsIldFMFplRXRMV0VBWGZGd1pFVkZOVFVsS0F4WVdTa2xXVmxjWFRWRmNXMHRRWGxGTlgxWkxVa29YV2xaVUZsQVdEUTVkV2dBSldGME1Ed0ZiQzFvTlgxOWZYQUFKV2xnTkRROEFYUThORGdBWFUwb0RDQU1QQ0EwTERoQVZXRTBaU3hrUlVVMU5TVW9ERmhaS1NWWldWeGROVVZ4YlMxQmVVVTFmVmt0U1NoZGFWbFFXVUJZTkRsMWFBQWxZWFF3UEFWc0xXZzFmWDE5Y0FBbGFXQTBORHdCZER3ME9BQmRUU2dNSUF3OFBEZ0FBRUE9PSJdLFstNCwiLSJdLFstNjMsIjE0Il0sWy02NywiLSJdLFstNzIsIkV4VT0iXSxbLTczLCJFaFE9Il0sWy0xMywiLSJdLFstMTksIlswLDAsMCwwLDAsMCwxLjc1LDI0LDI0LFwiLVwiLDQxMiw4MjMsNDEyLDgyMyw0MTIsODIzLDQxMiw4MjMsMCwwLDAsMCxcIi1cIixcIi1cIiw0MTIsODIzLDBdIl0sWy01OCwiLSJdLFstMjcsIlswLDAsMCxcIjRnXCIsbnVsbF0iXSxbLTcxLCJhMDEwMTAxMDEwMDEwMDEwMTAwMDAxMDAwMTEwMTEwMTAwMDAxMCJdLFstMzksIltcIjIwMDMwMTA3XCIsMixcIkdlY2tvXCIsXCJOZXRzY2FwZVwiLFwiTW96aWxsYVwiLG51bGwsbnVsbCx0cnVlLDgsZmFsc2UsbnVsbCw1LHRydWUsdHJ1ZSxudWxsLDEsdHJ1ZSx0cnVlLGZhbHNlLHRydWVdIl0sWy0yMSwiLSJdLFstNDQsIjAsMCwwLDUiXSxbLTQ4LCJbXCItXCIsXCItXCIsXCItXCIsXCItXCIsXCItXCJdIl0sWy00OSwiLSJdLFstNTUsIjEiXSxbLTY0LCJbMSxcIkFuZHJvaWRcIixbe1wiYlwiOlwiQ2hyb21pdW1cIixcInZcIjpcIjE0N1wifSx7XCJiXCI6XCJHb29nbGUgQ2hyb21lXCIsXCJ2XCI6XCIxNDdcIn1dXSJdLFstNzAsIi0iXSxbLTksIisiXSxbLTM1LCJbMTc3NjgxOTUyNDU4MiwwXSJdLFstMjIsIltcIm5cIixcIm5cIl0iXSxbLTUwLCItIl0sWy02LCJ7XCJ3XCI6W1wiMFwiLFwiZ29vZ2xlX3RhZ3NfZmlyc3RfcGFydHlcIixcImRhdGFMYXllclwiLFwibWQ1XCIsXCJvbkNoZXFSZXNwb25zZVwiLFwiY2FjaGVDaGVxRGF0YVdoZW5SZWFkeVwiLFwicmVzdG9yZUNoZXFEYXRhXCIsXCJnZXRDaGVxRGF0YUZyb21EYXRhTGF5ZXJcIixcImFkZENvbnNlbnRMaXN0ZW5lclRBXCIsXCJobHhcIixcIl9fY2ZCZWFjb25cIixcImdvb2dsZV90YWdfbWFuYWdlclwiLFwicG9zdHNjcmliZVwiLFwiZ29vZ2xlX3RhZ19tYW5hZ2VyX2V4dGVybmFsXCIsXCJqc3BiR2V0VHlwZU5hbWVcIixcImdvb2dsZV90YWdfZGF0YVwiLFwidHJ1c3RlXCIsXCJQUkVGX01HUl9BUElfREVCVUdcIixcIlByaXZhY3lNYW5hZ2VyQVBJXCIsXCJUUlVTVEVfQ01BUElfREVCVUdcIixcImdlb0xvY2F0aW9uXCIsXCJ0cmFja2luZ1F1ZXVlXCIsXCJhbGxveVwiLFwiY2hlcUNvbnNlbnRBbGxvd2VkXCIsXCJfX2N0Y2dfY3RfMjcyNDRfZXhlY1wiXSxcIm5cIjpbXSxcImRcIjpbXX0iXSxbLTY4LCItIl0sWy0yOSwiLSJdLFstMzEsImZhbHNlIl0sWyJibmNoIiwxMzBdLFstMzQsIi0iXSxbLTEsIi0iXSxbLTQyLCI4ODMzOTkwMTYiXSxbLTMwLCJbXCJ2XCIsMF0iXSxbLTM4LCJjLC0xLC0xLDQ4NiwwLDAsMCw2LDM4LDM2LC0xLDAsMTE0NCwxMTQ0LDEyODksMTI5MCJdLFstMjAsIi0iXSxbLTI0LCJbXSJdLFstNTksImRlZmF1bHQiXSxbLTI1LCItIl0sWy0xMiwibnVsbCJdLFstMTQsIi0iXSxbLTI2LCJ7XCJ0amhzXCI6NTcwODQ5ODIsXCJ1amhzXCI6MTQxNTA3MTgsXCJqaHNsXCI6MjI0ODE0Njk0NH0iXSxbLTc0LCIwLDAiXSxbLTc1LCJ7fS5zb21lRnVuYyBpcyBub3QgYSBmdW5jdGlvbiJdLFstNDMsIjAwMDAwMDAxMDEwMDAwMDEwMDExMTAxMTAxMTAxMTAxMDAwMDAxMDExMDEiXSxbLTQ2LCIwIl0sWy00NywiVVRDLGVuLVVTLGxhdG4sZ3JlZ29yeSJdLFstNjUsIi0iXSxbImRkYiIsIjAsOCwwLDAsMCwxLDAsMCwwLDEsMCwwLDEsMCwxLDAsMCwwLDAsMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxLDAsMCwxLDAsMCwxLDEsNCwxMSwwLDIsMSwwLDAsMCwwLDEsMCwwLDAsMSwzLDMsMCwwLDAsMTQsMCwwLDAsMCwwLDAsMCwxLDAsMCwwLDAiXSxbImNiIiwiMCwwLDAsMCwwLDAsMCwwLDAsNSwwLDAsMTUsMCwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMCwwLDAsMywwLDAsMCwwLDAsMCwxLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDEsMCwwLDAsMCw3LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCJdXQ%3D%3D&dep=0&pre=0&sdd=&cri=0zqsORc7oC&pto=1305&ver=65&gac=-&mei=&ap=&fe=1&duid=1.1776819524.a2pUcEZD98qBLBqx&suid=1.1776819524.HlKTYETiv2DM73rk&tuid=1.1776819524.cjthv0ng4M6LoiFO&sid=1.1776819524603.ULhJX98S1xfGcD3S&fbc=->m=WyJ0cnVzdGFyYy1jY20tcmVhZHkiLCJDb25zZW50IENoYW5nZWQiXQ%3D%3D&it=35%2C1087%2C62&fbcl=-&gacl=-&gacsd=-&rtic=-&rtict=-&bgc=-&spa=1&urid=0&ab=&sck=-&io=aGA2Oi17bmY2Og%3D%3D | 457ms | 421ms | 1ms | 3rd |
| https://www.bamboohr.com/blocks/logos/logos.js | 450ms | 277ms | 0ms | 3rd |
| https://form-renderer.trustarc.com/browser/client.js | 277ms | 166ms | 110ms | 3rd |
| https://www.bamboohr.com/scripts/scripts.js | 242ms | 125ms | 1ms | 3rd |
| https://www.bamboohr.com/blocks/image/image.js | 130ms | 13ms | 0ms | 3rd |
| https://consent.trustarc.com/v2/notice/qvlbs6 | 106ms | 85ms | 8ms | 3rd |
FJS BundlesAction53 scripts, 412 KB unusedFIX
Downloaded but never executed on this page.
| Script | Size | Unused | Minified | Party |
|---|---|---|---|---|
| https://form-renderer.trustarc.com/browser/client.js | 412 KB | 306 KB (75%) | ✓ | 3rd |
| https://www.bamboohr.com/metrics/ | 185 KB | 84 KB (46%) | ✓ | 3rd |
| https://www.bamboohr.com/blocks/form/form.js | 24 KB | 22 KB (94%) | ✗ | 3rd |
| https://www.bamboohr.com/blocks/multi-hero/multi-hero.js | 2 KB | — | ✓ | 3rd |
| blob:https://www.bamboohr.com/338d2969-a9e8-484d-847a-15431435b901 | -0 KB | — | ✓ | 3rd |
| https://www.bamboohr.com/scripts/consent.js | 5 KB | — | ✗ | 3rd |
| https://www.bamboohr.com/scripts/lib-analytics.js | 8 KB | — | ✗ | 3rd |
| https://www.bamboohr.com/scripts/_classes/analytics-queue.js | 1 KB | — | ✓ | 3rd |
| https://www.bamboohr.com/scripts/scroll-tracking.js | 1 KB | — | ✓ | 3rd |
| https://www.bamboohr.com/scripts/data-testid.js | 4 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
FPage Weight InventoryAction223 resources · 2.7 MB · 412 KB savings availableFIX
~412.5 KiB of savings available
| # | Resource | Type | Size | Cache | Unused | 3rd party | Issues |
|---|---|---|---|---|---|---|---|
| — | — | ||||||
| 223 resources | 2.7 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
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+Text CompressionAll text resources are compressedPASS
A+Font Loading6 fonts (467 KB)PASS
Web fonts
6
467 KB total
Render-blocking
0
of 6
Dominant font-display
swap
Most common across fonts
Font loading timeline
- Convert to woff2 for ~30% smaller file size
- Subset this font — over 100 KB suggests Latin Extended or full glyph coverage that most pages don't need
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)
Fixing the unchecked items could save ~194 KB and ~388 ms
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 Waterfall223 requests over 31906msINFO
Third-Party Script CostPer-script blocking time, transfer cost, and cache headersINFO
| Script | Category | Execution | Transfer | Unused | Monthly Cost | Verdict |
|---|---|---|---|---|---|---|
www.bamboohr.com www.bamboohr.com | Other | 12217ms | 13 KB | — | €133/mo | Costly |
Unattributable Unattributable | Other | 1394ms | 0 KB | — | €15/mo | Costly |
spoon.thebrightforks.com spoon.thebrightforks.com | Other | 627ms | 45 KB | — | €7/mo | Costly |
www.bamboohr.com www.bamboohr.com | Other | 458ms | 185 KB | 46% | €5/mo | Costly |
knive.thebrightforks.com knive.thebrightforks.com | Other | 457ms | 2 KB | — | €5/mo | Costly |
www.bamboohr.com www.bamboohr.com | Other | 450ms | 5 KB | — | €5/mo | Costly |
form-renderer.trustarc.com form-renderer.trustarc.com | Other | 277ms | 412 KB | 75% | €3/mo | Costly |
www.bamboohr.com www.bamboohr.com | Other | 242ms | 37 KB | — | €3/mo | Costly |
www.bamboohr.com www.bamboohr.com | Other | 130ms | 3 KB | — | €1/mo | Optional |
consent.trustarc.com consent.trustarc.com | Other | 106ms | 25 KB | — | €1/mo | Optional |
These scripts may cost more than they're worth
- www.bamboohr.com adds 12217ms and costs ~€133/month
- Unattributable adds 1394ms and costs ~€15/month
- spoon.thebrightforks.com adds 627ms and costs ~€7/month
- www.bamboohr.com adds 458ms and costs ~€5/month
- knive.thebrightforks.com adds 457ms and costs ~€5/month
- www.bamboohr.com adds 450ms and costs ~€5/month
- form-renderer.trustarc.com adds 277ms and costs ~€3/month
- www.bamboohr.com adds 242ms and costs ~€3/month
100% 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
www.bamboohr.com takes 12217ms 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
Unattributable takes 1394ms 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
spoon.thebrightforks.com takes 627ms 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
www.bamboohr.com takes 458ms 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
knive.thebrightforks.com takes 457ms 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
www.bamboohr.com takes 450ms 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
form-renderer.trustarc.com takes 277ms 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
75% of form-renderer.trustarc.com'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
www.bamboohr.com takes 242ms 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