Neither do I! And that’s probably because there’s a lot happening in WordPress-land. The evolution towards full-site editing (FSE) introduces frequent changes to the way we build themes and plugins, and at such break-neck speed that the documentation itself is either non-existent or nearly stale upon being published. Heck, the term “full-site editing” might even change.
Tom McFarlin was musing about this in his post titled “Writing Tutorials in These Gutenberg Times”:
I know Gutenberg has been in development for five years and I know that it’s matured a lot over the course of that time. But [t]he number of tutorials explaining how to do something that’s already outdated was absolutely incredible.
The truth is that I wouldn’t know where to start if I was asked to make a new WordPress site. As I see, there are a number of ways to go in this evolving era of WordPress:
- Make a virtually empty theme that leverages the Site Editor for templating and block patterns for layouts.
- Make a child theme based on the existing Twenty Twenty-Two theme (because it supports FSE out of the box and is minimal enough to customize without much fuss).
- Make a classic theme.
- Ditch theming altogether and make a headless front-end that consumes the WordPress REST API.
I mean, we have so many tools for extending WordPress as a CMS that the front end of a WordPress site may vary from site to site. We can quite literally build an entire custom WordPress site with nothing but some tweaks to the theme.json
file and fiddling around with layouts in the Block Editor.
It’s amazing and dizzying all at once.
It can also be frustrating, and we saw some of the frustration boil over when Matt Mullenweg commented on the recent design updates to the WordPress.org homepage and the amount of time took to complete:
[…] it’s such a basic layout, it’s hard to imagine it taking a single person more than a day on Squarespace, Wix, Webflow, or one of the WP page builders.
(And, yes, someone proved that a nearly identical copy of the design could be created in 20 minutes.)
I think Matt’s comments have more to do with the process and solving the right problems than they are criticizing the approach that was taken. But reading the comments on that post is a nice microcosm of what I believe is an existential dilemma that many WordPress developers — including myself — are feeling after five years of living between “classic” and FSE themes.
I’ll be honest: I feel super out of touch with FSE development. So out of touch that I’ve wondered whether I’ve fallen too far behind and whether I’ll be able to catch up. I know there’s a huge effort to bolster learning (Learn WordPress is a great example of that), but it feels like there’s still something missing — or some sorta disconnect — that’s preventing the community from being on the same page as far as where we are and where we’re heading.
Could it be a lack of communication? Nah, there’s lots of that, not to mention lots of opportunities to attend meetings and view meeting notes. Could it be a lack of stable documentation? That’s legit, at least when I’ve tried seeking information on block development.
Perhaps the biggest shortcoming is the dearth of blog posts that share tips, tricks, and best practices. The WordPress community has always been a vast army of folks who generously share their talents and wisdom. But I think Tom summed it up best when he tweeted:
my sympathy to anyone who duckduckgo’s/googles a tutorial for how to create a gutenberg block and cannot find a single consistent tutorial.
— Tom McFarlin (@tommcfarlin) August 17, 2022
what a mess.
I, for one, would love to be writing about WordPress as much as I have in the “classic” era. But again, there’s that elusive starting point that prevents me from feeling confident about anything I’d say.
Like many WP devs, I did not adopt Gutenberg right away because it was not ready (and maybe it still isn’t).
A lot has changed in the last 5 years including FSE but when I thought this might be a good time to jump back in I have to agree — the current WP dev landscape is a complete mess.
In “classic” days I always reached for my own starter theme and that served me well for several years. I have absolutely no idea where to start with WP development now.
You really hit on something here with the title. Weighing the options of how to build a WordPress theme nowadays, I often want to recommend custom FSE to my freelance clients, but trying to find a good resource to follow end-to-end is dizzying. A classic theme is easier but so outdated.
The second option you point out, using a flexible theme with FSE built-in to customize to your liking, is a viable option for many websites. If you take the ego out of theme development it’s a great option for both end clients and busy devs.
I love WordPress because I can actually touch the code without a lot of hassle, unlike say Squarespace, but custom frontend in WordPress is getting to be more trouble than it’s worth… Giants, shoulders, cliché here.
For now I like using a theme like Blockbase (by Automattic) or Twenty Twenty Two, setting the fonts and colors, then adding functionality with plugins. As a designer I definitely think it’s possible to make minimalist themes good (and on-brand) if you get creative with the theme.
Maybe it won’t look exactly like the design but we’re past pixel perfection right?
This hits the nail on the head. I think a lot of us will need to check our egos at the door as theme development becomes more of a no-code practice. Many of us are proud of how well we can wrangle PHP but we’re going to see less of it as FSE matures.
Like Joshua in the previous comment, I didn’t adopt Gutenberg and continued to build my websites with Divi or Elementor.
I guess that WP being so well established and somewhat mature and consistent is one of the main things preventing us now from fully adopting and advancing it’s new paradigm.
Most of us already have a solid workflow and we are simply way to used to how it used to be.
I think that as with any thing in development things evolve. I went to wordcamp in Philadelphia years back when Gutenberg was just being announced. The takeaway I got was that I was going to need to level up my JavaScript skills. Not that PHP no longer has a place in WordPress it’s just themes are JavaScript based now. Just like before you can download plugins or themes to customize or rock your own blocks. I rock my own and disable core blocks that I don’t need. At the end of the day the thing to remember is to make sure that the end user has a good editing experience. Not a hodge podge of different UIs from different plugins with 500 different blocks to choose from. Keep it simple and easy to manage.
I feel like a stranger when reading anything block-related regarding WordPress. I miss the old WP, and maybe there a light in the of the tunnel with ClassicPress. I blogged (!) in my Hugo blog (!!) about this uncertainty in WordPress/promise of a better alternative in ClassicPress.
I’ve had nothing but complaints from my non-techie coworkers about the block editor, and I’ve also found it pretty much impossible to create blocks myself or even create custom versions of the presupplied blocks. That seems to be due to a dearth of accurate information, not to mention an inability to wrap my head around the completely different paradigm.
Seeing the generated HTML in a block theme fills me with disgust and the whole thing just feels incredibly slow and awkward to use. Even performing simple editing tasks in the block editor can take me several times as long as in the classic editor. And without the outline view open, I find it entirely impossible to ge a proper structure.
Not a fan of Gutenberg or FSE.
Just this week I fired up a clone of one of my sites on my local machine and took a stab at rebuilding the theme as an FSE theme.
Unfortunately it’s a nightmare under all regards. From the already mentioned lack of documentation. To the lack of basic features. To the fact that FSE is just not as intuitive and well designed as other site builders like Elementor.
I stopped working with WP in 2019 because of all this. If you like a PHP based CMS that is kind of the classic WP without all the overhead starting with v5 and you do custom website (not premade themes and plugin stuffing), I recommend grav (getgrav.org).
I work on a couple of large sites for clients who need to be able to do very specific thinks in terms of editing content but who need to be sure they won’t “break” the site with anything they do. FSE is the exact opposite of they need. I use Zurb Foundation/Foundation Press as a starting point as it gives me quick access to commonly required things like models and accordions. In addition to Foundation I make strong use of Advanced Custom Fields Pro which allows me to create blocks in a drastically simpler way than would otherwise be possible. The combination of custom post types + custom blocks with fields tailored to my clients needs results in a site with ‘just enough’ flexibility without entering the danger zone.
We have embraced Gutenberg for about 3 years now, altough we have adopted a strategy where we disable almost all default Gutenberg functionality, and pretty much exclusively build ACF-Blocks.
I believe the big issue that crops up with Gutenberg, but also with builders such as Divi, Elementor and once upon a time Visual Composer, is, that these tools somewhat akwardly fall between target audiences.
These tools get in the way of developers who know how to write code, who feel they could build better and more efficiently if they weren’t limited by sometimes seemingly unnecessary complexity.
At the same time these tools might be overwhelming to many of the people who have to use them to manage content. At least our clientele, is often looking to be unburdened from marketing responsibilities and they look to us to provide them with a tool that makes it easier for them to communicate to their audience on the internet.
I am quite happy with the way we use Gutenberg, but there are some features that we never fully explored, such as block patterns and reusable blocks. Mainly because the end result quickly became too complicated for our clients to work with. Which is ironic, because these seem like features that should make their lives easier.
As a long time developer using custom themes in wordpress to build websites for clients, I can’t agree more. Was long thinking about exactly why I so dislike the direction WordPress has been going but you nailed it.
Gutenberg makes developing websites for clients almost impossible.
I know I’m a dinosaur. I used WP since version 1.3 I think. Never for blogs. I always found a way of hacking it into a real-estate, hotel, travel guide, corporate, newspaper etc site. My own themes always. I don’t like Gutenberg cause I don’t want to give users so much of a destruction power. I tried FSE, I love the idea only for admins though. I think I could built my next client’s site on this, if I only can manage to find ways to limit the occasional “editor” creative spree.
Couldn’t agree more. Well written explanation too. One thing I don’t get about Gutenberg and FSE is that it seems to cater to constantly tweaking your theme, which I never need to do. Why spend so much time on creating tools to change so much of your site when in reality you’re usually just adding/editing content. We rarely change our theme and when we do, we don’t use the FSE tools to do so.
Blocks AKA “Gutenberg” ruined EVERYTHING, they focused all efforts on “journalist blogs” and abandoned innovation and tech community.
We have been waiting a decade for native tools for: post types, taxonomies, roles/capabilities, file manager, custom snippets, post/term/user fields, custom routes, redirects and 404 manager, better import/export/migration, anti spam measures or disable comments completely, SMTP settings, etc etc
In my opinion, Rich tabor sums it up in this tweet, where he writes staying on the top of WordPress development iteration is playing a part and getting involved.
For a while, I have been trying to keep myself up to date on block theming by following related GitHub discussions. I have been sharing my block theming experience here on CSS-Tricks. Believe me, I often get surprised when I read new Gutenberg release notes. It’s overwhelming.
To add in the discussion above, here is a recent hallway hangout video, where block themers who are deeply involved with customer sites like Rich Tabor (Extenfy), Ana Segota (Ariel Design), Ellen Bauer (ElmaStudio), Brian Gardner & Nick Diego (WP Engine) and others discussed their pain points and offer their perspective about the current state of Gutenberg.
I especially enjoyed the David Bowman’s (Automatic engineer), perspective who discusses in detail how Gutenberg is being applied as a design system to handle big enterprise WordPress VIP sites.
Based on the following GitHub issues, the smooth Gutenberg experience is years away:
James Koster (Automattic designer), who is deeply involved in the Gutenberg UI design acknowledges in this post, who writes that current UX is suboptimal. The post is shared here at the GitHub for discussion.
For wider discussion and comments, the post is also covered here by WP Tavern.
A similar view is expressed by Gutenberg lead architect Matias Ventura, which confirms my belief that we are years away from smooth WordPress experience that we have been accustomed to.
Block themers’ work and Block Theme Directory shows that even the current state of Gutenberg editor could be used to create block themes that are not just for blogging but carefully crafted block themes are suitable for customer’s commercial sites, as well.
First plugin I activated is Disable Gutennberg.
WP Gutenberg is not ready in my opinion.
Maybe, WPG is useful for non-tech user in this time.
I am looking forward to seeing where WP is going with the Block Editor, but I was rather taken aback when it rolled out a native React app within a PHP-Centric platform. Ultimately, that’s fine: I want to learn more modern JS development anyway and if writing native blocks gets me familiar with React and modern JS, I’m happy to learn it. What I dislike is how disparate the workflow feels. It’s downright sloppy, honestly. We’re now jumping between HTML, CSS, JavaScript/React, JSON files, and the many, many buttons and panels of the block editor. I need a build process for my build process.
While I am learning custom blocks and FSE for my own knowledge, I’m holding out on deploying Full Site Editing and Block Themes for clients at the moment, as it’s clear that it’s bleeding edge development territory right now. I have a feeling they are going to be making some big changes to the architecture over the next year or two and rolling it out for clients at the stage is doing them a disservice, especially when there’s so many wonderful existing tools that suit the client’s needs much better (ACF or ACF Blocks, custom Elementor/Beaver Builder, or just a different CMS entirely).
I love staying current and using the most contemporary tools possible, but not at the expense of usability, especially when my job is to provide the right tool for my clients, not just the latest tool.
I miss the days when I could watch Chris Coyier showing me how to Float Left.
very well noted in the end, the documentation on WP.org is a joke and googling for tutorials or tips& tricks is a real kick in the bucket hoping for best.
This article really hits home. I got so many pain points with WordPress right now.
What I’d wish for is a clear path. But the Gutenberg documentation seems to shift constantly, while the traditional PHP way feels sometimes too ancient.
Modern PHP standards seem to be the dream of a far away future, especially in the core. Now, there was news on WP Tavern that block-based template parts could become a thing in Classic Themes. That make me even more on edge. It’s like a Frankenstein’s Monster thing, muddying up the field even more.
Close to everything would need some overhauling there right now, be it the PHP Core, Gutenberg Editor, FSE, Docs.
At the moment, it’s clear to me, why I shifted more to Laravel. The experience is so much better and way more fun.
So .. lets to a poll / questionaire on: What is the first plugin you install in a fresh WP installation?
I’d guess “Disable Gutenberg” and “Classic Editor” would rank in the top 5, with ACF Pro still being in the top 10 – as its probably the only viable tool that allows for semi-easy creation of Gutenborg Blocks.
So what’s my own way? I guess:
a) for a current WP Install, I disable Gutenborg and sprinkle ACF Pro on top where needed
b) if the client really really has tears of joy whenever using Gutenborg, I just sprinkle ACF Pro on top
c) if the client does mostly care about ease of use, and a superbly optimized website, I go for ClassicPress and don’t bother with WP :)
cu, w0lf.
I’d bet lots of folks are in a similar boat. But why do you disable the Block Editor by default? Is it because working with blocks is tough to learn? Or maybe the developer experience is lacking compared to classic theming? Or perhaps the docs are incomplete? You just prefer the “classic” WordPress workflow? I definitely keep it on but stick to a pretty classic theming approach because I’m unsure what the best practices are for spinning up a new project these days — like whether
theme.json
is the new way to style, or blocks should be isloated plugins, or if the Site Editor is ready for prime time…Here is an interesting article on WP Mayor, which has documented some experts’ opinions on The Future of FSE, which has interesting statistics on FSE, too. I found both the opinions and FSE stats interesting, and thought of sharing the link here.
After spending the last 20 minutes trying to figure out how to change the links color in a latest posts block with FSE, and failing, now I want to die alone and sad.
No funeral, no flowers on my grave.
Or dried cardoons, if you must.
There’s nothing else to say.
Just for the records: the context is a child-theme of twentytwentythree.
Well, hey, here’s some good news: we’re prepping a new article that thoroughly covers how to manage styles in WordPress at various levels and how they apply to block themes. I’m editing it right now, in fact, and we’ll have it out around when WordPress 6.1 is released. Stay tuned and buck up!
Thanks Geoff, much appreciated! I did not mean to bring you all down but it has been a really frustrating work session, thus I am really looking forward to reading your new article!