I solved a somewhat strange issue on a client’s WordPress website the other day. On their products page, none of the products would load until the visitor scrolled or otherwise interacted with the site. A “loading” icon showed up, but nothing would load until an action was taken.
In this case, they were using the Essential Grid plugin on a website using the “Pro” theme from Themeco. It uses AJAX to generate the product listings.
So why wasn’t it loading?
It was actually Themeco support that figured out it was some kind of caching issue. I further figured out that our WP Rocket plugin was causing the issue. After looking briefly through the settings, it became fairly obvious what was happening.
Why things weren’t loading until scroll?
More information is available in the WP Rocket docs.
Additionally, I found that the necessary code to make the hamburger menu work on mobile didn’t load right away either, which caused problems.
Overall this almost seems like a weird setting to have enabled by default, so if you are running into any issues, I would definitely consider disabling it.
One last note is that you can, if desired, specify specific scripts that should load regardless of this setting. So if you like the performance boost it gives you, but absolutely need certain scripts to load, this is a good option.