The last time I wrote an article about my themes toolset was over 5 years ago. A lot has happened for me personally since then as well as in the WordPress ecosystem. The rest of my toolset has also changed quite a bit since 2017, both for themes and the main plugins I use as well as my workflow.
In the WordPress ecosystem, the main change, of course, has been the evolution of the Block Editor (Gutenberg) which has now reached a level of maturity that makes it the obvious choice for the layout of the web sites I work on in my web agency. Gutenberg has been in WordPress core since December 2018 and its Full Site Editing (FSE) features are being refined now with very useful new features coming in future phases like collaboration but, more useful to me, a core implementation of multilingual features.
I will have more to say about Gutenberg in future articles but, for now, contrary to many who see Gutenberg as the demise of themes as we know them, I myself believe the importance of selecting and using the right theme is more important now than ever before and I have mainly been using this one theme for over 5 years but it’s not Genesis which I was still using in 2017.
GeneratePress: flexibility, power, stability and speed
For over 5 years now, the main theme we’ve been using in my agency and for my personal projects is GeneratePress. For me, it’s the perfect blend of flexibility, stability and speed. Mixed with GenerateBlocks, it has become the base of all our web sites builds.
Why move away from Genesis?
But first, let’s address the elephant in the room. Why did I stop using Genesis after using it for years and recommending it during all that time. Why did I look for another theme?
There were a few reasons behind this. First was the evolution of the Genesis theme itself. More and more, the main Genesis parent theme was being stripped of features that were moved to child themes. That means heavier child themes that were now handling a lot of the basic functionality I believe a parent theme should take care of. This also meant a lot more rework of child themes as WordPress evolved and features were added or modified. When I first started using Genesis, child themes were supposed to rarely if ever require updating as was the philosophy in the WordPress ecosystem.
Our own starter child theme which I had been rewritten twice already now needed to be rewritten again with almost every revision of the Genesis parent theme or with the addition of WordPress features like the Block Editor. This also meant that, for existing client sites, some rewrites would also be needed to access these new Genesis or WordPress features. That did not sit well with me. I saw that as breaking an implied rule or promise from the Genesis developers: that child themes would never need updating. Sure, in a way it was true in that the old child themes continued “working”. But those sites would become more and more obsolete in time and remain in a state that didn’t reflect the current state of the parent Genesis theme or WordPress itself.
Genesis was now failing one of my main theme selection criteria: stability through updates and upgrades.
The other part of my decision which came after the things above had already started happening and I had already become dissatisfied with Genesis was that StudioPress, the company behind Genesis, was purchased by WP Engine. I trusted StudioPress, can’t say I trust WP Engine. No specific reasons but things I’ve read through the years, the size of the company and plain gut feeling. In my experience, this kind of transaction has rarely brought positive results for the products and the customers of the company being acquired.
So Why GeneratePress?
First, I can now say that I’ve used GeneratePress even longer than I had ever used Genesis before it. That tells you a lot about the quality of the theme and its suitability for my needs. It met and continues to meet all my criteria year after year. In the past, I have gradually come to distance myself from a theme through time for reasons similar to the above for Genesis. With GeneratePress, I’m more into it now than ever and, unless its developer has a major direction change, I do not see that ending any time soon.
Secondly, our GeneratePress starter child theme has seen only a few minor iterations since I created it but they are mostly for things I wanted to add to support other tools we use in almost every site. Its basic theme related functionality never needed to be rewritten or changed in any way. Only the global colours code we had added to it could be removed when GeneratePress added global colours in the customizer. But existing sites could use that feature without touching the child theme as that code just gave defaults and didn’t break anything. That’s what I call smart updating that respects backwards compatibility.
Our client sites’ child themes are also way lighter than our Genesis child themes and adhere to that principle of managing only a site’s specific functionality and styles. Major feature additions to the parent theme benefit all updated sites without reworking child themes or breaking existing layouts. In that way, GeneratePress is by far the best and most stable theme I’ve ever used. Its respect for backwards compatibility in a way that doesn’t prevent the evolution of the theme is unmatched in my experience.
Coming from Genesis where we had a lot of flexibility but pretty much everything needed to be done in code via either, PHP hooks and filters or writing CSS manually. It was refreshing to me to get all the same flexibility from GeneratePress (it has just as many hooks and filters) but being able to integrate the basics of a client design quickly in the customizer was a game changer. GeneratePress is even lighter than Genesis, yet it has so many more useful features it’s not even it the same league anymore.
The feature that really sets GeneratePress apart for me is its Elements feature. You can see the overview of the different types of Elements here.
Think of Elements as global features that enable you to modify layouts or add different types of content or control headers centrally based on specific types of content or specific pages or posts. It’s hard to describe the sheer power of Elements in a few words. Layout, hooks, block hooks and more enable a degree of design specificity before tinkering with actual theme templates I have not seen in other themes (I’ve also used Astra Pro, Kadence and tried a few others). GeneratePress with its Elements features is head and shoulders above the rest IMO.
Another area where GeneratePress shines is support. Between direct support, the Facebook group or the support forum, help is always fast and detailed and the few times I’ve needed it, I was never left without a solution or directions to one.
Does GeneratePress Have Fewer Bells and Whistles than Other Popular Themes?
Compared to other themes, GeneratePress at first glance may seem to lack nice shiny features that other popular themes have. For example, it doesn’t have built-in header or footer “builders” like Astra or Kadence Pro have. But it has something better IMO… yes again, Elements.
With the Block Element, you can replace the header or footer (or many other things) for any specific page, post or other specific content you want with a layout built with blocks. For me, that is a lot more future-proof than any proprietary theme tool. Those block layouts for headers, footers and other parts could be easily copy-pasted into a full FSE (Full Site Editing) theme or other theme with a feature similar to GeneratePress‘ Elements. Whatever header or footer you build in Astra or Kadence will not work in any other theme.
When I originally chose Genesis, I thought I had found the theme platform I would grow with long term. I did use it for about 5 years and I do not regret it. Unlike other themes I used in the past that were either abandoned or became unusable or too buggy, Genesis never gave me major problems. It just became too tedious for me to work with it for new projects. Genesis is still the right solution for many people, just not for me.
For me and my agency, I prefer to use a theme that’s evolving in a direction i can support like GeneratePress does. I also prefer it because I can work with it way faster. The workflow with GeneratePress is both faster and easier and I can do more with the theme without relying on connector plugins to make it work with page builders or WooCommerce or other third party larger solutions. GeneratePress works better out of the box with anything I’ve installed alongside it than Genesis ever has.
With its companion plugin GenerateBlocks (I will write another post on that), I can now fully leverage the WordPress Block Editor and leave page builders and their weight behind. It also works very well with other blocks packages like Stackable, KadenceBlocks, GreenShift and others. So I end up with a more flexible and efficient toolset that is stable and evolving with me. Give GeneratePress a try! You won’t regret it.