01
Measure the real anonymous page
The investigation used the cached public page, not an authenticated or development rendering. The LCP element was text, so image compression could not solve the reported delay.
The request waterfall showed several high-priority font and hero asset preloads, even on templates that did not use the hero. A separate set of marketing scripts remained in the document head despite an enabled delay setting.
02
Separate owned code from configured behaviour
Some changes belonged to the theme: conditionally loading an integration and removing template-specific work from unrelated pages. Other changes belonged to the cache plugin or marketing configuration.
That separation matters for estimates and QA. A contained template fix can be high confidence. Reworking tag injection across consent states, languages and forms is a different risk class.
03
Prioritize by resource competition
The first pass removed preloads that could not help the current template, reduced competing font priority and scoped integration scripts to the pages that needed them. More invasive CSS and tag changes were held behind separate validation.
Performance work is strongest when each change has a predicted effect on the request graph. A collection of optimization switches is not a performance strategy.
04
Turn the audit into two decisions
The result was a contained implementation path for known waste and a separate investigation for the marketing stack. That protected the site from a broad configuration change disguised as one small Core Web Vitals task.
Good performance triage reduces uncertainty before it expands scope.