Small business sites are rarely targeted personally. Almost all of this is automated scanning that found a known hole and walked in.
Most common
An out-of-date plugin or theme
How to check: Look at the update list. Anything that has been sitting on an available update for months, and anything the developer has abandoned, is a candidate. Publicly known vulnerabilities get scanned for at scale within days of disclosure.
The fix: Update everything. Remove what you do not use, including deactivated plugins, because the code is still on the server and still reachable. Prefer plugins that are actively maintained.
Very common
A weak or reused admin password
How to check: An admin account named admin, or a password you also use somewhere else, or a password a former employee still knows. Check the user list for accounts belonging to people who no longer work with you.
The fix: Unique long passwords in a password manager, two-factor authentication on the admin and hosting accounts, and remove accounts nobody uses. Do not share one login among several people.
Common
An abandoned copy of the site
How to check: Look in the hosting file manager for folders like /old, /backup, /dev, /staging, or a second WordPress install from a redesign three years ago. They are live, reachable, and nobody has ever updated them.
The fix: Delete them once you are sure they hold nothing you need. If you want a staging copy, keep it behind a password and keep it updated like the real thing.
Common after a first hack
A backdoor left from a previous cleanup
How to check: The site was cleaned, worked for a week or two, and got infected again with no new vulnerability. Attackers plant extra entry points precisely so a surface cleanup does not remove them. They hide in upload folders, in must-use plugins, and in files named to look ordinary.
The fix: Restore from a known clean backup rather than cleaning again, then rotate every credential. This is the case where cleaning file by file most often fails.
Less common but nasty
Stolen credentials from an infected computer
How to check: Your FTP client saves passwords in plain text. If a desktop was infected, those went with it. The tell is a compromise with no vulnerable software and no weak password.
The fix: Clean or replace the machine first, then rotate credentials from a device you trust. Rotating from the infected machine just hands over the new passwords.