Optimize Speed Index

Now i understand what for you asked about –> LAZY-LOADING ←

Well in Wix it will be a little bit more complicated and difficult to create real –> LAZY-LOADINGS

Why? –> Noahlovell alreade answered you why.

Adding elements right from the start and hiding them won’t really help, instead you always should go the coding way.

If you really want to create –> LAZY-LOADINGS ← and generate a real fast WEBSITE –> you will need to work completely different (in most cases not even touching one single element provided by wix) –> Waaaaaaaaaaaahhhhhhhhtttttttttt???

Yepp!!! The more elements you use –> the slower will become your website!

Ok, just a view elements can be addded (the more elements you add –> the slower will get your website).

Instead you start to work fully –> DATA-DRIVEN ← & –> DYNAMIC ←, but this for you need CODING skills, since your whole setup will be driven mainly by –> CODE & DATA.

So what would be a real solution?

–> CUSTOM-ELEMENTS + DYNAMIC-CODE + DATA-DRIVEN-SETUP

By using custom elements you have the absolute FREEDOM to generate new ELEMENTS on the fly –> meaning now you have full control of …

a) at which time you want to generate the element (dynamically)

b) which element you want to generate

c) how you want to generate the element

d) let the element be generated –> DATA-DRIVEN

e) and everything is just some CODE-LINE –> no real (already) loaded elements needed right from the beginning of your page.

So you did choose the wrong way to achieve a real lazy loading.

And i provided you even 2 different ways –> THE CODING ONE and the cheap WORKAROUND –> you choosed the wrong one.

Additional info…

Aspect Preloaded + Hidden Dynamic / Lazy Loaded
Initial Load Time :no_entry: Slower — all elements are parsed, styled, and added to the DOM even if hidden. :white_check_mark: Faster — only what’s visible or needed immediately is loaded.
Memory Usage :no_entry: Higher — the browser keeps hidden elements in memory, including images, fonts, event listeners, etc. :white_check_mark: Lower — only active elements occupy memory.
First Paint / LCP (Largest Contentful Paint) :no_entry: Can delay visible rendering if too much HTML/CSS is loaded at once. :white_check_mark: Usually better for initial render performance.
Interactivity :white_check_mark: Faster switching between views (already in DOM, just toggle visibility). :no_entry: Slight delay when creating elements dynamically (depends on complexity).
SEO (for static content) :white_check_mark: Search engines can index preloaded hidden content (if visible in DOM). :warning: Lazy-loaded or JS-generated content may not be indexed unless handled carefully.
Network Requests :no_entry: All data/resources loaded upfront. :white_check_mark: Can defer or batch requests (e.g., load images on scroll).

So real –> LAZY-LOADING can be achieved only by DYNAMIC and DATA or EVENT DRIVEN SETUP!!!