LCP Squarespace 7.1

Fix LCP in Squarespace

Squarespace 7.1 provides a fully managed hosting environment that handles many performance basics automatically -- Imgix-powered image CDN, automatic WebP conversion, and Fastly edge delivery. Despite this foundation, many Squarespace sites score poorly on Largest Contentful Paint (LCP) because of oversized hero images without focal point settings, third-party analytics scripts injected into the page head, template choices that load unnecessary JavaScript, and pages with too many stacked media sections. Squarespace gives you less server-side control than WordPress or Shopify, but these five fixes work within the platform's admin interface and Code Injection settings to meaningfully improve your LCP score.

Expected results

Before

5.5s

LCP (Poor) -- oversized hero, head-injected scripts, heavy template

After

2.2s

LCP (Good) -- optimized focal point image, deferred scripts, streamlined page

Step-by-step fix

Optimize hero images with Squarespace's focal point tool

Squarespace automatically converts uploaded images to WebP format and serves them through its Imgix-powered CDN, which handles responsive resizing. However, the performance of this system depends on uploading an appropriately-sized source image and configuring the focal point correctly. The focal point determines which part of the image Squarespace preserves when it crops the image for different device sizes. For hero banner sections (also called Cover Pages in Squarespace's terminology), upload images at 2500 pixels wide -- larger than this offers no visual benefit and increases the original file size that Squarespace must process. To set the focal point: open the image block or banner settings, click the image, and drag the focal point indicator to the most visually important part of the image (usually a face, product, or key text area). Squarespace's CDN will then ensure this area is preserved across all responsive crops. Avoid using PNG for large background images -- upload as JPEG (Squarespace will convert to WebP automatically), which results in smaller source files and faster processing.

HTML -- Squarespace image optimization checklist
<!-- Squarespace Hero Image Optimization Checklist -->

<!-- Step 1: Upload correctly-sized source image -->
<!-- Recommended: 2500px wide, JPEG format (not PNG) -->
<!-- Squarespace auto-converts to WebP and generates srcset -->

<!-- Step 2: Set Focal Point (in image block settings) -->
<!-- Edit Page > Click banner image > Edit (pencil icon) -->
<!-- Drag the focal point circle to your key visual area -->

<!-- Squarespace renders this srcset for a banner image: -->
<img
  src="https://images.squarespace-cdn.com/content/.../hero.jpg?format=1500w"
  srcset="
    .../hero.jpg?format=300w 300w,
    .../hero.jpg?format=500w 500w,
    .../hero.jpg?format=750w 750w,
    .../hero.jpg?format=1000w 1000w,
    .../hero.jpg?format=1500w 1500w,
    .../hero.jpg?format=2500w 2500w"
  sizes="100vw"
  alt="Hero banner"
>

<!-- Note: Squarespace controls loading attributes.
     To add fetchpriority=high, use Code Injection (Step 2 below)
     to inject a preload link in the Head section. -->

Minimize Code Injection scripts

Squarespace's Code Injection feature (Settings > Advanced > Code Injection) has four areas: Header, Footer, Lock Page, and Order Confirmation Page. The Header injection area is the most critical for LCP -- any script tag placed here is a render-blocking resource that the browser must download and execute before it can paint the page. Many Squarespace users follow vendor documentation that instructs them to paste Google Analytics, Facebook Pixel, Hotjar, and other tools into the Header area. While this maximizes tracking accuracy, it directly increases LCP. Move every analytics and marketing script to the Footer injection area (which runs just before the closing tag). Add defer to scripts that do not need to execute synchronously. For scripts that you have already added to the Header and cannot move to the Footer without breaking functionality, add async at minimum. Also remove any Code Injection from third-party integrations you no longer use -- these are invisible in the Squarespace admin but still load on every page visit.

HTML -- Settings > Advanced > Code Injection
<!-- HEADER Code Injection (keep minimal, critical items only) -->

<!-- Add hero image preload (get URL from published page source) -->
<link
  rel="preload"
  as="image"
  href="https://images.squarespace-cdn.com/content/[site-id]/[image-id]/hero.jpg?format=1500w"
  imagesrcset="
    .../hero.jpg?format=750w 750w,
    .../hero.jpg?format=1500w 1500w,
    .../hero.jpg?format=2500w 2500w"
  imagesizes="100vw"
  fetchpriority="high"
>

<!-- FOOTER Code Injection (move all analytics here) -->

<!-- Google Analytics 4 with defer -->
<script defer src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXX"></script>
<script>
  window.addEventListener('load', function() {
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
    gtag('config', 'G-XXXXXXXX');
  });
</script>

<!-- Load heavyweight tools after LCP -->
<script>
  window.addEventListener('load', function() {
    // Hotjar, Intercom, Drift, or other chat/heatmap tools
    // Place initialization code here
  });
</script>

Choose a performance-optimized template

All Squarespace 7.1 templates share the same underlying platform code, but they differ in the amount of CSS, JavaScript, and built-in animation they load. Templates in the older Brine family (migrated from Squarespace 7.0) carry legacy CSS that is larger and more complex than the CSS in purpose-built 7.1 templates. The Fluid Engine page builder, introduced in Squarespace 7.1, produces cleaner layout code than the classic editor and supports finer control over element positioning without relying on JavaScript-based layout hacks. When evaluating a template, visit Squarespace's template demo gallery and run the demo URL through Google PageSpeed Insights before building on it. Avoid templates that feature prominent scrolling animations, parallax effects, or video backgrounds in their default layout -- these are expensive features that are difficult to disable after you have built your site content around them. A minimal starting template that you customize will generally outperform a heavily-animated template even after you strip the animations out, because the template's CSS still loads the animation infrastructure.

HTML -- Template evaluation approach
<!-- Template Performance Evaluation Process -->

<!-- Step 1: Find the template demo URL -->
<!-- Squarespace template gallery: squarespace.com/templates -->
<!-- Each template has a 'Preview' button with a live demo URL -->

<!-- Step 2: Test demo URL in PageSpeed Insights -->
<!-- https://pagespeed.web.dev/ -->
<!-- Run mobile test -- this is the harder target -->
<!-- Look for: LCP under 2.5s, no render-blocking resources -->

<!-- Step 3: Check for animation-heavy defaults -->
<!-- In Chrome DevTools Network tab on the demo: -->
<!-- Filter by JS -- watch for animation library files (gsap, aos, etc.) -->
<!-- Filter by CSS -- total CSS under 100KB is a good sign -->

<!-- Squarespace 7.1 templates recommended for performance: -->
<!-- - Paloma (minimal, editorial) -->
<!-- - Hester (clean grid, portfolio) -->
<!-- - Wells (minimal, business) -->
<!-- - Clay (product-focused, clean) -->
<!-- Avoid: Templates with 'scroll animations' listed as a feature -->

Reduce page section count and complexity

Each section added to a Squarespace page represents additional HTML, CSS, and sometimes JavaScript that the browser must process before the LCP element can be painted. A page with fifteen sections -- hero, feature grid, testimonials, gallery, pricing, team, FAQ, newsletter, footer -- requires the browser to parse and lay out significantly more content than a page with six sections, even if the LCP element is in the first section. This is because the browser renders the entire DOM before painting, and additional sections increase the total work of the initial layout pass. Critically, full-width media sections (video background sections, parallax image sections) near the top of the page are particularly expensive. A video background section above the fold competes directly with the hero image for network bandwidth and CPU time. Limit your above-fold content to one or two sections maximum, and place media-heavy sections below the fold where they can load after the LCP is already painted.

HTML -- Page structure optimization for LCP
<!-- Squarespace Page Structure: LCP-optimized layout -->

<!-- Section 1 (Above fold): Simple banner with static image -->
<!-- Use: Banner block with focal-point optimized image -->
<!-- Avoid: Video background, parallax scroll, animation entrance -->

<!-- Section 2 (Just below fold): Text + simple layout -->
<!-- Use: Text block, simple two-column layout -->
<!-- Load: Instantly, no images required -->

<!-- Sections 3+ (Below fold): All media-heavy content -->
<!-- Use: Gallery sections, video sections, product grids -->
<!-- Squarespace lazy-loads images in sections below the fold -->

<!-- Squarespace section limit recommendations: -->
<!-- Homepage: 6 to 8 sections maximum -->
<!-- Interior pages: 4 to 6 sections maximum -->
<!-- Every additional full-width media section adds ~200-500ms to LCP -->

<!-- To audit current section count: -->
<!-- Edit page > count sections in left panel sidebar -->
<!-- Combine related content into fewer, richer sections -->

Enable Squarespace CDN and SSL

Squarespace's built-in CDN, powered by Fastly, serves all site assets -- images, CSS, JavaScript, and fonts -- from edge nodes distributed globally. This CDN is active automatically for all sites on a paid Squarespace plan. However, the full performance benefits require SSL to be enabled, because HTTP/2 (which allows multiple asset requests to be sent over a single connection in parallel) only operates over HTTPS. Without HTTP/2, each asset requires its own sequential connection, which significantly increases the time to paint the LCP element. To verify SSL is active: navigate to Settings > Domains, and check that your primary domain shows a green lock icon and HTTPS status. If you recently connected a custom domain, SSL certificate provisioning can take up to 72 hours -- during this period performance will be suboptimal. Squarespace also offers a built-in AMP (Accelerated Mobile Pages) setting for blog posts, which can improve LCP on mobile for content pages, though it is not available for custom landing pages.

HTML -- CDN and SSL verification steps
<!-- Squarespace CDN and SSL verification -->

<!-- Step 1: Verify SSL is active -->
<!-- Settings > Domains > Primary Domain -->
<!-- Status should show: SSL Active (green) -->
<!-- If not active: click 'Use a Squarespace domain' or wait for -->
<!-- SSL provisioning to complete after custom domain connection -->

<!-- Step 2: Verify CDN is serving assets -->
<!-- Open Chrome DevTools > Network tab on published site -->
<!-- Images should load from: images.squarespace-cdn.com -->
<!-- CSS/JS from: static1.squarespace.com -->
<!-- If assets load from squarespace.com (without CDN subdomain), -->
<!-- your paid plan CDN may not be fully active -->

<!-- Step 3: Check HTTP/2 is active (requires SSL) -->
<!-- Chrome DevTools > Network tab -->
<!-- Right-click column headers > enable 'Protocol' column -->
<!-- Assets should show 'h2' (HTTP/2) in the Protocol column -->
<!-- 'http/1.1' indicates SSL is not active or CDN is bypassed -->

<!-- Step 4: Squarespace CDN cache headers (automatic) -->
<!-- Static assets: Cache-Control: max-age=31536000 (1 year) -->
<!-- HTML pages: short cache with revalidation -->
<!-- No action required -- Squarespace manages cache headers -->

Quick checklist

  • Hero image uploaded at 2500px wide as JPEG with focal point set to the key visual area
  • Hero image preload link added in Code Injection Header section
  • All analytics and marketing scripts moved from Header to Footer Code Injection with defer
  • Template selected using PageSpeed Insights score on demo URL before committing
  • Homepage has 8 or fewer sections -- video and parallax sections are below the fold
  • SSL is active (Settings > Domains) and assets load over HTTP/2 from Squarespace CDN

Frequently asked questions

Google's Good LCP threshold is under 2.5 seconds. Squarespace 7.1 sites on paid plans can realistically achieve 2.0 to 2.5 seconds on desktop with optimized images and minimal code injection. Mobile LCP typically starts at 3.0 to 5.5 seconds before optimization and can reach 2.0 to 2.5 seconds after applying these fixes. Squarespace's managed architecture limits some performance controls, so achieving under 1.5 seconds on mobile is unusual without significant template and section reduction.

Yes, significantly. Squarespace 7.1 templates share the same platform but vary in how much CSS and JavaScript they load. Templates with prominent scroll animations, parallax effects, or video backgrounds in their default layout load more JavaScript infrastructure than minimal templates. When choosing a template, test the demo URL in Google PageSpeed Insights before building on it. A template that scores 70 or below on mobile before any customization will be difficult to bring into the Good LCP range after your content is added.

Yes. Squarespace loads fonts from Google Fonts or Adobe Fonts depending on your selection in the Design panel. Each external font provider adds a DNS lookup and connection setup before the font can be fetched. The fastest option in Squarespace is to use system fonts (no external requests at all). If you need a custom web font, choose one available in Squarespace's built-in font library -- Squarespace 7.1 serves these from its own CDN with font-display:swap applied automatically, avoiding the cross-origin connection penalty.

Use Google's PageSpeed Insights with your published Squarespace URL. The PageSpeed report shows both field data (from real Chrome users via the Chrome User Experience Report) and lab data (from a simulated Lighthouse test). The lab data identifies the exact LCP element. For ongoing monitoring, Google Search Console's Core Web Vitals report shows field data trends for your site over time, grouped by URL pattern -- this is the data Google uses for search ranking signals.

WordPress has a higher performance ceiling than Squarespace because it allows server-side caching plugins, custom server configuration, and granular image optimization. Squarespace's managed hosting removes these options but provides a consistent performance baseline through Fastly CDN and automatic WebP conversion. A carefully optimized Squarespace 7.1 site can match a poorly-configured WordPress site. For maximum LCP performance, WordPress with a caching plugin and quality hosting will outperform Squarespace, but for users who do not want to manage technical hosting settings, Squarespace's infrastructure is a practical and competitive alternative.

Google rates LCP as 'good' when it is under 2.5 seconds at the 75th percentile. For Squarespace applications specifically, aim for under 2.0 seconds. Measure with field data from Chrome User Experience Report (CrUX) through PageSpeed Insights, as lab tests may not reflect real-user experience with third-party scripts and varying network conditions.

Continue learning