You know that feeling when you open too many browser tabs and applications open on your computer, which you haven’t restarted since you can’t remember when, and your computer starts groaning? That’s what’s happening inside a lot of small business websites, except you can’t see it. Over time, most WordPress websites accumulate plugins. There’s one for events. One for memberships. One for a staff directory. Maybe another for a booking form. Each one was added to solve a specific problem, and at the time, it made sense. The trouble is, these plugins don’t know about each other. They’re strangers sharing a house. Or a bunch of unrelated items sharing a junk drawer in the kitchen.

The plugin pile-up problem

Here’s a real-world example. Say you run a community organisation. You’ve got an events plugin showing your upcoming workshops. You’ve got a membership plugin managing who’s signed up. And you’ve got a form plugin handling registrations. Sounds reasonable. But when someone asks “can we show only the events that are relevant to each membership level?”, suddenly you’re staring at three separate systems that have no way of talking to each other. The answer is usually “not without a lot of custom coding” or “you’d need another plugin for that.” And so the pile grows. Each plugin also comes with its own updates, its own support team, its own way of doing things. When something breaks, and eventually something always does,  you’re left trying to figure out which one of your fifteen plugins is the culprit. Like the digital version of the kitchen junk drawer that’s in every kitchen, which started out organised but eventually slid into chaos.

There’s another way

WordPress has a feature that’s been there all along, quietly waiting to be used properly. It’s called Custom Post Types. You already know what a Post Type is, even if you’ve never heard the term. A blog post is a post type. A page is a post type. WordPress uses them to organise content. Custom Post Types let you create your own. Events. Members. Properties. Courses. Products. Recipes. Whatever makes sense for your business. And when you build them properly, using a tool like JetEngine, they can all connect to each other. Your events can know which membership level is required to attend. Your members can have a profile that shows which events they’ve been to. Your staff directory can link to the services each person offers. It all lives in one place, in one system, speaking the same language.

What does this actually look like?

I’ve been doing a lot of work over the last few years renovating older WordPress websites, sites that were built in good faith, one plugin at a time, and have ended up feeling patched together and hard to manage. The renovation process usually involves stepping back and asking: what does this business actually need to track and display? Then we build a proper structure for it, rather than bolting on another plugin and hoping for the best. The result is a website that’s easier to update, easier to maintain, and actually does what the business needs, without the groaning-computer feeling underneath the surface.

Is this something your website needs?

Not every website does. If you’ve got a simple brochure site with a contact form, you’re fine. But if you’ve ever said any of the following, it might be worth a conversation:

  • “We’ve got an events plugin but it doesn’t connect to our memberships”
  • “Our website is getting slow and we don’t know why”
  • “We want to add a directory / resource library / booking system but we’re not sure how”
  • “Our site feels like it’s held together with sticky tape”

Custom Post Types aren’t a magic fix for everything. But for businesses with a bit of complexity – organisations, clubs, service directories, training providers – they’re often a much cleaner solution than the plugin pile that’s built up over the years.

If that sounds familiar, I’d love to take a look at what you’ve got. Check out my web design packages for standard brochure sites to get an idea of pricing or get in touch for an obligation-free conversation.