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.
  4. GTMetrix much like Google’s PageSpeed insights gives you a general score and improvement suggestions.
  5. DNSSpy.io checks your DNS settings and SSL certificate configuration. It gives you 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. 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.
  8. 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 API(s) 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. Using Caching plugins like WP Supercache, WP Rocket, etc. Performance
  26. Summary of Must-Have WordPress Plugins Performance

[ratemypost]