I run a small web development studio in South Wales called WebDev Wales. We've been around since 2020 and currently host 42 small business client sites on Vercel, mostly local trades and service businesses across Neath, Bridgend, Swansea, Cardiff and the valleys.
This is the honest breakdown of what that costs me per project, what I include in client retainers, and where the trade-offs actually sit.
The setup, in one paragraph
Every client site lives in its own Vercel project, deployed from its own GitHub repo, on Vercel's Pro plan which I pay for at the team level. Database / CMS, if a site needs one, is usually Sanity (free tier scales surprisingly far) or Supabase. Each client gets their own DNS records pointed at Vercel, their own SSL (auto via Vercel), their own analytics dashboard. No multi-tenant shenanigans, no shared anything that could leak between clients.
Why per-project rather than a monorepo or single-Vercel-project-with-domains? Because when a client leaves, they take the repo and the project with them. Zero lock-in. I've had two do exactly that and it was a 15-minute handover both times. That story is worth more in sales conversations than any feature pitch.
What I actually pay per site
Per project, after four years of running this:
Bandwidth: most client sites run well under 5GB/month. The ones with a busy blog or a few hero videos can hit 20-40GB. Vercel Pro gives 1TB pooled across the team, so I'm not paying per-site for bandwidth at small business scale.
Function execution / edge requests: Welsh trade sites barely touch this. The few sites with contact form processing or scheduled revalidation use maybe 10-50k invocations a month. Well inside Pro's allowance.
Build minutes: this one bites. A WordPress-to-Next.js migration with a busy content team can chew through 2,000+ build minutes if you're not careful with ISR + on-demand revalidation. I cap most clients at "deploy on push, revalidate hourly" which keeps things sane.
Domains: Vercel doesn't charge per domain, which is unusual and lovely. I have ~50 domains attached to my team account, most pointing at single projects, a few aliased to staging projects.
So the marginal cost of a new client site to me is realistically the build-minute allocation, not raw infrastructure. The Pro plan covers it until you get to maybe 100+ active sites or a few high-traffic ones.
Where Vercel costs sting
Three areas where the bill gets uncomfortable:
High-traffic single sites. One client gets ~40k unique visitors a month with a blog that updates weekly. Their bandwidth alone is half of what the other 41 clients use combined. Worth a per-site margin review when you take on anyone with real volume.
Image-heavy sites with on-demand image optimisation. Vercel's image transformations are metered above the Pro included quota. A client with 200 hero images and 5 sizes per image at frequent re-render hits the limit fast. I now pre-generate sizes in Next.js's static export pipeline for any client with more than 50 hero images.
Preview deployments. Every PR gets a preview, every preview burns build minutes. For solo-dev projects this is fine. For projects where multiple people are pushing commits to draft branches, you start to feel it.
What I include in client maintenance
Each client is on a small monthly retainer (range £30-150/month depending on scope). For that they get:
- Hosting on Vercel under my account, with the project transferrable to their own Vercel account on request
- SSL renewal (automatic but I monitor it)
- Daily backups of their database / CMS to S3 (separate per-client buckets)
- Dependency updates monthly on a low-risk cadence (patch versions auto, minor versions reviewed, major versions consulted with the client)
- One small content update per month at no extra charge (a new portfolio entry, a price change, a blog post upload)
The maintenance fee covers a portion of the Vercel cost, monitoring, and the time spent on the above. It's not pure infrastructure cost recovery. it's the relationship cost of being someone they can phone when something breaks.
Things I learned the hard way
Pin the Node version per project. Vercel auto-upgrading Node broke three client sites the morning of a major release. Now every project has a
.nvmrcand aenginesfield in package.json.Don't share a single domain registrar with hosting. Vercel does domains too now, but if I let them manage the registrar I'd be doing the lock-in I claim to avoid. Domains stay at Namecheap or with the client's existing registrar.
Build-time env vars are sticky. Move a project between Vercel teams and you'll re-set every env var. Document them externally.
Use Vercel's "Production Branch Tracking" not main-only deploys. Some clients want a "preview before live" workflow. Branch-based prod tracking gives them that without giving me a separate deployment pipeline to maintain.
The honest TL;DR
Vercel isn't free. For 42 small business client sites on a Pro team plan, my monthly bill is meaningful. but the per-client marginal cost is low enough that it's basically rounding inside the retainer. The value isn't the price tag, it's the operational simplicity: every deploy is identical, every domain works the same way, every client has their own clean repo I can hand back to them on a Tuesday afternoon if they want to leave.
If you're a freelancer or small studio building for UK or Welsh small businesses, the question isn't "is Vercel cheap". it's "is the maintenance overhead small enough that I can offer a £30-150/month care plan and not lose money on it." For me the answer has been yes, four years in.
Find more at webdevwales.com if you want to chat about the setup or want a second opinion on a hosting choice you're making.
Top comments (0)