Securing a WordPress website starts with understanding everything that could potentially be targeted.
WordPress itself is only one part of the environment. Plugins, themes, administrator accounts, APIs, databases, hosting infrastructure, DNS, backups, and third-party integrations can all create opportunities for attackers.
Together, these components make up the WordPress attack surface.
In Week 2 of the Reputiva WordPress Security Series, we explore the areas attackers may target and how organizations can reduce unnecessary exposure.
What Is an Attack Surface?
The Attack Surface describes all the different points where an attacker could gain access to a system and exfiltrate data.
The Attack Surface of an application is:
- the sum of all paths for data/commands into and out of the application, and
- the code that protects these paths (including resource connection and authentication, authorization, activity logging, data validation and encoding)
- all valuable data used in the application, including secrets and keys, intellectual property, critical business data, personal data and PII, and
- the code that protects these data (including encryption and checksums, access auditing, and data integrity and operational security controls).
An attack surface is the collection of systems, services, accounts, applications, interfaces, and configurations that an attacker may attempt to exploit.
For WordPress, the attack surface can extend far beyond the /wp-admin login page. It may include: WordPress core, plugins, themes, administrator and user accounts, login and authentication mechanisms, file uploads, REST APIs, XML-RPC, databases, web servers, PHP, SSH and FTP access, hosting control panels, DNS, content delivery networks, third-party integrations, backups, staging environments.
The larger and more complex the environment, the more opportunities an attacker may have to find a weakness.
Understanding these areas helps organizations identify where security controls are needed.
1. WordPress Core
WordPress Core is the essential software package that makes your website run. It includes the core PHP and system files needed to manage content, users, and settings. You download it from WordPress.org. It powers your dashboard and database connections, but relies on themes and plugins for visual design and extra features.
Recommendation
- Like all software, vulnerabilities may occasionally be discovered in the platform. Keeping WordPress updated is therefore an important part of reducing exposure
2. Plugins
Plugins are add-ons that extend your site’s functionality. They add functionality, but every plugin also adds additional code that must be maintained and secured.
A plugin may introduce risk if it is vulnerable, poorly coded, or no longer maintained, or if it is unnecessarily installed or downloaded from an untrusted source.
The more plugins a website uses, the more components administrators must monitor, patch, and review.
3. Themes
A WordPress theme is a collection of files – including stylesheets, template files, and code – that controls the design, layout, display, and overall visual appearance of a WordPress website. It dictates how colours, fonts, headers, and page structures look to visitors without changing your underlying content.
Recommendation
- Unused themes should generally be removed, and active themes should be kept up to date.
4. User Accounts and Privileges
WordPress defines access levels through predefined user roles and specific capabilities. Every account requires at least a username, a password, and an email address. The core system features six default roles: Super Admin, Administrator, Editor, Author, Contributor, and Subscriber. Each role inherits permissions from lower levels.
Administrator accounts are particularly sensitive because they may allow users to install plugins, modify themes, create new users, and change critical website settings.
The attack surface increases when too many users have administrator privileges, shared accounts are used, dormant accounts remain active, weak passwords are permitted, and multi-factor authentication is not enabled.
Recommendation
- Applying least privilege helps reduce the potential impact of a compromised account.
5. Login and Authentication
Default WordPress login and authentication rely on entering credentials at /wp-login.php, which validates users against the database and issues secure cookies like wordpress_logged_in_[hash].
The WordPress login page is a common target for automated attacks. Attackers may attempt: brute-force attacks, password spraying, credential stuffing, phishing, and session theft.
Recommendation
- Organizations should strengthen authentication with strong passwords, MFA, rate limiting, login monitoring, and secure account recovery processes.
- You can secure and customize this process using plugins for Two-Factor Authentication (2FA), passwordless magic links, or external identity providers.
6. File Uploads
WordPress websites often allow users or administrators to upload files. This may happen through: media libraries, contact forms, membership portals, e-commerce functionality, plugins, and custom applications.
If upload functionality is not properly secured, malicious files may be introduced into the environment.
Recommendation
- File type restrictions, validation, access controls, and execution restrictions can help reduce this risk.
7. APIs and XML-RPC
In WordPress, XML-RPC is a legacy Remote Procedure Call API that allows external systems to communicate with your site. However, it has been largely superseded by the modern, secure WordPress REST API.
These features can be valuable, but unnecessary or poorly protected interfaces may expand the attack surface.
Recommendation
- Organizations should identify which interfaces are required and restrict or disable those that are not.
8. The WordPress Database
The WordPress database is the central storage engine of a website, housing all dynamic content, user profiles, configurations, and settings. While WordPress core files manage the site’s logic and design, the database acts as the memory bank, using relational database systems such as MySQL or MariaDB.
A compromised database can lead to unauthorized changes, exposure of information, or loss of website integrity.
Recommendation
- Database credentials, permissions, network access, and backups must be protected.
9. The Web Server and PHP
WordPress is a dynamic web application built primarily in PHP and typically deployed on a standard web hosting stack.
WordPress relies on underlying technologies such as Apache or Nginx and PHP. Weak server configurations may expose the website even if the WordPress application itself is properly maintained.
Potential risks include: unsupported PHP versions, insecure file permissions, unnecessary services, exposed directories, weak server credentials, and improper security headers.
10. SSH, FTP, and Hosting Control Panels
Attackers do not always need to compromise WordPress directly. Access to SSH, SFTP, FTP, or a hosting control panel may provide another route into the website environment.
Recommendation
- These administrative interfaces should be protected with strong authentication, MFA where available, restricted access, secure protocols, logging and monitoring.
- Legacy or unnecessary access methods should be disabled.
11. Third-Party Integrations
Modern WordPress websites often integrate with external services such as payment platforms, e-mail marketing services, analytics tools, CRM systems, social media platforms, advertising networks, cloud storage and authentication providers.
Each integration introduces another dependency. Compromised API keys, vulnerable scripts, or insecure integrations can affect the security of the WordPress environment.
12. DNS and CDN Services
The security boundary may also include services outside the hosting server. DNS providers and content delivery networks such as Cloudflare can influence how visitors reach the website.
If these accounts are compromised, attackers may redirect traffic, modify DNS records, change security controls, or disrupt website availability.
Recommendation
- These accounts should be treated as privileged infrastructure.
13. Backups
Backups may contain website files, database contents, credentials, configuration information and personal or business data. If backups are publicly accessible or poorly protected, attackers may obtain sensitive information without compromising the live website.
14. Staging and Development Environments
WordPress core natively supports four standardized environment types to dictate how code and debugging tools behave: production, staging, development, and local.
Staging websites may contain copies of production data while receiving less monitoring and fewer security controls. Attackers can exploit weak staging environments and potentially use them as a stepping stone into production.
Recommendation
- Staging systems should be protected with the same level of care as production environments.
Reducing the WordPress Attack Surface
One of the most effective security strategies is to reduce unnecessary exposure. Organizations should regularly ask:
- Do we still need every installed plugin?
- Are unused themes removed?
- Does every administrator still require privileged access?
- Are unnecessary APIs or services enabled?
- Are old FTP accounts still active?
- Are staging environments publicly accessible?
- Are third-party integrations still required?
- Are administrative interfaces exposed unnecessarily?
Every unnecessary component removed is one less component that must be secured.
You cannot protect what you do not know exists
WordPress security begins with visibility.
Organizations should maintain an inventory of the technologies, users, services, and integrations that make up their WordPress environment.
A useful WordPress security inventory should include:
- WordPress version
- Plugins
- Themes
- User accounts and roles
- Hosting environment
- PHP version
- Database
- Administrative access methods
- DNS provider
- CDN or WAF provider
- Third-party integrations
- Backup systems
- Staging environments
Once the environment is understood, security controls can be applied more systematically.
WordPress Attack Surface Checklist
- Inventory all plugins and themes
- Review WordPress user accounts and privileges
- Identify administrative access methods
- Review REST API and XML-RPC requirements
- Document the hosting and server environment
- Identify third-party integrations
- Review DNS and CDN account security
- Locate and secure backups
- Identify staging and development environments
- Remove unnecessary software, accounts, and services
- Ensure critical components are patched and monitored
- Review the inventory regularly as the website changes
Strengthen Your WordPress Security Posture
Reducing WordPress risk starts with understanding what is actually exposed.
Review your website’s users, plugins, themes, hosting environment, administrative access, APIs, backups, DNS, and third-party integrations. Remove what is no longer needed and strengthen the controls protecting what remains.
Reputiva helps organizations identify security gaps, reduce unnecessary exposure, and strengthen the systems protecting their WordPress environments.
Follow the Reputiva WordPress Security Series for one practical WordPress security topic every week.
Need help assessing your WordPress attack surface? Contact Reputiva to get started.
Reputiva
Reputiva is a cloud, cybersecurity, and FinOps advisory firm helping SMEs reduce cyber risk, strengthen cloud environments, and manage technology costs with confidence. We publish practical insights on cloud security, identity, AI risk, compliance, and digital transformation.


