WooCommerce powers over 30% of all online e-commerce stores, but when used on stores, it can cause performance issues if you are not aware of how to improve the load times and optimize the performance.
A number of optimization changes to your child sites which are using WooCommerce can easily be made from your MainWP Dashboard site.
If you speed test a site using GTmetrix or WebPageTest, the slowest request you will notice in the store waterfall will be for cart fragments. WooCommerce cart fragments request would be for example, if you have a mini cart in the header, it will show the number of products in the cart. If you do not have a mini cart in the header of a store, then you can replace with a cart menu item instead.
To stop that cart fragment slow request from happening, you can install the plugin Disable Cart Fragments on your WooCommerce sites that are connected to your MainWP Dashboard.
If you are using WooCommerce plugins on your stores, you will notice that a number will be loading additional assets CSS and JS files on all pages, not on only the checkout page. A number of examples would be Follow Up Emails, Smart Coupons and additional payment gateway plugins, where you only want to load those assets on the checkout page and not have those load on the homepage and the shop or store page of the site. Payment gateway plugins might end up adding as many as four or five additional assets to be loaded on the homepage and store or shop page.
An easy plugin option to reduce those additional requests from being loaded on the homepage is Asset CleanUp: Page Speed Optimization. Look in the waterfall of the store in a GTmetrix speed test, also look for those additional assets from WooCommerce plugins and WordPress plugins that do not need to be loaded on the homepage. Another WordPress plugin example would be Gravity Forms, where it is only being used on the contact page, but is loading three or four requests on the homepage.
With the Asset Cleanup plugin installed and activated on a child site, edit the homepage in wp-admin and look for those additional assets that you do not want to load on that specific page.
Manage all your WordPress sites with the MainWP Dashboard
WordPress Management for Professionals
Are you ready to go Pro?
All MainWP Pro Extensions are available through one of our convenient bundled packages.
Remove Unwanted Requests
A plugin which will remove a number of the additional request that WordPress and WooCommerce will add on load is WP Disable. You can also import safe defaults for WooCommerce stores using the code in this Gist using the import setting section of WP Disable.
Another easy gain is you can enable lazy loading on your store. One plugin which works very well for this is Lazy Load by WP Rocket. There is also a key for using the bulk setting manager extension to set the settings for that plugin on your child sites it is installed on.
These tips will improve the load time of WooCommerce stores that you manage using MainWP.