Skip to content

Build your own website: service-business edition

Register the domain, point DNS at the host, deploy the Next.js starter, wire forms with an auto-response, claim the Google profile, add schema. In that order.

Call it. An AI answers. That's the demo.

Number coming soon

Who it is for

Owners who want a site that books jobs and will do the setup themselves, or hand this page to whoever will.

A service-business website is built in six moves, in this order: register the domain, point DNS at the host, deploy the starter, wire the forms with an auto-response, claim the Google Business Profile, add the schema and submit the sitemap. Each move is a form or a copy-paste. This guide walks each one, with the checks and the pitfalls.

What does a service-business website have to do?

Three things, and the third is the one people skip. It has to be found by someone typing your trade and your town. It has to make the next step obvious: call, text, or book. And it has to catch what comes in, so a form filled at midnight is a lead in your inbox at midnight and a reply in the customer's inbox a minute later.

Everything else, the photos, the about page, the blog, is in service of those three. A site that ranks and does not book is a brochure. A site that books and does not rank is a business card. You want the one that does both, and the six moves below are the shortest way there that leaves you owning the result.

One opinion up front. Own the domain, own the code, own the content. The three things you should never rent from a web company are the name people type, the files the site is made of, and the words on the pages. Rent the hosting; that is what hosting is for.

How do I register the domain?

Pick the registrar first, not the name. Use one that is only a registrar, or a host whose registrar side lets you move the domain out without a support ticket. The domain must be in an account you control, with your email as the contact, with auto-renew on and a card that will not expire this year. A domain that lapses because a designer's card expired is a real way to lose a site.

Then the name. The business name as a dot-com if it is free. If it is not, the business name plus the trade, or plus the town, in that order of preference. Avoid hyphens and avoid clever spellings; a name people have to spell out on the phone loses calls. The price is Details to follow, and it is the cheapest line in the whole project.

Turn on privacy for the contact record, so the registration does not become a list of people who sell websites. Write the renewal date on line 1 of the worksheet, and put it in a calendar with two reminders.

How do I point DNS at the host?

DNS is the phone book that turns your name into the address of the server. Changing it is the one step in this guide that can break something you already have, which is almost always email. So the first move is to copy out every record that exists today, before you change one, and the mail records first: the MX records, and any text records that say who may send mail for your domain. Put them on line 2 of the worksheet.

Then add what the host asks for: an address record for the bare domain and a name record for www, pointing at the host. Set the shorter of the two to redirect to the other so the site has one address, not two. Keep every mail record exactly as it was. If the host wants to take over the whole zone by changing the nameservers, re-create the mail records on the host's side before you switch, not after.

Then wait. The change takes Details to follow to spread, and a test that fails inside that window is not a failure. Test from a phone on cell data, not from the office wifi, which may still remember the old answer. Send yourself an email from an outside address, and reply to it, before you call this step done.

How do I deploy the Next.js starter?

Start from a repository you copy; ours, once it is published, will be at Link coming soon. Whichever starter you use, hold it to this list: a Next.js site with the pages a service business needs, the metadata on every page, the sitemap and robots files, the forms wired to a route handler, and the schema builders, with placeholder text where your words go. This site does the same; build yours as that shape, cut down to what one office needs.

Deploy it by connecting the repository to a host that builds from git; Vercel is one, and the one this site runs on. The host builds the site on every push and gives every branch its own preview link, so you can change a page, look at the preview on your phone, and merge it when it reads right. Keep every setting the site needs in environment variables on the host, never in the code: the site URL, the key for the email service that sends the auto-responses, and the address that receives the lead notifications. This site does the same. Never paste a key into the code.

Then replace every placeholder before the first real visitor. Build it so that every placeholder is marked in one shape you can search for, and so that the production build fails while any is left; this site does the same, on purpose. A site with placeholder text is a site that says the owner did not finish. Pin the versions of the tools in the package file so a build next month is the build you tested; the versions our starter pins are Details to follow. Update them when the tool's own release notes say to, not when a blog post does.

How do I wire the forms with an auto-response?

A form is a promise: fill this in and something happens. Most service-business forms break that promise by sending an email to an inbox nobody watches on Saturday. The fix is that every form posts to a route on your own server, and that route does four things in order: it checks the fields, it stores the lead, it sends the person an auto-response, and it notifies the office.

The check is boring and matters most. Required fields present, the email shaped like an email, the phone shaped like a phone, and a hidden field that a person never fills but a bot does, so the bot's submission is dropped without a word. The store is a table with a row per lead and a timestamp; a spreadsheet is fine on day one, a database is better by month three. The auto-response goes to the person inside a minute and says three things: we got it, here is what happens next, here is when. Not "thank you for your submission." Say who will call and by when. The notification goes to the office by email and, if you use it, by a message in the chat tool the office actually reads.

Never a mailto link. A mailto link opens the visitor's mail program, which on a phone is often not set up, and it stores nothing, sends nothing back, and cannot be counted. The route handler is more work on the first day and the only version that can be measured on every day after. Count the submissions on line 8, and count the calls from the site's number the same way; those two numbers are the site's report card.

How do I set up the business profile on Google?

The profile is the listing that shows on the map when someone types your trade and your town, and for a service business it is where the map calls start. Claim it, verify it by whichever method Google offers you, and fill every field. Verification takes Timeline set in the working session.

The one rule that matters more than any other: the name, address and phone number on the profile match the site character for character, and match every other listing you have ever made. Not "Street" on one and "St." on the other. Write the exact form on line 5 of the worksheet and paste it, never retype it. A mismatch can be read as two different businesses, and the credit is split between them.

Then the fields people skip. Hours, including the after-hours line if you have one. Categories, the primary one being what you actually do most. Services, listed one per line, matching the service pages on the site. Photos of real work by real people, taken on a phone, never stock. And the review link, which the profile gives you, copied to a place the office can send it from after every finished job. Send the request the same day as the job, while the work is fresh; a request sent a week later is easy to ignore.

What schema do I add?

Schema is the block of structured data on a page that tells a search engine, in its own vocabulary, what the page is. The starter builds it for you; your job is to fill the values and check them. On the home page, the business: the name, address, phone, hours, and the area you serve. On each service page, the service: what it is, who provides it, where. On any page where you answer questions, the questions and answers, so the answers can show up under your listing.

The values come from the same lines of the worksheet as the profile, so they match. Check one page of each type in a validator before you call it done; the tool to use is Link coming soon. A schema with a wrong phone number is worse than no schema.

Then the sitemap. The starter generates it; you submit it in Google Search Console and in Bing Webmaster Tools, and you write the date on line 7. Submitting it does not make the site rank. It makes sure every page is known, which is the first condition for ranking, and it gives you the report that says which pages are indexed and which are not.

What goes wrong most often?

Email breaks on DNS day because the mail records were not copied first. The site answers at www but not at the bare domain, or the other way round, because only one of the two records was set. The forms work in testing and land in the spam folder in production because the sending domain was never verified with the email service. The profile and the site carry two different phone numbers, one of which is a tracking number someone set up years ago. The sitemap was generated and never submitted. And the site launches with a placeholder paragraph on the about page that nobody read after the first week.

Every one of those is a line on the worksheet. That is what the worksheet is for.

What do I measure after launch?

Three numbers, monthly, from the first month: form submissions, calls from the number on the site, and the actions on the business profile, which the profile reports for you. Write the first month's numbers on line 8 with the date. A site that is working shows it in those three numbers, and a change to the site is worth making only if one of them moves.

When the numbers say the leaks are in what happens after the form or the call, in the calls that ring out at night or the quotes that go out days later, that is the point where an agent behind the intake earns its place. Bring the three numbers to a working session and we will say which one, and whether it is worth it yet.

Step by step

  1. 1

    Register the domain

    Buy the exact business name as a dot-com if it is free, at a registrar you control with auto-renew on and privacy on. Never let the web designer or the hosting company own it. The domain is the one asset that outlives every site you will ever build on it.

  2. 2

    Point DNS at the host

    Before you touch anything, copy every existing record, the mail records most of all. Then add the host's records for the bare domain and for www, keep the mail records exactly as they were, and wait for the change to spread before you test.

  3. 3

    Deploy the starter

    Clone the starter repo, set the site URL and the form keys as environment variables, and deploy it to the host. Every branch gets a preview link, so you can show a change to your office manager before it goes live. Replace every placeholder before the first real visitor.

  4. 4

    Wire the forms with an auto-response

    Every form posts to a route on your own server that checks the fields, stores the lead, sends the person an auto-response in under a minute, and notifies your office. Never a mailto link. The auto-response says what happens next and when.

  5. 5

    Claim and fill the business profile on Google

    Claim the profile, verify it, and fill every field: the name, address and phone exactly as they appear on the site, the hours, the categories, real photos of real work. Then put the review link where the office can send it after every job.

  6. 6

    Add the schema and submit the sitemap

    Add the business schema to the home page, a service schema to every service page and an FAQ schema where you answer questions. Submit the sitemap in Search Console and Bing, then check one page of each type in a validator before you call it done.

Worksheet

  • Line 1. The domain, the registrar, the renewal date, and who holds the login.
  • Line 2. Every DNS record that existed before the change, copied out, the mail records first.
  • Line 3. The pages the site needs on day one: home, one page per service, contact, about, one page per city you serve with something to say about it.
  • Line 4. The auto-response text, one for each form, with what happens next and when.
  • Line 5. The name, address and phone number, character for character, as they will appear on the site, the profile, and every listing.
  • Line 6. The schema type on each page, and the date each was checked in a validator.
  • Line 7. The date the sitemap was submitted, and the date it was accepted.
  • Line 8. The count of form submissions and calls from the site in the first month, and the date you counted.

Get the formatted pack

The web version is free to read. Enter your email and we send the formatted pack.

Common questions

Do I need a developer to do this?

Not for the setup. The domain, the DNS, the deploy and the profile are forms and copy-paste, and the starter handles the code. You need a developer the day you want the site to do something the starter does not, and by then you will know exactly what that is.

Why a Next.js starter and not a page builder?

Because you own it. The code is in your repository, the content is in files you can read, and the host can be swapped. A page builder is faster on day one and slower every day after, and it owns your site the way a landlord owns your shop.

What if I already have a site?

Keep the domain, keep every URL that has ever been shared, and set a redirect from each old URL to the page that replaces it. A relaunch that drops old URLs throws away the rankings the old site earned. Everything else in this guide still applies.

Where does the AI fit in?

After the site works. The forms and the phone number are the intake; a voice agent or a chatbot sits behind them and answers what the site cannot. Build the intake first, measure what comes through it, and add the agent where the measurement says the leaks are.

How do I know the site is working?

Count. Form submissions, calls from the number on the site, and the actions on the business profile, every month, starting with the first. A site that books jobs shows it in those three numbers; a site that only looks good does not.