Nobody publishes this number, which is why you are reading a fourth article about it. So: a custom, hand-coded website for an HVAC company costs $2,000 upfront, or $105 a month for 24 months ($2,520 total, financed). Hosting and security runs $45 a month on its own, or bundled into the Full Plan below.

That is our pricing, published, not a range designed to get you on a call. What follows is what moves the number, and where the cheaper options beat us.

The four price tiers

$0–$50/month: website builders

Wix, Squarespace, GoDaddy. You do the work. Fine for a single page with your hours and phone number, and we will tell you so rather than sell against it. The costs show up later: you cannot change what the platform will not let you change, and the site is rented, not owned.

$500–$1,500: freelancer on a template

A person installs a theme and fills it with your content. Faster and cheaper, and the result is only as good as the theme. The common failure is that it looks identical to three competitors who bought the same one.

$2,000: custom build

Where we sit. Flat price, no range: $2,000 upfront, or $105 a month for 24 months if you would rather spread it out. Every page designed around your business and written from scratch. No theme to fight, no plugin to break, and the structure can be built around how homeowners search when a unit fails.

$10,000+: agency

A team, a strategist, a project manager, and an office to pay for. Sometimes worth it. Often you are buying the overhead.

What changes the work, and when we’ll tell you the flat price doesn’t fit

The build is one flat price. These four things change how much work it is. If yours needs far more than a normal build, we’ll say so on the call and quote it rather than guess:

  • Page count. A five-page site is not half the work of a ten-page site, but it is not the same either. For an HVAC or home-service company this is usually service pages and service-area pages: each one needs its own real page.
  • Functionality. Booking, payments, client logins, intake forms that route somewhere specific. A brochure site and a site that does something are different projects.
  • Content. If you have copy, we build. If you do not, we write it. That is real work, and it is the stage that most often slips.
  • Migration. Moving an existing site means mapping every old URL so you do not lose the rankings you already have. That is real work, and it matters more than the design.

The costs people forget

The build is not the whole number. Budget for:

  • Domain. $12–$20/year, and you should own it, not your developer.
  • Hosting and security. $45/month on its own, or bundled into the Full Plan.
  • The Full Plan. $250/month, build payment included, covering hosting, maintenance, unlimited content updates, a monthly security report and automated review generation. Drops to $145/month automatically once the build is paid off at month 24. If you paid the build upfront, the same plan is $145/month from day one.
  • Out-of-scope work. $85/hour, quoted and approved before it starts and invoiced after, for anything outside the original build.
  • Reviews. Being found first in the map pack comes from review count and recency as much as the build. Automated review generation is included in the Full Plan; see how it works.

A decision framework

Spend the money on custom when at least two of these are true:

  1. One customer is worth more than the build cost.
  2. You compete on search, and your competitors all use the same theme.
  3. The site has a job beyond existing: booking, intake, payments.
  4. You are losing mobile visitors to load time today.
  5. You want to own the asset rather than rent it indefinitely.

If none of those are true, buy a $16/month builder subscription and spend the difference on something that grows the business faster. That advice costs us work and it is still the right advice.

Why we publish the number

Quoting "it depends" is a way of finding out what you will pay before saying what it costs. You can see our prices without talking to anyone, and if the range does not fit, you have lost nothing but a minute.