I have sat across from store owners the week after a breach. The first question is always the same. What do we do right now. The honest answer is always the same too. You should have answered that question before it happened, not during it. Here are the mistakes I see most often, why they happen, and what actually fixes them, in enough detail that you can go check your own store against this list today.
Mistake one: treating security as a checkbox
Most store owners think security is a line item. Install a plugin, tick a box, move on. That is backwards. Security is a decision about how much risk you are willing to carry every day your store is open. A firewall plugin does not make that decision for you. It automates one part of it, and only the part it was built for.
Here is why this mindset is so dangerous. A checkbox mentality treats security as something you finish. You install the plugin, you configure the settings once, and you consider the job done. Real security is never done. New plugins get installed and each one is a new piece of code with its own vulnerabilities. Staff turn over and old accounts do not always get deactivated. Attackers develop new techniques faster than any single tool can be updated to block them. Treating security as a completed task instead of an ongoing practice is the root cause behind most of the incidents I get called into.
I have watched store owners point to a security plugin’s dashboard, all green checkmarks, as proof that everything is fine. Those checkmarks tell you the plugin is functioning as designed. They do not tell you whether an employee is reusing a password that was already leaked in an unrelated data breach three years ago. They do not tell you whether a contractor who left the company still has an active login. A green dashboard is not the same thing as a secure store, and conflating the two is how breaches happen to people who genuinely believed they had done everything right.
Mistake two: not knowing what data you actually hold
Ask a store owner what customer data sits in their database right now and most stop at names and emails. Payment tokens, saved addresses, login attempts, abandoned cart data tied to real people, admin accounts from a contractor who left two years ago. Every one of those is a liability the moment someone gets in who should not be there. You cannot protect data you have never inventoried.
Let me walk through what actually accumulates in a typical store’s database after a couple of years of operation, because the list is longer than most owners expect. Customer names, emails, and shipping addresses, obviously. Billing addresses that sometimes differ from shipping. Phone numbers collected for delivery notifications. Order history going back years, which on its own reveals purchasing patterns, income level signals, and sometimes sensitive product categories a customer would not want publicly associated with their name. Payment tokens, which are not raw card numbers if you are using a proper payment processor, but are still valuable enough that a leak damages customer trust even without a direct financial loss.
Then there is the data nobody thinks to inventory because it does not feel like customer data. Abandoned cart records, which show what someone almost bought and sometimes include partially entered payment details depending on how the checkout flow is built. Login attempt logs, which reveal which email addresses are associated with your store even for people who never completed an account. Marketing consent records, which carry legal weight under privacy regulations most store owners have not read closely. Every plugin you install potentially adds its own data collection on top of all of this, often without the store owner realizing a new plugin started logging something new.
And then there are the admin accounts. This is the one that gets overlooked the most. Every developer, every contractor, every marketing agency that ever touched your site at some point had an admin login. Ask yourself honestly how many of those accounts still exist and are still active. I have found admin accounts on client stores that belonged to people who had not worked with the business in three years. Nobody remembered to remove them because removing access is never anyone’s job, it is just something that should have happened and did not.
The fix is not complicated, it is just tedious, which is why it does not get done. Sit down and write out every category of data your store actually holds. Then write out every account that can access your admin panel and when it was last used. Anything you cannot explain gets investigated. Anything you do not need gets deleted or deactivated. This single exercise, done properly, closes more real security gaps than most paid security tools ever will, because it addresses the actual attack surface instead of a generic template of what attack surface usually looks like.
Names & emails
Low risk aloneOrder history
Medium riskSaved addresses
Medium riskAbandoned cart data
Medium riskPayment tokens
High riskStale admin accounts
High riskMistake three: no incident plan until the incident
When something goes wrong, the businesses that recover fast are the ones who already knew who to call, what to shut off first, and what they were legally required to tell customers and when. The businesses that recover slow are figuring all of that out live, in a panic, usually meeting their lawyer for the first time that same week.
A real incident response plan answers specific questions in advance, before anyone is panicking. Who has the authority to take the store offline if that is necessary to stop active data exfiltration, and do they know they have that authority. Which hosting or security contact gets called first, and do you actually have their direct contact information saved somewhere other than an old email thread you would have to search for under pressure. What is your legal notification obligation, because most jurisdictions now require disclosure to affected customers within a specific window, and that window is shorter than most business owners assume.
Beyond the immediate response, a plan needs to cover communication. What do you tell customers, and when. Silence during a breach reads as either incompetence or a cover up, neither of which helps you, and both of which get discovered eventually. A prepared, honest communication, sent promptly, with a clear description of what happened and what you are doing about it, preserves more trust than most business owners expect. The businesses that get destroyed by a breach are rarely destroyed by the breach itself. They are destroyed by how badly they handled the six weeks after it, scrambling to figure out basic logistics that should have been decided in advance.
Writing this plan takes an afternoon. Most store owners have never spent that afternoon, because nothing is on fire right now, and it is always easier to prioritize something that feels urgent over something that is merely important. I understand the instinct. I have run a business too. But the afternoon spent now is the difference between a controlled, professional response later and a chaotic scramble that turns a bad day into a business ending event.
Mistake four: trusting every plugin you install
Every plugin you add to your store is code you did not write, running with access you granted, maintained by someone whose priorities you do not control. Most plugins are fine. Some are abandoned by their developer and quietly stop receiving security patches while still being actively used on thousands of stores. A small number are outright malicious, or get compromised after the fact when an attacker gains control of a popular plugin’s update mechanism and pushes malware to every store that installed it.
Before installing anything, check when it was last updated. A plugin that has not been touched in two years on a platform that releases security patches monthly is a plugin running on borrowed time. Check how many other stores use it, since a widely used plugin gets more scrutiny from the security community, though popularity is not a guarantee, it is just one signal among several. Check what permissions it actually requests. A plugin that handles product images should not need access to customer payment data, and if it is asking for that access anyway, that is worth questioning before you install it, not after something goes wrong.
And once a plugin is installed, the job is not finished. Review your installed plugins on a schedule, not just when something breaks. Remove anything you are not actively using. An inactive plugin sitting in your file system is still a potential entry point even if it is deactivated, because deactivated does not always mean the underlying files are inaccessible to someone who already found a way onto your server.
Mistake five: treating AI features as exempt from the rules
This is the mistake I am watching happen right now, in real time, across the industry, because it is new enough that most security thinking has not caught up to it yet. Store owners are adding AI powered features, recommendation engines, chatbots, personalization tools, and treating them as marketing additions rather than as new pieces of infrastructure with the same security requirements as everything else on the site.
An AI feature is still code. It still runs on your server or calls out to someone else’s server. It still touches customer data, often more of it than a typical plugin, because personalization requires knowing things about the customer. If that feature was rushed to market to keep up with a competitor, there is a real chance nobody stopped to ask the same questions they would have asked about any other new system touching customer data. What does it access. Where does that data go. Who can reach its admin controls. If those questions were not asked, the feature is a gap, no matter how polished the interface looks to a customer using it.
I say this as someone actively building AI systems for e-commerce, not as someone warning people away from the technology. The technology is not the risk. The risk is deploying it with the same casual attitude some teams bring to installing a new plugin, when it should be reviewed with the same rigor as anything else that touches customer data and runs on your infrastructure.
What most store owners get wrong about compliance
Payment card compliance standards exist for a reason, and most store owners have a vague sense that their payment processor handles it for them. That is partly true and partly a dangerous assumption. Using a reputable, compliant payment processor does reduce your direct exposure to raw card data, since the processor handles the most sensitive part of the transaction. But compliance is not just about the payment processor. It covers how your entire checkout flow is built, what your site logs, how session data is handled, and whether any part of your stack stores information it should never touch in the first place.
The most common mistake I see is a store that assumes because they use a compliant processor, they are automatically compliant themselves. Compliance is a shared responsibility between the platform, the processor, and the store owner’s own configuration choices. A misconfigured plugin that accidentally logs form submissions, including payment fields, before the processor ever receives them, can undo all the protection the processor was supposed to provide. This is not a hypothetical. It is one of the more common ways stores end up with sensitive data sitting somewhere it was never supposed to be stored.
The first hour audit
If you want to know where your store actually stands, here is what I would check in the first hour of looking at any store for the first time, in the order I would check it.
Admin accounts
Who has access, and when did they last use it
Installed plugins
What’s running, how current it is, is it even used
Data inventory
What customer data actually lives in the database
Incident plan
Written down, with named contacts, before it’s needed
Admin accounts first. Every account with administrative access, when it was last used, and whether the person attached to it should still have that access today. This takes fifteen minutes and closes more real risk than almost anything else on this list.
Installed plugins second. What is running, when it was last updated, and whether it is actually still in use. Anything abandoned or unused gets flagged for removal.
Data inventory third. What categories of customer data actually live in the database, cross referenced against what the business is legally required to protect and disclose if it were ever exposed.
Incident plan fourth. Does one exist, in writing, with named contacts and a defined first step. If the answer is no, that becomes the first deliverable, before anything else gets built or added to the site.
None of this requires special tools or a large budget. It requires someone sitting down and actually doing it, methodically, instead of assuming a plugin or a processor already handled it. Most stores I have audited have never had this hour spent on them, and it shows the moment something goes wrong.
Why attackers bother with small stores at all
Every store owner I talk to eventually asks some version of the same question. Why would anyone target a store our size. There are bigger targets out there. This is the single most dangerous assumption in this entire list, because it is exactly backwards from how most attacks actually happen.
Attackers rarely sit down and pick your store by name. Most attacks are automated, scanning thousands of sites for a known, unpatched vulnerability in a specific plugin version or a specific platform configuration. The attacker does not know or care that your store belongs to a small business with a handful of employees. The scanner found a door that was left unlocked, and it walked through it. Scale does not protect you from this kind of attack. If anything, smaller stores are more exposed, because larger companies tend to have dedicated staff watching for exactly this kind of scanning activity, and smaller stores usually do not.
There is also a specific reason small and mid sized stores are attractive even to attackers who are being deliberate rather than automated. Smaller stores are frequently used as a stepping stone. An attacker compromises a small store not necessarily to steal from that store directly, but to use its server as infrastructure for something else entirely, sending spam, hosting phishing pages, or joining a network of compromised machines used to attack larger targets. Your store’s reputation, its search rankings, its relationship with its hosting provider, all of that can get damaged by an attack that was never really about you in the first place. It was about having a server nobody was watching closely.
And then there is the data itself, which is valuable regardless of the size of the business that collected it. A database of a few thousand customer names, emails, and order histories has real value on the black market, not because any single record is worth much, but because it can be combined with data from other breaches to build a fuller picture of a person, useful for identity theft, targeted phishing, or credential stuffing attacks against other services those same customers use. Your store does not need to be large for its customer list to be worth stealing. It just needs to have customers.
I bring this up because the “we are too small to be a target” mindset is what leads directly back to mistake one, treating security as optional because the perceived risk feels low. The risk is not low. It is simply invisible until the day it is not, and by then the store owner is no longer asking whether they are a target, they are asking what to do now that they already were one.
What actually protects a growing store
Three things, in order. Know what data you hold and where it lives. Limit who and what can reach it, including third party plugins and staff accounts nobody has reviewed in a year. Write the incident response plan while nothing is on fire, not after.
None of this needs a big budget or a full time security hire. It needs someone actually doing it instead of assuming a plugin did it for them. I built my own approach to this running Globotech Solutions, certified through CompTIA CySA+ and CEH Practical, and the store owners who take these steps seriously are the ones who are not writing to me the week after a breach. They are the ones who called before anything happened, asked the uncomfortable questions early, and built a store that could survive contact with a determined attacker instead of one that just hoped it never would. That is the entire difference between a business that treats security as a line item and one that treats it as a discipline worth practicing every single week the store stays open.