Picture this.
It’s 2006, and I’m sitting in my home office wrapped up in 3 layers of clothes because it’s another freezing November day in Edinburgh, Scotland.
I’ve just been emailed images from a client for their Stonemasonry website, which I’m creating in WordPress. I’m excited because I decided to switch 100% to WordPress, and this is my first web client using the new platform.
It’s a brand redesign, so I’ve encountered everything from stationary to business cards to email templates and a bespoke WordPress theme.
Responsive design – what’s that? Everyone has a Nokia or Motorola.
The site looks dazzling if I say so myself. Everything is ready to go except the client’s portfolio page, which is a gallery of his most outstanding work in the email he just sent me.
I unzip the files and view them, my veins pumping to get them on the portfolio page and get this sucker live.
I slowly slide my head to one side, trying to figure out what I’m looking at. It’s a moss-covered wall. I click on next. It’s another wall. No – wait. I squint again. It’s the same wall!
I flick through hundreds of pictures of walls, blocks, paths, sides of houses, roofs and doorways, all taken in the dull setting sun and howling rain environment that is Scottish late autumn.
I ponder all the work I have put into creating a gorgeous bespoke WordPress site to showcase a few dirty moss-covered walls.
Is there a faster way to spin up a client site – something more generic that I can tweak with a few customisations? Perhaps a go-to stack of plugins and themes? Something that will even showcase a close-up of a cobbled pathway? That’s a stretch too far.
WordPress Dev Stacks I’ve Tried
When looking for a dev stack, I first came across Thesis, a heavy-lifting parent theme with multiple customisable child themes and a developer framework to create your own. It came with a lot of baggage, though.
Next, I jumped on the Genesis bandwagon. It had built-in responsiveness and a different approach to overriding the parent theme functionality using hooks and filters. They offered beautiful, low-cost child themes covering many industries. Great for an 80/20 start to any project.
I looked into the Roots framework as a more developer-friendly alternative. I liked their Bedrock WordPress boilerplate theme, but Ansible’s provisioning system needed to be more stable and usable on Windows. So, I abandoned Roots.
I decided to check out some of the new page builders coming into the market. Despite its huge community, I’d never been a fan of DIVI. It was slow, and I remember at least one update changing its UI to bright rainbow colours. My eyes bled for a week.
I looked into Beaver Builder, Oxygen, and Elementor and was torn between them. I updated some of my sites with Beaver but wasn’t overly impressed with the toolset and slow development cycle, so I switched to Elementor.
My Current Dev Stacks
Here are my two current development stacks.
Elementor Pro
Elementor Pro is my go-to build for non-technical clients who need to maintain their site after I hand it over to them. I build a child theme from their super minimal Hello theme. If you have a pro page builder, you don’t need a theme to do any heavy lifting.
Elementor has switched to Flex Box and CSS Grid for layouts, eliminating much structural HTML scaffolding and making the output much faster than in previous versions.s.
I can quickly achieve A and B grades in Google Web Core Vitals for any Elementor site build.
Say what you want about page builders, but customers love them. They abstract the complexity of creating complex pages inside the website, allowing customers to be creative without hiring a designer or developer.
No page builder will ever be as quick as a native theme. It’s a trade-off between ease of use and efficiency.
GeneratePress and GenerateBlocks Pro
For more technical clients, I use GeneratePress and GenerateBlocks Pro. This great combo uses the native WordPress blog editor for speed and efficiency.
GeneratePress is a super lightweight, developer-friendly theme. It allows you to override parent theme features using hooks and filters. But it doesn’t stop at just code. You can override template content with your block pattern or insert block patterns to override page templates.
While GeneratePress is now classed as a “classic theme”, it’s very flexible, and I love it.
GenerateBlocks is a small collection of lightweight WordPress blocks that enables you to create any page layout without a page builder.
It comes with the following new blocks:
- Container
- Headline
- Button
- Image
- Grid
- Query Loop
It doesn’t sound much, but considering the headline block can be an H1, H2, H3, H4, H5, H6, p or div, you’ve got all the formatting, padding, and conditionals needed to control most of your core page content.
Each block comes with settings for:
- Typography
- Spacing
- Colours
- Gradients
- Backgrounds
- SVG Icons
Containers are fully flex box compatible, and the next release of GenerateBlocks will support CSS Grid and global CSS styles you can apply to any of their blocks.
With GenerateBlock Pro, I also get access to the following features:
- Pattern Library
- Global Styles
- CSS Effects
- Accordions
- Tabs
- Advanced Backgrounds
- Container Links
- Asset Library
- Copy + Paste Styles
- Device Visibility
- Custom Attributes
My website, wilbrown.com uses the GeneratePress and GenerateBlock stack.
What’s Your Dev Theme Stack?
I’ve laid my cards on the table, showing you where I started and what I currently use for WordPress theme development.
I’m keen to hear what you use as your primary theme development stack. Do you still use a classic starter theme, embrace Full Site Eidting with a block theme, or develop your bespoke creation?
Reply and let me know.
Until next time, keep thriving.
Wil.
PS: My son shared his pneumonia with me and his mum. Sharing is caring 🤒