• Home
  • What We Do
  • Our Work
  • eCommerce Solutions
    • Ecommerce Platforms
      • Shopify
      • Shopify plus
      • Magento eCommerce
    • Growth Opportunities
      • Klaviyo Email Marketing
      • Shopify Support and Success
      • Shopify Migration Experts
      • eCommerce Strategy
      • eCommerce SEO
      • Wholesale B2B Solutions
      • Shopify & Yotpo Loyalty Solutions
      • ERP & Shopify Integrations
      • Shopify POS Solutions
  • COMPANY
  • Contact
GET A FREE QUOTE
Alinga
logo
Phone Call Icon
logo
  • What We Do
  • Our Work
  • eCommerce Solutions
  • Company
  • Shopify Plus Partner
UNLOCK YOUR GROWTH
  • Shopify Support and Success
  • Klaviyo Email Marketing
  • eCommerce Strategy and Growth
  • Shopify Migration Experts
  • Shopify Search Engine Optimisation
  • Wholesale B2B Solutions
  • Shopify POS Solutions
GET A FREE QUOTE
  • Home
  • Shopify
  • 10 Tips To Improve Core Web Vitals on Shopify Plus
ShopifyJune 9, 2025

10 Tips To Improve Core Web Vitals on Shopify Plus

By Alinga Admin

Improving your Shopify Plus store’s Core Web Vitals can boost your site’s speed, user experience, and search rankings. Here’s a quick summary of the 10 actionable tips to help you optimise:

  1. Compress and Resize Media Files: Optimise images (JPEG, PNG, WebP, SVG) and videos (MP4) to reduce load times.
  2. Reduce JavaScript Load: Defer non-essential scripts and streamline execution for faster interactivity.
  3. Set Up Browser Caching: Cache static assets like images, CSS, and JavaScript to improve page load speed.
  4. Speed Up CSS Loading: Use critical CSS, remove unused styles, and minify files to enhance performance.
  5. Cut Server Response Time: Enable CDN caching, optimise Liquid code, and simplify data retrieval.
  6. Add Preload Settings: Preload critical resources (fonts, images) to boost loading times.
  7. Check Third-Party Apps: Audit and remove unused apps, defer non-critical app scripts, and optimise essential ones.
  8. Fix Mobile Speed: Focus on mobile-first loading, optimise images for mobile, and enhance touch interactivity.
  9. Stop Layout Shifts: Reserve space for dynamic content, stabilise fonts, and prevent unexpected layout changes.
  10. Track Performance Changes: Use tools like Google Analytics and Chrome DevTools to monitor Core Web Vitals.

Why It Matters

Failing to optimise can lead to lower search rankings, higher bounce rates, and fewer sales. By addressing these areas, you’ll create a faster, more stable shopping experience, especially for mobile users.

Key Metrics to Target:

  • LCP: Under 2.5 seconds
  • FID: Under 100ms
  • CLS: Under 0.1

Start with these steps to improve your Core Web Vitals and see better results for your Shopify Plus store.

How To Fix Shopify Core Web Vitals – Boost Shopify Core …

1. Compress and Resize Media Files

Compressing and resizing media files can improve your Largest Contentful Paint (LCP) and overall Core Web Vitals. Large media files slow down load times, so optimising images and videos is essential for faster performance and a better user experience.

Image Optimisation Tips

To optimise images, aim for a balance between quality and file size. Resize product images to fit your theme’s requirements. Use the right file format for each type of image:

  • JPEG: Ideal for product photos with lots of colours.
  • PNG: Best for logos and images with transparency.
  • WebP: A modern format offering efficient compression and quality.
  • SVG: Great for scalable icons and simple graphics.

Video Optimisation Tips

For video content, follow these steps to ensure faster loading:

  • Convert videos to MP4 (H.264) format.
  • Choose resolutions that balance quality and loading speed.
  • Compress video files to reduce size.
  • Use thumbnails instead of autoplay to minimise initial load.
  • Host larger videos on external platforms.

Other Techniques

Use the srcset attribute for responsive images, allowing devices to load the appropriate size for their screen. Additionally, reducing script loads can further enhance your Core Web Vitals scores.

2. Reduce JavaScript Load

JavaScript plays a big role in your Core Web Vitals, especially First Input Delay (FID) and Time to Interactive (TTI). Streamlining JavaScript execution is just as important as optimising media for delivering a smooth browsing experience.

Defer Non-Essential Scripts

Focus on loading critical JavaScript first and delay non-essential scripts. This helps improve FID and TTI. Adding the “defer” or “async” attributes ensures these scripts won’t block the rendering of your page:

<script defer src="non-critical-script.js"></script>
<script async src="analytics-script.js"></script>

3. Set Up Browser Caching

Caching static assets helps speed up page loads by avoiding unnecessary downloads. This improves page performance, particularly the Largest Contentful Paint (LCP) metric.

Configure Cache Headers

Shopify Plus automatically manages most caching, but you can fine-tune custom theme assets by setting proper cache-control headers. Focus on these file types:

# Cache-Control Header Examples
Cache-Control: public, max-age=31536000 # For images, fonts, and CSS
Cache-Control: public, max-age=3600 # For frequently updated JavaScript

Adjust caching durations based on how often each type of asset is likely to change.

Prioritise Asset Caching

Each asset type benefits from a specific caching strategy. Here’s a breakdown:

Asset Type Cache Duration Effect on Performance Metrics
Images 1 year Improves LCP
CSS Files 6 months Speeds up First Contentful Paint (FCP)
Fonts 1 year Prevents Flash of Unstyled Text (FOUT)
JavaScript 1 hour to 1 week Enhances First Input Delay (FID)

Implement Version Control

To ensure users always receive the latest updates, add version numbers to asset URLs. This prevents outdated files from being loaded due to caching:

<link rel="stylesheet" href="theme.css?v=1.2.3">
<script src="custom.js?v=2.0.1"></script>

Every time you update an asset, update its version number to override the cached version.

4. Speed Up CSS Loading

Improve FCP and LCP on Shopify Plus by optimising how your CSS is loaded.

Critical CSS Implementation

Place critical CSS directly in the <head> to render above-the-fold content more quickly:

<head>
  <style>
    /* Critical CSS for above-the-fold content */
    .hero-section { 
      display: flex;
      max-width: 1200px;
      margin: 0 auto;
    }
  </style>
</head>

Optimise CSS Delivery

Prioritise your CSS loading strategy to ensure faster performance:

CSS Type Loading Method Impact on Core Web Vitals
Critical Styles Inline in <head> Improves FCP
Primary Theme CSS Preload with high priority Enhances LCP
Non-critical Styles Defer loading Reduces initial payload
Print Styles Use media queries Prevents render blocking

After structuring your CSS, focus on trimming unused styles.

Remove Unused CSS

Audit your CSS to eliminate unnecessary styles:

  • Legacy theme code: Get rid of styles from outdated theme versions.
  • Unused sections: Remove CSS tied to disabled theme sections.
  • Duplicate rules: Merge redundant style definitions to simplify your code.

Minify and Combine

Reduce file size by combining and minifying CSS files:

<link rel="stylesheet" href="theme.css">
<link rel="stylesheet" href="components.css">
<link rel="stylesheet" href="utilities.css">

<link rel="stylesheet" href="theme.min.css">

Media Query Optimisation

Load CSS selectively with media queries to avoid unnecessary downloads:

/* Print styles load only when printing */
@media print {
  .navigation {
    display: none;
  }
}

/* Mobile styles load only on smaller screens */
@media (max-width: 768px) {
  .hero-section {
    flex-direction: column;
  }
}

This method ensures devices only download the CSS they need, leading to better performance overall.

5. Cut Server Response Time

Server response time plays a key role in influencing Time to First Byte (TTFB), which in turn impacts Core Web Vitals. Faster responses improve metrics like Largest Contentful Paint (LCP) and deliver a smoother user experience.

Enable CDN Caching

If your Shopify Plus store uses a Content Delivery Network (CDN), make sure it’s set up to cache static assets efficiently. Use cache-control headers to speed up asset delivery:

{
  "cache-control": "public, max-age=31536000",
  "vary": "Accept-Encoding"
}

Optimise Data Retrieval

Take a closer look at how your store retrieves data. Streamline query patterns by using indexed fields, adding pagination for large collections, or caching frequently accessed searches. These tweaks can reduce unnecessary server load and improve response times.

Streamline Liquid Code

Simplify your Liquid templates to cut down on processing time. Here’s an example:

Before:

{% for product in collection.products %}
  {% if product.available and product.price < 100 %}
    {% render 'product-card' %}
  {% endif %}
{% endfor %}

After:

{% assign available_products = collection.products | where: "available" | where: "price", "<", 100 %}
{% for product in available_products %}
  {% render 'product-card' %}
{% endfor %}

Also, evaluate how installed apps interact with these optimisations.

Monitor App Impact

Keep an eye on any new apps you install. Apps that slow down server response times may need to be removed or replaced to keep TTFB performance on track.

Configure Asset Preloading

Use resource hints to preload important assets like fonts and key images. This ensures these resources are fetched early, speeding up page load times:

<link rel="preload" href="critical-font.woff2" as="font" crossorigin>
<link rel="preload" href="hero-image.jpg" as="image">

Implement Smart Caching

Apply caching strategies wisely. Use shorter durations for dynamic content and longer durations for static assets to ease server load and improve overall performance.

sbb-itb-19747f8

6. Add Preload Settings

Speed up your Shopify Plus store’s performance by preloading critical resources. This can help improve metrics like LCP (Largest Contentful Paint) and FID (First Input Delay). Start by identifying which assets need to load immediately.

Prioritise Critical Resources

Focus on preloading the most important assets right away. Here’s how you can do it:

<!-- Hero images -->
<link rel="preload" href="hero-banner.webp" as="image">

<!-- Fonts -->
<link rel="preload" href="shopify-sans.woff2" as="font" type="font/woff2" crossorigin>

<!-- CSS -->
<link rel="preload" href="styles.css" as="style">

Use Resource Hints

Add resource hints to your theme.liquid file to improve loading times:

<!-- Preconnect to critical third-party domains -->
<link rel="preconnect" href="https://cdn.shopify.com">
<link rel="preconnect" href="https://fonts.googleapis.com">

<!-- DNS prefetch for faster lookups -->
<link rel="dns-prefetch" href="https://api.example.com">

Set Up Dynamic Preloading

Adjust preloading based on the user’s device type for better efficiency:

{% if request.device_type == 'mobile' %}
  <link rel="preload" href="{{ mobile_hero_image | img_url: '800x' }}" as="image">
{% else %}
  <link rel="preload" href="{{ desktop_hero_image | img_url: '1800x' }}" as="image">
{% endif %}

Focus on Above-the-Fold Content

Make sure the assets for the visible part of the page load first. These include:

  • Navigation menu elements
  • Hero section images
  • Call-to-action (CTA) buttons
  • Product cards in collection views

Track Preload Effectiveness

Use Chrome DevTools to evaluate how well your preloading strategy is working. Pay attention to:

  • Resources that were preloaded but not used
  • Conflicts in resource priorities
  • Bandwidth usage
  • Improvements in Core Web Vitals metrics

7. Check Third-Party Apps

Third-party apps can influence your Shopify Plus Core Web Vitals. Managing them properly can help maintain strong site performance.

Audit App Performance

Use Chrome DevTools to evaluate how each app affects your site’s load time:

// Open Performance Monitor
Command+Shift+P (Mac) or Control+Shift+P (Windows)
Type "Show Performance Monitor"

Remove Unused App Code

Review your theme.liquid file and clean up any unnecessary app-related code:

<!-- Example: Remove unused app code -->
{% if content_for_header contains 'unused-app.js' %}
  <!-- Delete this block -->
{% endif %}

Implement App Loading Strategy

Decide when and how apps should load to minimise delays:

// Defer loading of non-essential apps
document.addEventListener('DOMContentLoaded', function() {
  setTimeout(function() {
    loadChatWidget(); // Example: Load chat widget after 3 seconds
  }, 3000);
});

Optimise Essential Apps

For apps that are critical to your store’s functionality:

  • Load scripts asynchronously in the footer
  • Use caching headers to speed up repeat visits
  • Minify CSS and JavaScript associated with these apps

Monitor App Impact

Track how apps affect Core Web Vitals using a performance dashboard. Here’s a helpful table to guide your benchmarks:

Metric Target Value Acceptable App Impact
LCP (Largest Contentful Paint) < 2.5s +0.5s per app
FID (First Input Delay) < 100ms +50ms per app
CLS (Cumulative Layout Shift) < 0.1 +0.05 per app

This data helps you decide on specific rules for loading apps.

Implement App Loading Rules

Set up conditional loading for apps based on the page type to avoid unnecessary resource usage:

{% if template == 'product' %}
  <!-- Load apps specific to product pages -->
{% elsif template == 'collection' %}
  <!-- Load apps specific to collection pages -->
{% endif %}

Consider App Alternatives

Evaluate whether apps are the best solution or if there are better options:

  • Can the feature be built directly into your store?
  • Look for smaller, more efficient app alternatives
  • Use custom-built solutions for critical functionality where possible

8. Fix Mobile Speed

Mobile performance plays a critical role in improving Core Web Vitals. Follow these steps to enhance your Shopify Plus store’s mobile speed.

Focus on Mobile-First Loading

Load CSS that’s specific to mobile devices first. Here’s an example:

<!-- Load mobile-specific CSS -->
{% if request.device_type == 'mobile' %}
  {{ 'mobile-critical.css' | asset_url | stylesheet_tag }}
{% endif %}

Optimise Images for Mobile

Serve images tailored for mobile to limit unnecessary data usage:

<!-- Load responsive images -->
<img
  src="{{ product.featured_image | img_url: '400x' }}"
  srcset="{{ product.featured_image | img_url: '400x' }} 400w,
          {{ product.featured_image | img_url: '600x' }} 600w"
  sizes="(max-width: 600px) 400px,
         600px"
  loading="lazy"
  alt="{{ product.featured_image.alt }}"
>

Keep track of these mobile performance metrics for better results:

Metric Mobile Target Desktop Target Impact on Core Web Vitals
Time to First Byte < 800ms < 500ms High
First Contentful Paint < 1.8s < 1.2s Medium
Time to Interactive < 3.8s < 2.5s High
Mobile Data Usage < 1MB < 2MB Medium

Improve Touch Interactivity

Ensure buttons and links are easy to tap by optimising touch targets:

/* Adjust touch target sizes */
.button, 
.nav-link {
  min-height: 44px;
  min-width: 44px;
  padding: 12px;
  margin: 8px;
}

Enhance Mobile Navigation

Speed up navigation by lazy-loading mobile menu components:

// Lazy-load mobile menu
document.addEventListener('touchstart', () => {
  import('./mobile-menu.js').then(module => {
    module.initMobileMenu();
  });
}, { once: true });

Adjust Viewport Settings

Avoid scaling issues on mobile devices by setting proper viewport configurations:

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5">
<meta name="theme-color" content="#ffffff">

Optimise for Mobile Network Conditions

Use network-aware strategies to adjust resource loading based on connection quality:

if ('connection' in navigator) {
  if (navigator.connection.effectiveType === '4g') {
    loadHighResImages();
  } else {
    loadLowResImages();
  }
}

Improving mobile speed not only boosts your Core Web Vitals but also enhances the overall shopping experience on Shopify Plus.

9. Stop Layout Shifts

Reduce layout shifts on your site with these practical techniques:

Reserve Space for Dynamic Content

Always specify dimensions for elements that load dynamically to avoid unexpected shifts:

/* Allocate space for product images */
.product-image-container {
  aspect-ratio: 1/1;
  min-height: 400px;
  width: 100%;
}

/* Allocate space for banners */
.promotional-banner {
  min-height: 60px;
  width: 100%;
}

Stabilise Font Loading

Prevent layout changes caused by font loading delays:

<!-- Preload key fonts -->
<link 
  rel="preload" 
  href="{{ 'font-name.woff2' | asset_url }}" 
  as="font" 
  type="font/woff2" 
  crossorigin
>

<!-- Use font-display settings -->
<style>
  @font-face {
    font-family: 'CustomFont';
    font-display: swap;
    src: url('{{ "font-name.woff2" | asset_url }}') format('woff2');
  }
</style>

Manage Dynamic Elements

Ensure dynamic content behaves consistently during loading:

// Stabilise newsletter popup
document.addEventListener('DOMContentLoaded', () => {
  const popup = document.querySelector('.newsletter-popup');
  popup.style.position = 'fixed';
  popup.style.bottom = '0';
  popup.style.transform = 'translateY(100%)';
});
<div class="product-grid">
  {% if products.size > 0 %}
    {% for product in products %}
      {% render 'product-card', product: product %}
    {% endfor %}
  {% else %}
    {% render 'product-card-skeleton' %}
  {% endif %}
</div>

Optimise Product Gallery

Set proper dimensions for product images to maintain a consistent layout:

{% assign featured_image = product.featured_image %}
<div class="product-gallery" style="aspect-ratio: {{ featured_image.aspect_ratio }}">
  <img
    src="{{ featured_image | img_url: 'master' }}"
    width="{{ featured_image.width }}"
    height="{{ featured_image.height }}"
    loading="eager"
    decoding="async"
    alt="{{ featured_image.alt | escape }}"
  >
</div>

Common Layout Shift Triggers

Element Type Impact on CLS Prevention Method
Hero Images High Set fixed dimensions
Product Cards Medium Use aspect-ratio CSS
Cart Updates High Reserve space for count badge
Search Results Medium Define minimum height
Loading Spinners Low Use fixed-size containers

Consistently apply these methods to all dynamic elements, from popups to product grids, to maintain a stable layout.

Stabilise Third-Party Elements

Ensure third-party widgets don’t cause disruptions:

// Stabilise chat widget
window.addEventListener('load', () => {
  const chatWidget = document.querySelector('#chat-widget');
  chatWidget.style.position = 'fixed';
  chatWidget.style.right = '20px';
  chatWidget.style.bottom = '20px';
  chatWidget.style.width = '300px';
  chatWidget.style.height = '400px';
});

10. Track Performance Changes

Keeping an eye on Core Web Vitals is crucial for maintaining your Shopify Plus store’s performance. Once you’ve fixed performance issues, ongoing monitoring ensures your optimisation efforts stay effective.

Configure Performance Monitoring Tools

Use the web-vitals library to capture key metrics in real time:

import {onCLS, onFID, onLCP} from 'web-vitals';

function sendToAnalytics({name, value}) {
  const body = JSON.stringify({metric: name, value});
  navigator.sendBeacon('/analytics', body);
}

onCLS(sendToAnalytics);
onFID(sendToAnalytics);
onLCP(sendToAnalytics);

Create a Custom Performance Dashboard

Set up a dashboard in Google Analytics 4 to track Core Web Vitals effectively:

gtag('event', 'web_vital', {
  metric_id: 'LCP',
  metric_value: 2.5,
  metric_rating: 'good'
});

Automate Performance Monitoring

Use the Performance API to automate checks and log critical metrics:

const observer = new PerformanceObserver((list) => {
  for (const entry of list.getEntries()) {
    console.log('Performance metric:', {
      name: entry.name,
      value: entry.value,
      timestamp: new Date().toISOString()
    });
  }
});

observer.observe({entryTypes: ['largest-contentful-paint']});

Key Performance Metrics

Metric Ideal Score
LCP Under 2.5 seconds
FID Under 100 ms
CLS Under 0.1
TTFB Under 0.8 seconds
FCP Under 1.8 seconds

Implement Real User Monitoring

Track real user data by measuring navigation performance:

document.addEventListener('DOMContentLoaded', () => {
  const navigationEntry = performance.getEntriesByType('navigation')[0];
  const timing = {
    dns: navigationEntry.domainLookupEnd - navigationEntry.domainLookupStart,
    tcp: navigationEntry.connectEnd - navigationEntry.connectStart,
    ttfb: navigationEntry.responseStart - navigationEntry.requestStart,
    download: navigationEntry.responseEnd - navigationEntry.responseStart,
    domInteractive: navigationEntry.domInteractive,
    domComplete: navigationEntry.domComplete
  };

  // Send timing data for analysis
  sendToAnalytics({name: 'performance', value: timing});
});

Set Performance Budgets

Define performance limits during the build process to avoid regressions:

{
  "performance-budget": {
    "javascript": {
      "total": "200 kB",
      "warning": "150 kB"
    },
    "images": {
      "total": "500 kB",
      "warning": "400 kB"
    },
    "third-party": {
      "total": "300 kB",
      "warning": "250 kB"
    }
  }
}

Monitor Third-Party Scripts

Evaluate the impact of external scripts on your store’s performance:

performance.getEntriesByType('resource').forEach((resource) => {
  if (resource.initiatorType === 'script') {
    console.log({
      url: resource.name,
      duration: resource.duration,
      size: resource.encodedBodySize,
      timing: {
        dns: resource.domainLookupEnd - resource.domainLookupStart,
        tcp: resource.connectEnd - resource.connectStart,
        download: resource.responseEnd - resource.responseStart
      }
    });
  }
});

Regularly tracking these metrics ensures your store stays optimised over time. Use automated alerts to catch any performance dips early.

Conclusion

Every optimisation strategy shared here plays a role in improving your site’s performance. By refining Core Web Vitals on Shopify Plus, you can significantly improve the shopping experience for your users. Prioritising metrics like LCP, FID, and CLS helps create a store that not only attracts organic traffic but also converts visitors into customers.

Consistent monitoring is key to maintaining strong performance. Regular audits, smart resource management, and reviewing third-party scripts ensure your store continues to run smoothly and efficiently. These efforts provide a solid base for building meaningful partnerships.

For expert assistance, consider working with professionals like Alinga. As a certified Shopify Plus Partner with two decades of eCommerce experience, Alinga specialises in creating high-performing, conversion-focused online stores. Their proven methods have helped numerous Australian businesses achieve better results. Let’s explore how Alinga can transform your Shopify platform into an effective sales tool, get in touch with us right away!

Related posts

  • 5 Common Shopify SEO Mistakes and How to Fix Them
  • 7 Ways to Boost Shopify Store Loading Speed
  • Ultimate Guide to Shopify Plus Custom Development
  • 10 Mobile Optimisation Tips for Shopify Plus

core web vitals, improve site speed, page speed Shopify, Shopify Plus performance, Shopify Plus tips, Shopify SEO
Previous How to Track Mobile SEO on Shopify Plus
   

Related Posts

The Ultimate SEO Guide to Optimise Your Shopify Website

August 4, 2023

Torqit: Shopifys Step Towards Innovation In Automation

December 17, 2018

How to Make More Sales with Shopify?

April 5, 2020

6 Reasons Why Migrating To Shopify Plus Is An Advantage

September 10, 2018
Group-1-copy
Overall 4.9 out of 5.0 client rating. 310+ clients on over 2500+ projects. view our work.
  • About Alinga

    We are a extremely talented, professional and incredibly knowledgeable team that produces high converting web solutions for growth businesses.

    Alinga - Shopify Expert Gold-Klaviyo-Master-White Yotpo-Winners-Badge
  • Business Solutions

    • COMPANY
    • WHAT WE DO
    • OUR WORK
    • CONTACT
    • BLOG
    • WEB DESIGN
    • SHOPIFY ECOMMERCE
    • SHOPIFY PLUS
    • MAGENTO ECOMMERCE
    • SHOPIFY SEO
    • ERP > SHOPIFY INTEGRATION
    • WHOLESALE B2B SOLUTIONS
    • SHOPIFY POS
    • SHOPIFY MIGRATION EXPERTS
    • KLAVIYO EMAIL MARKETING
© 2025 Alinga Web Media Design Pty Ltd. All rights reserved.
  • What We Do
  • Our Work
  • eCommerce Solutions
  • Company
  • Shopify Plus Partner