WordPress is so post-centric it can almost drive you crazy. Posts are great, and the template hierarchy is amazing, but what if WordPress could drastically reimagine it’s relationship to pages, perhaps even making the “page” the default experience for a new WordPress website.
(This is a thought experiment, more of a conversation starter than anything else, so don’t take it too seriously.)
Let’s make “page” the default post type in WordPress- and make posts (and all that come with them) opt-in.
The “Front Page” Experience
Look at the home page of the TwentyTwentyFour theme (click to expand):
It has a “sort of home page” experience. It tries to be a landing page but is actually the blog page with a little Query Loop tucked all the way at the bottom.
What happens when you have more than 12 posts and click through to page 2? The mountains of content show up again and I guess the user needs to scroll down to find it. (Granted this is slightly relieved by the adoption of the Interactivity API and dynamic content updates in the Query Loop, though that doesn’t solve direct linking to /page/2
).
I’m a big fan of the TT4 theme, but are there actual website homepages built like this: a massive landing page that sits on top of the actual blog?
I understand that the design team was working within the constraints of the current system, and that’s my point. This clearly should not be the default experience for WordPress. It’s time to evolve.
Instead of WordPress starting with a blog/index.php
for the home page and a “Sample Page” that you always forget to delete, why not start with a populated page called “Home” that is actually set to be the home page of the website?
Goodbye Frontpage.html
I know what you’re thinking, that’s what the frontpage.html
template is for. But it’s become increasingly clear that block theme developers are by and large not using it. The biggest issue, from what I can understand, is that it places content inside of a template, not inside of page content. That distinction has consequences. It’s really hard for average users to disable or even modify without understanding the intricacies of the site editor. (And can editor-level users even edit it?)
A default “Home” page with a predefined set of blocks would be perfect, especially because those blocks would work with any block theme! (And there could even be an option for block themes to swap the default content out on activation if the blocks haven’t been edited yet).
And you know what – we could even have a Query Loop block in that default home page template showing the three most recent posts. It would be much more intuitive than the current Sample Page with the mind-bending instructions:
This is an example page. It’s different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors.
“Stay in one place”? Huh?
The Problem of Page Templates
Let’s take it further – let’s imagine if pages defaulted to not having a template at all.
Instead, pages would lean into patterns, with partially-synced patterns inside the content area offering the opportunity to have a templated experience. This would also solve the issue of users getting confused and building all of their pages as custom page templates with actual content inside of them (this is a real workflow that happens for new users).
As the great unification happens, the experience of editing a page template and a page’s content at the same time is only getting more confusing. There’s a number of open issues in Gutenberg trying to solve this, but the reality is that the pages don’t really function like posts. And the overall goal of editing a page exactly the way it looks on the front of your website is ideal, even if the current experience is not.
Pages don’t always want a title, featured image, and a column of content. In fact, the h1
of a page is very often not the same thing as the page’s title. We need pages to be more fluid than that. This wasn’t really an issue in the classic theme days, but the page-centric mindset of tools like Squarespace, Framer, or Webflow makes a lot of sense to users who are not bloggers.
And get rid of posts while you’re at it.
Ok. Don’t really get rid of posts. But maybe… do?
Imagine if posts were optional. A WordPress site with no posts means no tags, no categories, no comments, no date archives, no author archives, no index. Just pages of content as a default experience. Clicking the “New” button in the admin bar makes a new… page.
Imagine all the UI cruft we could get rid of for WordPress sites that don’t ever plan to use a blog.
And then for more sophisticated users, Posts and CPTs can be enabled and archives and templates set up and designed more effectively. Doesn’t that sound like more realistic use case for building a website this decade?
OK, so I know this is a pipe dream, but man, can’t you imagine how much simpler the WordPress experience could be if “having a blog” was opt in instead of (impossible to) opt out? Need eCommerce? Install a plugin. Need a blog? Enable it (perhaps via a one-click setting that actually installs a canonical plugin that really just turns on a filter in core).
How strong of a signal would that send to the broader web that WordPress isn’t “just for blogging” anymore?
I know that it doesn’t solve a lot of the problems around complexity – we still need to make template editing easier in WordPress for those situations where posts and post types are being used. But am I crazy here in saying that this would make life easier for the majority of new WordPress installations?
Leave a Reply