Security

Application WAF: what it is and why Wordfence isn't enough

Marco Artese 7 min read

Application WAF: what it is and why Wordfence isn't enough
In this guide (8)
  1. 1What an application WAF is and what it actually does
  2. 2Why Wordfence is not an application WAF in the technical sense of the term
  3. 3The vulnerabilities Wordfence doesn't cover
  4. 4How a native application WAF works in the CMS
  5. 5The problem with WAF rules on Wordfence free vs premium
  6. 6Cloud WAF vs native application WAF: another important distinction
  7. 7What actually happens when Wordfence isn't enough
  8. 8The question worth asking

If you manage a WordPress site and have installed Wordfence, you probably think you've solved the security problem.

That's not the case. Wordfence is useful — it's not useless — but it protects a system that remains structurally vulnerable. It's like installing a burglar alarm in a house with broken windows: it reduces the risk, it doesn't eliminate it.

This article explains what an application WAF is, how it works technically, and why the difference between a WAF added as a plugin and a WAF integrated into the CMS architecture isn't a matter of preference — it's a matter of real effectiveness.

What an application WAF is and what it actually does

WAF stands for Web Application Firewall. Unlike a traditional network firewall — which filters traffic based on IP addresses and ports — a WAF operates at the application layer: it analyzes the content of HTTP requests before they reach the web application.

In practice, every request that arrives at your site — a visit to the homepage, filling out a form, a search in the catalog — passes through the WAF before being processed by the CMS. The WAF analyzes the content of the request looking for known attack patterns: SQL injection attempts, cross-site scripting (XSS), remote file inclusion, directory traversal, and dozens of other techniques used by attackers.

If the request matches a known attack pattern, it gets blocked before it reaches the application code. The attacker receives an error, your database is never queried with that malicious query.

Why Wordfence is not an application WAF in the technical sense of the term

Wordfence describes itself as an "endpoint WAF" — and this distinction matters. It is not a traditional application WAF: it is a PHP plugin that runs inside WordPress after the request has already entered the system.

The difference is not semantic. It's operational.

A true application WAF operates in front of the application — it intercepts requests before WordPress's PHP code even starts processing them. Wordfence operates inside the application — WordPress's PHP code starts up, loads the plugin, and only then does Wordfence analyze the request.

This means there are categories of vulnerabilities that Wordfence cannot intercept because they are exploited before the plugin even starts running. Vulnerabilities in the WordPress core, vulnerabilities in other plugins that load before Wordfence, attacks that exploit server configuration rather than PHP code — all situations where Wordfence is already out of the critical path when the attack occurs.

The vulnerabilities Wordfence doesn't cover

Vulnerabilities in plugins loaded before Wordfence

WordPress loads plugins in an order that isn't always predictable or controllable. If a vulnerable plugin loads before Wordfence, the attack can occur in the window between that plugin's loading and the activation of protection. With installations that have many plugins — a common scenario on business sites — this window exists in practice.

Web server-level attacks

Wordfence doesn't see requests that are handled directly by NGINX or Apache before reaching PHP. Attacks that exploit misconfigured web servers, enabled directory listing, publicly accessible configuration files — these attacks happen at a level that Wordfence doesn't monitor.

Distributed brute force attacks

Wordfence has a rate limiting system for brute force attacks, but it operates at the single-server level. A distributed attack — thousands of different IPs each trying a few credentials — can evade IP-based rate limiting. An application WAF with distributed intelligence has a broader view and can identify attack patterns that look like normal traffic on a single server.

Zero-days in plugins

Wordfence uses a signature system to identify known attacks. A zero-day vulnerability — discovered and exploited before a detection signature exists — is not intercepted by Wordfence until the signature is updated. In the hours or days between the discovery of the vulnerability and the signature update, the site is exposed.

How a native application WAF works in the CMS

A WAF built into the CMS core — not added as a plugin — operates in a fundamentally different way.

First of all, it operates before the application. Every request is filtered before any CMS PHP code starts executing. There is no time window between the application loading and the protection activating — protection is part of the architecture itself.

Second, it doesn't depend on manual updates. On WordPress, keeping Wordfence updated is your responsibility — or that of the developer managing the site. If the update is postponed, the new attack signatures aren't applied. A native WAF is updated by the team managing the system, without you having to do anything.

Third, it doesn't add attack surface. Every plugin installed on WordPress is a potential vector — including security plugins. In 2023, vulnerabilities were discovered in WordPress security plugins with millions of installations. A native WAF is not a plugin: it's code from the system itself, written and maintained by the same team that wrote the rest of the CMS. KeideaCMS's security architecture integrates WAF, rate limiting, geo-blocking, and 2FA into the core — with no third-party dependencies.

The problem with WAF rules on Wordfence free vs premium

There's a detail that Wordfence communicates clearly but that many users ignore: the free version of Wordfence receives protection rules 30 days later than the premium version.

In practice: when a new vulnerability is discovered in a widely used WordPress plugin, premium Wordfence users receive the protection rule in real time. Users of the free version receive the same protection a month later. During that month, sites with Wordfence free and the vulnerable plugin installed are exposed.

Wordfence premium costs around $100 a year per site. Add that to the cost of the SEO plugin, the backup plugin, the cache plugin, and the "free" of WordPress keeps becoming less and less free — without the underlying security architecture changing.

Cloud WAF vs native application WAF: another important distinction

There's a third category worth clarifying: cloud WAFs, such as Cloudflare WAF or Sucuri WAF. These services operate in front of your server — traffic passes through their data centers before reaching your hosting — and they filter malicious requests at the network level.

Cloud WAFs are more effective than Wordfence because they operate before the application. But they have their own limitations: they depend on an external service with recurring costs, they have no visibility into your application's specific code, and in case of false positives they block legitimate traffic without you having granular control.

A native application WAF — built into the CMS code — has complete visibility into the application context. It knows that request comes from an authenticated user, it knows that parameter is expected in that form, it knows that query is legitimate because it matches a pattern expected by the application. This contextual visibility reduces false positives and increases detection effectiveness.

What actually happens when Wordfence isn't enough

This isn't a theoretical scenario. Statistics on attacks against WordPress sites are well documented and concrete.

Most successful attacks on WordPress don't go through the admin panel — they go through vulnerabilities in plugins. A plugin with an unpatched SQL injection is discovered by attackers' automated crawlers within hours of the vulnerability being published. These crawlers don't wait for Wordfence free to receive the updated signature — they attack immediately.

The typical result of a successful SQL injection: extraction of user credentials from the database, installation of a webshell for persistent access, use of the server as a relay for spam or attacks on other sites. All of this often without the site owner noticing for weeks.

If the site handles personal data — and almost all business sites do — this situation constitutes a GDPR breach requiring notification to the Data Protection Authority within 72 hours, with potentially significant penalties. We've written a complete guide on what to do in the first 24 hours after an attack — but it's better not to have to read it out of necessity.

The question worth asking

The issue isn't "Wordfence yes or no" — it runs deeper. It is: "am I building my company site's security on top of a system that wasn't designed to be secure, adding layers of protection one on top of another?"

Wordfence, Sucuri, iThemes Security — these are all attempts to solve an architectural problem with application-level solutions. They work, partly, as long as they work. But they don't change the fact that WordPress with plugins is a distributed attack surface where every added component increases the overall risk.

A CMS with security built into the core — native WAF, data encryption, separate admin panel, zero dependency on external security plugins — solves the problem where it needs to be solved: in the architecture, not with a patch.

If you want to understand concretely how exposed your current site is and what would change with an infrastructure designed for security, you can request a free audit. You can also directly compare the security approach of KeideaCMS and WordPress here.

Request Your Free Security Audit →

Frequently Asked Questions

No. Wordfence concretely reduces the attack surface compared to a WordPress site with no additional protection: it blocks brute force attempts, scans files for known malicious code, and flags plugins with known vulnerabilities. The problem isn't that it does nothing — it's that it operates inside the application rather than in front of it, and that it depends on manual updates and signatures that arrive with a delay in the free version. It's better than nothing, but it's not structural security.
The main difference is the point of intervention. A WAF plugin like Wordfence is loaded by PHP after WordPress has already started — there are categories of attacks that happen before the plugin is active. A native WAF built into the CMS core intercepts requests before any application code starts executing. The second architecture is structurally more secure because it has no time window between the application starting up and the protection being activated.
Cloudflare WAF is more effective than Wordfence because it operates in front of the server — traffic is filtered before it reaches the hosting. But it has its own limitations: it depends on an external paid service, it has no contextual visibility into the application's code (hence more false positives), and it doesn't protect against attacks that exploit vulnerabilities in the CMS's PHP code once the request has passed the cloud filter. The combination of Cloudflare + native WAF is the most robust, but it requires two separate levels of management.
The less obvious signs are often the most important: an abnormal increase in server resource usage, studio emails ending up in spam, new PHP files in folders where they shouldn't be, admin users created that you don't recognize, strange requests in the server logs. The obvious signs — redirects, foreign content, Google warnings — often appear weeks after the initial compromise, when the attacker decides to use the site in a visible way. Actively monitoring logs and performing periodic scans is the only way to catch the compromise during its silent phase.
Yes — no system is absolutely invulnerable. The difference lies in the attack surface and the depth of protection. A native WAF eliminates the most common, automated attack categories — the ones that hit millions of sites with generic exploits. It structurally reduces the risk, it doesn't eliminate it entirely. But in 99% of cases, attacks that hit business websites are automated and look for known vulnerabilities: a system designed to withstand these attacks doesn't offer automated scanners the entry points they're looking for.

You might also be interested in...

Do you need an e-commerce store or a website redesign?

Let's talk
  • Specialised consultation
  • Tailor-made solutions
  • Concrete results

Everythingin a singleSoftware

Talk to us for real

Our phone support is available every day from 09:00 to 18:00

+39 0835 239 514 Call us

Not your usual Web Agency

We follow you and always meet you halfway, even on spreading out your investment

Our projects

Need help

For information, quotes, or support, write to us

info@keideacms.it