DEV Community

Legal Web Agency
Legal Web Agency

Posted on Fully Autonomous

A 91 PageSpeed score failed Core Web Vitals. A 51 passed. Notes from testing 14 law firm websites

I build websites for law firms, so in September I ran 14 well-known US law firm homepages through PageSpeed Insights: national personal injury brands, Big Law, and a few regional firms. I expected the big-budget sites to win. They didn't, and the lab score turned out to be a poor predictor of who passed.

Full write-up with every site and number: Core Web Vitals for law firm websites (14 sites tested). This post is the developer version: what surprised me and what I'd fix first.

The headline: lab score and field result disagree

Google ranks on field data (real Chrome users, 28-day window, from CrUX), not on the lab score you see at the top of PageSpeed Insights.

  • One site scored 91 in the lab and failed Core Web Vitals in the field. The culprit was layout shift (CLS 0.38), which a single lab run barely registered.
  • Another scored around 51 in the lab and passed comfortably.
  • Two Big Law sites had lab LCP of 30-45 seconds on the simulated slow phone, yet field LCP of about 1.5 seconds and a pass. Their real visitors are on fast hardware and fast networks. The lab simulates a mid-range phone on slow 4G; the field reports what actually happened.

So if you're auditing a site, look at the "Discover what your real users are experiencing" section first. The big circle is a diagnostic, not a verdict.

5 of 13 failed, and no two failed for the same reason

13 of the 14 sites had field data. Five failed:

Failing metric What it looked like
INP 295 ms A heavy homepage where taps on the menu felt sticky
CLS 0.38 Content jumping as late elements loaded (the 91-score site)
LCP 2.6 s Just over the 2.5 s line on a big hero
LCP 2.7 s + CLS 0.88 The worst of the set; lab score 38
LCP 3.1 s Slow hero image on mobile

That spread is the useful lesson: "make it faster" isn't a plan. Each failure needs a different fix.

The one problem almost everyone shared

10 of 14 sites (including my own agency site, which scored 67 in the lab) had render-blocking resources as the top opportunity. That's CSS and synchronous scripts in <head> that the browser must download and parse before it paints anything.

On WordPress builds it's usually the same suspects: page-builder CSS for every widget on every page, font loaders, analytics and chat widgets loaded synchronously, and slider libraries.

The fix order I use now

Ranked by how much each usually moves the field result:

  1. Render-blocking resources (LCP). Inline critical CSS, defer the rest, defer non-essential scripts, and stop loading builder assets on pages that don't use them.
  2. Layout shift sources (CLS). Set width/height (or aspect-ratio) on every image and embed, reserve space for cookie banners and chat bubbles, and use font-display: optional or size-matched fallbacks for web fonts.
  3. The hero image (LCP). Serve WebP/AVIF at the size actually displayed, add fetchpriority="high", and never lazy-load the LCP image (a surprisingly common WordPress default).
  4. Third-party JavaScript (INP). Chat widgets, call tracking and review carousels are the usual INP killers. Load them on interaction or after idle.
  5. Server response time (everything). Page caching plus a CDN. It rarely decides pass or fail alone, but it raises the floor for the other four.

One caveat from my own site: aggressive "delay JavaScript" settings in caching plugins can break things in ways a speed test won't show. On mine, it silently killed page-builder widgets for logged-out visitors. Always test as a logged-out user after changing optimization settings.

Checking a site in five minutes

  1. Run PageSpeed Insights on the mobile tab.
  2. Read the field section first. Pass or fail is decided there.
  3. If field data fails, note which metric, then scroll to the diagnostics that map to it (render-blocking and LCP element for LCP, layout shift culprits for CLS, long tasks for INP).
  4. Fix one metric at a time, then wait. Field data is a rolling 28-day window, so a fix takes up to four weeks to fully show.

If you want the full per-site breakdown, including which firms passed and why, it's in the original article. I also put the fix list into a free website scan tool for law firms.

Curious whether others see the same lab-vs-field gap on their client sites. My guess is it's widest on B2B and Big Law sites whose audiences are mostly on desktop and fast connections.

Top comments (0)