WooCommerce checkout optimization means removing the pauses between the cart and a paid order: fewer fields, guest checkout, express payment buttons, address autocomplete, costs shown early and a page that loads fast on a phone. Most of it is a setting in WooCommerce or your payment gateway, and a plugin only earns its place where those settings stop.
Most checkout advice adds things, such as trust badges and countdown timers. The fixes below mostly take something away, starting with the ones WooCommerce already has.
Measure first
Compare checkouts started with orders placed, then buy something from your own store on a phone.
Change settings
Hide fields you don’t use, keep guest checkout on, and switch on express payments and address autocomplete.
Add a plugin
Only for what WooCommerce can’t do, such as saved addresses or a cart link at your own price.
Measure your WooCommerce checkout first
Before you change anything, find out how many shoppers start checkout and how many of them place an order. WooCommerce Analytics counts orders but not checkouts started. The Google Analytics for WooCommerce extension sends both to Google Analytics 4, as the begin_checkout and purchase events. Divide purchases by checkouts started and write the number down with today’s date.
Then track that number over time. Baymard Institute’s average cart abandonment rate, worked out from 50 studies, is about 70%, which tells you little about your own store.
Next, buy something from your own store on a phone, once as a new customer and once signed in. The pauses are usually obvious once you look for them:
- A form that asks for things you never use.
- A returning customer typing the same address again.
- A cart that has to be built product by product.
- A checkout page that loads slowly on mobile data.
Block checkout or classic: which one do you have?
WooCommerce has two checkouts, and several fixes below work differently in each. Since WooCommerce 8.3, new stores start on the block checkout, while older stores keep the classic, shortcode-based one until someone switches. To check, open Pages → Checkout in the editor. A Checkout block with its own settings panel means the block checkout; the [woocommerce_checkout] shortcode means the classic one.
Check before you install any checkout plugin as well. Some were written for the classic checkout and don’t appear in the block one at all.
How many fields should a WooCommerce checkout have?
As few as your orders need. Baymard’s checkout research found that an ideal checkout can get by with 7 or 8 form fields, so count yours and question each one. If you don’t sell to businesses, you don’t need a company name, and if your courier never calls, you may not need a phone number. Keep anything your delivery or tax rules depend on.
On the block checkout, open the Checkout page in the editor and select the Shipping address or Billing address block inside the Checkout block. Its settings show or hide the Company, Address line 2 and Phone fields and set which ones are required. On the classic checkout with a classic theme, Appearance → Customize → WooCommerce → Checkout sets the same three fields to Hidden, Optional or Required. Anything else on the classic checkout needs a filter. This one removes the order notes box:
add_filter( 'woocommerce_checkout_fields', function ( $fields ) {
unset( $fields['order']['order_comments'] );
return $fields;
} );

Let shoppers check out as guests
In Baymard’s survey of US shoppers, 18% of those who abandoned a checkout said the site wanted them to create an account. Go to WooCommerce → Settings → Accounts & Privacy and make sure Enable guest checkout is ticked.
You can still gain accounts without forcing anyone. On the same screen, Enable log-in during checkout lets returning customers sign in without leaving the page, and the After checkout account creation option offers an account once the order is placed, so it never stands between a shopper and paying. WooCommerce’s Accounts and Privacy guide explains each option.
Let returning customers skip the typing
When a signed-in customer reaches checkout, WooCommerce fills in their saved billing and shipping address, but it keeps only one of each. Someone who orders for the office one week and for home the next types the other address every time, and whichever they type last replaces the saved one.
Unwan adds an address book to WooCommerce, so customers keep every address in My Account and pick one from a list at checkout, for billing and shipping, in the block checkout and the classic one. A new address typed at checkout joins the book by default. The Unwan checkout docs show the picker in both checkouts.
Saved addresses belong to an account, so guests still type theirs. With log-in during checkout switched on, a returning customer can sign in on the spot and pick from their list.
Add address autocomplete to the checkout
Typing an address on a phone is slow, and a mistyped postcode can mean a failed delivery. Since WooCommerce 10.3, the block and classic checkouts can both suggest full addresses as the shopper types. WooCommerce shows the suggestions, and an address provider supplies them. With WooPayments and an account in good standing, you switch it on under WooCommerce → Settings → General. Without WooPayments, you need an extension or plugin that adds an address provider.
Autocomplete helps with an address the shopper hasn’t used with you before. An address book saves them from typing it a second time.
Put express payments at the top of checkout
Wallets such as Apple Pay and Google Pay hand over the shopper’s name, address and card details from their phone or browser, so most of the form never needs typing. On the block checkout, the Express Checkout block at the top shows these buttons whenever an active payment gateway supports them. You switch the wallets on in the gateway. In WooPayments, go to Payments → Settings and tick Apple Pay / Google Pay under Express checkouts. The two are enabled together, can also show on product and cart pages, and need your site on HTTPS.
Each gateway loads its own scripts, so offer the wallets your customers use and time the checkout again after you add one.
Avoid surprise costs at checkout
Once you set aside shoppers who were only browsing, extra costs are the most common reason for leaving: 40% of those in Baymard’s survey said shipping, tax or fees came out too high. Show shipping in the cart so the total holds no surprises at checkout. WooCommerce’s shipping settings can add a shipping calculator to the cart page, and if you offer free shipping over a set amount, say so in the cart.
Trust counts at the same moment: in the same survey, 19% left because they didn’t trust the site with their card details. Link your returns policy and contact details from the checkout, keep the terms checkbox if your terms need one, and take payments through a provider shoppers recognize. Leave out seals and badges for services you don’t use.
Make the cart arrive ready
For a campaign, don’t send shoppers to a product page and hope they build the right cart. Send a link that fills it. Since WooCommerce 10.0, a shareable checkout URL adds products by ID and quantity, applies an optional coupon and opens checkout:
https://yourstore.com/checkout-link/?products=123:1,456:2&coupon=SPRING
It charges your catalogue prices and works with simple products and single variations. Our tutorial shows how to add several products to the cart with one link. When an offer needs its own price, items that aren’t in your catalogue, a purchase limit or an end date, CartPresets builds cart links at the price you set. Each preset can land shoppers on the cart or straight on checkout, and its link resolves in under 0.1 ms. The preset link docs show how each link is built.

How to speed up the WooCommerce checkout
A slow WooCommerce checkout costs you at the moment a shopper decides to pay, and your page cache can’t help there. WooCommerce’s caching guide says the cart, checkout and My Account pages must stay out of the page cache, because they show each shopper’s own cart. Every checkout visit, and every refresh of the totals when the shopper changes their address or shipping method, runs PHP and your active plugins.
That makes checkout the place to be strict:
- Open the checkout with your browser’s developer tools on the Network tab and list every script and request. Chat widgets, pop-ups, sliders and tracking tags you no longer read rarely belong there.
- Install Query Monitor on a staging copy and check the checkout’s queries by component, to see which plugin does the most work.
- Keep only the payment gateways you use, since each one loads its own scripts.
- Ask your host about a persistent object cache, which helps pages that can’t be cached whole.
Before you add a plugin, check where it loads, because one that loads on every page slows checkout too. Unwan, for example, loads only on the checkout and My Account pages.
Free ebook, 42 pagesThe Ultimate Checklist to WooCommerce OptimizationGet the checklist
Can you optimize the WooCommerce checkout without a plugin?
Mostly, yes. Trimming fields, guest checkout, express payments, address autocomplete with a provider, shipping costs in the cart and a lean checkout page all come from settings in WooCommerce, your theme or your payment gateway. Do those first.
Plugins cover what those settings can’t. Customers who send orders to different addresses need somewhere to keep them, and a campaign with its own price or a limited run needs more than a checkout URL. We make plugins for both of those. Custom fields, such as a delivery date or a gift message, need a checkout field editor, and a one-page or distraction-free checkout template needs a checkout plugin. Whichever you pick, look for Checkout block support on its listing before you install it.
Test one change at a time
Change one thing, then give it long enough to show in your orders, across your usual busy and quiet days. If a change makes checkout faster but orders stay flat, keep it anyway; just don’t count it as a conversion win.
After each change, place a real order with every payment method you offer, and check that the confirmation email arrives. Before a big sale, our sale-day checklist puts these checks in the order you’ll need them.
Common WooCommerce checkout questions
Should the checkout be one page or several steps?
Both WooCommerce checkouts already put everything on one page, in sections. How much each section asks for usually matters more than how many steps there are, so trim fields before you try a multi-step template, and measure any template against your baseline like any other change.
Should I hide the coupon field?
On the block checkout, the Coupon Form is its own block, and you can remove it in the editor. The classic checkout already hides the box until the shopper clicks the link in its “Have a coupon?” notice. If shoppers leave to hunt for codes, put the code in your campaign link instead: a shareable checkout URL takes a coupon parameter, and a CartPresets link can apply a coupon automatically.
How does page speed affect checkout conversion?
A slow checkout gives shoppers time to change their minds while they pay, and every extra script adds to the wait on mobile data. The effect differs from store to store, so measure yours: time the checkout on a phone before and after you remove something, and watch your checkout rate against the baseline.



