Bespoke WordPress: webshites not required.
If you’ve ever commissioned a WordPress site or dabbled in building your own, you’ve probably encountered “off-the-shelf” themes or drag-and-drop page builders. These can look appealing. Click, drag, colour things in, and boom – your site is live – this post is not about them – it’s about how to set up a bespoke WordPress theme.
But here’s the thing: if you want a site that’s yours, does what you want it to do, and doesn’t become a nightmare to maintain, you need a bespoke theme.
Here’s what that means and how you create a bespoke WordPress theme.
What is a bespoke WordPress theme?
A bespoke WordPress theme is built from the ground up.
It doesn’t start with a $59 ThemeForest template.
It doesn’t rely on a bloated page builder plugin that spits out 1000 lines of CSS when all you needed was two.
It’s lean. It’s fast. And most importantly, it’s yours.
I use a bare-bones starter I’ve developed and refined over the years when building bespoke themes.
It contains the bare minimum needed to run a WordPress site – no unnecessary plugins, Gutenberg blocks, or junk code someone else wrote for a completely different project.
This approach gives you full site ownership and avoids future headaches with updates, bugs, or plugin bloat.
Why not just use a pre-built theme?
Buying a theme is quick.
You grab something that looks 90% right and tweak the colours.
But here’s what you often don’t get told:
- You’re renting your theme – if it relies on a licence or builder, you don’t own it.
- It’s not built for you – it’s built to be sold to thousands of people.
- You’re carrying weight – all the code to make it do everything for everyone slows your site down.
- It can be insecure, especially when developers start fiddling with version numbers to hide the fact that they’re using unlicensed themes (this happens a lot).
Worst of all? You’re likely being charged “bespoke build” rates for a setup that took someone two hours to configure.
You must ask your WordPress developer how they will build your new WordPress site – most clients that I help with site rebuilds did not even know what they were getting.
It’s perfectly fair to assume that when you commission a ‘WordPress developer,’ you get someone who can actually code, but this is not always the case.
Before you start: plan like a pro
Don’t skip this part.
I’ve lost count of how many projects go sideways because people want to see “designs” before they’ve written a single word of content.
That’s like asking an architect to design your house without telling them how many rooms you need.
Before you even open a code editor, get the basics nailed down:
- Sitemap: What pages are you going to have?
- Copy: What do these pages need to say?
- Functionality: What should the site do beyond just looking good?
Once that’s sorted, wireframe your core templates.
A key thing to remember about planning your site is that the content is the most important part of it, not what it looks like – spend 10x the time planning and writing the content than you do pissing around with the design.
Don’t use a design template as your wireframe – start from the UX.
Figure out the user journey, what you want them to do, and what they’ll need to see to do it.
Step-by-step: building a bespoke WordPress theme
Now, I think this is pretty easy, but I have been doing it for over 15 years. Before you get into any DIY for your business website, remember that what is going to take me 20 hours is going to take you 80 hours – Is building your most important marketing asset best done DIY or best done by a pro? I’m just saying.
1. Set up a local development environment
Use Local WP or DevKinsta to spin up a local install. It’s free, fast, and you can test everything without touching your live server.
Create a new WordPress install and set your theme folder up inside /wp-content/themes/.
Messing things up in a local environment is much easier to fix than in a production environment, so if you have never built a bespoke WordPress site before, this is a good option.
2. Start with a bare-bones theme
Don’t download “Underscores” or some pre-built starter theme with opinions baked in. Start your own or use something skeletal. Mine starts with:
- index.php
- page.php
- single.php
- style.css
- functions.php
- header.php
- footer.php
And that’s about it.
Add the minimum code required to register your theme and get WordPress to recognise it.
Run it through Google’s PageSpeed Insights right now – you should be looking at 100/100 for both mobile and desktop if it’s clean.
3. Register menus, widgets and features you actually need
Use functions.php to register only the bits you plan to use. Nothing else.
function custom_theme_setup() {
register_nav_menus(array( 'primary' => __('Primary Menu', 'your-theme') ));
add_theme_support('post-thumbnails');
}
add_action('after_setup_theme', 'custom_theme_setup');
Don’t turn everything on. You’re not building the next Facebook.
4. Create your templates
Now build out your actual templates. Start with:
- front-page.php
- page.php
- single.php
- archive.php
- 404.php
Avoid stuffing layout logic into your templates. Use CSS Grid or Flexbox properly. And if you need a section to look a certain way, code it. Don’t rely on another plugin to do the heavy lifting.
Keep CSS minimal. I typically start with fewer than 50 lines to reset WordPress quirks and basic layout work.
5. Avoid page builders like the plague
Unless you’re building your site yourself and don’t know how to code, avoid page builders.
Why?
- They bloat your site.
- They slow things down.
- They create a dependency on a third-party company you didn’t hire.
You wouldn’t hire a builder who installs rented windows, so why let your site run on someone else’s plugin?
If it’s just you, you’ve got time, and you like to tinker – sure, they’re fine. But if you want a serious site for a business with a roadmap and growth plans, don’t touch them.
What about plugins?
Only use plugins for things you can’t build better yourself.
- SEO? Use Yoast or SEOPress and don’t forget WILO.
- Caching? Use WP Rocket or similar.
- Forms? Gravity Forms.
But avoid anything that creates layout elements. If your plugin adds sliders, blocks, accordions or “mega menus,” it’s trying to be your theme.
That’s not its job.
When should you not go bespoke?
A quick word of honesty.
If you:
- Have a £500 budget
- Need a site up by next week
- Just want a blog
…a bespoke theme probably isn’t for you.
There’s no shame in using a solid off-the-shelf theme or builder if you know what you’re getting.
But don’t confuse that with commissioning a custom build.
They are different, and the price tag shouldn’t be either.
Final thoughts: own your website
Once your site is built, tested, and ready to go live, you should know how to:
- Add content via the WordPress admin
- Update plugins without breaking things
- Understand how your theme is structured
If you don’t – ask your developer. If they won’t tell you – find a better one.
You’ve paid for a website. You should own it, understand it, and be able to use it without a developer on speed dial.
If your new site leaves you scratching your head and relying on someone else for the basics – you haven’t bought a website. You’ve purchased a dependency. Don’t do that.
Need help setting up a proper bespoke WordPress theme or want someone to give your existing site a proper check-up? I’ve built more WordPress sites than I care to count – and none of them started with “just install Divi and we’re done.”
Give me a shout. I don’t bite, and I won’t try to rent you a theme.