www.bostonglobe.com speed test — 20 Oct 2026

Measured from the wfix.shop server on 20 October 2026 at 13:46 UTC. Grade C (78/100), with the screenshots, the timings and the fixes that matter.

https://www.bostonglobe.com/

20 October 2026 at 13:46 UTC · Free test · report pt_c25b1e1faec2
Grade
C
78/100
Performance86/100
Structure65/100

8 audit(s) passed, 8 need work

First byte (TTFB)365 msmeasured from this server
Fully loaded1.28 sfirst byte + slowest asset
Requests26document + assets
Page weight2.01 MBcompressed transfer
HTML document643.8 KBgzip
ProtocolHTTP/3openresty
Third-party388.9 KBother hosts

Where the first byte went

  • DNS lookup 65 ms 18%
  • TCP connect 52 ms 14%
  • Server wait 248 ms 68%

Measured on the connection that fetched the HTML. Every other request on the page waits for the end of this bar before it can start.

How this page compares

First bytefaster than 62% of 4,999 pages tested here365 ms against a median of 449 ms
Page weightheavier than 81% of 4,999 pages tested here2.01 MB against a median of 650.3 KB
Fully loadedfaster than 84% of 4,999 pages tested here1.28 s against a median of 1.84 s
Requestssends more requests than 100% of 4,999 pages tested here26 against a median of 26

Every report published here is in this comparison, so it is a reference population of pages tested from one server - not a benchmark of the whole web.

What these numbers mean

  • The first byte arrived in 365 ms. That is workable, and the cheapest win left is caching or a warmer connection.
  • The page transfers 2.01 MB over 26 request(s). Javascript files are 68% of it, so defer what is not needed for the first screen, and drop tags nobody uses.
  • The HTML itself arrives gzip-compressed.
  • It runs over HTTP/3, so the assets share a connection instead of opening one each.
  • The largest element painted at 1.62 s, inside the 2.5 s Google calls good.
  • Layout shift is 0.183 (good is under 0.1): something without a reserved size is loading late - an image, an ad, or a font swap.
  • The main thread was blocked for 2.37 s, so taps and scrolling wait while scripts run.

Fix first: Render-blocking resources - Add defer or async to scripts that do not change the first paint, inline the critical CSS, and load the rest with media="print" plus an onload swap.

Read on one shared server, not a visitor's phone: use it to compare pages against each other, not as a promise about every connection. We fix what these tests find.

Browser render

The same URL loaded in a real browser, so these are the readings curl cannot produce. The grade above is still built from the server measurements.

Largest contentful paint1.62 sgood is under 2.5 s
Cumulative layout shift0.183under 0.1 is stable
Total blocking time2.37 slong tasks during load
First contentful paint828 msfirst content on screen
Browser page weight11.58 MB1835 request(s), scripts included
Failed requests32blocked or unreachable
Largest contentful paint1.62 s
Goodgood under 2.5 s, poor over 4 s
Cumulative layout shift0.183
Needs improvementgood under 0.1, poor over 0.25
Total blocking time2.37 s
Poorgood under 200 ms, poor over 600 ms

Page weight by type

What the page is made of

Javascript 15 requests
1.37 MB 68%
Images 8 requests
11.2 KB 1%
Other 2 requests
19 B 0%

Transfer size, compressed as sent. 26 request(s) in total, 2.01 MB across all of them.

Top issues

Render-blocking resources

high impact

9 render-blocking resource(s) in the document head (7 script(s), 2 stylesheet(s)). The page cannot paint until each one arrives.

Fix: Add defer or async to scripts that do not change the first paint, inline the critical CSS, and load the rest with media="print" plus an onload swap.

Total page weight

high impact

The page transfers 2.01 MB across 26 request(s), with the document itself at 643.8 KB.

Fix: Work through the heaviest assets first: images, then fonts, then third-party scripts.

Cache static assets

medium impact

2 asset(s) answer without a Cache-Control max-age, so browsers revalidate them on every visit.

Fix: Version filenames on change and serve them with a long max-age plus immutable. That is what makes a returning visitor fast.

Third-party weight

medium impact

12 third-party host(s) serve 388.9 KB of this page. Each one is another DNS lookup, TLS handshake and point of failure you do not control.

Fix: Self-host the libraries you can, drop the tags you cannot justify, and preconnect the ones you keep.

HTML document size

medium impact

The document transfers 643.8 KB. A bloated document delays every other request, because nothing else can start until it is parsed.

Fix: Paginate long listings, move repeated markup into a template, and stop inlining large data URIs into the HTML.

Waterfall

Slowest requests

JAVASCRIPTcdn.speedcurve.com/js/lux.js
916 ms
IMAGESsb.scorecardresearch.com/p
909 ms
JAVASCRIPTmeter.bostonglobe.com/js/piano-meter.js
888 ms
IMAGESwww.bostonglobe.com/pf/resources/images/bg-logo--full-them…
838 ms
IMAGESwww.bostonglobe.com/pf/resources/images/icons/favicon-32x3…
835 ms
IMAGESwww.bostonglobe.com/pf/resources/images/bg-logo--full.svg
834 ms
IMAGESwww.bostonglobe.com/pf/resources/images/bg-logo--bug-mediu…
829 ms
JAVASCRIPTstatic.chartbeat.com/js/chartbeat_mab.js
827 ms
IMAGESwww.bostonglobe.com/pf/resources/images/bg-logo--bug-theme…
825 ms
IMAGESwww.bostonglobe.com/pf/resources/images/favicon.png
824 ms

Each bar is one request's own response time, scaled to the slowest. Assets were fetched in parallel, so the bars overlap in real time rather than stacking. first party third party

RequestTypeStatusTimeSize
https://cdn.speedcurve.com/js/lux.js?id=34523222 3rd partyjavascript200916 ms12.0 KB
https://sb.scorecardresearch.com/p?c1=2&c2=6035042&cv=2.0&cj=1 3rd partyimages200909 ms43 B
https://meter.bostonglobe.com/js/piano-meter.js?d=710 3rd partyjavascript200888 ms117.7 KB
https://www.bostonglobe.com/pf/resources/images/bg-logo--full-theme-dark.svg?d=710images200838 ms3.4 KB
https://www.bostonglobe.com/pf/resources/images/icons/favicon-32x32.png?v=bostonGlobe&d=710images200835 ms834 B
https://www.bostonglobe.com/pf/resources/images/bg-logo--full.svg?d=710images200834 ms3.4 KB
https://www.bostonglobe.com/pf/resources/images/bg-logo--bug-medium.svg?d=710images200829 ms943 B
https://static.chartbeat.com/js/chartbeat_mab.js 3rd partyjavascript200827 ms0 B
https://www.bostonglobe.com/pf/resources/images/bg-logo--bug-theme-dark.svg?d=710images200825 ms943 B
https://www.bostonglobe.com/pf/resources/images/favicon.png?v=bostonGlobe&d=710images200824 ms670 B
https://cdn.tinypass.com/api/tinypass.min.js 3rd partyjavascript200823 ms141.6 KB
https://cdn.blueconic.net/bostonglobemedia.js 3rd partyjavascript200819 ms44.8 KB
https://js.datadome.co/tags.js 3rd partyjavascript200799 ms46.2 KB
https://www.bostonglobe.com/pf/dist/components/combinations/default.js?d=710&mxId=00000000javascript200797 ms909.3 KB
https://www.bostonglobe.com/pf/dist/engine/react.js?d=710&mxId=00000000javascript200791 ms103.1 KB
https://www.queryly.com/images/globe_searchicon.svg 3rd partyimages200791 ms1.0 KB
https://intljs.rmtag.com/111668.ct.js 3rd partyother405791 ms19 B
https://cdn.cookielaw.org/scripttemplates/otSDKStub.js 3rd partyjavascript200790 ms13.6 KB
https://www.queryly.com/js/queryly.v4.js 3rd partyjavascript200790 ms10.3 KB
https://cdn.jsdelivr.net/npm/[email protected]/js/md5.min.js 3rd partyjavascript200790 ms1.5 KB
https://www.bostonglobe.com/pf/resources/focus-visible.js?d=710javascript200790 ms1.0 KB
https://www.bostonglobe.com/pf/resources/froomle.js?d=710javascript200790 ms974 B
https://cdn.cookielaw.org/consent/cmp.stub.js 3rd partyjavascript405790 ms18 B
https://cdn.attn.tv/bostonglobe/dtag.js 3rd partyjavascript200787 ms0 B
https://www.bostonglobe.com/https://www.facebook.com/ tr?id=884869448226452&ev=PageView&noscript=1other00 ms0 B
Report this page

The page is removed when the owner agrees. Sending this removes nothing by itself.

Run this test on your own site

The same engine, free, with the screenshots and the fixes. No account needed.