Ideal WordPress framework?

thisbit
9 min readDec 22, 2021

--

A drawing of an artichoke, pen and ink on paper.
A sketch of artichoke, pen and ink on paper, sometime before or early college (2001, 2002)

To do away with the suspense — it is Generatepress Premium! 🙂

If you are interested in why I chose GP over Kadence Pro and why I also think It might also become my standard framework to replace the WpRig starter theme setup, read on.

This post is a part of a series about WordPress building tools in 2021. where I explore reliable software stacks for client sites built on WordPress. Here I write about Kadence and GeneratePress, and my impressions and thinking based on experimenting with these over a couple of weeks to see which I plan to use. I have changed my opinions several times throughout the process. I bought Generatepress Lifetime and Kadence Full Bundle and returned both at a certain point. Finally, I have re-purchased Generatepress and Generateblocks as my stack of choice.

Dynamic content and making queries

Screenshot of ShowPosts homepage with a banner announcing merging with GenerateBlocks
A ShowPosts plugin homepage with the announcement to merge into Generateblocks, 1. quarter 2022.
Kadence Pro version log, 104. version introduces theme builder features.
Kadence Pro version log, 104. version introduces theme builder features.

One feature in GenerateBlocks not present outside Elements is the dynamic content. The nonexistence of this feature seems even more strange since the same author also has a well-known plugin that predates block-editor that does the same — ShowPosts. In comparison, Kadence has had the dynamic content feature for some time now.

3.12.2021. an announcement appeared on the ShowPosts plugin website announcing merging the plugin into GenerateBlocks by the end of the 1st quarter of 2022. A couple of days later, Kadence pushes a silent upgrade to its premium product introducing a theme builder, not unlike the one present in Generatepress.

So at the moment, Kadence has basically all features that Generatepress has, plus the dynamic content feature outside the context of the Elements module. That should solve any doubts I may have had — right? In some sense, it has, just not in the way one might think.

Both of these “killer features” in Kadence are, in my view, not well done, or rather, they are not done yet. Dynamic content is not sufficiently intuitive, and some basic things like taxonomies do not work, some custom fields produce bugs, etc. The way it is realized in terms of UX is not in Kadence style of doing things and feels like a work in progress. Theme building features also have some bugs, not surprisingly since this is a silent release. All software has bugs, which in itself is not a problem. However, the way these features were pushed somehow confirmed a suspicion I have had following Kadence and testing it for a couple of weeks before this release. I am afraid that Kadence is, compared to GeneratePress, running a “number of features” race. Knowing Kadence has been acquired by iThemes recently, this does not sit well with me. I have started to look for the new stack to run away from Enfold, a feature monster in its own right.

My ideal software in terms of update cycles is Debian Stable. Updates are almost only security patches, and when a new feature arrives, it is so well tested that it is not even a new feature anymore. I love software boring like that. 😊

It comes down to confidence or trust in the foundation you are building upon.

“We want you to feel confident that the code behind your (or your clients) websites is stable, secure, and optimized.” — Tom Usborne

Dev-friendly codebase

Screenshot of the terminal, showing Kadence to have 114 files and GeneratePress 57
Number of files comprising respective themes

The image on the top of this section is more of a meme than an argument. The number of files does not necessarily account for much, and the comparison is not fair either, knowing Kadence has much more features than Generatepress does. However, to me personally, it hints at where the simplicity* lies.

Both Kadence and Generatepress are clean codebases. To some extent, Kadence code style and file structure are similar to the WpRig starter theme I have experience with. Generatepress is still simpler/cleaner. Whatever the case with coding style, GP has been built to be modified via code, and it provides more in that department. Conversely, Kadence provides more tooling in the visual modifications department, though. One place where Generatepress outshines Kadence is the documentation and support forums, in the amount of information available, accessibility, and information organization — it is far ahead from Kadence in this regard.

My ideal theming framework

Coming from starter themes like _s, I want a framework that will speed up development time without undermining flexibility, speed, and maintainability. The framework should be a perfect mix of visual dev tools and an elegant way to interface via code where that is more efficient. In the time of Gutenberg and other page builders, a theme should also do as little as possible. In some sense, I look for what the framework doesn’t do rather than for what it does do. It took me a while to figure out what I need from the framework since the space of page builders and modern frameworks is fairly new to me, and there are many competing voices in this space. Kadence and Generatepress both fulfill many of these requirements, but where Kadence excels compared to Generatepress is in the features department, while Generatepress excels in the simplicity and stability department.

But this is not me saying GP is better — I am saying it is a better fit for me, while Kadence is meant for a bit off a different userbase. So who is Kadence for, and who is Generatepress for? Let us look at the messaging of each product to make a conclusion about this.

Philosophy and culture

Goes without saying but, this is my understanding of the culture and philosophy surrounding these two products, judging from their online communication efforts, my experience of the community Facebook groups, and the usage of the products themselves.

Messaging

Kadence theme in wp.org and Kadence theme homepage.
GeneratePress theme on wp.org and GeneratePress theme homepage.

From the visual language as well as copywriting, one thing is clear. Generatepress advertises itself more towards professionals, while Kadence advertises itself as a tool that (much like Gutenberg itself) empowers non-professional users to build professional-looking websites.

GP slogan: “Start building better websites today.”
Kadence slogan: “Your website, your way.”

Some keywords on GP pages: #foundation, #stable, #compatible, #better websites …

Some keywords on Kadence pages: #beutifull, #effective, #quickly, #powerfull …

The GP language is drier, the visuals emphasize the technical and methodical aspect of building websites, with references that have meaning primarily for the professionals (wireframes, grids, guides… ). The Kadence language is more approachable, and the websites visually emphasize finished products, including photographs, etc.

I am not implying, at least not in this section 😎 that GP is for professionals and Kadence for hobbyists. I am suggesting that their PR efforts and messaging are directed that way. This might mean their development efforts are or might become different in this regard. For me, it also implies that Kadence is a more profit-oriented product. It is not that I think GP is not profit-oriented, these are both businesses, but the choice of the niche they chose to address is such that Kadence is for sure aiming to be a more popular theme, reaching a wider audience.

Building-blocks

In my previous post, I have written about the two different kinds of WordPress-builders, ones that either empower the admin/editor or the designer/developer. This classification of builders I based on the premise that the components/blocks that are very concrete in terms of use-case/content-type are empowering content-creation, and more abstract blocks promote designing/developing.

Another way to put this is somewhat anecdotal. My education was in fine art. And in that context, the way I was taught how to draw was abstracted from the motif. While most people would pose the problem like this: How do you draw an eye? I was instructed to pose the question more abstractly: how do you draw something to appear convex or set a focal point in the composition. The premise is: do not learn how to draw an eye but know how to draw in general, so drawing an eye will pose no problem.

Blocks from Kadence on the left (showing only blocks that fit on the page) and Blocks from GenerateBlocks.

Of course, if you draw a bunch of eyes daily, you develop a “technique” of drawing eyes, design patterns, code snippets, etc. It is important to me to keep a relationship with that level of abstraction and that my tools allow for this when I want it.

Kadence is way ahead in the blocks department within the content paradigm they are working with. Kadence blocks are lightweight and versatile blocks bundle. Of the third-party Gutenberg blocks, this is my favorite one. I would choose Kadence blocks before any other, Stackable, GetwidUltimate. These are lightweight, and they hit the nail on the head. They have all the block types I may want in my layouts: accordions, tabs, sections, counters, forms … dynamic content, great job.

However, I prefer the paradigm Generateblocks are working with. A small number of abstract blocks one would need to design a layout. Almost like a toolbar in Figma. I would rarely use GenerateBlocks in a post or even a page. These blocks are for use in templates, etc. In any event, exactly where I want my 3rd party blocks. There is one block I miss terribly in that stack, and it is an advanced query block, and since December 3. we now know that they will be pushing that block out. So what can I say? 😎

Conclusion

I prefer Generatepress. It is an opinionated framework. Its support will help you with almost anything, but they will introduce very few suggestions into its development. The dev team is very sustained in its approach and favors stable, extensible clean products. They think (much more than) twice before introducing the feature, how the feature works, and how it fits into the Generatepress and Generateblocks as a whole. This is the impression I got from their work and communication, from how they answer questions in support forums, etc.

I love this to-the-point paragraph on the GP about page.

“Since the beginning, GeneratePress has aimed to be a lightweight foundation that can tackle any website project. It aims to offer just the right amount of customization while staying incredibly light and stable.”

The strengths of GeneratePress combined: stability, simplicity, brilliant documentation, and support mean that not only will it replace Enfold theme for me, but probably also WpRig. I have enjoyed working with the WpRig framework so far, but if some limitation in GP does not appear, I think that the speed of building and support/documentation that it provides will make me build better and faster compared to building with WpRig.

Kadence is at the moment a high-quality suite of products, and I would recommend it to almost anyone. When choosing a framework for my work, for client websites, I choose GeneratePress, because fundamentally — I agree. 🤩

* By simplicity, I am not referring to how easy it is to achieve something, but to a system that is simple insofar as it has no unnecessary additions and modifications.

--

--

thisbit

I branch into visual arts, visual communications, web dev, and teaching. Here I write about UX/UI and web dev mostly. YT https://tinyurl.com/24784589