Securing a WordPress site is a repeatable checklist of updates, access control, backups and monitoring, because most WordPress sites are breached through outdated plugins, weak logins and unpatched hosting, not clever attacks. A care plan runs that checklist every month, so nothing depends on someone remembering.
Most hacked WordPress sites were never targeted by anyone clever. A plugin went unpatched for months, a former employee still had admin rights, or the hosting ran software nobody had checked since launch. Automated tools scan for those gaps all day, and the first sign of trouble is often a browser warning, a spam redirect or an alert from Google.
The fix is not a single plugin. It is a short list of controls that someone checks every month: updates, logins, hosting, backups and monitoring. The hard part is usually ownership. The developer who built the site has moved on, the host assumes the site is yours to manage, and the person with the admin password has no time to run checks.
Below is the 14-item checklist we use, split into four phases. Each item gives you the reason, a check you can run in about a minute and the fix. After that you will find a plain comparison of three common security plugins, a recovery plan in the right order if the site is already compromised, and a clear split of who should own each job.
Apply updates within days and delete any code you are not using. WordPress.org's security guidance names keeping WordPress itself and all installed plugins and themes up to date as the most important thing you can do for WordPress security, and it encourages choosing themes and plugins that are actively receiving updates.
Plugins need constant attention, because each one is written by a different team on its own release schedule. These three items control what code runs on your site and how quickly it gets fixed.
Put every account behind a unique password and a second factor, then remove access nobody needs. A stolen or guessed login walks straight past every other control on this list, so treat this phase as non-negotiable.
Login security also covers accounts outside WordPress. Your hosting panel, domain registrar, SFTP account and the inbox that receives password resets can each hand someone control of the site.

Use a host that patches the server for you, then add HTTPS, a firewall and a supported PHP version on top. The WordPress.org hardening handbook stresses understanding where your host's responsibility ends and yours begins, and lists providing the most recent stable versions of all server software among the qualities of a trusted host.
These four items are the server-side half of WordPress hardening. Most of them take one email to your host and a few minutes in the dashboard.
Keep daily backups off the server, prove they restore, and set up alerts so you hear about a problem before your clients do. The official guidance describes security as reducing risk and planning for recovery, because risk can never be reduced to zero.
This phase is what turns a bad day into a short one. Each item here is cheap to set up and easy to forget.
define( 'DISALLOW_FILE_EDIT', true ); to wp-config.php, which the hardening handbook covers in its own section. Block XML-RPC through your security plugin or host unless Jetpack or a mobile publishing app depends on it.
Choose by where you want the filtering to happen and what your host already covers. Of the three tools firms usually shortlist, one runs inside WordPress, one filters traffic in the cloud before it reaches your server, and one now ships as part of a wider add-ons bundle.
Wordfence is a plugin-based firewall and malware scanner that runs on your own server, with login protection and two-factor authentication managed from the dashboard.
Sucuri's firewall page describes a cloud web application firewall that protects sites from hacks, DDoS attacks and zero-day exploits before they reach the server, with guaranteed malware removal, a 24/7 security team and a 30-day guarantee.
Solid Security's page now presents the product as Kadence Security, part of a Kadence add-ons bundle. It lists a real-time firewall with automatic rule updates, two-factor authentication, Patchstack virtual patching, brute force protection, file change detection and a security dashboard, with daily incremental off-site backups in the same bundle.
| Tool | Where it filters | Free version | Listed price (vendor's currency, billing cycle) | One limitation |
|---|---|---|---|---|
| Wordfence | On your server, inside WordPress | Yes | Not verified for this post | Traffic reaches your server before filtering |
| Sucuri | In the cloud, before your server | No, paid plans | Basic Platform at $229 per year (vendor page, not marked CAD) | Requires a DNS change to activate |
| Solid Security (Kadence Security) | Inside WordPress, with virtual patching | No, included in Pro and Elite | No price on the security page | Bundled with tools you may not need |
Whatever you pick, run one security plugin firewall, not two. Overlapping firewalls can conflict and make problems harder to trace.
Contain the damage first, then restore, rotate, re-scan and only then ask Google for a review. After that, give the checklist a named owner so it runs every month instead of after the next incident.
If there is no clean backup, have a specialist clean the site before it goes back online.
| Who | What they should own | Where it breaks down |
|---|---|---|
| The owner | Credentials, who has access, Search Console ownership, budget | Rarely has time to run monthly checks |
| The original developer | Hardening at launch: HTTPS, roles, backups, file editing off | Often not contracted after launch |
| A care plan | Monthly updates with staging tests, backups, scans, monitoring and reporting | Only works if the owner keeps access and approvals current |
We run monthly care plans for WordPress sites covering updates, backups, security and speed. For the consumer product brand mentioned earlier, plugin updates, staging tests and backups all run every month under that plan. Our guide to what a monthly website care plan covers walks through the routine. If a site is too old or too patched-together to secure properly, our web design and build service can rebuild it on a clean base.
Here are all 14 steps with the one-minute check for each. Copy the table into a shared document, put an owner's name beside every row and rerun it monthly.
| Step | Check |
|---|---|
| 1. Updates applied within days, tested on staging | Dashboard > Updates shows nothing waiting more than a few days |
| 2. Unused themes and plugins removed | Inactive plugins list is empty; only one fallback theme remains |
| 3. Plugins chosen by maintenance record | Each plugin updated under six months ago, with active installs and answered support threads |
| 4. Strong, unique passwords in a password manager | Every user confirms passwords live in the manager and are not reused |
| 5. Two-factor authentication on all admins | Security plugin shows two-factor active for every administrator |
| 6. Login attempts limited, login URL protected | Repeated wrong passwords in a private window trigger a lockout |
| 7. Least-privilege roles, no shared admin logins | Administrator filter lists only current people who need the role |
| 8. HTTPS with an auto-renewing certificate and HSTS | http:// redirects to https://, certificate valid, Strict-Transport-Security header present |
| 9. Managed hosting with patching and isolation | Written answer from the host on who patches and how sites are isolated |
| 10. Web application firewall and malware scanning | Firewall shows active and the last scan ran recently |
| 11. Supported PHP version | Site Health shows a PHP version on php.net's supported list |
| 12. Daily off-site backups with a tested restore | Last backup ran in the past day, sits off the server, restore tested this quarter |
| 13. File editing and unused XML-RPC disabled | No Theme File Editor menu; xmlrpc.php blocked if unused |
| 14. Uptime, file-change and Search Console monitoring | Alerts arrive by email and the Security issues report is clear |
WordPress security is a routine, not a rescue. Keep the code updated and lean, lock down every login, get written answers from your host, and make sure backups restore and alerts reach someone who reads them. Each of the 14 checks takes about a minute to verify, so the real question is who runs them next month and the month after.
If nobody in your office can answer that today, start there. We can audit your site against this checklist, show you what is unmonitored right now and set up a monthly care plan that keeps it covered. Book a free consultation with our team in Saint John.
Yes, WordPress core is actively maintained and has its own security team that handles responsibly disclosed vulnerabilities. The risk usually sits in what surrounds core: plugins, themes, logins and hosting. The official hardening handbook frames security as risk reduction, not risk elimination, which is why the checklist runs every month.
Check for updates at least weekly and apply security releases within days, after a quick staging test. WordPress installs minor core security releases automatically by default, but plugins and themes still need your attention. A full monthly pass on staging catches anything that slipped through.
Usually yes, because a host firewall filters traffic but does not add two-factor authentication, login limits or file-change alerts inside WordPress. Ask your host exactly what its firewall covers, then use one plugin for the gaps. Avoid running two plugin firewalls at the same time.
Outdated plugins and themes, weak or reused passwords and unpatched hosting account for most breaches, not sophisticated attacks. Official guidance calls keeping WordPress, plugins and themes up to date the single most important security step. Two-factor authentication closes most of the login side.
The clearest signs are a warning in the Search Console Security issues report, a browser warning on your pages, or admin users you did not create. Other clues include file-change alerts you did not trigger, redirects to spam sites and strange pages appearing in Google results for your domain. If you see any of these, start the recovery steps in order.