Most ‘best WordPress plugin’ lists are written for agencies with a developer on staff. If you’re a solo founder trying to get a store live by the weekend, that advice is too much. You don’t need 30 plugins. You need seven, and you need them configured correctly.
Here’s the stack I’ve used on dozens of small stores, with the exact settings that trip people up.
## 1. WooCommerce (the obvious one)
Install it, run the setup wizard, and then immediately go to WooCommerce > Settings > Advanced and turn off the legacy REST API. It’s a security surface you don’t need. Also, set your currency and selling location in the wizard — if you skip this, your checkout will show the wrong currency and you’ll get confused customer emails.
One setting people miss: under Products > Inventory, enable stock management only if you actually track inventory. For digital goods, leave it off. It adds friction to checkout.
## 2. A lightweight theme (not a page builder)
This is where most people go wrong. They install a multipurpose theme with a drag-and-drop builder, and suddenly their product pages take 4 seconds to load. Use a block theme like Twenty Twenty-Four or a lean commercial theme. You can still customize it with the block editor. Your future self — and your conversion rate — will thank you.
If you must use a builder, use it only for the homepage. Keep product and checkout pages on native blocks.
## 3. Stripe (or PayPal, but probably Stripe)
Stripe’s WooCommerce plugin is the fastest way to accept cards. The setup is mostly copy-paste of API keys. The setting to watch: enable ‘Payment capture’ as automatic, not manual, unless you’re doing pre-orders. Manual capture means you have to log in and capture each payment, which you will forget.
Also, turn on Apple Pay and Google Pay in the Stripe dashboard. It’s one toggle and it lifts mobile conversion noticeably.
## 4. A tax plugin — but only if you need it
If you’re selling digital products to customers in one country, WooCommerce’s built-in tax tables are fine. If you’re selling across borders, use a service like TaxJar or Quaderno. Don’t try to hand-code VAT rules. You will get it wrong.
The setting you’ll forget: tax display. Set prices to display inclusive or exclusive of tax based on your market. EU customers expect inclusive; US customers expect exclusive. Get this wrong and your checkout looks broken.
## 5. A backup plugin (yes, really)
UpdraftPlus or BlogVault. Set daily backups, and store them offsite (Google Drive, S3). The first time a plugin update white-screens your site, you’ll be glad you did. This isn’t optional. It’s the difference between a 10-minute fix and a weekend-long rebuild.
## 6. An email plugin for receipts and follow-ups
WooCommerce sends basic receipts, but they’re ugly and easy to miss. Use a transactional email service like Postmark or SendGrid, and connect it via an SMTP plugin. Then set up one follow-up email: ‘Thanks for your order — here’s how to get the most out of it.’ That single email reduces refund requests and support tickets.
## 7. A caching plugin — configured carefully
WP Super Cache or LiteSpeed Cache if your host supports it. The setting to watch: exclude cart, checkout, and my-account pages from caching. If you cache those, customers will see other people’s cart contents. It’s rare but it happens, and it’s a disaster.
Also, don’t enable minification on the first pass. It breaks more sites than it fixes. Test with it off, then turn it on and check your checkout flow.
## What to skip
Skip social sharing plugins (they slow you down and almost nobody uses them). Skip related-products plugins that add database queries. Skip anything that promises ‘all-in-one’ — those plugins do everything poorly.
## The 30-minute config checklist
After installing these seven, do this: set permalinks to ‘Post name,’ enable SSL, set your store address, configure one payment gateway, set up one shipping zone (even if it’s just ‘digital delivery’), and place a test order with a 100% coupon. If the test order works, you’re ready.
That’s it. Seven plugins, a handful of settings, and you’re live. The rest is iteration.
