Wix LCP Optimization | Blue Frog Docs

Wix LCP Optimization

Fix slow Largest Contentful Paint (LCP) on Wix websites with platform-specific solutions.

Wix LCP (Largest Contentful Paint) Optimization

Largest Contentful Paint (LCP) measures how quickly the largest content element becomes visible. Good LCP should be under 2.5 seconds. This guide covers Wix-specific strategies to improve LCP.

Understanding LCP on Wix

What is LCP?

LCP marks when the largest visible element (image, video, or text block) is rendered. On most Wix sites, this is:

  • Hero section image or video
  • Large product image
  • Banner graphic
  • Main content area

Wix-Specific LCP Challenges

  1. Heavy platform JavaScript - Wix loads ~500KB+ of framework code before content
  2. Render-blocking resources - Wix's architecture delays content painting
  3. Large hero images - Default Wix templates often use oversized images
  4. Third-party apps - Popular apps add significant overhead
  5. Limited code control - Cannot optimize critical rendering path completely

Target LCP Scores

Score Rating User Experience
0-2.5s Good ✅ Fast loading
2.5-4.0s Needs Improvement ⚠️ Acceptable but improvable
4.0s+ Poor ❌ Slow, frustrating

Diagnosing LCP Issues

1. Measure Current LCP

PageSpeed Insights:

  1. Visit PageSpeed Insights
  2. Enter your Wix URL
  3. Check "Largest Contentful Paint" metric
  4. Note: Test both mobile and desktop

Chrome DevTools:

  1. Open DevTools (F12)
  2. Lighthouse tab → Generate report
  3. Find LCP under "Metrics"
  4. Expand for element details

2. Identify LCP Element

In PageSpeed Insights:

  • Scroll to "Diagnostics" section
  • Look for "Largest Contentful Paint element"
  • Shows which element is causing slow LCP

Common LCP elements on Wix:

  • <img> - Hero section images
  • <video> - Background videos
  • <div> - Large text blocks (if no images load quickly)

3. Analyze Filmstrip

The filmstrip shows when LCP element appears:

  • If LCP appears late (3+ seconds), priority optimization needed
  • Check what loads before LCP (unnecessary resources?)

Wix Platform Optimizations

1. Enable Wix Turbo (Priority #1)

Wix Turbo is a performance optimization feature that significantly improves LCP.

How to enable:

  1. Wix DashboardSettingsSite Performance
  2. Toggle Wix Turbo to ON
  3. Publish your site

Requirements:

  • Premium Wix plan or higher
  • Not available on free plans

Impact: Can improve LCP by 30-50%

Limitations:

  • May conflict with some third-party apps
  • Test thoroughly after enabling
  • Monitor analytics for issues

2. Optimize Wix Site Settings

Reduce site width (if appropriate):

  • Dashboard → DesignSite Width
  • Narrower sites load faster (less content to render)
  • Consider 980px-1200px vs full-width

Disable unnecessary features:

  • Dashboard → SettingsAdvanced
  • Disable unused Wix apps
  • Remove inactive marketing integrations

Image Optimization

1. Optimize Hero Images

The hero image is typically the LCP element.

Best practices:

  1. Correct dimensions - Don't upload 4K images for 1920px display

    • Desktop hero: 1920px width max
    • Mobile hero: 750px width max
  2. Use appropriate formats:

    • WebP - Best compression (supported by Wix)
    • JPEG - For photos (80-85% quality)
    • PNG - Only for graphics requiring transparency
  3. Compress before upload:

    • Use TinyPNG or Squoosh
    • Target: < 200KB for hero images
    • < 100KB even better

How to replace hero image:

  1. Editor → Click hero section
  2. Change Image → Upload optimized version
  3. Ensure image is not cropped excessively (wastes bandwidth)

2. Enable Wix's Built-in Optimization

Image optimization in Media Manager:

  1. Dashboard → Media Manager
  2. Select image → Settings (gear icon)
  3. Enable Lazy loading for below-fold images
  4. Disable lazy loading for LCP image (hero)

Important: The LCP element should NOT be lazy-loaded.

3. Preload LCP Image (Advanced)

For critical images, add preload hint:

  1. Dashboard → SettingsCustom Code
  2. Add new code in <head>:
<link rel="preload" as="image" href="YOUR_HERO_IMAGE_URL" />

How to get image URL:

  • Right-click hero image → Inspect
  • Find <img src="..."> in DevTools
  • Copy the src URL (usually static.wixstatic.com/...)

Note: Only preload the LCP image, not all images.

4. Replace Background Videos

Background videos hurt LCP significantly.

Alternatives:

  1. Use poster image - Show image until video loads
  2. Replace with optimized image - Consider if video is necessary
  3. Use animation instead - CSS animations have no LCP impact

If video is required:

  • Ensure poster image is optimized
  • Use MP4 format (best compression)
  • Keep video file < 5MB
  • Consider removing video on mobile

Font Optimization

1. Minimize Custom Fonts

Each custom font delays LCP.

Best practices:

  1. Use system fonts when possible (no loading time)

    • Arial, Helvetica, Georgia, etc.
  2. Limit custom fonts:

    • 2 font families maximum
    • Only include needed weights (regular, bold)

How to change fonts:

  • Editor → DesignFonts
  • Select simpler, web-safe fonts

2. Preload Critical Fonts

For fonts used in LCP element:

<!-- In Custom Code → Head -->
<link rel="preload" as="font" type="font/woff2"
  href="FONT_URL" crossorigin="anonymous" />

Wix fonts location:

  • Inspect LCP text element
  • Find font URL in Network tab
  • Usually hosted on static.wixstatic.com

Third-Party App Optimization

1. Audit Installed Apps

Many Wix apps add significant JavaScript overhead.

How to audit:

  1. Dashboard → AppsManage Apps
  2. Review installed apps
  3. Remove unused apps

Common LCP-affecting apps:

  • Live chat widgets (defer until page interactive)
  • Pop-up builders (load after LCP)
  • Social media feeds (lazy load)
  • Review widgets (defer)

2. Defer Non-Critical Apps

For apps that can load later:

Velo code to defer app loading:

// File: Site Code
$w.onReady(function () {
  // Delay non-critical app initialization
  setTimeout(() => {
    // Load app script here
    loadNonCriticalApps();
  }, 3000); // 3 second delay
});

function loadNonCriticalApps() {
  // Add app-specific loading code
}

3. Replace Heavy Apps

Consider lightweight alternatives:

  • Chat widgets: Replace always-visible chat with contact button
  • Social feeds: Use static social icons instead of live feeds
  • Reviews: Static testimonials vs dynamic widget

Code & Script Optimization

1. Minimize Custom Code

Every custom script delays LCP.

Audit custom code:

  1. Dashboard → SettingsCustom Code
  2. Review all added scripts
  3. Remove or defer non-critical code

Defer scripts:

Change this:

<script src="script.js"></script>

To this:

<script src="script.js" defer></script>

Or load after LCP:

<script>
window.addEventListener('load', function() {
  setTimeout(function() {
    // Your code here
  }, 2000);
});
</script>

2. Optimize GTM Implementation

GTM can delay LCP if not configured properly.

Best practices:

  1. Use async GTM container (default)
  2. Defer non-critical tags until after page load
  3. Use tag firing priorities - Load critical tags first

GTM tag firing sequence:

  1. Critical tags (priority: high)
  2. Analytics tags (priority: normal)
  3. Marketing pixels (priority: low)

See GTM setup guide for details.

3. Remove Unused Tracking

Audit tracking implementations:

Wix-Specific Techniques

1. Strip Section Lazy Loading

Wix strips (sections) load progressively. Optimize loading:

In Wix Editor:

  1. Click on strips/sections below the fold
  2. SettingsScroll Effects
  3. Disable animations (they delay rendering)

2. Optimize Repeaters

Wix repeaters can slow LCP if in hero area.

Solutions:

  1. Limit items shown initially (use pagination)
  2. Move repeaters below the fold
  3. Use static elements for critical content

3. Reduce Layout Complexity

Simpler layouts render faster.

Tips:

  1. Minimize nested containers in hero section
  2. Use fewer columns in critical area
  3. Avoid overlapping elements (causes repaints)

Mobile-Specific Optimizations

Mobile typically has worse LCP than desktop.

1. Mobile-Specific Images

Wix allows different images for mobile:

  1. Editor → Hero section → Change Image
  2. Enable Different image for mobile
  3. Upload smaller, mobile-optimized image

Mobile image specs:

  • Width: 750px (max)
  • File size: < 100KB
  • Format: WebP or JPEG

2. Simplify Mobile Layout

Hide non-essential elements on mobile:

  1. Select element → Settings
  2. Layout → Hide on mobile
  3. Reduces content to load

3. Remove Background Videos on Mobile

Videos especially hurt mobile LCP:

  1. Select video background
  2. SettingsMobile
  3. Replace with static image

Advanced Techniques (Velo)

1. Dynamically Load Below-Fold Content

Defer loading of content below the fold:

// File: Page Code
$w.onReady(function () {
  // Initially hide below-fold sections
  $w('#belowFoldSection').hide();

  // Load after LCP
  setTimeout(() => {
    $w('#belowFoldSection').show();
  }, 1500);
});

2. Optimize Image Loading

Use Velo to control image loading:

$w.onReady(function () {
  // Set image source only after critical render
  const heroImage = $w('#heroImage');

  // Preload critical image
  const img = new Image();
  img.onload = () => {
    heroImage.src = 'optimized-hero-image.jpg';
  };
  img.src = 'optimized-hero-image.jpg';
});

Testing & Validation

1. Before/After Comparison

Test LCP before and after optimizations:

  1. Record baseline LCP score
  2. Implement optimizations
  3. Publish changes
  4. Wait 24 hours (for cache clearing)
  5. Retest with PageSpeed Insights

2. Real User Monitoring

Monitor actual user LCP:

Using GA4:

// Track Core Web Vitals to GA4
import { getCLS, getFID, getFCP, getLCP, getTTFB } from 'web-vitals';

getLCP((metric) => {
  if (window.gtag) {
    gtag('event', 'web_vitals', {
      event_category: 'Web Vitals',
      event_label: 'LCP',
      value: Math.round(metric.value),
      non_interaction: true
    });
  }
});

Add this via Custom Code or Velo.

3. Monitor Over Time

Track LCP trends:

LCP Optimization Checklist

  • Enable Wix Turbo (if available)
  • Optimize hero image (< 200KB, correct dimensions)
  • Preload LCP image
  • Remove/replace background video
  • Minimize custom fonts (max 2 families)
  • Audit and remove unused apps
  • Defer non-critical scripts
  • Optimize mobile images separately
  • Remove unnecessary custom code
  • Test with PageSpeed Insights
  • Monitor real user data in Search Console

Expected Results

After optimization:

Improvement Expected LCP Reduction
Enable Wix Turbo 30-50%
Optimize hero image 20-40%
Remove background video 40-60%
Remove unused apps 10-30%
Defer scripts 10-20%
Mobile-specific images 20-40% (mobile only)

Realistic targets:

  • Desktop: < 2.5s (achievable)
  • Mobile: < 3.0s (challenging but possible)

When LCP Can't Be Improved Further

Some Wix limitations are unavoidable:

  1. Platform overhead - Wix's framework is heavy
  2. Limited control - Cannot modify core loading sequence
  3. App dependencies - Some apps are necessary despite overhead

In these cases:

  • Focus on other metrics (FID, CLS)
  • Consider migrating to another platform for critical sites
  • Document limitations for stakeholders

Next Steps

Additional Resources

// SYS.FOOTER