Skip to main content

WordPress Plugins, a Love/Hate Relationship

A confused emoticon with a drop shadow on top of a blurred plugins screen from WordPress

Unlike many of my posts, this one leans into candor. On this Valentine’s Day, buckle up, buttercup.

A WordPress plugin exists to extend the capabilities of a core WordPress installation. Out of the box, WordPress handles content, text, images, and basic publishing workflows exceptionally well. But when you want to introduce social feeds, advanced media handling, backups, performance optimization, or complex interactivity, you are stepping beyond core. That is where plugins come in.

And that is also where things begin to go sideways.

Early in my WordPress journey, I would regularly see meetup sessions titled “Top 10 Favorite Plugins” or “Must-Have Plugins for 2026.” My reaction was always the same: who cares? Not because plugins lack value, but because the conversation was inverted. We were prioritizing solutions before clearly defining problems. The toolset became the focus, rather than the outcome.

Some site owners proudly showcase stacks of 20, 50, even 100 active plugins, as if quantity signals capability. It does not. It signals complexity.

To be clear, I am not anti-plugin. Quite the opposite. I value plugins deeply, when they serve a defined, necessary purpose. The right plugin, thoughtfully selected and well maintained, can unlock meaningful functionality and accelerate delivery. But indiscriminate adoption, chasing every new release or “must-have” list, introduces far more risk than value.

Let’s call it what it is. Plugin hoarding.

A new plugin is discovered, installed, activated, explored briefly, and then forgotten. Sometimes it is deactivated, but left lingering in the environment “just in case.” Over time, this creates a graveyard of unused code, each piece carrying its own performance, security, and maintenance implications.

Because while plugins deliver power, they also introduce risk. Often quietly, and cumulatively.

Performance

Every active plugin consumes resources. It may enqueue scripts, execute database queries, or introduce additional processing on page load. Individually, the impact might be negligible. Collectively, it can be devastating. In a recent troubleshooting exercise on a local build, I deactivated all plugins. The difference was immediate and dramatic. What was once sluggish became responsive. The variable was not the theme or the hosting environment. It was plugin overhead.

Security

Each installed plugin expands your attack surface. Even deactivated plugins can present vulnerabilities if they remain in the codebase. In 2024, plugin-related issues accounted for the overwhelming majority of disclosed WordPress vulnerabilities. Every plugin you install is not just a feature, it is a dependency you must trust, monitor, and maintain.

Maintenance

Redundancy creeps in quickly. Two plugins solving the same problem. Three variations of the same feature. Over time, it becomes difficult to determine which plugin is actively in use, which is safe to remove, and which one might be critical. What begins as convenience evolves into operational friction.

Conflicts

Plugins do not exist in isolation. They operate within a shared environment, often competing for the same hooks, scripts, and resources. The more plugins you introduce, the greater the likelihood of conflict. Debugging these issues can be time consuming and unpredictable. Tracking down a single conflict may require systematically disabling and re-enabling components until the root cause emerges.

And then there is the factor that is too often overlooked.

Accessibility

Most WordPress site owners focus on delivering compelling features and engaging experiences. The implicit assumption is that if the functionality works, the job is done. But for whom?

If a plugin introduces content, modifies the interface, or enables user interaction, it directly affects the user experience. And not all users experience the web in the same way.

While many themes carry an “Accessibility Ready” designation, there is no equivalent standard for plugins. There is no reliable signal that a plugin has been designed, developed, or tested with accessibility in mind. A search for accessible WordPress plugins typically surfaces tools that help you audit accessibility, not plugins that are inherently accessible themselves.

This creates a critical gap.

Every plugin with a user-facing impact must be treated as part of your accessibility surface area. It must be evaluated, tested, and validated before it is introduced into production. Not after. Not when issues are reported. Before.

Because accessibility is not a layer you add at the end. It is a quality attribute of everything you ship.

And plugins, for better or worse, are part of what you ship.

So the question is not “Which plugins should I install?” The better question is “What problem am I solving, and is this plugin the most responsible way to solve it?”

Everything else is noise.

As for how to evaluate plugins, especially through an accessibility lens, that is a deeper discussion. And yes, it is a rabbit hole worth going down.