It’s been interesting to watch the big migration from Substack and realize that for most of these publications, WordPress isn’t even an option, relegated to a footnote. I’ve seen a few convincing theories, but the clearest reason may be that WordPress tries to be a lot of things to a lot of users (that’s the amazing value proposition), but tools like Ghost picked this one niche area and became great at it.
To be honest, if I were tasked with migrating someone from Substack to WordPress, I’d be a little concerned. What transactional email service should I set up, what membership tools do I need, what is the best hosting and how can I set up caching in a way that it handles performance for a high number of “logged in” subscribers?
WordPress solves a lot of problems, but it often requires a lot of elbow grease and the mental overhead that comes from decision fatigue. You’ll be buying a ton of third-party tools and hoping you made the right choice. In other words, there’s a number of core features that people seem to expect from their content publication tools these days that WordPress actually doesn’t- for all of its features- come close to providing.
A similar example is the new Data Liberation project. While this project focuses on migrating content from other website builders and CMSs, it doesn’t seem concerned with some of the more social (and more popular) places where your data actually gets locked up: Twitter, Facebook, Instagram, and Substack are all missing from the homepage while Blogger(?) gets a top spot. Part of that is because these tools are so walled off, but I would like to see at least an awareness of social platforms as a place you might want to liberate your data from.
The point of this rambling aside is for me to awkwardly segue into Matt Mullenweg’s proposition for canonical plugins. There’s a few additional features that WordPress could offer out of the box, based on a more modern expectation of what a website could/should be. The old saying used to be “there’s a plugin for that” but these days the sentiment often comes out as “I need to install a plugin for that?!?”
Along the lines of Data Liberation, the best example of a “canonical” plugin is the WordPress Importer, not because the import/export process is anything great (it’s not actually), but because of how the plugin works: instead of going to the “Plugins” page, you can actually install and use this plugin while still in the context of the Import menu. That is crucial to canonical plugins. They should be features that exist and can be enabled inside a proper context and not feel like plugins at all.
So with that, I present a very rough draft of a list of canonical plugins that I’d like to see available, with some integration into core. These are features that could feel like native features that you can turn on or off inside core (some of them already are), while technically enabling a canonical plugin in the background.
- Basic Contact Form (being explored in Gutenberg)
- Content Subscriptions for Subscribers
- Maintenance/Coming Soon Page (using the block editor?)
- SEO (ex. setting SEO titles, descriptions and noindex/nofollow tags)
- Header/Footer Scripts
- Activity Pub
- WebP Images
- Translations (Gutenberg Phase 4)
- “Advanced Editing” (Gutenberg + things like responsive design controls)
- Posts (see footnote) 1
- Author Pages
What do you think of this list? Is there anything you’d include or anything else you’d like to see removed?
Imagine all of this routed through a proper onboarding experience that lets you define the type of WordPress website, blog, or newsletter that you want, with the work of these canonical plugins happening under the surface by default.
The argument here is that a more robust, more modular core experience could resolve some of the hesitation around using WordPress as a modern content management system. The focus on the block/site editor has been great, but I could imagine that with a number of these canonical plugins in place, more people outside the WordPress bubble could see it as more of a fully-featured publishing platform.
- To explain: Some of the canonical plugins reference existing features, meaning WordPress should offer the ability to disable them through a core-supported plugin. For example, as of now, there’s no really great way to turn off posts if you don’t want a blog on your site. Similarly, plugins promising to turn off comments or add header scripts end up becoming bloatware. ↩︎