I want to find out why BigCommerce stores are slow to return the initial HTML. In Australia, it is at least 700ms, making it hard for a page to pass Largest Contentful Paint.

So I devised a test.

I cleared out one of our demo stores and restored it to its original state. No apps, custom scripts, banners, widgets, etc. And I installed the latest Cornerstone (6.10.0). By mistake, I left GA3 switched on, so one custom feature.

Then I used WebPageTest to see how fast it loaded a page’s HTML. I ran it 5 times per test, no shaping of the connection/CPU, using a Chrome browser from California. Minimising network latency so delays are mainly down to BigCommerce’s response times

I’m interested in Time To First Bite, which tells us when BigCommerce first responded. And the more interesting one, Time to load HTML, which is when the HTML finishes loading.

Standard Cornerstone Speeds

TTFBRun 1Run 2Run 3Run 4Run 5Average
Home355530592417419463
Category433458389423590459
Product606441452441501488
Time to load HTMLRun 1Run 2Run 3Run 4Run 5Average
Home371550610435437481
Category502472453494609506
Product621456518464522516

Hello World Speed

I removed all code from base.html apart from to say Hello Worlds. I ran the basic test a few times to get the new things cached. And then tested the home page.

TTFBRun 1Run 2Run 3Run 4Run 5Average
Home330434403279368363
Category
Product
Time to load HTMLRun 1Run 2Run 3Run 4Run 5Average
Home354448418296386380
Category
Product

This indicated that removing content processing from the page reduced response time by about 100ms. Or about 25%.

Bare bones

I removed assets and components, stripped out all page content, then worked to make the theme work again and be bundleable.

TTFBRun 1Run 2Run 3Run 4Run 5Average
Home402422349356337373
Category
Product
Time to load HTMLRun 1Run 2Run 3Run 4Run 5Average
Home469487368371402419
Category
Product

So that did not seem to help.

I removed GA3, and that made no difference.

Adding Apps

I reverted to the original theme. I then installed our apps with every feature enabled. And Tag Rocket has a lot of features.

TTFBRun 1Run 2Run 3Run 4Run 5Average
Home564612468611507552
Category
Product
Time to load HTMLRun 1Run 2Run 3Run 4Run 5Average
Home589633485640527575
Category
Product

Comparing this with the base Cornerstone test and the two apps adds 90ms to the HTML load time.

Conclusion

It’s not a very thorough test, but no matter how simple you make your theme, you will probably never get much under a 300ms HTML load time.