Many sites face a situation where regular pages, posts, catalog pages load quickly, and product pages load more slowly. A bunch of optimizations, caching does not help much.
Any product blocks have a very strong influence on this, especially if for marketing you need to display more than 10 products in a block (it can be 20+ in one block and in another).
Comparing the product page without them and with them, you can see a noticeable difference in the speed of loading the product page. The situation is also similar when using Gutenberg product blocks.
Therefore, it is advisable to implement the ability in the plugin settings to enable loading of product blocks (upsells, related, cross sells, as well as Gutenberg product blocks) using Ajax.
Open
Last updated: May 14, 2025
Log in to comment on this feature request.
This is a common challenge for many e-commerce sites. It’s interesting to see how the speed of product pages can be significantly affected by the number of product blocks displayed. Implementing Ajax loading for these blocks sounds like a smart solution to enhance performance without sacrificing functionality. Also, speaking of optimizing user experience, have you checked out AI tools for generating product images? They can be a game changer for creating unique visuals quickly. For instance, you might want to explore NanoBanana for an online AI image generator and editor that can help streamline your product presentation.
It’s interesting to see how product blocks can significantly affect the loading speed of product pages. Even with various optimizations and caching, the additional load from displaying multiple products can really slow things down. Implementing Ajax for loading these blocks would definitely enhance user experience and page performance. Speaking of engaging content, if you’re looking for a fun distraction, you might enjoy playing SoFlo Wheelie Life, where you can balance your bike and master stunts in an exciting wheelie game!
It’s interesting to see how product page load times can significantly impact the user experience, especially when using various product blocks for marketing purposes. Implementing Ajax for loading these blocks could definitely help improve performance. It’s crucial for e-commerce sites to strike a balance between showcasing products and ensuring fast loading speeds. On a related note, if you’re concerned about privacy while signing up for different platforms, using a temporary email service like Temp Mail can be a great solution. It allows you to maintain anonymity while navigating through various online registrations!
This makes a lot of sense from a performance perspective. Product recommendation sections often become the heaviest part of ecommerce pages, especially when multiple blocks with 20+ items are rendered at once. Loading upsells, related products, and Gutenberg product blocks through Ajax could help improve initial page speed and perceived performance significantly. I find optimization discussions like this interesting because small backend changes can completely change user experience. Outside of tech topics, I sometimes unwind with SoFlo Wheelie Life a bike balance game where smooth timing and controlled movement are the key mechanics.
Deferred loading for product blocks is a great idea in theory, but as the Woo staff noted, the newer Product Collection block already renders server-side for better performance. Before pushing for Ajax-based lazy loading, it’s worth profiling whether the bottleneck is actually the block query itself or something upstream — like slow hosting, unoptimized images, or heavy theme assets. That said, having an optional defer toggle for stores with very large product grids (20+ items) could still be a meaningful performance win for specific use cases.
PolyTrackCodes
The benefit of this is Reduced TTFB and First Paint for the product page and a “lighter” feel for the User, as the main content (description, product image) is displayed immediately. PolyTrack
Hello @tunyk!
Thank you for your feature request. What you are reporting seems odd to me. Let me clarify: we have two kinds of “Products” block.
The first—old—kind is client-side rendered, which means it does exactly what you are asking for here: it loads a very minimal HTML, and then defers the loading of the actual products data after the user has visited the page. We have found this to be not performant, to hurt user perception of the store, and also not-SEO friendly. This is why we moved away from these blocks, into the second type.
The second type, accessible by typing “Product Collection” in the inserter, is much more performant and renders server-side. Which means that loads all the products before showing the page. Can you confirm that you are using this block and that you are seeing a degraded performance? To clarify, the difference between loading 10 or 20 products in a block should be negligible as far as the server query goes, so if you are seeing a substantial difference, this is definitely something we’d want to look at, as it shouldn’t be like that.
Thanks for the feedback!