Performance
· 14 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.
628 ms
Largest Contentful Paint Largest Contentful Paint — how long until the largest visible element loads. Under 2.5s is good.
711 ms
Total Blocking Time Total Blocking Time — total time the main thread was blocked, preventing user input. Under 200ms is good.
1.51 s
Cumulative Layout Shift Cumulative Layout Shift — measures visual stability. How much the page layout shifts during loading. Under 0.1 is good.
0.003
Speed Index Speed Index — how quickly content is visually displayed during load. Under 3.4s is good.
6.73 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.
17.72 s
Page Load Progression
FPage Weight BudgetAction9.3 MB transferred, 1023 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
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
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 ImpactAction78% third-party, 0 ms blockingFIX
FJS Execution CostAction18044ms total JS executionFIX
Main Thread Breakdown
| Script | Total | Scripting | Parse/Compile | Party |
|---|---|---|---|---|
| https://www.reuters.com/ | 4386ms | 81ms | 35ms | 1st |
| Unattributable | 1766ms | 574ms | 0ms | 3rd |
| https://www.reuters.com/pf/resources/dist/ads/js/main.js?d=356 | 1537ms | 992ms | 5ms | 1st |
| https://cds.connatix.com/p/276446261/sax.sdk.bridge.js | 1193ms | 1078ms | 11ms | 3rd |
| https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m202603310101/pubads_impl.js | 875ms | 754ms | 19ms | 3rd |
| https://scripts.mf.webcontentassessor.com/scripts/d06ef93c25139616c54db7ca384a5b08978435f6af02d1bae5fa0e14a8bba30f | 638ms | 388ms | 18ms | 3rd |
| https://cdn.permutive.com/a55a84b3-9632-4869-b625-3d8ef43ed18d-web.js | 629ms | 280ms | 20ms | 3rd |
| https://www.reuters.com/pf/dist/engine/react.js?d=356&mxId=00000000 | 530ms | 189ms | 11ms | 1st |
| https://a.pub.network/reuters-com/pubfig.engine.js | 486ms | 425ms | 17ms | 3rd |
| https://cdn.jwplayer.com/libraries/6R96ZZcw.js | 463ms | 413ms | 25ms | 3rd |
Showing top 10 of 47 scripts
FJS BundlesAction212 scripts, 2.3 MB unusedFIX
Downloaded but never executed on this page.
| Script | Size | Unused | Minified | Party |
|---|---|---|---|---|
| https://www.reuters.com/pf/dist/components/combinations/landing.js?d=356&mxId=00000000 | 690 KB | 339 KB (50%) | ✓ | 1st |
| https://ssl.p.jwpcdn.com/player/v/8.46.1/provider.hlsjs.js | 139 KB | 118 KB (85%) | ✓ | 3rd |
| https://imasdk.googleapis.com/js/sdkloader/ima3.js | 147 KB | 97 KB (66%) | ✓ | 3rd |
| https://cds.connatix.com/p/276446261/sax.sdk.bridge.js | 101 KB | 84 KB (83%) | ✓ | 3rd |
| https://a.pub.network/reuters-com/pubfig.engine.js | 175 KB | 81 KB (47%) | ✓ | 3rd |
| https://cdn.cookielaw.org/scripttemplates/202601.1.0/otBannerSdk.js | 127 KB | 80 KB (63%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtm.js?id=GTM-K5WTBZN | 165 KB | 77 KB (47%) | ✓ | 3rd |
| https://securepubads.g.doubleclick.net/pagead/managed/js/gpt/m202603310101/pubads_impl.js | 182 KB | 76 KB (42%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/js?id=G-FVWZ0RM4DH&l=audDataLayer | 143 KB | 70 KB (49%) | ✓ | 3rd |
| https://www.googletagmanager.com/gtag/destination?id=G-XXXXXXXXXX&cx=c>m=4e6411 | 136 KB | 70 KB (52%) | ✓ | 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
DHTTP CachingActionno-store (uncacheable)FIX
max-age=0, private, no-cache, no-store, must-revalidate
| Directive | Value | Meaning |
|---|---|---|
| max-age | 0 | Cache for 0 seconds |
| private | — | Only browser cache, not CDN/proxy |
| no-cache | — | Cache but always revalidate first |
| no-store | — | Never cache this response |
| must-revalidate | — | Must recheck with server after expiry |
BImage Optimization157 images, 0 KB saveableREVIEW
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 Loading8 fonts (187 KB)PASS
Web fonts
8
187 KB total
Render-blocking
0
of 8
Dominant font-display
swap
Most common across fonts
Font loading timeline
- Convert to woff2 for ~30% smaller file size
- Convert to woff2 for ~30% smaller file size
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 ~15 KB and ~30 ms
A+Resource CachingAll resources properly cachedPASS
A+Critical Rendering PathNo render-blocking resourcesPASS
A+Resource HintsNo optimization neededPASS
Network Waterfall1023 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 | 1766ms | 0 KB | — | CA$24/mo | Costly |
cds.connatix.com cds.connatix.com | Other | 1193ms | 101 KB | 83% | CA$16/mo | Costly |
securepubads.g.doubleclick.net securepubads.g.doubleclick.net | Other | 875ms | 182 KB | 42% | CA$12/mo | Costly |
scripts.mf.webcontentassessor.com scripts.mf.webcontentassessor.com | Other | 638ms | 130 KB | — | CA$9/mo | Costly |
cdn.permutive.com cdn.permutive.com | Other | 629ms | 160 KB | 14% | CA$9/mo | Costly |
a.pub.network a.pub.network | Other | 486ms | 175 KB | 47% | CA$7/mo | Costly |
cdn.jwplayer.com cdn.jwplayer.com | Other | 463ms | 65 KB | 65% | CA$6/mo | Costly |
Google Tag Manager www.googletagmanager.com | Tag Manager | 397ms | 168 KB | 33% | CA$5/mo | Costly |
a.pub.network a.pub.network | Other | 363ms | 205 KB | 32% | CA$5/mo | Costly |
dd.reuters.com dd.reuters.com | Other | 342ms | 43 KB | — | CA$5/mo | Costly |
www.dianomi.com www.dianomi.com | Other | 326ms | 0 KB | 60% | CA$5/mo | Costly |
pagead2.googlesyndication.com pagead2.googlesyndication.com | Other | 301ms | 0 KB | 41% | CA$4/mo | Costly |
c.amazon-adsystem.com c.amazon-adsystem.com | Other | 242ms | 0 KB | 38% | CA$3/mo | Costly |
cds.connatix.com cds.connatix.com | Other | 236ms | 56 KB | 44% | CA$3/mo | Costly |
cds.connatix.com cds.connatix.com | Other | 234ms | 63 KB | 46% | CA$3/mo | Costly |
www.datadoghq-browser-agent.com www.datadoghq-browser-agent.com | Other | 227ms | 48 KB | 56% | CA$3/mo | Costly |
cdn.id5-sync.com cdn.id5-sync.com | Other | 212ms | 0 KB | — | CA$3/mo | Costly |
assets.bounceexchange.com assets.bounceexchange.com | Other | 190ms | 6 KB | — | CA$3/mo | Optional |
Google Tag Manager www.googletagmanager.com | Tag Manager | 161ms | 165 KB | 47% | CA$2/mo | Optional |
Google Tag Manager www.googletagmanager.com | Tag Manager | 125ms | 145 KB | 35% | CA$2/mo | Optional |
pixel.adsafeprotected.com pixel.adsafeprotected.com | Other | 122ms | 92 KB | 39% | CA$2/mo | Optional |
assets.bounceexchange.com assets.bounceexchange.com | Other | 115ms | 120 KB | 44% | CA$2/mo | Optional |
imasdk.googleapis.com imasdk.googleapis.com | Other | 114ms | 147 KB | 66% | CA$2/mo | Optional |
d-code.liadm.com d-code.liadm.com | Other | 112ms | 47 KB | — | CA$2/mo | Optional |
freestar.solutions.cdn.optable.co freestar.solutions.cdn.optable.co | Other | 106ms | 17 KB | — | CA$1/mo | Optional |
Google Tag Manager www.googletagmanager.com | Tag Manager | 100ms | 136 KB | 38% | CA$1/mo | Optional |
static.adsafeprotected.com static.adsafeprotected.com | Other | 99ms | 0 KB | — | CA$1/mo | Optional |
config.aps.amazon-adsystem.com config.aps.amazon-adsystem.com | Other | 98ms | 8 KB | — | CA$1/mo | Optional |
OneTrust cdn.cookielaw.org | Consent | 96ms | 22 KB | — | CA$1/mo | Essential |
btloader.com btloader.com | Other | 92ms | 30 KB | — | CA$1/mo | Optional |
cd.connatix.com cd.connatix.com | Other | 90ms | 83 KB | 38% | CA$1/mo | Optional |
ads.pubmatic.com ads.pubmatic.com | Other | 76ms | 97 KB | 48% | CA$1/mo | Optional |
Google Tag Manager www.googletagmanager.com | Tag Manager | 75ms | 128 KB | 42% | CA$1/mo | Optional |
pixel.adsafeprotected.com pixel.adsafeprotected.com | Other | 72ms | 92 KB | 40% | CA$1/mo | Optional |
Google Tag Manager www.googletagmanager.com | Tag Manager | 71ms | 128 KB | 47% | CA$1/mo | Optional |
metrics.rapidedge.io metrics.rapidedge.io | Other | 71ms | 32 KB | — | CA$1/mo | Optional |
siteintercept.qualtrics.com siteintercept.qualtrics.com | Other | 66ms | 36 KB | 59% | CA$1/mo | Optional |
jsconfig.adsafeprotected.com jsconfig.adsafeprotected.com | Other | 64ms | 4 KB | — | CA$1/mo | Optional |
jsconfig.adsafeprotected.com jsconfig.adsafeprotected.com | Other | 64ms | 4 KB | — | CA$1/mo | Optional |
OneTrust cdn.cookielaw.org | Consent | 58ms | 127 KB | 63% | CA$1/mo | Essential |
Google Tag Manager www.googletagmanager.com | Tag Manager | 55ms | 136 KB | 52% | CA$1/mo | Optional |
Google Tag Manager www.googletagmanager.com | Tag Manager | 53ms | 143 KB | 49% | CA$1/mo | Optional |
pagead2.googlesyndication.com pagead2.googlesyndication.com | Other | 52ms | 0 KB | — | CA$1/mo | Optional |
These scripts may cost more than they're worth
- Unattributable adds 1766ms and costs ~CA$24/month
- cds.connatix.com adds 1193ms and costs ~CA$16/month
- securepubads.g.doubleclick.net adds 875ms and costs ~CA$12/month
- scripts.mf.webcontentassessor.com adds 638ms and costs ~CA$9/month
- cdn.permutive.com adds 629ms and costs ~CA$9/month
- a.pub.network adds 486ms and costs ~CA$7/month
- cdn.jwplayer.com adds 463ms and costs ~CA$6/month
- Google Tag Manager adds 397ms and costs ~CA$5/month
- a.pub.network adds 363ms and costs ~CA$5/month
- dd.reuters.com adds 342ms and costs ~CA$5/month
- www.dianomi.com adds 326ms and costs ~CA$5/month
- pagead2.googlesyndication.com adds 301ms and costs ~CA$4/month
- c.amazon-adsystem.com adds 242ms and costs ~CA$3/month
- cds.connatix.com adds 236ms and costs ~CA$3/month
- cds.connatix.com adds 234ms and costs ~CA$3/month
- www.datadoghq-browser-agent.com adds 227ms and costs ~CA$3/month
- cdn.id5-sync.com adds 212ms and costs ~CA$3/month
63% of JavaScript execution time comes from third-party scripts.
Third-party scripts (analytics, ads, social, A/B testing) often dominate execution time — every one is a perf-and-privacy tax.
Learn more ▾ ▴
Each third-party script is a black box: you don't control when it loads, what it executes, or how much it grows. They often account for a major share of total blocking time on average sites (HTTP Archive's Web Almanac documents the trend). Audit which ones you actually need, defer the rest, and use facade patterns (lite-youtube, lite-vimeo) for embedded media.
Source: web.dev / HTTP Archive Web Almanac
Unattributable takes 1766ms 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
cds.connatix.com takes 1193ms 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
83% of cds.connatix.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
securepubads.g.doubleclick.net takes 875ms 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
scripts.mf.webcontentassessor.com takes 638ms 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
cdn.permutive.com takes 629ms 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
a.pub.network takes 486ms 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
cdn.jwplayer.com takes 463ms 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
65% of cdn.jwplayer.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
Google Tag Manager takes 397ms 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
a.pub.network takes 363ms 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
dd.reuters.com takes 342ms 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.dianomi.com takes 326ms 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 www.dianomi.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
pagead2.googlesyndication.com takes 301ms 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
c.amazon-adsystem.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
cds.connatix.com takes 236ms 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
cds.connatix.com takes 234ms 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.datadoghq-browser-agent.com 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
56% of www.datadoghq-browser-agent.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
cdn.id5-sync.com takes 212ms 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
66% of imasdk.googleapis.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
59% of siteintercept.qualtrics.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
63% of OneTrust'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
52% 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