Payload CMS 3 - Open source website builder
Choosing the right CMS can feel nearly impossible, even when you know exactly what you need. The market is flooded with options, from simple and free to complex and pricey. In this post, I’ll give an honest review of Payload CMS, the "new" kid on the block that’s been popping up on my radar lately. It’s fully open source, which is a huge plus for developers who want flexibility and control. And, as always, if you find this review helpful and want to give Payload a spin, I’ve made it easier than ever to deploy your own instance—just keep reading for the 1-click deploy template later in the article.
What to expect
In the first part of this article, I’ll briefly cover what you can expect from Payload CMS when launched from this template. Right after that, I’ll guide you through the simple steps to deploy your own instance of Payload CMS, so you can start building your blog, website, or whatever project you have in mind. Once you’ve set everything up and created your first pages, I’ll introduce you to the world of customizations. You’ll quickly see that, no matter what features or functionality you need, Payload can be configured to handle it. Whether it’s adding custom content types, integrating third-party APIs, or building dynamic forms and dashboards—Payload offers nearly endless possibilities. Of course, these advanced customizations require some patience and technical work, but you won’t hit a hard “no” wall.
For those of you running a MedusaJS webshop, I’ve received many requests asking how to integrate a CMS into your storefront. In an upcoming article, I’ll dive into how you can seamlessly integrate this exact Payload CMS setup into your MedusaJS storefront for a fully customizable e-commerce experience.
Preconfigured key features in this template
- Pages
- Posts (blog/articles)
- Forms
- Users (with roles)
- Comment system (coming soon)
CMS comparison
To give you some perspective, I’ve compared Payload to a few other well-known CMS platforms. I’m well aware that there are many other, often more popular options out there, but I chose these because they cover a broad range of use cases, styles, and technologies. These are platforms I’ve personally worked with, offering a well-rounded comparison. The following categories are evaluated:
- Ease of Use: How easy it is to create a post, page, or article using the CMS as it is.
- Customization (Ease/10): Rated on a scale from 0-10, this score reflects both the potential for customization and how difficult it is to implement complex changes.
- Price (Official): The monthly price from the official hosting provider.
- Price (Self-Hosting): The estimated monthly cost using my Railway deploy template. This benchmark is based on what I’ve personally paid to host these templates, but note that high traffic can result in higher prices.
Platform | Ease of Use (0/10) | Customization (0/10) | Price (Official) ($/m) | Price (self) ($/m) | Open Source |
---|---|---|---|---|---|
Ghost | 10/10 | 5/10 | $36 | $7 | ✅ |
Squarespace | 8/10 | - | $24 | - | ❌ |
WordPress | 7.5/10 | 4/10 | €9 | - | ✅ |
Payload | 7.5/10 | 9/10 | $35 | $7 | ✅ |
About ratings: While WordPress offers extensive customization, it's built on a language that has seen better days, and making changes often comes with frustration. Ghost is the undisputed champion for ease of use—nothing beats how quickly you can write your first post or page. However, as soon as you need more advanced features, you’ll likely outgrow it. This is where Payload shines, offering much greater flexibility for adding complex custom features. As for pricing, I only provide deploy templates for two platforms, so if you're looking for ultra-low-cost self-hosting, there's really only two choices.
Please note that railway hosting prices is per use, so if you have high traffic on your project you might need to pay more. The prices in the table is what I pay, with low to moderate traffic on my sites.
How to get started, building with Payload in minutes
This boilerplate is set up as a website builder, perfect for writing articles, blog posts, or showcasing your product or business. The CMS is easy and intuitive to use right out of the box, so you can get started quickly. If you need more advanced features, Payload offers virtually unlimited customization options, though adding these will require a higher level of technical involvement and some tinkering. Customization guide coming soon...
To get started, launch the template on Railway by clicking the button below, and follow the steps as shown on the screenshots.
On the template overview page, you can see what this relatively simple template consists of: a PostgreSQL database and a Payload CMS Git repository, both preconfigured to work out of the box as a website/blog CMS.
Ignore the two "configure" buttons, this template is preconfigured. Customizations will be covered later and cannot be done at this point in time. Click "Deploy"
Once you have two green checkmarks, select the payload-CMS service, and click the public URL in the deployments tab to visit your own Payload CMS for the first time.
If you’ve reached this screen, congratulations—everything went smoothly! From here, you’ll find on-screen instructions to help you get started, but let me break it down quickly.
First, you’ll need to create an Admin user. Once logged in as the admin, the next step is to seed the database with some demo content.
I’ve included demo data based on blog posts from this very blog, so you’ll have some template posts to reference as you write your own pages or articles.
To edit any piece of content from your admin dashboard, click on a content category, such as Posts. Then, pick one of the demo posts to see how the editor works. It is a pretty powerful WYSIWYG editor and yet very intuitive.
Customization and Integration
Already eager to start customizing your website? Unfortunately, this article ends here... But don’t worry, the next one is on its way. You may leave your email below, and I’ll make sure you’re the first to hear when it’s ready. Who knows what exciting possibilities await?