A WordPress security audit is a structured review of the accounts, software, files, hosting controls, backups, and monitoring that protect a site. The goal is not to make an impossible promise that a website can never be attacked. It is to identify preventable exposure, confirm that recovery is possible, and reduce the time between a security problem appearing and someone responding to it.
If you already see redirects, unknown administrators, spam pages, or browser warnings, stop auditing and follow the emergency hacked-site recovery steps. An audit is preventive work; an active compromise needs containment and forensic cleanup.
Book a free, no-obligation strategy call and we'll map out your next move.
How to Use This WordPress Security Audit Checklist
Record each check as Pass, Needs Work, or Not Applicable. Save evidence such as screenshots, version numbers, backup logs, and test results. Assign every failed check to an owner and a deadline. A checklist only improves security when findings become tracked actions.
For a business-critical website, run a complete audit at least quarterly and after a major migration, redesign, hosting change, or security incident. Lightweight checks for updates, backups, uptime, and suspicious activity should happen continuously or on a scheduled maintenance cycle.
1. WordPress Core, Theme and Plugin Exposure
- 1. Confirm WordPress core is supported and current. Record the installed version, compare it with the current supported release, and review the security notes before updating. Test major releases on staging instead of applying them blindly to production.
- 2. Inventory every plugin and theme. Include inactive extensions because inactive code can still remain on the server. Record the owner, business purpose, installed version, update status, and whether the product is still maintained.
- 3. Remove abandoned and unnecessary components. Delete unused plugins and themes rather than merely deactivating them. Replace software that has stopped receiving updates or relies on unsupported PHP or WordPress versions.
- 4. Check public vulnerability sources for installed components. A version being fully updated does not guarantee that it is safe; a newly disclosed issue may not yet have a vendor patch. Document any temporary mitigation or virtual-patching rule.
- 5. Review the update process. Business sites should use a staging-first workflow, a verified backup, and a rollback plan. If updates are fully automatic, confirm that someone receives failure alerts and checks the site after deployment.
Many preventable compromises begin with the same patterns described in our guide to WordPress security mistakes that get sites hacked.
2. Users, Authentication and Permissions
- 6. Audit administrator accounts. Every administrator should belong to a real person or documented integration. Remove former staff, agency users, test accounts, duplicate administrators, and accounts with suspicious creation dates.
- 7. Apply least privilege. Editors, authors, shop managers, support staff, and developers should receive only the permissions needed for their role. Avoid sharing a single administrator login across a team.
- 8. Enforce strong, unique passwords. Check that credentials are not reused across hosting, WordPress, email, DNS, Cloudflare, and database accounts. A password manager is safer than circulating credentials in chat or email.
- 9. Enable multi-factor authentication for privileged users. Prioritize WordPress administrators, hosting, domain registration, DNS, email, source control, and any account able to reset another credential.
- 10. Review login and password-reset controls. Confirm rate limiting, bot protection, secure reset emails, session expiry, and alerts for unusual login activity. Test the process from a private browser window instead of assuming it works.

