#

Security

Subscribe
Security October 29, 2026·10 min read

WordPress Security: What to Check and Who Handles It

First, work out which situation you are in. If your self-hosted WordPress site shows no credible signs of compromise, check who has privileged access, whether software and PHP are up to date, what your host protects, and whether you can restore both files and the database, then assign someone to maintain those protections. If you see unauthorized changes or other credible signs of intrusion, start incident response with your host or a qualified responder.

Is your WordPress site already showing signs of compromise?

WordPress security triage

Start with what you see on the site. With no signs of intrusion, routine protection is enough. Unauthorized changes need an investigation before ordinary maintenance.

What you observeHow to treat itNext route
No unauthorized changes or credible alertsRoutine protectionPreventive security assessment
An unusual event with no clear explanationUncertain until you find what changedInvestigate before you classify the event
Unknown administrator, unauthorized posts, recurring file changes, credible malware or hosting warningPossible compromiseIncident response with the responsible host or security operator

Unexpected password-change notices also need investigation. A slow dashboard alone is not a reliable sign, since many unrelated causes can slow it down.

A catalogue-site owner on r/Wordpress described recurring unauthorized content: “However, someone keeps publishing spam blog posts on my website every day. I delete them, but they reappear.” Posts that reappear after deletion mean someone still has access.

Unexpected WordPress changes

If you suspect an incident, write down what changed and roughly when. Keep relevant notifications and available copies, and do not delete files indiscriminately. For investigation and recovery, see WordPress’s hacked-site FAQ.

Deleting visible spam, resetting a password or running a scan does not show that a continuing intrusion is gone.

Establish which WordPress protections are already in place

WordPress protection inventory

Before adding a product or changing a setting, list the protection you already have. Sort it into five areas and give each one a status: confirmed, not confirmed, or needs an owner. Mark a control confirmed when you can name it, name who maintains it and show evidence such as its configuration or a completed test. Use not confirmed when evidence is missing and needs an owner when nobody is accountable for it. Carry out specific file, login, PHP, and firewall changes in the hardening guide after checking what the host already provides.

AreaEvidence to locateDetailed review
AccountsUsers and their privilegesAccess section
SoftwareCore, plugin, theme and server-runtime statusUpdates section
HostingPlan documentation and enabled infrastructure controlsHost-responsibility section
RecoveryBackup components and an actual restore resultBackups section
MonitoringAlerts, activity sources and their recipientsMonitoring section

In the Dashboard, open Tools > Site Health. The Status screen groups technical findings, and Info gives more detail about your WordPress installation, server, database, plugins and themes.

WordPress Site Health

If your site already uses Cloudflare, a security plugin, hosting backups or automatic updates, check what each one is configured to do and keep the evidence.

Fix access problems, unpatched software and unusable recovery before adding optional extras.

Limit administrator access and protect logins

WordPress account permissions

Give people only the capabilities their work needs. A writer who publishes articles needs a publishing role. Administrator privileges include substantial control over site settings, users and software.

WordPress roles are collections of capabilities, and you can customize them. On a typical single-site installation, the default roles work like this:

  • Administrator: Broad site administration, including major configuration and user management.
  • Editor: Publishes and manages editorial work without the ordinary sitewide Administrator privileges.
  • Author: Creates and publishes their own posts.
  • Contributor: Writes posts but lacks the publishing permission Authors have.
  • Subscriber: Has a limited account with no administration or publishing powers.

Open Users and go through every Administrator and Editor account. Match each person's role to what they do today, revoke access nobody needs and drop shared logins.

Administrator role review

Protect important accounts with unique credentials and multi-factor authentication (MFA, also called 2FA). WordPress core does not provide MFA by default on a self-hosted installation, and its security guidance points to a plugin or identity provider for it. Set up a legitimate recovery route before enforcing MFA, so the remaining administrator can regain access if an authentication factor becomes unavailable.

On WordPress Multisite, the network-level Super Admin role has capabilities beyond those of an Administrator for one site.

Can I delete a former contributor after an assignment ends?

When you remove an account, decide who owns the person's content first. WordPress's user-management tools give you options for handling the posts attached to the account. Keep the legitimate material and remove the person's access.

Keep WordPress, plugins, themes and PHP patched

WordPress software updates

WordPress core and the software around it update separately. Check core, active and inactive plugins, themes and the PHP runtime. Premium or privately distributed extensions can update through their vendor's own channel instead.

Dashboard > Updates shows core and available extension updates. WordPress also lets you switch on automatic updates for individual plugins and themes, a feature added in version 5.5. Scheduling and delivery failures still need your attention, and updates that can break compatibility need a workable rollback plan.

WordPress 7.1.3, released October 6, 2026, included seven security fixes and four bug fixes.

PHP version review

PHP runs at the server level. In its October 21, 2026 critical PHP security advisory, WordPress.org described two critical PHP vulnerabilities addressed by PHP releases. Those fixes belong to PHP itself, not WordPress core. The advisory also said PHP versions before 8.2 no longer receive upstream security fixes from the PHP project. The WordPress requirements it referenced recommend PHP 8.3 or later, MariaDB 10.11 or later or MySQL 8.0 or later, and HTTPS. A site can stay compatible with older software after that software loses upstream security support.

Find your PHP version in Tools > Site Health > Info > Server. Compare it and your other software with official vendor security notices and the available patched releases. When a critical advisory applies to you, get the fix applied quickly through whoever controls that runtime.

Know which protections your hosting provider handles

Hosting security responsibilities

Your hosting type decides who can change the server environment. A managed WordPress plan can include PHP maintenance, firewall services or backups. On shared hosting, the provider controls much of the server. A self-managed VPS puts a larger security workload on its administrator.

Coverage and access differ by provider and plan, so check your contract or service documentation. For anything those documents leave unanswered, ask your host's support who is responsible.

ControlManaged or shared hostingSelf-managed VPSWhat you do
PHP and server patchesProviderAdministrator maintains runtime and servicesTell the host what your site needs and report problems
Service isolationProviderAdministrator configures itAsk your host where its responsibility ends
HTTPS/TLSMay be supplied through hosting controlsAdministrator configures and maintains itCheck that visitor and login connections are protected
Network or edge filteringIncluded, optional or separately purchasedAdministrator or edge-service operatorFind out which protections are switched on
WordPress roles and extensionsScope depends on the managed serviceUsually site-level administrationManage user access and keep plugins and themes current
Backups and incident supportLimited services, if the provider offers themAdministrator provisions or contracts themKnow how you reach a backup and who to call during an incident
Server responsibility boundary

TLS protects information in transit between a visitor's browser and your site. TLS does not address application permissions or vulnerable plugins.

Choose a security plugin or firewall for a specific gap

WordPress security layers

Pick security software for the function you are missing. An edge web application firewall (WAF) screens selected incoming requests before they reach WordPress. WordPress security plugins add login controls, scanning, activity information and alerts.

ProtectionUseful functionSelection questionCost or constraint
CDN or edge WAFFilters selected requests at the edgeDo active rules cover the traffic your site gets?False blocks of legitimate visitors
Hosting controlsSecures network and server servicesWhich functions does the provider maintain?Plan limits and restricted configuration access
WordPress security pluginApplication-level MFA, logs, scans or alerts, depending on editionWhich needed capability is missing today?Compatibility and maintenance work
Managed security supportOperational response or specialist help within service scopeDo you need outside people to respond to incidents?Cost and the exact terms of the support agreement

On r/Wordpress, a small-business owner comparing paid and free security tools asked, “Would WordFence free be sufficient with that combination or it must be the pro version?” Answer it with a feature check. List what your host or CDN already supplies, then compare the gaps with what the plugin edition includes.

Security plugin comparison

A site with edge filtering can still need application-level MFA or a usable activity record. Another site can have both and lack a response service.

After you enable a new rule, test logins, publishing, checkout and integrations. Overlapping tools also send duplicate alerts and add maintenance work. A WAF cannot patch vulnerable application code.

Confirm you can restore both files and the database

WordPress backup components

You need both the database and the site files to recover WordPress. The database holds posts, comments, settings and other stored data. The files include uploads, themes, plugins, configuration and application components.

WordPress's backup documentation describes both components.

Run this recovery check:

  • Database: Find a database copy for the recovery point you want.
  • Files: Confirm the matching site files and configuration are included.
  • Access: Confirm you can retrieve a copy when the production site or hosting account is unavailable.
  • Completion: Note the last successful backup and any reported failures.
  • Restore: Test a restore in a nonproduction destination. Check that content, administrative access and important workflows function.
WordPress restoration check

Scheduled snapshots from your host count only after you have restored an accessible, usable set in a safe test.

Copies taken after a suspected compromise can also contain affected files or data, so incident recovery can require an earlier or otherwise appropriate backup.

Monitor changes that warrant investigation

WordPress security monitoring

Send WordPress Site Health findings, update-failure messages, security-service alerts and relevant hosting activity to someone who reads them. A failed plugin update needs a maintenance review. An unexplained new administrator or unauthorized published content needs an investigation. Check that your notification channel delivers messages, and decide which events trigger escalation.

Make someone responsible for WordPress security maintenance

WordPress maintenance ownership

People leave projects, vendors issue fixes, integrations change, and backup or notification jobs fail. A short register makes someone accountable for each area. Give every row these five fields:

  • Area: Access, software, hosting, recovery or monitoring.
  • Owner: A named person or team with authority to handle it.
  • Trigger: A vendor advisory, a contractor leaving, a failed backup or another relevant change.
  • Last checked: The date the owner finished the review.
  • Escalation: Who to contact when the owner cannot fix it: your provider, administrator or a specialist.
Maintenance responsibility register

A small personal site and a shop with customer accounts need different review schedules and support levels. Set the cadence by the site's exposure, your service agreement and the staff you have to do the work. Record each completed review, because a calendar entry only shows the work was planned.

Explore related guides

NoScript Team
© 2026 No Script