It’s been a number of years since I was an active participant in the community of designers, developers and users of Genesis Framework, and I think the same could be said for many of my peers at the time, who have continued to grow and have moved to different platforms and different technologies.
And that’s understandable. As with everything else in the world, WordPress has continued to move forward. And for better or worse, WordPress is now on a trajectory that makes Genesis child themes less desirable to consumers.
For better or worse, WordPress is now on a trajectory that makes Genesis child themes less desirable to consumers.
This argument is only compounded by the fact that WPEngine, who acquired StudioPress in 2018, has drastically reduced the number of StudioPress themes available to their customers, with only certain themes marked as “Gutenberg Ready”, and has made the framework itself free for anyone who wants it. Why they haven’t yet made their private GitHub repository public is still somewhat of a mystery.
And so under the weight of these undeniable facts, and with all eyes firmly on the block editor and all the bells and whistles contained therein, the number of developers building WordPress websites with Genesis is definitely on a downward slope.
Indeed, my own internal debate on this topic has led me to investigate other approaches, evaluate how I build WordPress websites, and to look at alternative solutions. Recently I’ve created WordPress themes and whole projects using Underscores as a base, using Roots Sage, using Astra Theme, Avada, and others.
I must also caveat this with the fact that I’m not using Full Site Editing, and haven’t yet started to build with FSE in mind.
From all of the alternatives I considered, Genesis was still the best starting point for a custom WordPress website.
Now while I’m not going to go through all of the themes I evaluated, though I may do that at some point in the future, I will say that none of them offered the same excellent developer experience that working with Genesis does.
My needs may be different to yours, and you’re free to leave a comment and tell me how wrong I am, but here were my key takeaways, and why I’ll still be building with Genesis going forward:
- The theme, my custom codebase, can be as minimal as two files. I can build an entire custom website and only every work on the
functions.phpfile and the
style.cssfile. Now the same is true with any of the other child themes I evaluated, so this isn’t a game changer on its own, but:
- I don’t want to maintain my own WordPress starter theme. I don’t want to be responsible for making sure that all of the important elements have the appropriate ARIA Landmarks, or that key content areas are signposted with labels and have skip links. I only want to write custom code for my clients, so I need a solid base to create a child theme.
- I don’t want a high barrier to entry. I’ve been around the block if you’ll pardon the pun. I can jump into most themes and plugins without an issue, but if I want to hire someone to help me, or pass some work to a junior developer, I don’t want them to have to learn how to use a package manager, or to get to grips with a complicated toolchain. Unless it’s mine, of course.
- I want to control the toolchain. If a project needs SCSS or needs assets to be concatenated and minified, then I want to drop in an easy to use bundler like Vite or Laravel Mix. I don’t want to be forced into using a tool because that decision has already been made by the project maintainer.
- I don’t want it to already be designed. I’m working with fantastic designers, and design agencies that put hundreds of hours into developing brands and style guides and making important decisions about design systems. I don’t want to clutter up my codebase by unloading styling for ready-made components.
Where Genesis Continues To Shine
Let’s look at a couple of use cases where Genesis was an ideal base for me to build a bespoke solution. Unfortunately, I can’t be too specific, however, I can talk in fairly broad terms:
A destination website for a very picturesque area of Scotland.
One of the core components of this website was a directory of local visitor attractions, local businesses, and places of interest. This meant lots of archive templates, lots of grids, and lots of cards with minor variations. With a traditional WordPress theme, I would have had unique template parts for many of the templates, where only minor attributes may have changed. Using Genesis’ Markup API I was able to easily unhook and move key components. Significantly less code, and less to maintain in the long term.
Online store selling clothing and accessories to the disabled market.
Accessibility was a key concern here, but the features already built into Genesis lifted a significant burden. There was also a need to implement sidebars on certain pages, and the page layout switcher made this very straightforward. Building either of those pieces of functionality from scratch would have added significant cost to the project.
Simple blog website.
This website, in fact. I’ve been playing with different possible solutions here but was able to put together the current layout in an afternoon, with a simple functions file and stylesheet. A very quick and simple implementation. Compared to a custom theme, where I would have needed to write all of my own templates and markup, it was very much simpler.
Honestly, the biggest reason why I’ll continue to build with the Genesis Framework is that I don’t need the maintenance burden of my own WordPress starter theme. And unfortunately, I’m too opinionated to use someone else’s without making significant changes.
The biggest reason why I’ll continue to build with the Genesis Framework is that I don’t need the maintenance burden of my own WordPress starter theme.
And there are so many other useful features that slide under the radar a lot of the time:
- The selectable page and archive layouts, as I mentioned.
- Accessible HTML, and other features like accessible headings and skip links.
- Native Schema.org markup.
- The powerful Markup API gives easy access to all of Genesis’ elements and their attributes.
- Hooks and filters everywhere, allowing total customization of your theme.
For me to create a vanilla WordPress theme with a comparable feature set would be a significant time investment. And realistically, it probably wouldn’t be as feature rich and well put together as Genesis.
You may well disagree with the sentiment here, and I’m pragmatic enough to know that this approach works for me, but may not work for you.
A lot of the time, I’ll build a nice simple theme with a header, a nice footer widget area, and a footer, and then leave the rest to the block editor. And there are a lot of features that remain unused. But for a project that needs more development work, I think Genesis continues to be ideally suited.
I agree. For no reason at all, I wanted to see what else was available. And you know what, I don’t feel like changing everything. I know and changing my workflow. Like, what for?!