“Should we use a theme for our website, or should we have something built entirely from scratch?"

Fairly often, we have clients asking us this kind of question. And our answer generally remains the same (and original!) – – it depends entirely on what you want from your web experience.

At Dauntless, the kind of projects we deliver means that we spend a lot of time building our deliverables within WordPress. In light of this, I’m confident that I’m in a good place to elaborate on that answer above. 

When it comes to a new website build, you could:

1 – Go With A Standard Theme

If your client has a small budget, along with an urgent need to build a website quickly, this can be ideal –

Pros:

  • Websites are a quick build with this option.
  • It can also be very cost-effective.
  • You don’t necessarily need a developer.

Cons:

  • The level of customisation tends to be basic, at best.
  • You’re limited to the level of functionality the theme creator has built in – which leaves you at the mercy of another person’s ideas or vision.
  • No matter how great it’s made to look, websites built via themes tend to have a certain “look”.

There is definitely a place for themes. But they don’t always do a great job of handling or limiting the amount of http requests; there are plugins to help you get around this, but… should you need to install a plugin because of the theme you’ve chosen?

"Personally, I would avoid using a child theme where possible. But, as with the stand-alone theme, they’ve also got their place..."

2 – Work With A Theme + Child Theme

A child theme is one that sits on top of another one, and takes the overall customisation up a level.

For example, a style sheet in the child theme generally overrides the style sheet of the parent theme. This lets you add new layouts and templates, and so because of the technicality involved, pretty much means a developer will be required.

Pros:

  • Using a child theme is still much faster than a custom build.
  • Further customization (of what may have been a bit limited previously) helps you achieve your vision.
  • Easily extendable – there’s room for flexibility, without writing a lot of code.

Cons:

  • This type of addition tends to have a lot of http requests.
  • Very “hacky” – I find the more code you change, the more time you have to spend further down the line, in cleaning up a mess of code.
  • It’s not always easy to jump in with someone else’s work, quickly understand what’s what; this is an important skill when working with child themes.

About that last point, this is the case because you’re essentially taking one developer’s work and combining it with your own code. This is the main cause of the extra hours and work required. Personally, I would avoid using a child theme where possible. But, as with the parent theme, they’ve also got their place; i.e. if what you’re trying to build has very specific requirements. 

3 – Opt For A Custom Build

The lengthier, costlier option.

Pros:

  • The sky’s the limit: you can do anything you want.
  • It’s all your own code – built in your style, with your idiosyncrasies.
  • It’s so much easier to bug fix a site you’ve built, as opposed to trying to figure out someone else’s work.

Cons:

  • Did I mention the cost?
  • And the amount of time involved?
  • Or the potential complexity, compared with the first two options?

The potential quality of code is also a factor with custom builds. It can be quite reassuring if your team is responsible for all the code, and means you have far greater insight and control. Also with a custom build, you know exactly what’s going to be loaded (i.e. images, videos, etc.) and so you can limit the style sheets and JavaScript used.

I should emphasise: the above is drawn from my experience and opinion… so not everyone will necessarily agree with what I have to say. But hopefully these points will help you get your head around different options. 

At Dauntless, we see it as our responsibility to be upfront and honest with all of our clients – I hope a post like this gives some greater insight into the web development process.

Until next time!