Speed up WooCommerce checkout.

When the user places an order WooCommerce sends an Ajax request to your website.

Basically, the following processes will take place:

  • The elaboration of the order
  • The sending of the transactional emails

In some environments, the transactional emails that are sent after the user clicks on the button to place the order can noticeably slow down the process.

In some cases, deferring the transactional emails will be a huge help.

To defer the transactional emails, just add this line of code in the functions.php of your child theme, or better in a functional plugin:

add_filter( 'woocommerce_defer_transactional_emails','__return_true' );

 

Other causes of the slowdown can be other plugins that run during the process.

Consider that in a normal WordPress installation when the user places an order, all the active plugins will run.

So, another way to speed up the process is to disable all the plugins that are not needed. To do so you can use Freesoul Deactivate Plugins.

After activating FDP, go to Freesoul Deactivate Plugins => Actions => WooCommerce => checkout ajax refresh, and deactivate all the plugins that you don’t need during the process.

 

 

Even if you don’t need them, they would run the same, and many times they slow down the checkout without adding any useful functionality. Of course, keep active all the plugins that do something useful during the checkout. If for instance, you have a plugin for automatic invoices, you should keep it active.

 

Wrapping all up.

To speed up the WooCommerce checkout

  1. Defer the transactional emails by adding the code
    add_filter( 'woocommerce_defer_transactional_emails','__return_true' );
  2. Install and activate Freesoul Deactivate Plugins
  3. Go to Freesoul Deactivate Plugins => Actions => WooCommerce => checkout ajax refresh, and deactivate all the plugins that you don’t need during the process.