Pricing
What it costs, before you have to ask.
Starting figures published up front, so you can work out whether this is the right range before either of us spends time on a call.
Website builds
A serious website at a price a small business can carry.
Landing page
from $500
A single page built to do one job: a campaign, a launch, or a business that genuinely needs one page done properly.
- One page, built to do one job
- A working contact form as standard
- Content written for you from the information you provide
- Up to two stock or AI-generated images included, or use your own
- Two rounds of revisions
Website
from $2,500
A full site. Most run to four pages or more, and the price follows what the site actually has to do.
- Four pages upward, typically home, about, services, and contact
- Content written for you from the information you provide
- Two rounds of revisions
- Price moves with page count, content written from scratch, and anything that has to integrate with a system you already run
Half to start, half before the site goes live. Hosting is never a line item I mark up. More on how it works →
SEO and AI visibility are included in every site, not sold as an add-on. Whichever platform a site lives on, the structure, markup, and content work are part of the build. A hand-coded site is yours outright; a site built on Wix or Squarespace lives on your own subscription with them.
Website maintenance
Keeping a live site working.
Updates, fixes, and the small changes every business needs once a site is out in the world. Separate from the build and from the content packages, because plenty of businesses want this and nothing else.
Maintenance
from $40 a month
Billed quarterly, in January, April, July, and October.
What sets the figure
- The size of the site and what it is built on
- Add-ons running on it, such as an embedded reviews or booking widget
- How often updates are needed
- The kind of changes involved, from a phone number to a new section
The exact figure is set per project and confirmed before anything starts.
Monthly packages
Once the site is live, the content keeps working.
Billed monthly and separate from the build. No lock-in, and no long contract to sign.
Starter Stack
From $400 a month
- 2 social posts a week
- 1 blog article a month
Growth Stack
From $650 a month
- 3 social posts a week
- 2 blog articles a month
Full Stack
From $1,250 a month
- 5 social posts a week
- A blog article every week
- Facebook and LinkedIn as standard, Instagram and X on request
- Each post adapted and published to the platforms agreed for your package
- Writing, images, scheduling, and posting handled
- Articles published to your site, or handed over for you to publish
- Ongoing SEO carried alongside: metadata, internal linking, and a monthly look at Search Console on the pages the content touches
- Two rounds of revisions
Billed on the first of the month for that month. Change tiers or stop with 30 days' notice.
Unsure which one fits? Say what you are trying to grow and I will tell you which tier makes sense, including if the answer is none of them yet.
Google Ads
Paid search, priced the same way as everything else.
Setup once, then monthly management. Billed separately from the build and from the content packages, because plenty of businesses want one and not the others.
Setup, from $500
- Keyword research, sized against what the terms cost
- Negative keyword list
- Campaign and ad group structure, one campaign per service
- Ad copy written to the search and to the page it lands on
- Sitelinks and the other assets that give an ad more of the result
- Geographic targeting set to where you actually take clients from
- Budget planning, a starting daily figure per campaign
- Conversion tracking reviewed before any spend begins
- Landing page review
Management, from $500 a month
- Search-term review, and new negatives added from it
- Keyword, bid, and budget adjustments
- Ad testing
- Geographic adjustments
- Conversion monitoring
- Landing page recommendations
- Monthly reporting and what I would do next
Management is billed monthly. Change tiers or stop with 30 days notice.
Ad spend is paid by you, directly to Google. It never passes through me and I take no percentage of it. Accounts spending more than $5,000 a month on ads are quoted individually.
Campaign landing pages start at $500, the same build as any other landing page above.
Quoted separately from monthly management: campaigns for a new service line, a full account rebuild, an additional landing page, major website changes, extended conversion-tracking troubleshooting, major geographic expansion.
More on how the campaigns are built and run: Google Ads management →
Questions
Straight answers before the first call.
Why publish prices at all?
Because the alternative wastes both our time. Starting figures let you decide whether this is the right range before either of us gets on a call.
What makes a project cost more than the starting price?
Page count first. The $500 figure is a single page with a working contact form; as soon as a site needs more than one page it moves to the website tier, and most run to at least four — home, about, services, and contact. From there the number is set by how much content I have to write, how many images the site needs, and how much custom work is involved. E-commerce, multilingual pages, and anything that has to integrate with a system you already run all sit at the higher end. The quote you receive is the number that counts.
Are the monthly packages a contract?
No lock-in and nothing long to sign. Packages are billed on the first of the month for that month, and you can change tiers or stop with 30 days’ notice. The notice period covers whatever is already written or scheduled, so nothing is left half-finished on either side.
Do I have to take a monthly package?
No. Plenty of clients have a site built and handle their own content afterward. The packages exist for businesses that would rather hand that part off.
When do I pay?
Website builds are half to start and half before the site goes live. Monthly packages are billed on the first of the month for that month. Nothing is invoiced in arrears, and there is no surprise at the end.
Who writes the content?
I do, working from what you tell me about the business. You are not being handed a blank document and asked to fill it in, and you are not being asked to brief a writer. You supply the facts and the context; the writing is my job. Every build and every package includes two rounds of revisions on what comes back.
What about images?
Stock or AI-generated images are included, chosen to fit the business. You are welcome to supply your own photography instead, and it is usually better when it exists. A landing page includes up to two images; a full site is scoped to what the pages actually need.
Do I own the site when it is finished?
A hand-coded site is yours outright once it is paid for — the code, the content, all of it. A site built on Wix or Squarespace lives on your own subscription with that platform, in your name, so you keep control of it without being dependent on me to make everyday changes.
What does website maintenance cover, and what does it cost?
From $40 a month, billed quarterly in January, April, July, and October. It covers keeping a live site working: updates, fixes, and the small changes a business needs after launch, from a new phone number to a new section. The figure depends on the size of the site, what it is built on, any add-ons running on it such as an embedded reviews or booking widget, how often updates are needed, and the kind of changes involved. You get the exact number for your site before anything starts, and maintenance is separate from the monthly content packages — plenty of clients take one without the other.
What about hosting?
Hand-coded sites run on Cloudflare Pages, which for a normal business site costs nothing. Wix and Squarespace include hosting in their own subscription, paid directly to them. Either way, hosting is not a line item I mark up.
Next step
Every quote comes from a real conversation.
Tell me what the business does and what the site needs to accomplish, and you will get a number that reflects the actual work rather than a range.