Right I'm not going to address the elephant in the room, there's obviously a lot of drama that's gone off, but I'm absolutely not going to address the actual drama, and I don't want to get dragged into it. That being said, I do want to give my opinions on Wordpress after being a developer for over 10 years. A good few of those years were spent working with Wordpress.
What is Wordpress?
If I had to hazard a guess, a lot of you would be on Wordpress right now. It's the most popular CMS in the world, and supposedly makes up over 40% of all websites. I don't know if that's true, but it's probably close.
I'd also like to say, that to be fair to Wordpress it was a very good tool comparatively to what was around when I started. It was far better than Joomla, Drupal, and even Typo3 from my perspective.
That being said, how many folks are still driving around in a horse and carriage?
Why Consider a Change?
Before we start talking about my very opinionated hot-take and which route you should probably take, let's touch on why you might want to explore alternatives to WordPress:
Plugins
Plugins are great, but they're also a massive security risk, and they also happen to be the reason the one remaining Wordpress website we maintain (family friend's website) just stopped working.
They're non-standard, they're not really designed to be used in a modern tech stack, and they're a maintenance nightmare. You can guarantee that the moment you stop updating Wordpress, your plugins will stop working and the more you have, the more likely it is that you're going to get a:
Security
Have you ever seen a website, or hosting that has been utterly and truly hacked. Well we've never actually seen this outside of one occassion, guess what it was running.
What should I change to?
Honestly, if you have a website that's under $10k, then you're probably better off using something like Framer or Webflow. However, if you're looking at above $10k it's time to look at a tool like Sanity, Next.js & Vercel.
Let's quickly brush over Framer/Webflow so I can talk about the good stuff. Framer & Webflow are basically the same drag and drop website builders, but with Framer you get a bit more control over the code and from our testing, they typically perform better. The reason I recommend them under $10k is that they're easy to use and you can get a website up and running in no time and it's a pretty good result for what you're paying for. They won't necessarily scale, but they're great for getting something up and running quickly.
Now if you're looking with a bit more of a budget, this is where Sanity really shines. Now let's get onto the good bit:
Key Features
- Headless Architecture: Sanity separates the content backend from the frontend. Why does this actually matter? Well because you pick what frontend you want to use. Much nicer than having to hack plugins on top of Wordpress to get it to do modern development - I'm looking at you Timber.
- Customizable Content Studio: Guess what, you don't have to see the regular Wordpress dashboard. You can build your own editing environment tailored to your team's needs. Yeah, like actually. Fancy a full editing flow where it gets signed off at every stage? Yeah, you can do that.
- Real-time Collaboration: Still get that warm little buzz when you see the little blue cursor going round editing your doc at the same time as someone else? Real deal, real-time editorial experience. It's almost like somebody built a CMS that was designed for the modern world.
- Powerful Query Language (GROQ): You might actually be looking into all the query languages right now. Trust me, this one is it chief. It's essentially GraphQL, but better. It scales really nicely as well.
- Versioning and History: We've broken our own website a number of times, and we've been able to revert to a previous version. It's a godsend. You shouldn't be sweating bullets over making changes to key pages.
- Flexible Content Modeling: Rememember the old adage of "measure twice, cut once"? Well, do that with your content models and thank us later. Think about how you'll scale them, enrich them with other documents and ultimately how you can repurpose and scale.
- API-first Approach: Access your content via APIs, perfect for multi-channel publishing. Mobile app? Automation of emails? RSS feed? You better believe they're an API call away to integrate with your tech stack.
There's a lot of buzzwords here, what does it actually mean?
Basically it's the best editorial experience on the web, as far as we're concerned. You're getting something where you can drag and drop content and get near instant feedback. You can scale it, you can customise it, you can basically do anything you want. But you have to build it right.
This is where the real work comes in. You're going to need to build this with a good team. Here's the things to look out for, ask these questions:
- Are you using the latest version of Sanity & Sanity Presentation?
- Are you using the latest version of Next.js and the app router?
- Are you using Tailwind CSS?
- Are you using Typescript?
If any of these are no, then run.
With that said, if all the above are yes, then you're probably in a good place.
Why is it more important than ever to get a good team?
Well a big distinction here is that Wordpress is a monolithic framework, Sanity is a headless CMS. You can basically botch together a Wordpress site with a few plugins and get something working, you can't do the same with Sanity & Next.js.
Truthfully, this isn't really a bad thing, but it's definitely worth knowing going in. The trade-off of this is that it's ultra resilient, and you can basically build and integrate anything you want. For perspective, we've got a website that we built when we first setup our business 7 years ago. It's fully functional, still scores in the late 80's/90's on lighthouse and we've never had to touch it.
Wordpress Cheat Sheet
For things you've probably come across before, here's a quick reference guide for common WordPress features and their Sanity equivalents:
- Pages & Posts → Documents: In Sanity, everything is a document that you can model however you want. No rigid distinction between pages/posts
- Categories & Tags → References: Use reference fields to create relationships between documents. More flexible than WordPress's taxonomy system
- Featured Image → Image field: Similar concept but with better image handling, cropping, and hotspot features built-in
- Menus → Document type: Create a dedicated document type for menus with references to your pages
- Widgets → Components: Build custom components instead of using widgets. More control, better performance
- Plugins → NPM packages: Instead of plugins, use NPM packages and custom code for functionality
- Theme Customizer → Studio customization: Build custom input components and validation in the Sanity Studio
- Media Library → Asset Management: Built-in CDN with image transformations, better organization
- User Roles → Custom roles: More granular control over permissions and roles
- Comments → Not built-in: Need to implement your own solution or use a third-party service like Disqus
- SEO (Yoast) → Custom fields: Create your own SEO fields or use packages like
sanity-plugin-seo-tools
- Forms → External service: Use Formspark, or build your own solution (just use Formspark)
- Search → GROQ queries: Build powerful search functionality using GROQ, or integrate services like Algolia
- Permalinks → Slugs: Generate and manage slugs with more control and better internationalization support