What is wordpress security and what does it involve?

TechSteps secures WordPress beyond the plugin layer: credential and account hygiene, file permissions, the server the site runs on, update discipline, and monitoring that would show a compromise rather than assume its absence. Most serious WordPress incidents are not solved by installing another security plugin.

What this solves

The problem underneath the request.

WordPress runs a very large share of the web, which makes it a permanent target for automated attacks. Most compromises are opportunistic rather than targeted: a scanner finds a known vulnerable plugin version and exploits it without anyone deciding to attack you specifically.

The usual response is a security plugin. Those are useful for some things and they operate inside WordPress, which is a serious limitation. A plugin cannot reliably tell you whether the server beneath it has been compromised, and it cannot protect against an attack that reaches the filesystem or database directly.

Real WordPress security is mostly unglamorous: update discipline, fewer plugins, sensible permissions, credential hygiene, a hardened server, and logs that go somewhere the attacker cannot edit.

Who this is for

  • WordPress or WooCommerce sites handling customer data or payments
  • Sites that have been compromised before
  • Businesses whose site has accumulated many plugins over years
  • Companies needing to answer security questions about their site
  • Anyone whose updates have fallen significantly behind

When people call us

Situations that usually start this conversation.

If more than one of these sounds familiar, the underlying cause is often a single issue rather than several separate ones.

  • 01 The site was compromised, cleaned, and you want it not to recur
  • 02 A plugin you use has a disclosed vulnerability
  • 03 Updates have been deferred for months because something broke previously
  • 04 Unexpected administrator accounts have appeared
  • 05 The site is flagged by a browser or search engine
  • 06 A client or insurer is asking about your security posture

Technical scope

What the work actually covers.

Not every engagement includes all of this. The scope is agreed in writing before we start, and anything excluded is named rather than left ambiguous.

Accounts and credentials

  • Administrator account review and removal of dormant accounts
  • Role and capability audit, including custom roles
  • Strong authentication on administrative accounts
  • Password reset and rotation after any suspected exposure
  • Review of application passwords and API keys

Code and updates

  • Plugin and theme inventory with version and vulnerability status
  • Removal of unused, abandoned or nulled components
  • Update process with a staging path so updates stop being deferred
  • Review of custom code for capability and nonce checks
  • Core integrity verification against official checksums

Filesystem and server

  • File and directory permissions, particularly the uploads directory
  • Preventing PHP execution in directories that only hold uploads
  • Configuration file protection and secret handling
  • Web server and PHP configuration relevant to the application boundary
  • Server hardening beneath the application

Detection and recovery

  • Logging of logins, user changes and file modifications
  • Off-host log storage so evidence survives
  • Baseline of expected files so changes are detectable
  • Backups covering database and uploads, verified by restoring
  • A documented response procedure for suspected compromise

How we approach it

The order matters more than the checklist.

  1. 01

    Establish whether it is already compromised

    Securing a site that is already breached just locks the attacker inside. We check for unexpected accounts, modified core files, suspicious scheduled events and unfamiliar must-use plugins before anything else.

  2. 02

    Inventory and reduce

    Every plugin and theme with its version and known vulnerabilities. Removing an unused plugin eliminates its risk permanently, which beats any amount of monitoring around it.

  3. 03

    Fix credentials and access

    Dormant administrator accounts, shared logins, weak passwords and stale API keys. Account hygiene is the least interesting and most effective part of this work.

  4. 04

    Secure the layer below WordPress

    File permissions, PHP execution in uploads, configuration file protection and server hardening. This is what a security plugin cannot do for you.

  5. 05

    Make updates routine

    A staging path and a schedule, so updating stops being a risk event that gets postponed. Deferred updates are how most WordPress sites become vulnerable.

  6. 06

    Add detection

    Logging of the events that indicate compromise, stored off the host, plus a baseline so file changes are visible.

What goes wrong

How this work fails when it is done badly.

These are the patterns we see most often when we are called in to fix someone else's work, or our own from earlier in our careers.

  • A security plugin treated as the whole answer

    It runs inside WordPress. If the attacker reaches the filesystem or the server, the plugin is running on compromised ground and its reports cannot be trusted.

  • Cleaning without finding the entry point

    Malicious files are removed, the vulnerability remains, and the site is reinfected within weeks. The cleanup was real and the job was half done.

  • Nulled or pirated plugins

    Commercial plugins distributed free are a common malware delivery method. This is one of the most reliable ways to compromise your own site deliberately.

  • PHP execution allowed in uploads

    A file upload vulnerability becomes remote code execution because the web server will happily run a PHP file placed in the uploads directory.

  • Backups stored only on the same server

    The compromise or the ransomware reaches the backups too. A backup on the affected host is not a recovery plan.

What each side brings

What we need from you

  • WordPress administrator access
  • Server or hosting access, since much of this work is below WordPress
  • A list of plugins that are commercially essential
  • Agreement to remove components that are unused
  • A staging environment, or agreement that we create one

What you get

  • Compromise assessment with findings
  • Plugin and theme inventory with vulnerability status
  • Applied hardening at both application and server level
  • Account and credential remediation
  • An update process with a staging path
  • Logging, monitoring and verified backups
  • A documented response procedure for suspected compromise

Where we stop

  • We cannot secure a site running abandoned software indefinitely. Where a critical plugin is no longer maintained, replacing it is the real fix.
  • Security work does not remove the need for updates. A site secured today and left unpatched for a year will be vulnerable again.
  • On restrictive managed hosting some server-level work is not possible. We will tell you what we could not do and what residual risk that leaves.

Questions we actually get asked

Straight answers.

Is WordPress inherently insecure?

No. Core is developed carefully and patched quickly. Most compromises come from plugins and themes, especially outdated or abandoned ones, and from weak credentials. A WordPress site with few well-maintained plugins, current updates and strong authentication is not a soft target.

Which security plugin should we use?

One is usually enough and none of them are the main event. They are helpful for login protection and change logging. They cannot secure the server, they cannot reliably detect a compromise that reached the filesystem, and running several together mostly adds overhead and conflicts.

We cleaned malware but it came back. Why?

Because the entry point was never closed, or persistence was left behind. Reinfection means either the original vulnerability is still exploitable, or the attacker retained access through an added account, a scheduled event, a must-use plugin or something at the server level. The cleanup addressed symptoms.

How often should we update?

Security releases as soon as practical, ideally within days. Everything else on a regular schedule with a staging check. The pattern that causes problems is deferring updates for months because one broke something once, since the gap makes every subsequent update riskier.

Do we need a web application firewall?

It helps, particularly for blocking automated exploitation of newly disclosed vulnerabilities before you can patch. It is a layer rather than a substitute. A WAF in front of an unpatched site with weak passwords is buying time, not safety.

Secure WordPress.

Describe the system and what is going wrong with it. A short technical conversation is usually enough for us to tell you whether this is the right work and roughly what it involves.