TL;DR — Quick Summary
Shopify Plus and standard Shopify share identical infrastructure — base speed is the same. Plus's performance advantages come from exclusive features: 1) checkout.liquid access — remove marketing scripts from checkout, preload payment SDKs on cart page, streamline checkout DOM (the single highest-conversion optimization). 2) Hydrogen/Oxygen — headless React storefronts with streaming SSR, edge caching for sub-100ms TTFB, and full rendering control. 3) Script Editor — replace heavyweight discount/shipping apps with lightweight Shopify Scripts (eliminate 100–500KB of JavaScript per replaced app). 4) Enterprise app management — profile 20–40+ apps individually, implement facade patterns for heavy widgets, set performance budgets. Quick wins: Remove ALL marketing scripts from checkout.liquid. Preload Stripe/PayPal SDKs on the cart page. Profile apps and remove the bottom 30%. Replace discount apps with Script Editor. Set performance budgets: < 300KB JS, < 2MB page weight, < 200ms INP. Monitor CrUX field data weekly.
Key Takeaways
- ✓Shopify Plus and standard Shopify share the same infrastructure — upgrading to Plus for speed alone is rarely justified. Optimize your current plan first.
- ✓checkout.liquid access is the most valuable Plus performance feature — removing marketing scripts and preloading payment SDKs can improve checkout completion by 15–25%.
- ✓Hydrogen (React) and Oxygen (edge hosting) enable sub-100ms TTFB globally with streaming SSR and edge caching — but require a development team to maintain.
- ✓Script Editor can replace heavyweight third-party discount, shipping, and payment customization apps with lightweight Shopify Scripts, eliminating 100–500KB of JavaScript per app.
- ✓Enterprise Shopify Plus stores average 20–40+ apps — systematic profiling and removal of the worst offenders typically saves 2–5 seconds of load time.
- ✓Shopify Functions (the successor to Script Editor) run server-side at the edge, adding zero client-side JavaScript — the future of Plus performance optimization.
- ✓Core Web Vitals field data (CrUX) determines ranking impact — enterprise stores need weekly monitoring across product, collection, and checkout page types.
Shopify Plus vs. Standard: What Actually Differs for Speed
Before diving into Plus-specific optimization, it's critical to understand what Plus does and doesn't change for performance.
What is identical (same on standard and Plus):
- •CDN infrastructure (Shopify's global CDN serves all plans)
- •Liquid rendering engine (same template processing speed)
- •Theme architecture (Dawn and all themes work identically)
- •Image CDN and automatic WebP/AVIF conversion
- •Server-side caching behavior
- •App loading mechanism (apps inject scripts the same way)
What Plus adds for performance:
- •checkout.liquid: Direct access to modify the checkout page template — the most revenue-critical page. Standard Shopify merchants cannot touch checkout rendering.
- •Hydrogen/Oxygen: Build a headless React storefront hosted on Shopify's edge infrastructure. Full control over rendering, caching, and JavaScript.
- •Script Editor / Shopify Scripts: Replace heavyweight third-party apps for discounts, shipping rules, and payment customization with lightweight server-side scripts that add zero client-side JavaScript.
- •Shopify Flow: Server-side automation (email triggers, inventory management, fraud flagging) without client-side scripts.
- •Shopify Functions: The next-generation replacement for Script Editor — runs at the edge with even better performance.
- •Higher API rate limits: More headroom for headless builds and integrations.
- •Launchpad: Schedule flash sales and campaigns without adding marketing app scripts.
Bottom line: If your store is slow on standard Shopify, upgrading to Plus won't fix it — the same theme and app issues exist on both plans. Plus gives you additional tools to optimize further, especially checkout and headless architecture. Read our standard Shopify speed guide first — every technique there applies to Plus.
Step 1: Optimize checkout.liquid for Maximum Conversion
checkout.liquid is the single most valuable performance feature of Shopify Plus. It gives you direct access to the checkout page template — the page where speed has the most measurable revenue impact.
Why checkout speed matters more than any other page: A visitor on your checkout page has already decided to buy. Every second of delay is friction against a completed purchase. Research shows that checkout pages loading in 1 second convert at 2x the rate of pages loading in 3 seconds. For an enterprise store doing $5M/month, a 1-second checkout improvement can mean $500K–$1M in additional annual revenue.
Step 1a: Remove ALL marketing scripts from checkout: Marketing scripts belong on product and collection pages, NOT on checkout:
- •Remove chat widgets (Intercom, Gorgias chat, Tidio)
- •Remove social proof popups ("X people bought this")
- •Remove exit-intent popups (counterproductive on checkout)
- •Remove heatmap/session recording (Hotjar, Lucky Orange)
- •Remove retargeting pixels from checkout (fire them on the thank-you page instead)
- •Keep ONLY: payment SDKs, fraud detection (required), conversion tracking (GA4), and tax/shipping calculators
Step 1b: Preload payment gateway SDKs: Payment SDKs (Stripe.js, PayPal SDK, Braintree, Apple Pay) are the heaviest scripts on checkout. Preload them on the cart page so they're cached when the visitor reaches checkout:
<link rel="preload" as="script" href="https://js.stripe.com/v3/" crossorigin>
<link rel="modulepreload" href="https://www.paypal.com/sdk/js?client-id=YOUR_ID">Step 1c: Streamline checkout DOM:
- •Remove unnecessary checkout UI elements that add rendering weight
- •Minimize custom CSS (inline only critical checkout styles)
- •Defer non-essential JavaScript to after the page is interactive
- •Optimize custom shipping rate displays to use minimal JavaScript
Step 1d: Lightweight checkout upsells: If you use checkout upsells (a common Plus feature), ensure they use minimal JavaScript — no heavy app scripts. Build custom upsell logic directly in checkout.liquid using Liquid variables and lightweight vanilla JavaScript instead of third-party upsell apps.
Impact measurement: Track checkout page load time alongside checkout completion rate (conversion rate). Use Shopify's checkout analytics to isolate the impact. A 1-second improvement typically improves completion rates by 10–15%.
Step 2: Hydrogen/Oxygen Headless Performance
Hydrogen is Shopify's React-based framework for headless storefronts, hosted on Oxygen (Shopify's edge infrastructure). It offers the highest performance ceiling of any Shopify architecture — but requires a development team to build and maintain.
When Hydrogen makes sense:
- •Your store needs heavily personalized, interactive experiences that Liquid can't efficiently deliver
- •You serve global audiences and need edge-rendered pages (sub-100ms TTFB worldwide)
- •You have React developers capable of maintaining a custom frontend
- •You want to use modern performance techniques: React Server Components, streaming SSR, Islands Architecture
- •Your Liquid theme can't pass CWV despite optimization (rare, but happens with extremely complex stores)
When Hydrogen is NOT worth it:
- •Your Liquid theme can be optimized to pass CWV (most can)
- •You don't have frontend developers to maintain a custom React build
- •Your store's complexity doesn't justify the migration cost
- •You're primarily a B2B store with simple browsing patterns
Streaming SSR best practices: Hydrogen supports React 18 streaming SSR with Suspense boundaries:
- •Stream the page shell immediately (header, layout, above-fold structure)
- •Wrap data-dependent sections in Suspense boundaries for progressive loading
- •Use `defer` in route loaders for non-critical data (related products, reviews)
- •Implement meaningful loading skeletons as Suspense fallbacks (not spinners)
- •Result: Time to First Byte under 100ms, full page interactive in 1–2 seconds
Edge caching on Oxygen: Oxygen provides edge caching via cache-control headers. Recommended cache strategy:
- •Product pages: `public, max-age=3600, stale-while-revalidate=86400` (1 hour cache, serve stale for 24 hours while revalidating)
- •Collection pages: `public, max-age=1800, stale-while-revalidate=3600` (30 min cache)
- •Homepage: `public, max-age=900, stale-while-revalidate=3600` (15 min cache)
- •Cart/checkout: `private, no-cache` (always dynamic)
- •Static assets: `public, max-age=31536000, immutable` (1 year, versioned)
Bundle optimization (critical for Hydrogen): React bundle size is the biggest client-side performance risk in Hydrogen:
- •Code-split by route — each page loads only its own code
- •Tree-shake unused Hydrogen components and utilities
- •Lazy-load below-fold sections with `React.lazy()` and Suspense
- •Monitor bundle size with Hydrogen's built-in analyzer: target < 100KB gzipped per route
- •Avoid importing large libraries (moment.js, lodash) — use native alternatives
- •Use Shopify's `@shopify/hydrogen` components instead of third-party React UI libraries
Storefront API query optimization:
- •Request only the fields you need in GraphQL queries (don't fetch entire product objects for a thumbnail grid)
- •Use Storefront API pagination for large collections
- •Implement query caching with SWR or React Query's `stale-while-revalidate`
- •Batch related queries to reduce round-trips
- •Use Shopify's `unstable_analytics` for lightweight analytics without third-party scripts
Step 3: Replace Apps with Script Editor and Shopify Functions
Script Editor (and its successor, Shopify Functions) is one of the most underutilized performance features of Shopify Plus. It allows you to replace heavyweight third-party apps — which inject 100–500KB of JavaScript each — with lightweight server-side scripts that add zero client-side JavaScript.
What Script Editor can replace:
- •Discount apps (Bold Discounts, Automatic Discount, etc.): Replace with Shopify Scripts that apply discount logic server-side. Eliminates the app's JavaScript entirely.
- •Shipping rule apps (ShipperHQ, Better Shipping): Custom shipping rate calculations via scripts instead of app JavaScript.
- •Payment customization apps: Hide/reorder payment methods based on cart contents, customer tags, or geography — without app scripts.
- •Line item property apps: Add gift wrapping, engraving, or custom options via scripts instead of heavyweight apps.
Shopify Functions (the future): Shopify Functions are the next-generation replacement for Script Editor. Key advantages:
- •Run on Shopify's edge infrastructure (even faster than Script Editor)
- •Written in Rust/WASM for maximum performance
- •Support more extension points: discounts, shipping, payment customization, cart transforms, and fulfillment constraints
- •Add absolutely zero client-side JavaScript
- •Can be distributed as apps (useful for agencies managing multiple stores)
Migration priority (highest JavaScript savings first):
- 1Discount/pricing apps → Shopify Scripts or Discount Functions
- 2Shipping rule apps → Delivery Customization Functions
- 3Payment display apps → Payment Customization Functions
- 4Cart modification apps → Cart Transform Functions
Impact: Each replaced app eliminates 100–500KB of JavaScript from EVERY page load. Replacing 3–4 apps with Scripts/Functions can save 500KB–2MB of JavaScript site-wide — dramatically improving INP and LCP.
Step 4: Enterprise App Profiling and Management
Enterprise Shopify Plus stores typically have 20–40+ apps installed. The compound JavaScript impact of this many apps is the single biggest performance problem at the enterprise level — far outweighing theme optimization.
Systematic app profiling methodology:
- 1Open Chrome DevTools → Network tab → filter by 'JS'
- 2Record the total JavaScript size and number of requests on a product page
- 3In Shopify admin, disable ONE app
- 4Hard refresh the storefront (Ctrl+Shift+R) and record new totals
- 5Re-enable that app, disable the next one
- 6Create a spreadsheet: App name | JS size (KB) | Load time impact (ms) | Monthly cost | Business value (1–10) | Can replace with Script? | Can defer?
- 7Calculate JS-per-dollar and value-per-ms ratios
Common enterprise app categories and optimization:
- •Review apps (Yotpo, Judge.me, Loox, Stamped): 200–500KB. Use facade pattern — show a static star rating on page load, lazy-load the full review widget on scroll or click.
- •Loyalty programs (Smile.io, LoyaltyLion, Yotpo Loyalty): 200–400KB. Defer to post-page-load. The loyalty widget doesn't need to render in first paint.
- •Personalization/recommendation (Nosto, Rebuy, LimeSpot): 100–400KB. Defer below-fold recommendations. Use facade patterns for recommendation carousels.
- •Live chat (Gorgias, Intercom, Tidio): 300KB–1MB. Implement click-to-load: show a static chat icon, load the full widget only when clicked.
- •Analytics beyond GA4 (Hotjar, Lucky Orange, Heap, Amplitude): 200–500KB. Run on 10–20% sample of sessions, not site-wide. Limit to specific page types.
- •Subscription apps (Recharge, Bold Subscriptions): 100–300KB. Ensure scripts load only on product pages with subscription options, not site-wide.
- •Upsell/cross-sell (Bold Upsell, ReConvert, Zipify): 100–300KB. Evaluate conversion lift vs. speed cost. Test with and without for 2 weeks.
Facade pattern implementation: For heavy widgets (reviews, chat, loyalty), show a lightweight placeholder that loads the full widget only on user interaction:
- 1Create a static HTML/CSS placeholder that matches the widget's appearance
- 2Load the actual widget JavaScript only when the user clicks, scrolls to, or hovers over the placeholder
- 3This saves hundreds of KB of JavaScript on initial page load while preserving the functionality
Performance budgets for enterprise stores: Set per-app JavaScript budgets and review quarterly:
- •Total JavaScript budget: < 300KB gzipped per page
- •Per-app maximum: < 50KB gzipped (exceptions must be justified)
- •New app installation: Must not increase LCP by >200ms or INP by >50ms
- •Quarterly review: Remove bottom 20% (highest JS cost, lowest business value)
Struggling with Shopify Plus speed?
Our team optimizes Shopify Plus sites for real-world results. Request an audit.
Step 5: Pass Core Web Vitals at Enterprise Scale
Enterprise Shopify Plus stores face unique Core Web Vitals challenges due to app volume, checkout complexity, and catalog size.
Fixing LCP (target: ≤ 2.5s): Enterprise LCP issues compound standard Shopify LCP problems:
- 1App script blocking: More apps = more render-blocking JavaScript before the LCP image can load. Defer ALL app scripts using `defer` or dynamic injection.
- 2Hero image optimization: Use Shopify's image CDN with `width` parameter for exact sizing. Preload with `fetchpriority="high"`.
- 3Liquid template efficiency: Enterprise themes often have complex Liquid logic. Profile with Shopify's Theme Inspector to find slow Liquid blocks.
- 4Third-party tag managers: GTM containers on enterprise stores often contain 15+ tags. Audit and remove inactive tags.
Fixing INP (target: ≤ 200ms): Enterprise INP is almost always an app problem:
- •Profile main-thread Long Tasks in Chrome DevTools Performance tab
- •Identify which app scripts execute during user interactions (clicks on filters, variant selectors, add-to-cart)
- •Replace interactive app functionality with Script Editor where possible (server-side = zero INP impact)
- •Implement `scheduler.yield()` or `setTimeout` to break Long Tasks in custom theme JavaScript
- •Use facade patterns for heavy widgets (lazy-load on interaction instead of page load)
Fixing CLS (target: ≤ 0.1): Enterprise CLS challenges:
- •App-injected content: Review widgets, loyalty banners, recommendation carousels injected after page load cause layout shifts. Reserve space with CSS `min-height` on their containers.
- •A/B testing tools: Optimizely, VWO, and Dynamic Yield can cause significant CLS when they modify page content after load. Use server-side testing where possible.
- •Multi-currency/language: Price and text changes after JavaScript determines the visitor's locale cause shifts. Pre-render the correct locale server-side.
- •Promotional banners: Announcement bars that inject after page load push content down. Either render them server-side in Liquid or reserve their height in CSS.
Monitoring at scale: Enterprise stores need more rigorous monitoring than standard stores:
- •Weekly: Check Google Search Console CWV report — filter by page type (product, collection, homepage, checkout)
- •Per deployment: Run Lighthouse CI in your deployment pipeline — fail the build if scores drop below thresholds
- •Real User Monitoring (RUM): Implement web-vitals library to capture field data from every visitor, segmented by device, geography, and page type
- •App installation protocol: Before installing ANY new app, benchmark CWV on 3 page types. Install. Re-benchmark. If metrics degrade beyond budgets, remove the app.
Shopify Flow for Server-Side Performance
Shopify Flow is an automation tool exclusive to Shopify Plus that runs entirely server-side — adding zero client-side JavaScript. Many tasks that enterprise stores handle with heavyweight apps can be moved to Flow.
Performance-relevant Flow automations:
- •Inventory management: Auto-hide out-of-stock products, reorder notifications, variant management — replaces inventory apps that add JavaScript.
- •Customer tagging: Automatically tag customers based on purchase behavior, enabling personalization via Liquid `customer.tags` instead of JavaScript personalization apps.
- •Fraud flagging: Auto-cancel high-risk orders, flag suspicious activity — replaces fraud detection apps that add checkout JavaScript.
- •Email triggers: Order confirmation, shipping notifications, review requests — replaces email app scripts that load on every page.
- •Loyalty actions: Award points, update tiers, send reward notifications — can reduce reliance on loyalty app JavaScript.
Impact: Each task moved from a client-side app to Flow eliminates that app's JavaScript from the storefront entirely. Flow automations run on Shopify's servers, not in the visitor's browser.
Flow + Functions combination: The most powerful Plus performance pattern combines Flow (automation triggers) with Functions (server-side logic) — creating complex e-commerce behavior with absolutely zero client-side JavaScript overhead.
Multi-Store and International Performance
Enterprise Shopify Plus merchants often operate multiple storefronts: different brands, markets, or languages. Each adds performance considerations.
Shopify Markets (multi-currency/language):
- •JavaScript-based currency/language switching adds weight and causes CLS (price flickers)
- •Use Shopify Markets' server-side rendering: configure markets properly so the correct currency/language is served in the initial HTML
- •Avoid client-side currency conversion apps — they add JavaScript AND cause layout shifts
- •Set up proper hreflang tags for SEO (Shopify Markets handles this automatically)
Multi-store architecture:
- •Share optimized theme code across stores using theme kits or CI/CD
- •Maintain consistent performance budgets across all storefronts
- •Use the same app audit methodology for each store — different teams often install different apps
- •Monitor CWV per-store in Search Console (each domain has its own CrUX data)
Global CDN performance:
- •Shopify's CDN serves all markets, but TTFB varies by geography. Hydrogen/Oxygen's edge rendering provides the most consistent global TTFB.
- •For Liquid stores: verify your theme handles international font loading efficiently (CJK fonts can add 2–5MB if not subset properly)
- •Test from multiple geographies using WebPageTest's location feature
Migrating from Liquid to Hydrogen: When and How
The decision to migrate from a Liquid theme to Hydrogen is the biggest architectural choice for Shopify Plus merchants. It's not always the right choice.
Migrate when:
- •Your Liquid theme can't pass CWV despite thorough optimization (rare, but happens with extremely complex customizations)
- •You need sub-100ms global TTFB (Hydrogen on Oxygen achieves this; Liquid cannot)
- •You need complex interactive experiences that Liquid's server-rendered model can't efficiently deliver
- •You have 2+ React developers available for ongoing maintenance
- •Your store's revenue justifies the 3–6 month migration investment
Don't migrate when:
- •Your Liquid theme can be optimized to pass CWV (start with our standard Shopify guide)
- •You don't have React developers to maintain the build
- •Your store is straightforward (standard product pages, simple navigation)
- •The migration timeline conflicts with critical business periods (Black Friday, holiday season)
Migration performance checklist:
- 1Benchmark current Liquid store performance (LCP, INP, CLS, TTFB) across all page types
- 2Set target performance metrics for the Hydrogen build
- 3Implement streaming SSR with Suspense boundaries from day one
- 4Configure edge caching on Oxygen before launch
- 5Optimize Storefront API queries (request only needed fields)
- 6Set up bundle analysis and performance budgets in CI/CD
- 7Test with real user data (RUM) in staging before launch
- 8Plan a phased rollout (product pages first, then collections, then checkout)
Hybrid approach: Some enterprise merchants use Hydrogen for specific high-traffic pages (homepage, landing pages, product pages) while keeping Liquid for less-trafficked pages (policies, blog). Shopify supports this through custom routing on Oxygen.
Ongoing Enterprise Performance Management
Enterprise Shopify Plus stores accumulate speed debt faster than smaller stores — more teams installing apps, more marketing scripts, more integrations, and more complex campaigns.
Weekly (10 minutes):
- •Check Google Search Console CWV report — filter by page type
- •Review Shopify's Web Performance Dashboard for score changes
- •Check for any new apps installed by team members
Monthly (1 hour):
- •Full app audit: review every installed app's JavaScript weight and business value
- •Check for new scripts in theme.liquid, checkout.liquid, and any snippet files
- •Verify Script Editor/Functions scripts are executing correctly
- •Review conversion rate trends correlated with any performance changes
- •Test top 5 revenue pages in PageSpeed Insights
Quarterly (4–6 hours):
- •Comprehensive app-by-app JavaScript profiling (disable each, measure impact)
- •Theme audit: review Liquid template efficiency with Theme Inspector
- •Script Editor/Functions review: identify new apps that could be replaced
- •Competitive speed benchmarking against top 3 enterprise competitors
- •Performance budget review and adjustment
- •Team training: ensure marketing, merchandising, and development teams understand speed impact of their changes
Performance budgets for enterprise:
- •Total page weight: < 2MB (product pages), < 1.5MB (collection pages)
- •Total JavaScript: < 300KB gzipped per page
- •Per-app JavaScript: < 50KB gzipped (exceptions require approval)
- •TTFB: < 400ms (Liquid), < 100ms (Hydrogen)
- •LCP: < 2.5s (field data, 75th percentile)
- •INP: < 200ms
- •CLS: < 0.1
- •New app installation: Must pass performance review before production deployment
Governance: Assign a performance owner (usually a senior developer or tech lead) who approves all app installations, script additions, and theme modifications. Without governance, enterprise stores regress to poor performance within 3–6 months.
Thresholds & Benchmarks
| Metric | Good | Needs Improvement | Poor |
|---|---|---|---|
| TTFB (Liquid theme) | < 400ms | 400–800ms | > 800ms |
| TTFB (Hydrogen/Oxygen) | < 100ms | 100–300ms | > 300ms |
| Mobile Lighthouse Score | 75+ | 40–74 | Below 40 |
| LCP (Largest Contentful Paint) | ≤ 2.5s | 2.5–4.0s | > 4.0s |
| INP (Interaction to Next Paint) | ≤ 200ms | 200–500ms | > 500ms |
| CLS (Cumulative Layout Shift) | ≤ 0.1 | 0.1–0.25 | > 0.25 |
| Total JavaScript (per page) | < 300KB | 300–600KB | > 600KB |
| Checkout Page Load Time | < 2s | 2–4s | > 4s |
Key Measurement Tools
CrUX field data + Lighthouse lab data. Test product pages, collection pages, AND checkout separately — enterprise stores often pass CWV on product pages but fail on checkout due to payment/fraud scripts.
CWV report groups pages by URL template. Enterprise stores with thousands of products need this to identify which page types are failing. Monitor weekly — app updates can cause regressions.
Shopify's built-in performance dashboard shows Lighthouse scores, CWV data, and app impact across your store. Available in Shopify admin under Online Store → Themes → Speed.
Performance tab for main-thread profiling (identify Long Tasks from apps), Network tab for waterfall analysis, Coverage tab for unused JS/CSS. Essential for app-by-app profiling.
Multi-step transaction testing: homepage → collection → product → cart → checkout. Critical for enterprise stores to identify where in the shopping journey speed degrades. Filmstrip comparison shows exact timing.
For Hydrogen storefronts: built-in bundle analyzer shows JavaScript weight per route. Target < 100KB gzipped per page. Identifies unused imports and oversized dependencies.
Looking for speed help?
Step-by-Step Optimization Guide
Audit checkout.liquid
Remove ALL marketing scripts from checkout.liquid (chat, popups, heatmaps, social proof, retargeting pixels). Keep only payment SDKs, fraud detection, GA4 conversion tracking, and tax/shipping. Preload payment gateway scripts on the cart page using <link rel='preload'>.
Profile and reduce apps
Create a spreadsheet of all installed apps. Disable each one individually, measure JavaScript size and load time impact. Calculate JS-per-dollar and value-per-ms ratios. Remove the bottom 30% (highest cost, lowest value). Target: eliminate 500KB+ of total JavaScript.
Replace apps with Script Editor/Functions
Identify apps handling discounts, shipping rules, and payment customization. Replace with Shopify Scripts (Script Editor) or Shopify Functions. Each replaced app eliminates 100–500KB of client-side JavaScript. Priority: discount apps first (most JavaScript savings).
Implement facade patterns
For remaining heavy apps (reviews, chat, loyalty), implement facades: show lightweight static placeholders on page load, load full widget JavaScript only on user interaction (click, scroll-to, hover). Saves 200–1MB of JavaScript on initial page load.
Optimize theme and images
Follow the standard Shopify speed guide for theme optimization: critical CSS inlining, JavaScript deferral, image optimization (WebP, responsive srcset, LCP preloading). Use Shopify's Theme Inspector to profile slow Liquid blocks. Ensure Dawn 2.0+ patterns.
Set up Flow automations
Move server-side tasks from client-side apps to Shopify Flow: inventory management, customer tagging, email triggers, fraud flagging. Each task moved from an app to Flow eliminates that app's JavaScript from the storefront.
Pass Core Web Vitals
LCP: preload hero images, defer all app scripts, inline critical CSS. INP: replace interactive app functionality with Functions (server-side), break Long Tasks, implement facades. CLS: reserve space for app-injected content, avoid client-side currency switching. Monitor CrUX weekly.
Establish performance governance
Set performance budgets (< 300KB JS, < 2MB weight, < 200ms INP). Require performance review for all new app installations. Assign a performance owner. Run quarterly comprehensive audits. Train marketing/merchandising teams on speed impact of their changes.
Want us to handle these optimizations?
Request an audit for your Shopify Plus site and see results in days, not months.
Real-World Case Studies

Health & Wellness | < 50 Employees
How We Helped Her Fantasy Box Improve Site Speed by 300% and Pass Core Web Vitals
Read Case Study
Lifestyle & Apparel | < 10 Employees
Theme & App Script Optimization for Shopify Core Web Vitals
Read Case Study
Home Furnishings | < 10 Employees
How We Helped Pure Parima Improve Site Speed and Pass Core Web Vitals
Read Case StudyShopify Plus in 2026: Updates & Future Trends
Shopify Plus Speed Optimization in 2026 and Beyond
Shopify is investing heavily in performance as a competitive advantage for Plus merchants:
Shopify Functions expansion: Functions are replacing Script Editor with more extension points, better performance (Rust/WASM), and broader capabilities. Delivery Customization, Payment Customization, Cart Transform, and Discount Functions are all GA. Upcoming: Fulfillment Constraint Functions, Validation Functions, and more. Each Function type eliminates another category of client-side app JavaScript.
Hydrogen 2.0 and React Server Components: Hydrogen is adopting React Server Components for even less client-side JavaScript. Server Components render entirely on the server — zero JavaScript sent to the browser for those components. This can reduce client-side JS by 50–80% for data-heavy pages.
Checkout extensibility (replacing checkout.liquid): Shopify is transitioning from checkout.liquid to Checkout UI Extensions — a more structured, performant API for checkout customization. Extensions run in a sandboxed environment with performance guarantees, preventing the 'script soup' that checkout.liquid can become.
Web Pixels API: Shopify's Web Pixels replace traditional tracking scripts with a sandboxed, performance-controlled analytics system. Pixels run in a web worker (off the main thread), eliminating INP impact from analytics scripts.
Speculation Rules API: Shopify is implementing browser-native prefetching for navigation links, making page-to-page navigation feel instant. Combined with Hydrogen's edge rendering, this creates sub-second perceived navigation.
Edge-side personalization: Shopify's infrastructure is moving toward edge-computed personalization — product recommendations, pricing, and content personalization computed at the CDN edge rather than via client-side JavaScript apps. This eliminates the JavaScript overhead of personalization while maintaining dynamic experiences.
AI-driven performance optimization: Shopify is developing ML-powered performance tools that automatically identify optimization opportunities, predict the impact of app installations, and suggest Script/Function replacements for heavy apps.
Need help with Shopify Plus speed?
Our team specializes in Shopify Plus performance optimization. Request an audit and see exactly how much faster your site could be.
