The Core Web Vitals fixes worth shipping before Black Friday are the small, reversible ones: a correctly sized and prioritised hero image, lighter fonts, fewer third-party scripts and apps, and reserved space for banners and cookie bars. Measure with field data first, ship those changes in early November, and freeze the site in the week before 27 November 2026.
The three metrics and their thresholds
A page passes Core Web Vitals when 75% of visits (the 75th percentile) fall inside the “good” range for each metric:
- LCP (Largest Contentful Paint): how long the biggest visible element, usually the hero or main product image, takes to appear. Good is up to 2.5 seconds.
- INP (Interaction to Next Paint): how quickly the page responds to a tap or click, such as choosing a variant. Good is up to 200 milliseconds. INP replaced FID in March 2024, so any report still showing FID is out of date.
- CLS (Cumulative Layout Shift): how much the layout jumps while loading. Good is up to 0.1.
Google’s explanation is on web.dev. On a sale weekend the effect is direct: a slow hero, a laggy “Add to basket” button or a banner that pushes the page down mid-tap all cost orders.
Field data versus lab data
Field data: what real visitors experienced
Field data comes from real Chrome users and is what Google uses to judge Core Web Vitals. Find it in:
- Search Console, Core Web Vitals report: groups URLs into good, needs improvement and poor, for mobile and desktop. Use it to find which templates (home, collection, product) fail.
- PageSpeed Insights, top section: real-user data for one URL, or the whole origin, if there is enough traffic.
Field data covers a rolling 28 days. Counting from today, 26 October, a fix shipped now is fully reflected around 23 November, days before Black Friday. Do not wait for the green tick; ship, verify in the lab, and let the field data catch up.
Lab data: one simulated test
The Lighthouse section of PageSpeed Insights and Chrome DevTools run one load on a simulated device. They show why something is slow and confirm a fix straight away. They cannot measure INP because nobody clicks; Total Blocking Time is the stand-in. A high Lighthouse score does not mean you pass, and a low one does not mean you fail.
My order of work: Search Console to find the failing template, PageSpeed Insights field data to see which metric fails, then lab tools to find the cause.
LCP fixes: hero image and fonts
- Serve the right size. Use responsive images (
srcsetandsizes) so phones get a phone-sized file. WordPress generates these for media library images; Shopify’simage_urlandimage_tagfilters do the same if the theme uses them. - Do not lazy-load the hero.
loading="lazy"belongs on images further down the page only. - Prioritise it. Add
fetchpriority="high"to the one LCP image. Recent WordPress versions add this to the image they guess is the hero; check the page source to confirm they picked the right one. - Drop the hero slider for the sale. A carousel loading several large images and a script before the first slide is a common LCP problem. One static image is faster and easier to swap.
- Trim fonts. Load only the weights you use, self-host if you can, preload the one file used above the fold, and use
font-display: swap.
On Shopify, a section hero can pass these attributes through image_tag:
{{ section.settings.image
| image_url: width: 1600
| image_tag: loading: 'eager', fetchpriority: 'high', sizes: '100vw' }}
On WooCommerce, also confirm page caching works and uncached pages respond quickly. A slow server delays LCP before any image starts downloading.
INP fixes: scripts, apps and product pages
Poor INP nearly always means too much JavaScript on the main thread, and November adds countdowns, pop-ups, pixels and chat widgets.
- Third-party tags: list every tag in Google Tag Manager and the page source. Remove anything without an owner. Delay the rest where the vendor allows.
- Shopify apps: uninstalled apps can leave snippets in theme files. Remove leftovers and switch off unused app embeds in the theme editor.
- WooCommerce plugins: many load scripts site-wide when they are used on one page. Unload them where they are not needed, and check whether the cart fragments script runs on every page.
- Product pages: swatches, zoom, reviews and upsell blocks each add code. In DevTools, throttle the CPU, click a variant and look for long tasks.
- Pop-ups: one email pop-up and one countdown is enough.
CLS fixes: banners, cookie bars and late content
- Announcement bars: a sale bar injected above the header after load pushes everything down. Render it in the theme HTML or reserve its height in CSS.
- Cookie bars: show them as a fixed overlay, not inserted at the top of the page flow.
- Media: every image, video and iframe needs
widthandheightor a CSSaspect-ratio. - Fonts: pick a fallback close in size to the web font, or use
size-adjust. - App widgets: review stars and badges that load late need a reserved box.
The same template-first approach applies whether the store is a B2B office furniture WooCommerce store or a large-scale Shopify jewellery store: fix the cause on the template and every page built from it improves.
Timeline for Black Friday 2026
- This week (from 26 October): note failing templates and metrics in Search Console; run PageSpeed Insights on a home, collection and product page.
- 2 to 13 November: ship fixes one at a time, on staging first, retesting each.
- 16 to 20 November: add the real sale banners, pop-ups and countdowns on staging and retest. Most new CLS and INP problems appear here.
- From Monday 23 November: change freeze. Content and prices only.
- 27 to 30 November (Black Friday to Cyber Monday): monitor orders, errors and server response times. Log issues for January unless checkout breaks.
What not to change in sale week
- Theme upgrades.
- WordPress, WooCommerce or PHP updates, except tested security patches.
- New caching, minification or optimisation plugins. Deferring scripts can break checkout for some payment methods only.
- Hosting, CDN or DNS changes.
- New apps or plugins touching cart, checkout or product pages.
If you want these changes made on a WordPress or WooCommerce store before the freeze, see how I work as a freelance WordPress and WooCommerce developer. For Shopify, see my Shopify developer page.
Frequently asked questions
Will fixing Core Web Vitals now help my Black Friday rankings?
Possibly a little. Field data uses a 28-day window, so November changes are only partly counted by 27 November. The certain benefit is to shoppers on the day.
Why does PageSpeed Insights look fine while Search Console says my pages fail?
The score is one lab test. Search Console uses 28 days of real visits on real phones and connections. Trust field data for pass or fail; use the lab to find causes.
How do I find which Shopify app is slowing my store?
On a duplicate theme, switch off one app embed at a time and rerun PageSpeed Insights on the same product page. Record each result.
Is a cookie banner bad for Core Web Vitals?
Not as a fixed overlay. It causes layout shift when it pushes content down, and a heavy consent script can hurt INP.
If you want a second pair of eyes on your store before 27 November, send me the URL and what worries you.