CMS for Freelancers: How to Run Client Sites Without Paying Monthly Fees
The Monthly Fee Trap Every Freelancer Knows
You build a website for a client, hand it over, and six months later you're still paying $30/month for a CMS they log into twice a year to change their hours. Multiply that by ten clients and you're bleeding $300/month — $3,600/year — for sites that are basically just sitting there. If you're looking for a CMS for freelancers that doesn't punish you for having a growing client list, you're not alone. This is one of the most common complaints in freelance web dev circles, and the fix is simpler than most people think.
Why Recurring CMS Pricing Hits Freelancers Hardest
SaaS CMS pricing is built for agencies with retainers or product teams with venture money. The model assumes someone is actively generating value from the platform every month. But freelancers often build a site, deliver it, and move on. The client doesn't need a $30/month subscription — they need a place to edit text.
Here's where it gets worse: most SaaS CMS platforms price by seat, by site, or by traffic. So the more successful you are — the more clients you land — the more you pay, often without any additional value in return. You're essentially subsidizing the platform's growth with your own.
Some freelancers try to pass the cost to the client. That works sometimes. But it adds friction at handover, creates a billing relationship you have to maintain, and means the client can cancel the subscription and lock themselves out of their own site. It's a mess.
Five Things a CMS for Freelancers Actually Needs
Before comparing options, it's worth getting clear on what the requirements really are. Most freelancers need the same five things:
1. Multi-Site Support Without Per-Site Fees
You're managing sites for multiple clients. The CMS needs to work across all of them without charging you per installation. One license or one free tier that covers every client site is the only model that makes financial sense.
2. Clean Client Handover
You need to add the client as a user, set their permissions, and walk away. Ideally the admin panel is simple enough that your client doesn't call you every time they want to edit a paragraph. The editor has to be approachable for non-technical users.
3. Low Operational Overhead
You're not a sysadmin. The CMS should run on a basic VPS without needing constant maintenance. Automatic caching, sane defaults, and a clear deployment process are worth more than a feature list a mile long.
4. A Good Editor for Clients
This is the one that kills most deals. If you hand over a site and the client's first experience is confusion, you're getting a support call. A block-based or rich text editor that non-developers can figure out in under ten minutes is non-negotiable.
5. White-Label Capability
If you're building an agency brand around your freelance work, you don't want your client to see someone else's product name in their admin panel. The ability to modify the interface — or at least present it under your own brand — matters for positioning.
The Math: What Recurring CMS Fees Actually Cost You
Let's put some numbers on it. Here's a realistic comparison between a typical SaaS CMS and a self-hosted setup on a $5/month VPS.
| Setup | Monthly Cost (per client) | 10 Clients/Month | Year 1 Total |
|---|---|---|---|
| SaaS CMS (e.g. $30/mo plan) | $30 | $300 | $3,600 |
| Self-hosted: Hetzner CX22 VPS | $5 | $50 | $600 + one-time license |
| Self-hosted: Core tier (free license) | $5 VPS only | $50 | $600 total |
| Self-hosted: Pro license ($99 one-time) | $5 VPS only | $50 | $699 first year, $600 every year after |
The difference over three years with ten clients is roughly $9,000 versus $1,900. That's not a rounding error — that's the cost of a good laptop or a few months of salary for a junior dev. And the VPS cost goes down if you host multiple small client sites on one server, which is completely viable for most small-business clients.
Self-Hosted CMS: The Smarter Model for Freelancers
Self-hosting used to mean setting up LAMP stacks and wrestling with server configs. Modern VPS providers like Hetzner have made this dramatically simpler. A CX22 instance — 2 vCPUs, 4 GB RAM, 40 GB SSD — runs for about $5/month and handles a small client site with ease.
The key shift is: instead of paying a SaaS company forever for infrastructure you don't control, you pay for actual compute. And once you've got the process down, spinning up a new client site takes under an hour.
Introducing UnfoldCMS (One Honest Option)
There are several self-hosted CMS options out there. One worth knowing about is UnfoldCMS — it's built on Laravel 12 and React 19, with a shadcn/ui admin panel that's clean enough for non-technical clients to navigate without hand-holding.
A few specifics that are relevant for freelancers:
- Core tier is free. Not free trial, not freemium with crippling limits — the Core tier is genuinely free to use and self-host. Pro is $99 one-time if you need advanced features.
- No per-site fees. Install it once per client on their own VPS. No license checks that phone home per installation (for Core).
- Full REST API with 42 endpoints, so if a client wants a headless setup with Next.js, Astro, SvelteKit, or Nuxt, you're covered without switching tools.
- HMAC-signed webhooks for triggering deploys, notifications, or integrations when content changes.
- Source-available, which means you can modify the code — useful for white-labeling or adding client-specific features.
You can see it live at demo.unfoldcms.com before committing to anything. It's the real admin panel, not a marketing mockup.
A CMS for Freelancers: 5-Step Setup Guide
Here's how a typical client site deployment looks with a self-hosted CMS on a Hetzner VPS. This isn't a complete technical walkthrough, but it gives you the shape of the process.
Step 1: Provision a VPS
Create a Hetzner CX22 instance (or equivalent from DigitalOcean, Vultr, or any other provider). Install Ubuntu 22.04, set up Nginx, PHP 8.3, and MySQL. This takes about 20-30 minutes the first time. After that, you can use a setup script or server snapshot to cut it down to five.
Step 2: Clone and Install
Clone the CMS into your web root, run composer install, copy the .env.example to .env, generate the app key, and run migrations. The whole thing is a standard Laravel install process. If you've deployed a Laravel app before, there's nothing new here.
Step 3: Configure for the Client
Set the site name, URL, email settings, and any client-specific options through the admin panel or the .env file. Connect a domain, configure SSL (Certbot handles this in two commands), and you're live.
Step 4: Add the Client User
Create an admin or editor account for your client. Set their role permissions to match what they should be able to touch — typically content editing, not settings or user management. Send them the login link.
Step 5: Hand Over
Record a five-minute Loom showing them how to edit a page, add a blog post, and update their contact info. That's usually all they need. For most small-business clients, the CMS becomes invisible infrastructure — it just works, they log in when they need to, and they don't think about it again.
If you're managing multiple clients, document this process once as a runbook and reuse it. After the third or fourth client site, the whole setup from VPS provision to handover takes under two hours.
FAQ
Can my client log in and edit content themselves?
Yes. The admin panel is designed for non-technical users. Pages and posts use a block-based editor — clients can edit text, swap images, and rearrange sections without touching code. You control which parts of the admin they can access by setting their role and permissions when you create their account.
What if the client needs support after handover?
That's up to you to structure. Some freelancers include a support retainer in their contract; others do a flat-rate handover with a one-time training session. The CMS itself doesn't require ongoing support from you for routine content updates — it's the site-specific customizations that usually generate support questions. Self-hosting actually helps here because you control the environment and can diagnose issues directly without waiting on a SaaS platform's support queue.
Can I white-label it for my agency brand?
UnfoldCMS is source-available, so yes — you can modify the code including the admin interface branding. This makes it viable to present as your own platform to clients, which is something most SaaS CMS products explicitly block unless you're on an enterprise plan. Custom branding through code modification is a one-time effort you can reuse across all client sites.
Is self-hosted CMS secure?
As secure as you make it, which is also true of SaaS — you're just responsible for a different layer. On the hosting side, this means keeping PHP and Linux packages updated, using fail2ban or similar for brute-force protection, and enabling automatic security patches on Ubuntu. On the application side, UnfoldCMS runs on Laravel 12, which has a strong security record and active maintenance. The bigger security risk for most small-business client sites isn't the CMS — it's weak passwords and no MFA, both of which you can address in your handover checklist.
If you're worried about SaaS being "more secure" because someone else manages the servers, it's worth remembering that SaaS platforms are also larger targets. A shared platform holding thousands of customer sites is far more attractive to attackers than your client's dedicated VPS. With self-hosting, each site is isolated — a vulnerability on one installation doesn't cascade to your entire client list.
Do I need to manage server updates myself?
You handle OS-level updates, but modern Linux distributions make this easy. Ubuntu's unattended-upgrades package handles security patches automatically. For the CMS itself, updates are a git pull followed by composer install and a cache clear — a two-minute task you can script. If you're running five or ten client sites, a basic Ansible playbook can update all of them in parallel. Most freelancers find they're doing meaningful server maintenance maybe once a quarter.
What if a client wants e-commerce or a custom integration later?
The full REST API v1 — 42 endpoints covering posts, pages, categories, menus, settings, and authentication — means you can build custom integrations without touching the CMS core. HMAC-signed webhooks let you trigger Stripe payment flows, Zapier automations, or custom serverless functions whenever content changes. UnfoldCMS also works headless, so if a client later wants to move their storefront to Next.js while keeping the content backend, that's a straightforward project rather than a platform migration.
The Bottom Line
The recurring fee model for CMS platforms made sense when hosting was expensive and managed infrastructure was a real value-add. Today, a $5/month VPS runs a client site without breaking a sweat. For freelancers managing multiple client sites, the math heavily favors self-hosting — and modern tools like UnfoldCMS have closed the gap on usability that used to make self-hosted options a harder sell.
You still have to set up servers and manage deployments. That's a real cost of time. But it's a fixed skill investment, not an ongoing monthly expense that grows with your client list. Once you've got the process documented, each new client site is a two-hour job, not a recurring line item on your bank statement.
The other thing worth saying: owning your infrastructure changes the relationship you have with your clients. You're not a reseller of someone else's platform — you're the expert who built and runs the whole stack. That's a more defensible position, and it tends to generate referrals in a way that "I set up their Squarespace" doesn't.
If you're building sites for clients and paying per-seat or per-site SaaS fees, it's worth running the numbers for your own situation. Start with your current client count, multiply by your CMS monthly fee, and see what that adds up to over three years. For most freelancers with more than four or five active client sites, the switch to self-hosting pays for itself in under six months.
Related: The Complete Guide to Self-Hosted CMS in 2026 | CMS for Agencies | UnfoldCMS Pricing
Free & Open Source
Own your CMS. No subscriptions.
Unfold CMS is free to download and self-host. Built on Laravel + React, full source code included.
Share this post: