I hear this a lot. Someone tells me they’re using a performance plugin, so they don’t need anything else. Caching is on, scores look decent, and the assumption is that adding more would either do nothing or make things worse.
That conclusion makes sense if performance were a single switch. But it absolutely is not. What’s usually happening is that different tools are solving different problems, even if they all get labeled as “performance.”
So… let me help untangle that a bit. Well, a lot 😛.
Performance Inside WordPress Comes in Layers
Think of WordPress performance less like a single feature and more like a flow. First, WordPress decides what to load and what to run. Then, it turns that into a page.
Finally, that page gets delivered to a visitor. Most confusion comes from assuming one plugin controls that entire flow.
Plugins like WP Rocket and NitroPack step in after WordPress has done its thing. They focus on making the page lighter, easier for browsers to process, and faster to serve. Caching, asset handling, and media optimizations all live here.
That said, a plugin like Perfmatters still makes a lot of sense when you’re already “Optimized” because Perfmatters works at the very beginning of that flow. The difference is that Perfmatters tries to prevent things from loading at all, while caching and optimization plugins assume they exist and make the best of them.
Used together, they’re less work for WordPress, less work for the browser, and less guesswork overall. They all help WordPress not do things it doesn’t need to do. Scripts that don’t belong on certain pages. Features that are enabled everywhere but barely used. Default behaviors that quietly add overhead.
Nothing flashy. Just less work. You’re not doubling up. You’re cleaning up first.
Oh, and that’s not even mentioning Perfmatters’ Snippets feature. Instead of storing snippets in the database, where they add load, consume resources from your performance budget, and do so in a incredibly insecure way, Perfmatters stores them as mini plugins on the file system.
There’s Two Extra Layers
Even with NitroPack or WP Rocket (or really, any other performance optimizing plugin) in place, there are still two extra layers that bear extra considertion. One of them is a must-use. So let’s start with that one: Cloudflare APO.
What APO does is turn WordPress’ output into full page caching. All your pages are now cached as full HTML at Cloudflare’s edge (vs Cloudflare free just caching assets). It just makes sure that once a page exists, it can be served quickly and consistently without constantly waking up your server. Adding Cloudflare APO pretty much makes sense for every single site of any importance.
The second layer is object caching. Some performance or caching plugins mention they do object caching, or make it sound like they’ve got it covered. What that usually means is that they’re being compatible with object caching, not that they’re providing a real upgrade.
A dedicated tool like Object Cache Pro solves object caching brilliantly together with Redis. In short, it helps WordPress remember things internally so it doesn’t keep asking the database the same questions over and over again, especially for logged-in users or dynamic pages. That’s not something page caching replaces, and it’s not something a general performance plugin truly substitutes.
These two extra layers compliment whatever optimization you’re already doing.
The Big Picture
Once you stop thinking in terms of “which performance plugin should I use” and start thinking in terms of “which part of the problem does this tool solve,” the setup becomes much easier to reason about.
Reduce unnecessary work. Optimize what remains. Deliver it efficiently. Speed up what can’t be cached.
When those pieces line up, performance stops being mysterious, and it stops being fragile. It just works, even as the site grows. Curious for more? Check out my Make WordPress Fast course where I’ll deep dive into every single performance layer.


Leave a Reply