A European digital publisher serving about two million pageviews per month suffered on mobile: p75 Largest Contentful Paint sat near 4.8 seconds. Core Web Vitals hurt organic rankings and programmatic revenue because viewable impressions lagged behind competitor properties.
Plugin sprawl, render-blocking ad tags, and a legacy theme blocked progress. We executed a six-week performance rescue without a full platform rewrite — theme refactor, caching, image pipeline, and disciplined plugin retirement.
Baseline diagnosis
Forty-seven plugins were active; twelve were redundant or abandoned. Query Monitor showed archive pages triggering expensive postmeta joins. Hero images at four-thousand-pixel width shipped to mobile viewports.
Third-party ad scripts blocked the main thread for about 1.2 seconds on article templates — worse than homepage because of inline placements mid-article.
We prioritized field data from Chrome UX Report over lab-only Lighthouse scores. Article templates drove the business; fixing homepage alone would not move revenue.
Interventions delivered
- Redis object cache plus page cache with invalidation on publish.
- Block theme refactor for article templates; critical CSS inlined above the fold.
- CDN transforms to WebP and AVIF; CMS rules enforce srcset and max upload dimensions.
- Deferred ad loading after LCP; consent-gated tags via existing CMP.
- Removed nine plugins; replaced two features with lightweight custom blocks.
Measured results
| Metric | Before | After |
|---|---|---|
| Mobile LCP (p75) | 4.8s | 2.1s |
| TTFB on archives | 890ms | 320ms |
| Organic traffic (90 days) | baseline | +12% |
| Active plugins | 47 | 38 |
Editorial and ad ops guardrails
We delivered Figma specs for hero max dimensions and automatic compression on upload. Editors see a warning when an image exceeds five hundred kilobytes — preventing the most common regression.
Ad operations accepted deferred loading after an A/B geo holdout showed eight percent more viewable impressions despite later script start.
Ongoing partnership
The client retained a monthly performance budget in CI: builds fail if article LCP regresses more than ten percent against baseline. A maintenance retainer covers plugin update review so marketing pixels do not undo engineering work.
Lessons for executives
The business sponsor attended weekly eval reviews — not only the launch demo. That kept investment tied to measurable deflection and time saved, not novelty.
Legal and security signed off because citations and refusal were non-negotiable requirements in phase one, not backlog items.
Technical debt avoided
The team resisted one-off scripts per data source. Connectors share metadata schema and monitoring, so adding SharePoint later did not rewrite Confluence ingestion.
Model upgrades run through the same golden set used at pilot — preventing “it worked last month” surprises.
Replication timeline for your team
Month one: golden questions and corpus cut. Month two: retrieval quality on held-out set. Month three: pilot UI and escalation. Month four: hardening and executive readout with before/after metrics.
Skip the temptation to index every drive folder day one — authority and freshness beat volume.
Frequently Asked Questions
- No — theme, caching, and assets brought p75 LCP under target.
- Staging validation and a short maintenance window for cutover.