What a dental website costs depends on the shape: a builder plan you run yourself, a dental platform's monthly subscription, or a one-time custom build with hosting on top. Compare them over 36 months, because a monthly fee hides what years two and three cost.
Quick answer
- Ask each vendor for the three-year total, not the monthly fee.
- Add booking, call tracking numbers and the domain to every quote that omits them.
- Find out in whose name the domain is registered, today.
- Check that the plan allows code for booking and tracking.
- Ask what you can export and keep if you cancel.
What each shape costs, and what it leaves out
A plan you run costs the least per month and the most of your time. A platform subscription costs more per month, but the vendor does the work. A one-time build costs the most up front, then hosting and care for as long as the site runs.
The price on the page is only one line. Look for who bills each of the others.
| Line | Who usually bills it | Printed price | One-time, monthly or yearly |
|---|---|---|---|
| Builder plan | The builder | Squarespace: $19 to $99 a month on annual billing, $25 to $139 on monthly. Wix: Light, Core, Business and Business Elite plans; check the US price on Wix's plan page | Monthly or yearly |
| Dental platform fee | The dental vendor | Great Dental Websites: sent by email, not on the pages I opened | Monthly, plus setup |
| Custom build | Agency | TNT Dental: $3,700 for one location with one or two dentists | One-time |
| Domain | Builder, vendor or registrar | Free for year one on some annual plans; renewal price not on the plan pages | Yearly |
| Online booking | Booking vendor | Acuity Scheduling: $16, $27 or $55 a month on annual billing, $20, $34 or $69 on monthly. NexHealth: a quote | Monthly or yearly |
| Call tracking numbers | Call tracking vendor | Not on the dental vendors' pages I opened | Monthly |
| Photos and new text | Agency or you | TNT Dental: $2,900 for a one-day photo and video shoot. Others: a quote | One-time |
| Updates and care | Agency | Quote only | Monthly or yearly |
A call tracking number is an extra phone number that shows which ad or listing sent the call.
If the practice receives HHS federal financial assistance, an accessibility rule can apply to the site; medical website cost explains who that includes.
Prices are from each vendor's own page in US dollars. Wix says its prices vary by location. The Squarespace plan page also says the free domain covers the first year only, and only on annual plans. Wix's voucher works only for a new domain bought from Wix, not for one you already own.
Great Dental Websites says it has never required long-term contracts, and offers to email its pricing rather than show it. TNT Dental lists its build fee, but its hosting page shows no price. So the price still comes from a conversation; bring the table above to it.
Does the cheap plan let you install booking?
Not always. Squarespace's help center names the plans with code injection as Core, Plus, Advanced and some legacy plans, and Basic is not among them. The pricing page also keeps the advanced code block, the one that takes JavaScript and iFrames, off Basic.
Code injection is the slot for code that runs on the whole site or on one page. Squarespace's own examples are a Meta Pixel and live chat. A booking widget or an ad tag that arrives as a script needs one of those two tools, so the $19 Basic plan needs an upgrade. Price Core instead, at $29 a month on annual billing or $39 on monthly.
On Wix, the help page for custom code sets two conditions first: the site is live, and your domain is connected to it. Wix's pricing page says connecting your own domain takes a Premium plan, so the free plan is out.
One more plan gate sits in the booking layer. Acuity Scheduling's pricing page lists a signed Business Associate Agreement only with its Premium plan, at $55 a month billed yearly or $69 billed monthly. A BAA is the contract HIPAA expects with a vendor that handles patient information.
If patients type health details into the booking form, Premium is the plan to price, not the $16 Starter.
In Canada, HIPAA does not apply. Patient details in a booking form fall under PIPEDA or a provincial law the federal privacy commissioner lists as substantially similar, such as Ontario's PHIPA.
Who holds the domain when you leave?
The registrant, meaning the name on the domain's registration, owns the web address. Look it up before you compare quotes.
So if the agency puts the domain in your name on the day you cancel, the registration can't leave its registrar for 60 days. Ask for the change now, while nothing is in dispute.
Squarespace has a second condition. Its help page says a connected domain must stay registered with your provider, or the site loses the link.
Great Dental Websites says you can leave whenever you want, and its terms keep your domain names yours.
Copy your text and photos before you cancel, and request the export the day the contract ends.
Three imaginary quotes over 36 months
Swap in your three quotes and keep the formula.
Check your own site before the sales call
This takes about ten minutes on a phone.
- Open your site on your phone. Tap the phone number. It should start a call.
- Start a booking as a new patient. Note whether it shows real open times or only a request form.
- Look for the booking in your practice software. If it is missing, the front desk is typing it in.
- Log in where you bought the domain, or ask for the login. Your practice's name should be the registrant.
- Write down the plan name your site runs on, and the renewal date and price.
For counting what step 2 produces, see appointment booking conversion tracking. Check dental scheduling software for how that booking reaches your practice software.
Questions to put to each vendor
Ask each of these and fill in a column per quote:
| Ask | Quote A | Quote B | Quote C |
|---|---|---|---|
| Which practice software the booking tool writes into, and whether it is in the price. | |||
| Whether call tracking numbers are included, how many, and the monthly fee. | |||
| That the domain is registered in your name, and who holds the login. | |||
| The term, whether it renews on its own, and the days of notice. | |||
| What you can export if you leave, and in what file format. | |||
| The plan or tier the site runs on, and whether it allows code. | |||
| The 36-month total, and what year two costs. |
Prices and rules checked on 2026-10-26.
Tags
Frequently asked questions
What counts as a fair price for a dental website?
There is no fair number without the scope. Compare the three-year total of each quote, including booking and the domain, and ask what you keep if you leave. A cheap monthly fee with nothing owned can cost more than a one-time build.
Do I own my dental website if I pay a monthly fee?
Not automatically. A vendor's page may say you control your site and content and still say nothing about the domain. Ask for the domain registration in your name and for a written list of what you can take with you.
Can I move my domain away from my web company?
Usually, if the domain sits in an account you control. ICANN's transfer policy adds a 60-day lock after a change of registrant, though a registrar may let the owner opt out beforehand. Do the registrant change early, not the week you leave.
Why does the plan matter if I only want a booking button?
Some builder plans leave out the code tools a third-party booking widget or an ad tag may need. On Squarespace, code injection starts above the cheapest plan. Check the plan before you buy, or the button may not be installable.
Should a dental website include call tracking numbers?
Ask. A tracking number is an extra phone number that tells you which ad or listing a call came from. If the quote does not list one, it is a monthly line you add later.
Written by
Marketing Analytics & Conversion Tracking Engineer, US and Canada, run remotely
- Media buyer on Google Ads and Meta Ads from October 2023 to September 2025, nearly $700K in spend.
- Set up patient conversion tracking for a New York medical practice (anonymized).
- Upwork Top Rated Plus, 5.0 from 20 reviews.
