WordPress security audit: what a 2026 audit must check, and how to hire for one

A WordPress security audit checklist built on the 2026 exploits: what to check, commands to run yourself, what a good report includes, and questions to ask.

Our content is written and reviewed by the Four Cents team. We may recommend our own services. Read our editorial standards.

On this page

A WordPress security audit tells you whether your site is already compromised, what it is exposed to, and whether you could recover if it were hacked tonight. In 2026 the scope grew: WordPress core itself was exploited, attacks began on the day of a patch, and nearly half of plugin flaws arrived with no fix. This guide sets out what a current audit must check, the commands you can run yourself, and how to judge a provider.

What a WordPress security audit is

A WordPress security audit is a structured check of everything an attacker could use to get into your site, plus a search for signs that someone already has. It ends in a written report that ranks what to fix first. It is not the same as running a scanner plugin, which checks one layer and cannot see your server, your accounts or your backups.

A good audit answers four questions:

  1. Is the site already compromised?
  2. Which known vulnerabilities is it exposed to right now?
  3. How easy is it to break in through logins, permissions and server settings?
  4. If the worst happened tonight, could you recover?

Why 2026 changed what an audit must cover

The 2026 numbers moved several items from "nice to check" to "must check". Each is sourced in our WordPress security statistics.

What happenedWhat the audit must now check
Three WordPress core flaws were added to CISA's exploited list in July and September 2026The exact core version and whether automatic security updates actually work
Attackers tried CVE-2026-87902 the same day it was patchedSigns of entry from before the patch, not just the current version
Patchstack found 46% of 2025 vulnerabilities had no fix at disclosureEach plugin against a vulnerability database, including ones with no update available
Premium plugins had three times more known exploited vulnerabilities than free ones (Patchstack, 2025)Premium plugin licences, since a lapsed licence stops updates
58.2% of WordPress sites run PHP 8.2 or older, unsupported after 31 December 2026PHP version and a plan to upgrade it
Self-restoring malware stored in files, the database and shared memory (Sucuri, reported 1 October 2026)The database and scheduled tasks, not only files

An audit quote that does not mention core version checks, the database, or PHP is working from an older playbook.

Want to know where your site stands?Send us the address. We will do a free first look at versions, PHP and plugin exposure, then quote a full audit with a fixed scope if it is needed.
Request a free first look

The full audit checklist

This is the scope we would expect from any competent audit. Use it to compare quotes, or work through it yourself.

1. Compromise checks

  • Core files compared against official checksums.
  • PHP files in wp-content/uploads, which should contain none.
  • Unknown administrator accounts and recently created users.
  • Injected options, rogue scheduled tasks and unexpected autoloaded data in the database.
  • Spam pages indexed under your domain, including cloaked pages only Google sees.
  • Indicators named in current advisories, such as the files reported for CVE-2026-87902.

2. Known vulnerability exposure

  • WordPress version against the latest security release for its branch.
  • Every plugin and theme, active or not, against a vulnerability database.
  • Plugins abandoned by their authors. Our WordPress statistics found 46.4% of directory plugins not updated in over two years.
  • Premium plugins with expired licences.
  • PHP and database versions against their support dates.

3. Access and configuration

  • Number of administrators, and whether each one needs that role.
  • Two-factor authentication on admin accounts.
  • Login rate limiting, and whether XML-RPC is needed.
  • File permissions and file editing in the dashboard (DISALLOW_FILE_EDIT).
  • Settings in wp-config.php that disable automatic updates.
  • Debug output and exposed files such as backups or phpinfo pages in the web root.
  • HTTPS, security headers and the host's firewall.
  • Hosting, SFTP, database and DNS accounts: who has access, and whether former staff or contractors still do.

4. Recovery readiness

  • Backups stored off the server, on a schedule.
  • A test restore, timed.
  • Uptime monitoring and who gets the alert.
  • A written plan for who to call if the site is hacked.

Checks you can run yourself

If you have SSH and WP-CLI, these cover a large part of sections 1 and 2 in a few minutes. Run them on a copy if you are unsure.

# 1. core version and integrity
wp core version
wp core verify-checksums

# 2. plugins and themes, with available updates
wp plugin list --fields=name,status,version,update_version,auto_update
wp theme list --fields=name,status,version,update_version

# 3. administrators
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered

# 4. PHP in uploads (should return nothing)
find wp-content/uploads -name '*.php'

# 5. recently changed PHP files, last 14 days
find . -name '*.php' -mtime -14 -not -path './wp-content/cache/*'

# 6. scheduled tasks
wp cron event list

# 7. settings that block updates
grep -nE "AUTOMATIC_UPDATER_DISABLED|WP_AUTO_UPDATE_CORE|DISALLOW_FILE_MODS|DISALLOW_FILE_EDIT" wp-config.php

# 8. PHP version used by the site
wp eval 'echo PHP_VERSION, PHP_EOL;'

Anything unexpected from checks 1, 3, 4 or 6 means you should stop treating this as an audit and start treating it as an incident. Follow how to fix a hacked WordPress site. A quick non-technical version of these checks is in our WordPress security checklist.

What these commands cannot tell you: whether a plugin has an unpatched flaw (you need a vulnerability database), whether Google sees spam pages that you do not, and whether your backups actually restore.

What you should receive

The report is the product. Ask to see a sample before you agree to pay.

A useful audit report hasA weak one has
Findings ranked by severity, with the most urgent firstA scanner export with hundreds of unranked lines
Plain-English explanation of each risk to your businessJargon and CVSS scores only
A specific fix for each finding, and who should do it"Update everything"
A clear statement of whether the site is compromised nowSilence on the question
What was not checked, and whyAn implied claim that everything was checked
Versions and dates recorded, so the next audit can compareNo baseline

Be wary of any audit that promises a site will be "unhackable" or "100% secure". No honest provider can promise that. What an audit can do is remove known, fixable weaknesses and tell you what is left.

Questions to ask before you hire

  1. What exactly is in scope? Files only, or the database, server settings and accounts too?
  2. Do you need server access, or only an admin login? Admin-only audits cannot check core integrity properly.
  3. Which vulnerability database do you check plugins against?
  4. Do you check for existing compromise, or only for weaknesses?
  5. Will you fix what you find, and is that priced separately?
  6. If you find malware, what happens next? Cleanup should be a clear next step, not a surprise invoice.
  7. Will you work on a copy of the site, or on live?
  8. How is access handled and removed afterwards?

Our guide to hiring a WordPress developer covers contracts and access in more depth.

Want an audit with a fixed scope and a plain report?We check compromise, exposure, access and recovery, then send a ranked report with a fix for each finding. You decide what we fix. Get a fixed-scope quote.
Get an audit quote

How often to audit

SituationAudit
You have just taken over a site built by someone elseNow, before anything else
Automatic updates were off or failing during July to September 2026Now, including compromise checks
Before a PHP upgrade or a major change such as WordPress 7.2Light audit as part of the staging test
Store or site with personal data, under a care planYearly full audit, with continuous monitoring between
Small brochure site, well maintainedEvery one to two years
After any security incidentImmediately after cleanup

An audit is a snapshot. Its value fades as soon as the next plugin vulnerability is published, which, at Patchstack's 2025 rate of 11,334 a year, averages more than one an hour. Ongoing maintenance is what keeps the result true. That is the argument in is WordPress maintenance worth it.

What an audit costs

We do not publish a fixed audit price, because the work depends on the site: a ten-page brochure site with eight plugins is a different job from a store with sixty plugins and custom code. We quote a fixed scope after a short look. Under our care plans, which our pricing page says are "typically about 15 to 20 percent of the build cost per year", an onboarding review of versions, plugins, backups and security is part of starting the plan, as described on our maintenance and support page.

When you compare quotes from different providers, compare the scope against the checklist above, not just the price.

Checklist: before the auditor starts

  • Take a full backup of files and database and store it off the server.
  • Gather access: WordPress admin, hosting panel, SFTP or SSH, and DNS.
  • List who else has access, including past developers and agencies.
  • Note anything odd you have seen: slow pages, strange redirects, spam emails from your domain, Search Console warnings.
  • Note any premium plugins and where their licences are held.
  • Decide who will approve fixes, and by when.
Rather have it watched all year?Our care plans start with an onboarding security review, then keep core, plugins and PHP current with staged updates, tested backups and malware scanning.
See care plans

Frequently asked questions

What is a WordPress security audit?

A structured review of a WordPress site’s exposure and health: checks for existing compromise, known vulnerabilities in core, plugins and themes, access and server configuration, and backup and recovery readiness, ending in a ranked written report.

Is a security plugin scan the same as an audit?

No. A scanner checks files and known signatures from inside WordPress. An audit also covers server settings, accounts, the database, PHP version, Google’s view of the site and whether backups restore.

How long does a WordPress security audit take?

It depends on the size of the site and the access available. A small site with server access is a much shorter job than a store with dozens of plugins and custom code, which is why we scope before quoting.

Can I audit my WordPress site myself?

Partly. The WP-CLI commands on this page cover core integrity, plugins, admin accounts, PHP in uploads and scheduled tasks. Checking plugins against a vulnerability database and testing a restore are the parts most owners skip.

How often should a WordPress site be audited?

When you take over a site, after any incident, before major changes, and at least every one to two years. Stores and sites with personal data benefit from a yearly audit with monitoring in between.

Does an audit fix the problems it finds?

Not by itself. An audit identifies and ranks issues. Fixing them is a separate step, which the same provider may quote for. Ask about this before you start.

Was my site affected by the 2026 core vulnerabilities?

Check your version against the latest release for your branch and confirm automatic updates were not disabled. Our article on WordPress core exploited in 2026 lists the indicators to look for.

Sources

Each figure and date above comes from one of these. The retrieved date is when we last confirmed the source still says what we say it says.

  1. State of WordPress Security in 2026 Patchstack. Retrieved 2026-10-23.
  2. Known Exploited Vulnerabilities Catalog Cybersecurity and Infrastructure Security Agency (CISA). Retrieved 2026-10-23.
  3. WordPress 7.1.2 Release WordPress.org. Retrieved 2026-10-23.
  4. Attackers Exploit WordPress CVE-2026-87902 Within Hours of Disclosure The Hacker News. Retrieved 2026-10-23.
  5. WordPress backdoor rebuilds itself after cleanup The Hacker News. Retrieved 2026-10-23.
  6. WordPress PHP version statistics (API) WordPress.org. Retrieved 2026-10-23.
  7. WP-CLI commands WordPress.org. Retrieved 2026-10-23.

About the author

Hamza Hai

Founder, Accountant & Project Manager, Four Cents

Hamza Hai is a founder of Four Cents and its accountant and project manager. She keeps projects on track and the numbers clear.

She manages timelines, scope and client communication, so there are no surprises for clients along the way.

She writes the guides on WPDeveloper.ca, including its WordPress planning guides. They draw on the quoting and scoping work she does for Four Cents clients every week.

Areas of expertise

  • Software and app project management
  • Development costing and estimates
  • Project scoping
  • Budgeting for software projects

All articles by Hamza Hai (133 on WPDeveloper.ca)

Reviewed by Zee, Founder & Lead Developer, Four Cents

Zee leads every Four Cents build as the senior full-stack engineer, from the first call to launch and beyond, and technically reviews the articles on this site.

Our editorial standards: who writes and reviews our articles, where our prices come from and how to report a correction.

Start a project

Tell us about your WordPress project

A free consultation and a written, fixed-scope quote. No obligation, no pressure.

  • A reply within 24 hours
  • Fixed-scope quote before any work starts
  • You own the code, content and accounts

Prefer to talk? Call +1 (365) 440-1786 or email info@fourcents.ca.

Request your free quote

Fields marked with an asterisk are required.

Please enter your name.

Please enter a valid email address.

Please enter a phone number so we can reach you.

Please tell us a little more about your project (10 characters or more).