The WooCommerce checkout changes that actually convert
Nine fixes to the last three screens of a store, ranked by how much they are usually worth — none of which require a new plugin.
Storefront redesigns are fun. The money is in the last three screens. Below are the changes I make first on a WooCommerce checkout, roughly in the order of how much they are usually worth, and none of them need a plugin.
1. Delete fields
The default WooCommerce checkout asks for more than most stores need. Company name, second address line, and — for digital products — an address at all. Every field is a chance to abandon. Remove what you will never use, and be honest about which those are.
2. Fix the mobile keyboard
Set the right type, inputmode and autocomplete tokens on every field. A phone number field that opens a full alphabetic keyboard, or an email field without autocomplete="email", costs real orders from people typing with one thumb on a train.
3. Stop the layout jumping
Totals recalculate over AJAX, and if the block has no reserved height the page jumps under the customer’s finger as they reach for the button. Reserve the space. This is a CLS fix and a conversion fix at the same time.
4. Put errors next to the field
The default behaviour scrolls to a notice at the top of the page listing what went wrong. On a phone that means the customer loses their place. Show the message under the offending field, colour it and word it, and announce it with aria-live so screen reader users are told too.
5. Show the total early and keep it honest
Shipping cost revealed at the last step is the most reliable abandonment cause there is. Show it, or show the threshold that removes it, from the cart onwards.
6. Do not redirect off-site if you can avoid it
An on-site payment element converts better than a bounce to a third-party page, because the customer never leaves the context they trust. Where a redirect is unavoidable, say so before it happens.
7. Make the button unmissable and honest
One primary action per screen, full width on mobile, at least 48px tall, and labelled with what happens next — “Pay $49.00” beats “Continue”. Disable it while the request is in flight and say so, or you will get duplicate orders from double taps.
8. Guest checkout, prominently
Forcing account creation before payment is asking for a favour before delivering value. Offer the account after the order, pre-filled, when it is obviously in the customer’s interest.
9. Trust signals where the doubt is
Return policy, delivery estimate and contact route belong next to the payment button, not on a policy page nobody opens. One line each is enough — this is reassurance, not a wall of badges.
How to know whether it worked
Instrument the funnel: cart viewed, checkout started, payment attempted, order placed. Without those four numbers you are guessing which of the nine mattered for your store.
And measure on mobile, on a real connection. A checkout that is quick on your laptop and eight seconds on 4G is a mobile checkout problem, not a design problem — which puts you back at the speed work, and that is a different article.