← The Lab

Your E-Commerce Store Doesn't Need 47 Plugins

Every plugin you add makes your store slower, less secure, and harder to maintain. Here's what to do instead.

A client sent me a screenshot last week. Their WooCommerce plugin list was so long I had to scroll three times. He'd counted thirty-four. Thirty-four plugins, on a store doing maybe $40k a month.

Each one solved something real. Shipping logic. Tax tables. Review collection. Abandoned cart emails. SEO meta. Each one made sense the day it was installed. Each one added weight.

That store loaded in 7.2 seconds on a decent connection. Product pages were slower. Checkout converted at 1.8%. The owner thought he had a marketing problem. He had a plugin problem.

The math of plugin sprawl

The average WooCommerce store runs 20 to 30 plugins. The average Shopify store uses 8 to 12 apps. Those numbers aren't accidental — they're a symptom.

A new plugin gets installed because it solves one specific problem. Need shipping calculations? There's a plugin. Customer reviews? There's a plugin. Email automation? Plugin. Stock notifications? Plugin. Each addition feels justified, because individually it is. One plugin doesn't break anything noticeable. Fifteen plugins do everything a little badly.

What every additional plugin actually adds:

The industry calls this the plugin tax. A clean store with five well-chosen plugins might load in 2 seconds. The same store with thirty plugins loads in 6 to 8. Not a marginal difference. A one-second delay drops conversion roughly 7%. A six-second load on mobile costs you measurable revenue every month.

When plugins explode in your face

You know the feeling. You update a plugin Tuesday morning. You refresh the site. White screen. No error. Just white.

It happens because Plugin A now conflicts with Plugin B. Or a WordPress update broke Plugin C. Or Plugin D hooked into a function that no longer exists. Your store is down. Your host says it's not their problem. The plugin author says they don't support your specific configuration. You're losing sales by the minute and your "tech guy" is on vacation.

I've watched this kind of incident kill the relationship between an owner and their stack. The owner didn't cause it — they tried to add one feature. But after that, they stop updating anything because they're terrified it'll happen again. Which is how stores end up running plugin versions from 2022 with known security holes.

Security gets worse with every addition

Wordfence puts the share of WordPress vulnerabilities that come from plugins (rather than core) at around 96-98%. Not WordPress itself. The plugins.

When you install one, you're handing a stranger access to your database, your customer records, your payment processing pipeline. Some plugin authors are professionals who patch quickly. Plenty are freelancers who shipped something useful three years ago and haven't touched it since. A few are abandoned, quietly waiting for the breach.

You probably don't know which category your thirty-four plugins fall into. You don't have time to audit them. You can't realistically monitor security advisories for all of them. So you cross your fingers and keep updating.

The Shopify app tax is real money

Shopify avoids most of the technical debt of plugins. It trades that for a different problem: apps cost real money.

Shipping app, $15/month. Reviews, $29. Inventory sync, $25. Klaviyo for email, $50. Upsell, $19. Abandoned cart, $20. SEO, $20. That's $178/month before you've sold anything. Add the Shopify Advanced subscription itself and you're at $400+.

For a store doing $50k a month, that's noise. For a store doing $4k a month, you're spending 10% of revenue on software before you account for inventory, fees, or paying yourself. The math stops working.

Owners rationalize each app on its own. This one has a free trial. That one solves something I can't live without. Twenty-eight decisions later, they're paying $400/month for what was supposed to be the cheap option.

There's another path. It costs more upfront.

A custom-built store doesn't have plugins. It has code. Checkout is wired into Stripe (or whoever) from day one. Shipping logic matches your actual rules. Inventory management is part of the build, not bolted on. Email is connected to your order pipeline. Security is baked in instead of bolted on with a plugin.

It costs more at the start. A solid custom store on Next.js with modern infrastructure runs $20-50k depending on complexity. Real money, real commitment.

Spread that across 36 months and you're at $500-$1400/month. Meanwhile, your plugin-heavy stack is probably $300/month in apps plus several hours a month of you fighting with it. The custom one costs almost nothing to maintain because there's nothing extra to maintain.

After two years, custom usually wins. After three, it almost always does.

Honest about scale

Not everyone needs custom. If you're selling ten products, doing $2k/month, and your needs are simple, Shopify Basic is genuinely fine. You're never going to recoup the investment in custom infrastructure at that scale.

The inflection comes somewhere around $15-20k/month, or earlier if you have specific needs that off-the-shelf can't handle cleanly. Below that line, the plugin sprawl is the cheaper, faster, more sensible option. Above it, you're dragging weight.

When custom is the obvious move

Some businesses have requirements that plugins genuinely can't solve well. These are the cases where custom pays back early:

The decision isn't binary

You don't have to go from thirty plugins to zero. The smart move is usually a ruthless audit followed by consolidation.

Most stores have at least two plugins doing the same job. Most have plugins they installed two years ago and forgot. Most have plugins for a problem that barely exists anymore. A real audit will often cut thirty plugins down to twelve without losing a single feature anyone uses.

After that, you actually know what you're paying for. You can monitor the dependencies that matter. You can answer the only question that counts: is this worth it?

Sometimes yes. More often, the answer is "I forgot we even had this." That's information.

What to do today

Open your plugin or app list. Count them. Write down what each one actually does in one sentence.

Then be honest. Do I use this? Does it solve a real problem or a hypothetical one? Could I replace it with something smaller, or with code? If I deactivated it tomorrow, what would actually break?

Disable the ones you're unsure about for a week. Watch what happens. Usually nothing.

What's left is your real baseline — the actual complexity your store needs. Everything beyond that is debt you're paying interest on, in load time, security risk, and the slow erosion of your weekend when something breaks.

Your store is probably slower than it needs to be. It's probably more fragile than it should be. None of that is a character flaw. It's the natural result of choosing convenient solutions over better ones, one click at a time, until the convenience itself becomes the problem.

The good news: you don't have to start over. You just have to be willing to question whether every piece is still pulling its weight.

Read more in The Lab