featured article

25+ Tutorials on How to boost the performance of your WooCommerce store

Having worked on numerous Wordpress & WooCommerce sites over the last years, I have tried almost everything to speed up and improve page rendering times. Here I will share my key findings with you, put together into 25 tutorials. I hope they help you to achieve a fast, performant and easily maintainable WooCommerce store. This is the Tutorial overview and introduction.

The Goal

The goal of this article series is to speed up the front end performance of your WordPress & Woocommerce website significantly. We want to see pages being delivered to the browser in 250-300ms or less. This series is written for experienced web developers, or anybody who wants to give it a try. Feel free to ask questions, when your stuck at some steps along the way. Be advised to make frequent backups of configuration files and databases, so that you can easily revert changes in case something goes wrong.

Measure site performance

In order to measure the success of these steps I recommend that you take a snapshot of the “Satus quo”, your current websites’ performance with all of the following tools. Take screenshots or write down the important metrics like scores, rendering times. Prepare to repeat this step along the way – or once you have finished all the tutorials of this series.

  1. Webpage Test gives you a complete breakdown of load and  rendering times, shows which percentage of data are images, css or js, the number of resources loaded, tells you how many domains and third party providers have been involved in the page request and many more.
  2. PageSpeed Insights gives you two performance scores, one for mobile and one for the desktop experience. It also tells load and rendering times.
  3. RedBot is giving you feedback on wether there are errors in your servers HTTP(S) response. It checks server clock, caching, compression, cache validity and lifetime and displays the response headers returned from your website. It’s perfect for validation of specific resources (URLs) cache settings.
  4. GTMetrix much like Google’s PageSpeed insights gives you a general score and improvement suggestions.
  5. DNSSpy.io and Mozilla’s Observatory check your DNS settings and SSL certificate configuration. They give you detailed feedback on what to improve. Since we are focussing on Ecommerce here, you should really have a SSL certificate in place for the sake of security of your customer’s payment credentials.
  6. (Optional) New Relic APM which can be used even in its free trial mode to get detailed insights into any application not exclusively for WordPress & WooCommerce sites. It shows PHP Performance metrics, DB performance, Plugin compute times, it even tells which Hooks and Filters are most time consuming, which errors occur. It requires a server side installation, though.
  7. Nginx Amplify allows you to add up to 5 Nginx servers in the free plan. It detects problems in your configuration, shows lots of status details, you can confiugure Email alerts and more. It requires server side configuration and adjustments in your logging. amplify.nginx.com
  8. WordPress itself in its recent versions offers the Site Health section under Tools, which gives you feedback on outdated theme files, plugins, misconfigurations and more.
  9. And last, but not least, WooCommerce has a system report under WooCommerce > Status, which also gives you info on theme inheritance, DB size, Versions, Plugins and many more.

I am developing on macOS, so some command line commands throughout these article series might be slightly different on your operating system. Also, I am using Nginx web server instead of Apache, so you won’t find any tips specific to Apache here.

The Tutorials

  1. Setting up WordPress & WooCommerce with Composer Setup
  2. Using an .env file for database and other credentials Setup
  3. Debugging in your development environment Setup
  4. Setting up CI (Continuous Integration) with GitHub actions Deployment
  5. Reduce the number of WordPress plugins Performance
  6. Fixing a bottleneck: Transactional Emails Performance
  7. Optimising Frontend Resources with Perfmatters & Grunt Performance
  8. Reduce logging in your production environment Performance
  9. Improve WordPress & WooCommerce DB indexes for all meta tables Performance
  10. MySQL Configuration & Fine Tuning Performance
  11. Using a dedicated MySQL database server Performance Setup
  12. Enable, configure and monitor PHPs OPCache Performance
  13. Deactivate the REST APIs Performance Security
  14. Replacing WordPress Cron and Scheduled Actions with a real cronjob or deactivating it altogether. Performance
  15. Utilise the WordPress Firewall to prevent plugins from phoning home Performance Security
  16. Deactivate automatic updates Performance Stability
  17. Convert images to .webp format Performance
  18. Use a CDN for image uploads Performance
  19. Optimise Nginx to use HTTP 2.0 Performance
  20. Optimise Nginx to allow for better client side caching of static resources Performance
  21. Lock out unwanted crawlers and bots Performance Security
  22. Set Request Limits in Nginx Security
  23. Avoid and remove gettext Performance
  24. Use Cloudflare with proxy caching enabled Performance
  25. Use In-Memory Object Caches like Memcache or Redis Performance
  26. Pre-compress static assets with Brotli or Gzip Performance
  27. Using Caching plugins like WP Supercache, WP Rocket, etc. Performance
  28. Summary of Must-Have WordPress Plugins Performance

Et voilá! Your efforts will be rewarded with happier customers and better search engine rankings.