Direct Answer & Key Takeaways
A step-by-step guide to improving your Core Web Vitals scores and boosting your website's performance and search rankings.
Core Web Vitals Are a Ranking Factor. Here Is How to Get Them Right.
Core Web Vitals are Google’s standardised metrics for measuring page experience. Since Google made them an official ranking factor, they directly affect where your website appears in search results. Poor Core Web Vitals scores mean slower pages, frustrated visitors, and lower rankings. Good scores mean a faster, more stable experience that Google rewards with better visibility.
For New Zealand businesses, page speed is especially critical because of the geographic distance from many hosting providers. A site hosted in the US adds 200-300ms of latency for NZ users, enough to push your LCP score from “good” to “needs improvement.”
This guide covers each Core Web Vital, what causes poor scores, and the specific fixes that move the needle for NZ websites.
The Three Core Web Vitals Explained
LCP (Largest Contentful Paint) — Loading Performance
LCP measures how long it takes for the largest visible content element (usually a hero image, heading, or large text block) to render on screen.
| Rating | LCP Score |
|---|---|
| Good | Under 2.5 seconds |
| Needs Improvement | 2.5 – 4.0 seconds |
| Poor | Over 4.0 seconds |
Common causes of poor LCP:
- Large, unoptimised hero images (the most common issue on NZ business websites)
- Slow server response time (hosting in distant locations)
- Render-blocking JavaScript and CSS
- Third-party scripts delaying page load (chat widgets, analytics, marketing tags)
- Web fonts loading slowly
Fixes for NZ websites:
- Image optimisation: Convert images to WebP format (30-50% smaller than JPEG). Size images to the display dimensions (do not serve a 4000px image scaled to 800px in CSS). Use responsive images with srcset.
- Server response time: Use a CDN with NZ edge nodes. Cloudflare has data centres in Auckland and Wellington. This alone can reduce TTFB (Time to First Byte) by 50-70% for NZ visitors.
- Preload critical resources: Use
<link rel="preload">for your hero image and critical fonts so the browser starts downloading them immediately. - Eliminate render-blocking resources: Inline critical CSS, defer non-essential JavaScript, and load third-party scripts asynchronously.
INP (Interaction to Next Paint) — Interactivity
INP replaced FID (First Input Delay) as a Core Web Vital. It measures the responsiveness of a page to user interactions (clicks, taps, keyboard input). INP looks at all interactions throughout the page lifecycle, not just the first one.
| Rating | INP Score |
|---|---|
| Good | Under 200 milliseconds |
| Needs Improvement | 200 – 500 milliseconds |
| Poor | Over 500 milliseconds |
Common causes of poor INP:
- Heavy JavaScript execution blocking the main thread
- Long-running event handlers (click handlers that trigger complex calculations)
- Too many third-party scripts competing for processing time
- Large DOM size (thousands of elements on a single page)
Fixes:
- Audit third-party scripts: Each analytics tag, chat widget, and marketing pixel adds JavaScript overhead. Remove any that are not actively used. Defer the rest.
- Break up long tasks: JavaScript tasks that run for more than 50ms block the main thread. Split them into smaller chunks using requestIdleCallback or setTimeout.
- Reduce DOM size: Pages with over 1,500 DOM elements tend to have worse INP. Simplify your page structure and use lazy-loading for below-the-fold content.
- Use web workers: Move computationally heavy tasks off the main thread into web workers.
CLS (Cumulative Layout Shift) — Visual Stability
CLS measures how much the visible content shifts unexpectedly as the page loads. If you have ever started reading a paragraph on a website only to have it jump down when an image loads above it, that is a layout shift. It is frustrating for users and Google penalises it.
| Rating | CLS Score |
|---|---|
| Good | Under 0.1 |
| Needs Improvement | 0.1 – 0.25 |
| Poor | Over 0.25 |
Common causes of poor CLS:
- Images and videos without width/height attributes (browser does not know how much space to reserve)
- Ads or embedded content that loads after page render
- Dynamically injected content (cookie banners, notification bars)
- Web fonts causing a flash of unstyled text (FOUT) that shifts layout
- CSS loaded asynchronously (page renders unstyled then shifts when CSS applies)
Fixes:
- Always set dimensions: Add width and height attributes to all images and video embeds. Use CSS aspect-ratio for responsive elements.
- Reserve space for dynamic content: Set min-height on containers that will load ads, embeds, or dynamic elements.
- Load CSS as render-blocking: Critical CSS should load before the page renders (standard link rel=”stylesheet”). Non-critical CSS can be deferred but should not cause visible layout changes.
- Font loading strategy: Use font-display: swap with size-adjusted fallback fonts to prevent layout shifts when custom fonts load.
- Position fixed elements carefully: Cookie banners and notification bars should use fixed or sticky positioning so they do not push content down.
How to Measure Your Core Web Vitals
Use these tools to check your scores:
- Google PageSpeed Insights: Provides both lab data (simulated) and field data (real user metrics). Field data is what Google uses for ranking. Test both mobile and desktop.
- Google Search Console: Core Web Vitals report shows site-wide performance with page groups rated as Good, Needs Improvement, or Poor.
- Chrome DevTools: Performance panel provides detailed breakdowns of what is causing slow loading and layout shifts.
- Web Vitals Chrome Extension: Real-time Core Web Vitals monitoring as you browse your site.
Important: always prioritise mobile scores. Google uses mobile-first indexing, meaning your mobile Core Web Vitals are what determine your ranking, even for desktop searches.
NZ-Specific Optimisation Considerations
- CDN with NZ presence: Cloudflare, AWS CloudFront, and Fastly all have edge nodes in New Zealand. Using a CDN is the single most impactful performance improvement for NZ websites hosted overseas.
- NZ/Australian hosting: If you are not using a CDN, host your site in New Zealand or Australia. The latency difference between US hosting and NZ hosting can be 150-250ms, enough to push LCP from “good” to “needs improvement.”
- Image delivery: Use a CDN-based image optimisation service (Cloudflare Polish, Imgix, or Cloudinary) to automatically serve correctly sized images in WebP format to NZ visitors.
- Mobile-first on NZ networks: Over 85% of NZ Google searches are mobile. Test your Core Web Vitals on mobile with throttled 4G network conditions to simulate real NZ mobile experiences, especially in rural areas where connections are slower.
Priority Optimisation Checklist
Work through these in order for maximum impact with minimum effort:
| Priority | Action | Affects | Effort | Impact |
|---|---|---|---|---|
| 1 | Compress and convert images to WebP | LCP | Low | High |
| 2 | Set width/height on all images | CLS | Low | High |
| 3 | Enable CDN with NZ edge nodes | LCP | Low | Very High (NZ) |
| 4 | Defer non-critical JavaScript | LCP, INP | Medium | High |
| 5 | Audit and remove unused third-party scripts | INP, LCP | Medium | High |
| 6 | Inline critical CSS | LCP, CLS | Medium | Medium |
| 7 | Implement font-display: swap | CLS | Low | Medium |
| 8 | Lazy-load below-fold images | LCP | Low | Medium |
| 9 | Reduce DOM size | INP | High | Medium |
| 10 | Preload hero image and critical fonts | LCP | Low | Medium |
Case Study: Auckland Ecommerce Store — LCP from 5.2s to 1.8s
An Auckland-based ecommerce store running on Shopify had a mobile LCP of 5.2 seconds and a CLS of 0.35. Their PageSpeed Insights mobile score was 38/100. Product pages were loading slowly and images were shifting as they loaded.
Optimisations implemented:
- Week 1: Enabled Cloudflare CDN with Auckland edge caching. TTFB dropped from 1.2s to 0.3s. Compressed and converted all product images to WebP (average image size reduced from 450KB to 85KB).
- Week 2: Added width/height attributes to all product images and collection thumbnails. Set aspect-ratio in CSS for responsive layouts. CLS dropped from 0.35 to 0.04.
- Week 3: Removed 6 unused Shopify apps that were injecting JavaScript. Deferred non-critical scripts (live chat, reviews widget) to load after page interaction. INP improved from 380ms to 120ms.
- Week 4: Preloaded hero images on key landing pages. Optimised critical CSS delivery. Implemented lazy loading for below-fold images.
Results: Mobile LCP dropped from 5.2s to 1.8s. CLS dropped from 0.35 to 0.04. PageSpeed Insights mobile score improved from 38 to 92. Mobile conversion rate increased by 22% in the following month, directly attributable to faster page loads. The store estimated an additional $8,500 NZD in monthly revenue from the speed improvements alone.
Frequently Asked Questions
How much do Core Web Vitals affect rankings?
Core Web Vitals are a confirmed ranking factor but one of many. They act as a tiebreaker between otherwise equal pages. If two pages have similar content quality and backlink profiles, the one with better Core Web Vitals will rank higher. However, excellent content with average Core Web Vitals will still outrank thin content with perfect scores. Fix Core Web Vitals as part of a comprehensive SEO strategy, not in isolation.
What PageSpeed Insights score should I aim for?
Aim for 90+ on desktop and 70+ on mobile. Mobile scores are inherently lower because of simulated throttled conditions. A score of 50-70 on mobile is common and acceptable for complex pages. Focus on getting all three Core Web Vitals into the “good” range (green) rather than chasing a perfect 100 score.
Do Core Web Vitals matter for WordPress sites?
Yes, and WordPress sites often have more Core Web Vitals challenges due to theme bloat, plugin overhead, and unoptimised image handling. Key fixes for WordPress: use a caching plugin (WP Rocket or LiteSpeed Cache), optimise images with ShortPixel or Imagify, minimise active plugins, and use a lightweight theme. Consider a NZ-based or Australian managed WordPress host for better latency.
How quickly do ranking improvements show after fixing Core Web Vitals?
Google uses field data (real user metrics) collected over a 28-day rolling window. After making improvements, it takes approximately 28 days for the new data to fully replace old data. Ranking changes typically follow within 1-2 weeks after that. Total expected timeline: 4-6 weeks from fix to ranking impact.
Should I prioritise Core Web Vitals or content creation?
If your Core Web Vitals are in the “poor” range (red), fix them first because they can prevent good content from ranking. If they are in the “needs improvement” range (orange), prioritise content creation and improve Core Web Vitals in parallel. Content quality has a larger ranking impact than Core Web Vitals, but both matter.
Free Resources to Go Deeper
- 2026 Digital Marketing Playbook — The complete strategy guide for NZ businesses, with frameworks, benchmarks, and action plans.
- 40-Point NZ Marketing Checklist — Score your current marketing and find exactly where the gaps are.
- Industry Playbooks — See how we approach marketing for different industries across New Zealand.
Fast Pages Win. Slow Pages Lose.
Core Web Vitals are not just an SEO checkbox. They represent real user experience. A page that loads in 1.8 seconds, responds instantly to clicks, and does not shift around as it loads is simply a better experience for NZ visitors. That better experience translates to higher engagement, more conversions, and better rankings.
Want to know exactly where your website stands? Request a free website performance audit from Nekki Digital. We will test your Core Web Vitals, identify the specific issues slowing your site down, and give you a prioritised fix list.
Get in touch to speed up your website and improve your rankings.
Get a Free Digital Marketing & SEO Audit
Stop guessing why your competitors are outranking you. Get a bespoke audit of your site's SEO, speed, conversion rates, and growth opportunities.
Claim Your Free Audit
Leave a Reply