WordPress remains quietly critical for extremely different businesses. What changed is exponential dependency chaining, supply-chain risk, and Lighthouse expectations that punish marketing sites as harshly as flashy SPAs.
Agencies still grab marketplace plugins because demos move fast. Afterwards nobody owns an accurate inventory — which plugin owns which hook revision, which two fight over the same filter, or who can still log into the original author account.
Hidden cost of “just one more plugin”
Adding a plugin is rarely a single line of CSS — it often persists options in wp_options, spins up extra tables, and runs code on admin_init. Over time you accumulate:
- Subtle breakage after major PHP upgrades.
- Security surface — we patch the obvious CVEs but legacy AJAX handlers linger untested.
- Knowledge debt when the client loses contact with the vendor.
Bespoke code can mean only what that client actually pays to maintain.
Sane principles for first-party plugins
Practical guardrails I keep:
- Unique prefixes / namespaces even on short engagements (
client_feature_) to avoid collisions. - Separate admin vs front builds when the toolchain allows — less accidental coupling.
- Versioned migrations for options and tables, the same discipline major plugins use (
dbDeltathoughtfully). - Minimum tests around data transforms (what if the webhook answers 200 with
{}?).
Conversion-focused performance
Homepage carousels stacking five different slider plugins illustrate the pattern: each isolated benchmark looks fine, but cumulative JS explodes.
Tailored code can enqueue one entry point and drive behaviour via data attributes the team controls.
Security side: validate save_post flows, nonces on privileged AJAX, sanitise metabox input as strictly as public forms.
When third-party remains right
Mature, well-maintained plugins for caching, edge security, or transactional email are often cheaper than reinventing cross-cutting infrastructure.
Custom work pays off when differentiation comes from business rules only you know — hybrid pricing engines, regional ERP bridges, B2B workflows with parallel states that generic SaaS templates never model cleanly.
Conclusion
In 2026 a serious WordPress stack usually looks like a few rock-solid foundations plus deliberately owned extensions — not a furniture pile where every drawer needs a different key. That mix cuts support hours and keeps upgrades predictable.