Insights and Inspiration – The Hostnicker Blog

Reducing Webflow Page Load Times with Lazy Loading

May 2, 2024

Step 1: Prepare Your Images

First, make sure your images are optimized for the web. Resize them to appropriate dimensions and compress them to reduce file size while maintaining quality. Use tools like TinyPNG or ImageOptim for this purpose.

Step 2: Upload Images to Webflow

Log into your Webflow account and navigate to the project where you want to use lazy loading. Open the Assets panel from the left toolbar and upload your optimized images by clicking the Upload button. Note the image paths as you'll need them later.

Step 3: Embed Custom Code for Lazy Loading

Access the Page Settings for the page where you want lazy loading. Find the "Before </body> tag" section to add custom code. Insert the following script:

document.addEventListener('DOMContentLoaded', function() {
const lazyImages = document.querySelectorAll('img.lazy');
const imageObserver = new IntersectionObserver((entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const img = entry.target;
img.src = img.dataset.src;
img.classList.remove('lazy');
observer.unobserve(img);
}
});
});

lazyImages.forEach(image => {
imageObserver.observe(image);
});
});

This script detects images with the "lazy" class and loads them only when they enter the viewport.

Step 4: Update Your Images

Switch to Designer mode and select the images you wish to lazy load. In the Element Settings panel, find the Image settings. Replace the src attribute of each image with a data-src attribute. For example, change:

<img src="example-image.jpg" alt="example image">

to:

<img class="lazy" data-src="example-image.jpg" alt="example image">

The "lazy" class activates the lazy loading feature.

Step 5: Publish Your Site

After updating all images, publish your site. Click the publish button to make the changes go live.

Step 6: Test Lazy Loading

Once your site is published, open it in a browser and scroll through the page. Images should load only as they come into view. To verify, use developer tools (F12) to monitor network activity. Filter by images and observe that images load only when visible.

Conclusion

By implementing lazy loading, you can improve your site's loading performance and enhance user experience. Regularly check and optimize your images to maintain peak performance. Enjoy designing your efficient website!