WP Perspectives Issue 11: The Modernization of WordPress
In this issue: A high level discussion of the state of the WordPress project. Also, the latest posts on WebTNG, and some useful links from around the web.
Change can be tough. But the only alternative is eventual obsolescence.
Michael Hyatt
Dynamic WordPress – The Modernization of WordPress
My first server-side programming language was CFML, the ColdFusion Markup language. I was fortunate to have the opportunity to lead a small and very talented developer team that included a statistician, an engineer, an anthropologist (me), and someone who would go on to become a physicist. None of us had a degree in computer science. With ColdFusion it was ridiculously easy to create database driven websites and we used ColdFusion to help build a midsized multimillion dollar company. Other people in other companies also used ColdFusion to grow their businesses. People loved it, no one wanted it to substantially change, and for the most part the new versions of ColdFusion catered to this community.
For a number of years I was all in, head-down, working on the business, but eventually it was sold, I came up for air, and started looking around to see what was going on in the rest of the programming world. I found that many of the former ColdFusion influencers and luminaries had moved on to using other languages, ColdFusion market share had dropped through the floor, and people were ridiculed for mentioning that they still used it.
I noticed that PHP was suffering a similar fate. “Real” programmers vehemently hated working with PHP. PHP had been wildly popular and tons of websites were running on it. However, there were a number of inconsistencies and shortcomings in the language, but its stewards were hesitant to modernize it for fear of breaking existing sites. There are a number of similarities between ColdFusion and PHP, but there was also a big difference. That difference was that the PHP community decided to modernize before it was too late while the ColdFusion community waited too long. By the way, there is a similar story here in relation to JavaScript. At one point real programmers would make faces of disgust when JavaScript was mentioned, but today it is cool again.
My experience with ColdFusion (and JavaScript) taught me the importance of modernization, of rewriting and reworking the code base, and incorporating new technologies into the stack in order to stay relevant. Of course this applies to WordPress. On a high level I am very open to the phases of Gutenberg and the reworking of WordPress core because if we don’t modernize, WordPress will eventually lose it’s relevance. Of course people will disagree about what should be done and project leaders can do a worse or better job of moving things along, but on a high level modernizing WordPress seems like a good thing.
Focus on the Tree or See the Forest
Gutenberg was introduced a few years ago. Chris Lema described what was going on as an in-flight engine replacement. The Classic Editor was being replaced by Gutenberg. Generally this is seen as a large scale feature upgrade. However, after the release of 5.9 I’ve come to see this differently.
The WordPress philosophy states that features will be implemented when they benefit and will be used by the majority (80% or more) of users. WordPress 5.9 introduced the Full Site Editor and people were asking why this wasn’t introduced as a plugin because it is unlikely that many people will use Full Site Editing, especially now. The problem with this question is that it assumes Gutenberg, Full Site Editing, and so on are stand alone features. They aren’t. They are core. The point is that Full Site Editing and block-based themes are a reimagining and modernization of theme architecture and this modern theme architecture will likely be widely adopted.
I and many others have tended to see Gutenberg as a feature upgrade, though on a larger scale due to the importance of the editor. Full Site Editing might similarly have been seen as a new feature. However, what is going on isn’t the usual update and feature parade, but a major modernization of a significant portion of WordPress core.
The Implications of This Ongoing Process
According to the WordPress roadmap, there are four phases of Gutenberg planned:
- Easier Editing — Already available in WordPress, with ongoing improvements
- Customization — Full Site editing, Block Patterns, Block Directory, Block based themes
- Collaboration — A more intuitive way to co-author content
- Multi-lingual — Core implementation for Multi-lingual sites
What we have seen now is that these phases are not going to be implemented in a serial fashion. Instead, while they start at different times, they will be going on concurrently. Phase one of Gutenberg is not complete, there are still breaking changes, and foundational elements of an editor, such as global styles, spacing, and standardization of options, are still in flux. Full Site Editing was introduced as a beta. It is likely that the 3rd and 4th phases will kick off before the content editor and site customization features have fully matured.
One implication of realizing that core is being rewritten is that we need to change the narrative. For example, there was a lot of hype and excitement about Full Site Editing being released in WordPress 5.8, but only a few features made it in. Then we were told that it would be in version 5.9, but instead a beta with a lot of rough edges was released. Now I hear people saying that these rough edges will all be addressed in WordPress 6.0. I understand that people make these pronouncements because they are optimistic, believe in WordPress, and want to be positive, but it is clearly not going to happen. Instead, we need to realize that WordPress core is a construction zone and it will be that way for several years to come. Everything is not going to be done in the next release.
Not only are we in the midst of a series of ongoing betas, but also the development methodology seems to be what I’d call “continuous minimal viable product.” In other words, new features, such as theme.json, aren’t being architected and released in a well-rounded form, but instead a functioning but minimal version is released and it is rounded out over the course of the next several releases. It seems most of the features are being developed in this fashion.
Something Remarkable
There is something remarkable about the modernization of WordPress. So far we have been given the option to disable the new features if we want to. There is the Classic Editor plugin, the Classic Widgets plugin, and you can disable the site editor by activating a classic theme. This allows people to get work done in a construction zone. It has allowed people to test and eventually move over to Gutenberg, or not, as they wish. The amazing thing here is not that the team has shipped beta-level software in core, but that they have done such a good job of it. Yes it has been a disruption and inconvenience and the way it has been done rubs a lot of people the wrong way, but in 5.9 the core team shipped a beta of Full Site Editing with a new block-based theme architecture to millions of websites and there was little drama.
Gutenberg, the content editor, has evolved to the point were many deem it at least good enough and lots of people prefer it. Block-based themes have captured the imagination of theme developers and it is not hard to imagine block-based themes catching on and becoming a good alternative to classic themes. WordPress is being modernized. If your client asks you what this “Site Editor beta” thing in the admin is, you don’t say: no one asked for it, people don’t want it, people won’t use it, it is half-baked, and it is confusing. You say, WordPress is in the process of modernization. We can ignore it for now until it gets to the point where it makes sense to use it. Right?
Closing Thoughts
Everyone is not happy with what the reimagining of WordPress looks like. From PHP to JavaScript and React as well as a block-based architecture, these don’t appeal to everyone. Also, the decision making structure and process sometimes feels roughshod. Some people decide that if they have to learn things anew and retool that they might as well consider other alternatives. Other people embrace or at least accommodate the changes and continue on. These are personal and business decisions that each of us must make. What I hope I’ve achieved here is to surface the fact that WordPress is in the process of major, deep changes. With a clear understanding of that it is possible to make informed decisions and perhaps be a little bit less annoyed and a little bit more hopeful.
Recently Published
- The Kadence Theme Builder – I am very impressed with the Kadence Theme Builder. It allows you to create your content templates and archives using Gutenberg. It also works with ACF dynamic data.
- WordPress Growth and Page Builder Growth – A look at the interaction between the popularity of page builders and WordPress market share growth.
- Three WordPress Predictions for 2022 – My predictions for 2022. Read them now and then circle back at the end of the year to see how on target they were (or were not).
- Page Builder Reality Check – Sometimes we expect a page builder to do all things for everyone.
- Kadence and Stackable Gutenberg Blocks Comparison – These are currently two of the best block collections for working with dynamic data.
- Blockstudio ACF Blocks and the Full Site Editor: A Game Changer? – ACF Blocks and Full Site Editing? Blockstudio is a convenience helper for ACF.
- SQL Buddy for Simple Database Queries – A new plugin from the developers of Advanced Custom Fields.
From Around the Web
- WordPress MU-Plugins: What They Are + Useful Must-Use Plugins For WP Web Developers – This is a good overview of must used plugins, what they are and how they work.
- WP REST API vs admin-ajax.php vs Must-Use Plugin: Handling AJAX Requests in WordPress – A great comparison of the pros and cons of different ways to send requests via the WordPress admin.
Deals
- WPCodeBox – This is a good code snippets plugin with a number of advanced features. I’m using it on my sites. Use the coupon code WEBTNG for 25% off.
- WordPress Lifetime Deals Currently on Sale
What’s Up Next?
I’m still waiting for The Plus Addons for Gutenberg to release their dynamic data options. I’d like to take a look at this new feature. I’ve also been digging into the Bricks Builder in the hopes of using it for one of my sites.
Thank you for reading. I’d like to hear what you have to say about the newsletter content and what you are excited about. Feel free to comment or send me an email through the contact form.
David McCan
March 6, 2022
Really interesting stuff David! Thanks for your insight as usual.
Thank you Stephen. Glad you found it interesting.