Insight

WordPress development without the unnecessary complexity

I’ve worked with WordPress for a long time now, and one thing I’ve learned is that a good WordPress build doesn’t need to be complicated.

Quite often, the opposite is true.

The best WordPress sites I’ve worked on are the ones where the technical side stays out of the way. The site is quick, the code is manageable, and whoever is editing the content doesn’t need a developer every time they want to change a heading.

I tend to avoid the “plugin for everything” approach

WordPress makes it incredibly easy to install a plugin whenever you need something new.

Sometimes that makes complete sense.

Other times, you end up with 30 plugins, three different page builders and a website that starts having an existential crisis every time WordPress releases an update.

Where possible, I prefer building functionality into the theme itself.

That might mean using PHP for the underlying functionality, JavaScript where interaction is actually needed, and tools like Advanced Custom Fields to give editors control without giving them the ability to accidentally dismantle the entire website.

It keeps things much easier to understand and maintain.

Gutenberg is actually really useful when you control it properly

I know Gutenberg has had a slightly questionable reputation over the years, but I actually really like the idea behind it.

The important part for me is controlling the editing experience.

Rather than giving someone a completely blank canvas and hoping for the best, I prefer creating reusable blocks and patterns that match the design of the website.

Editors still get flexibility, but things like spacing, typography and layout remain consistent.

For example, you might have:

  • Hero blocks
  • Content and image sections
  • Testimonials
  • FAQs
  • Calls to action
  • Cards
  • Flexible content sections

The editor can build pages using those components without needing to know anything about HTML or CSS.

And, more importantly, without somehow turning the homepage into Comic Sans at 4:55pm on a Friday.

Custom themes still make a lot of sense

For bespoke projects, I generally prefer working with a custom theme rather than starting with a huge multipurpose theme and trying to remove everything I don’t need.

It means the theme can be built around the actual website.

No unused sliders.

No mysterious scripts being loaded because a theme technically supports 47 different header layouts.

No 900KB JavaScript file responsible for displaying three buttons.

Just the functionality the site actually needs.

I’ve also used Timber and Twig quite heavily with WordPress, which makes the separation between PHP logic and templates much cleaner.

Instead of mixing everything together inside a massive PHP template, the data can be prepared first and then passed into a much cleaner Twig template.

For larger builds, I find that much nicer to work with.

The CMS should work for the people using it

This is probably the bit I care about most.

A website can be technically brilliant, but if the person responsible for updating it hates using it, something has gone wrong.

When I’m building WordPress sites, I try to think about what happens after development finishes.

Can someone easily create another page?

Can they update an image without breaking the layout?

Can they rearrange sections?

Are the field labels obvious?

Do they actually know what they’re editing?

Those little decisions make a surprisingly big difference.

WordPress isn’t always the answer

I also don’t think every website needs WordPress.

Sometimes a static site, another CMS or a completely different technical approach makes more sense.

But when a project needs a flexible CMS, custom functionality and an editing experience that non-developers can comfortably use, WordPress is still a really solid option.

For me, good WordPress development is mostly about keeping that flexibility while removing as much unnecessary complexity as possible.

The clever bit shouldn’t be how complicated the website is.

It should be how simple it feels to use.

Let's make something work better.