WordPress security audit

WordPress Security Audit: find the weaknesses a plugin-only scan can miss.

A manual, evidence-led review of the WordPress application and the controls around it. The engagement identifies exploitable weaknesses, unsafe configuration, exposed information, and recovery gaps before they become an incident.

Never send credentials, private keys, backup archives, or confidential source code through this website.

Best for
Preventive assurance, launch reviews, insurer or client questions
Assessment
Manual validation supported by appropriate tooling
Deliverable
Prioritized findings, evidence, remediation, and retest status
Access
External review first; least-privilege access when the scope requires it
Typical fee
$150–$500 per site · 2–4 business days · fixed in the written proposal

What you receive

A report your team can act on

Executive summary

Scope
One VPS, WHM/cPanel, and eight WordPress installations
Findings
5 high · 6 medium · 1 low, each with evidence and an acceptance test
Outcome
8 resolved and verified · 3 open with dates and owners · 1 risk accepted
Residual posture
Held at high: the four sites sharing one hosting identity are not yet separated in production

Finding card

FINDING HOST-01 · WORKED EXAMPLE3 of 12
HIGHCOMPONENT: SHARED HOSTING ACCOUNT

Four production sites share one filesystem identity

EVIDENCE

Controlled cross-site read and write between sites sharing one account.

BUSINESS IMPACT

One compromised site can reach the files and configuration secrets of three others.

REMEDIATION

Move each site into its own hosting account and PHP-FPM identity, with separate deployment and database credentials.

RETEST

Open — staging migration passed; production separation still outstanding.

Retest verification

FindingFinal disposition
VPS-01 · Root SSH password accessResolved Acceptance checks passed
WP-01 · Public events backupResolved Acceptance checks passed
HOST-01 · Shared filesystem identityOpen Staging passed, production due 2 October
INFO-01 · Public version metadataAccepted Named approver, review due 22 December

From the 22-page sample report, a fully fictional worked example. Read the whole report

Scope

What the WordPress security audit includes

The exact scope is agreed before access is provided. A typical engagement examines the application, its extensions, the hosting boundary, and the operational controls needed to recover safely.

WordPress configuration

Core configuration, exposed files and endpoints, debug settings, scheduled tasks, update controls, and security-relevant defaults.

Plugins and themes

Installed, active, abandoned, duplicated, or unexpectedly modified components and their known vulnerability exposure.

Users and authentication

Administrative accounts, role assignments, MFA, session handling, password controls, and access pathways.

Application attack surface

Public entry points, forms, APIs, uploads, XML-RPC, administrative exposure, and information disclosure.

Hosting and runtime

Relevant TLS, PHP, file-permission, database, backup, isolation, and web-server controls available within scope.

Recovery readiness

Backup separation, restoration evidence, logging, alerting, and the operational steps used when something goes wrong.

Method

Assessment, reporting, and retesting

  1. 01

    Scope and authorize

    Define the sites, environments, access, exclusions, testing window, and escalation contacts in writing.

  2. 02

    Inspect and validate

    Review external exposure and approved internal controls. Potential issues are manually checked before they are reported.

  3. 03

    Prioritize and explain

    Document the affected component, sanitized evidence, practical impact, and a remediation path appropriate to the environment.

  4. 04

    Remediate and retest

    Implement agreed fixes or support the responsible team, then verify the result and update the report status.

Output

A report designed for action, not a scanner export

Findings are written so an owner, developer, host, or administrator can understand what matters and who should fix it.

  • Executive summary and scope statement
  • Prioritized findings with affected components and sanitized evidence
  • Business impact and realistic attack conditions
  • Specific remediation guidance and ownership notes
  • Positive controls already working as intended
  • Retest status for agreed remediated findings

How to start

From first message to delivered report

No access, credentials, or commitment are needed to get a proposal. The sequence is the same for every audit.

  1. 01

    Describe the site and the question

    Send the domain, whether WooCommerce or multisite is involved, how many sites there are, and what prompted the audit: an insurer form, a launch, a client question, or general assurance. No credentials.

  2. 02

    Initial reply within 24 hours, then a written proposal

    The proposal states the scope, exclusions, deliverables, start date, and the exact fixed fee within the $150–$500 range. Scoping and the proposal are free and carry no obligation.

  3. 03

    The audit runs over 2–4 business days

    External review first, then credentialed checks through named, temporary, least-privilege access where the scope requires it. Each potential finding is validated by hand before it is reported.

  4. 04

    Report, walkthrough, and retest

    A prioritized findings report in the sample-report format, a walkthrough with the responsible people, and a retest of the agreed fixes with each finding’s status updated.

Plugin or audit

Is a security plugin enough? Audit vs Wordfence, Sucuri and MalCare

Wordfence, Sucuri and MalCare do useful work continuously: they block known attacks and flag known malware in the WordPress files. An audit answers the questions a plugin running inside WordPress cannot.

Keep the plugin; add the audit once a year or before an insurer asks. The two answer different questions, and the audit report records what the plugin was already doing well.

AreaWhat a plugin scan checksWhat a manual audit checks
Server isolationNothing beyond the site it runs in, as that site’s PHP userFile ownership and permissions, PHP handler and isolation settings, and whether another account on the host can reach this site’s files
Roles and business logicLists administrators and enforces login rules such as 2FAWho holds which role and why, custom capabilities, and whether forms, coupons, checkout and APIs enforce the rules they are meant to
Backup restore evidenceNot tested — a security scan does not restore anythingWhere backups live, whether they are separate from the site, and when a restore was last proven
Exposed endpointsBlocks known attack patterns against WordPress routes; flags some exposed filesEverything reachable from outside — XML-RPC, REST routes, admin paths, staging copies, backup archives — validated by hand
Third-party scriptsFiles on disk; scripts loaded from other domains are largely outside a file scanEvery external script and tag, who controls it, and whether it runs on login, admin or checkout pages

Choose correctly

An audit is not the same as incident response or a penetration test

Choose this service when you want preventive assurance, a structured control review, or an independent answer to whether a WordPress environment is configured and operated safely.

If the site is redirecting visitors, creating spam pages, showing unknown administrators, or repeatedly becoming infected, use the malware-removal service. If the objective is adversarial testing of custom functionality or business logic, use the penetration-testing service.

Common questions

Questions about this engagement

Is this just an automated vulnerability scan?

No. Tools help with coverage, but potential findings are manually validated and explained in the context of the actual site. Scanner output is not presented as a confirmed vulnerability.

Will you need administrator or server access?

Not always. Work can begin from the external attack surface. Credentialed checks use named, temporary, least-privilege access agreed after scoping.

Can WooCommerce or WordPress multisite be reviewed?

Yes, when they are explicitly included in scope. Their roles, integrations, data flows, and operational risk can materially change the assessment.

Can the findings be fixed and retested?

Yes. Remediation can be performed directly where agreed or delivered as guidance for the responsible team. Agreed changes can then be retested.

How much does a WordPress security audit cost, and how long does it take?

Typically $150–$500 for a single site, delivered in 2–4 business days from access to report. Site count, WooCommerce or multisite complexity, and reporting requirements move the figure — the pricing page explains the scope factors, and the proposal states the exact fixed fee.