The WordPress Question
Why we love Headless Content Management
There’s this moment that sometimes happens sometimes during conversations with clients. Both sides are excited and in agreement on the branding, design, and business vision… we’re finishing each other’s sandwiches and ready to get hitched, and then the client says, “Of course, we want you to do this all in WordPress.” An awkward silence follows — like when you mention on the the third date that you don’t want kids. Because at Ueno, we (usually) prefer not to create sites in WordPress.
Why not? People love WordPress! With so many sites and loyal users, what could be so wrong with it?
WordPress is great! But not for everything
Personally, I’m a big WordPress fan. It’s a great CMS for many sites. It empowers website owners to do a lot without professional developers and some beautiful sites are out there. I help a number of friends and family host and maintain their WordPress sites. But for a lot of the kind of work we do here at Ueno, it just isn’t the right tool.
WordPress makes it quite tricky for us to optimize things like SEO, loading time, generating social sharing previews and use the latest visual browser tools. WordPress is a great choice if you don’t have a top-notch development team to hand-craft exactly what you need. But when you’ve got that team, it holds them back.
WordPress offers lots of plugins and customizations for the things mentioned above, but I’ve learned that the sweet spot for WordPress is when your site conforms somewhat to some standard patterns. At Ueno, we’re all about delivering the unique, not about variations on a theme. WordPress, with all its advantages, is ultimately too constraining for a lot of the experiences we deliver.
The other extreme: developers only
The opposite approach from WordPress would be a site where you’d need a developer each and every time you wanted to change something, even the tiniest bit of text. For many websites, this would be really impractical. You shouldn’t need a developer to add new press releases or to update job postings.
Where does that leave us? We like the owner empowerment that WordPress brings, just not the whole kit-and-caboodle. So, we’ve picked our technology stack in a way that splits the difference. For projects where clients need to be able to modify content over time, we use a headless content management system (CMS) like Contentful, Prismic or an existing system the client has already invested in.
The Goldilocks option: Headless CMS
In technical terms, a headless CMS is one that doesn’t serve web pages or HTML, but instead has a REST API that can be called by a website, a mobile app or any other internet client. Or in layman’s terms: this type of CMS only stores text, images, and data and doesn’t assemble those pieces into the end result that’s viewed on screen.
Contentful is a top notch hosted provider we’ve used for several projects and their overview of Headless CMS is a good read. In it, they identify the four key components of a system like WordPress.
- The database where the content gets stored.
- The web app in which editors work with the content (also known as the admin interface).
- The part of the web app for managing the website’s design.
- The front-end that pulls content from the database to generate HTML pages.
A headless CMS handles part 1 and 2 but leaves part 3 and 4 alone. This is an ideal splitting point for us. The owners of the site can manage content in a central location and update it without developers. If custom owner tools are needed, we can help get that set up. The end-users, however, interact with a site that is better optimized for them.
Back to that awkward silence. Ultimately we’re all on the same page in what we want, we just have different pre-conceived notions of what that looks like.
The reasons some clients want to do things in WordPress are good reasons. Exploring those reasons helps us identify requirements and gives better picture of what success looks like for them. In some cases we’ve found that WordPress is a good fit but more often than not we collectively figure out that the headless CMS solves the clients need better.