The playbook

Everything we do, written down.

This is the whole process. The same work we run for the businesses we work with, in the order we do it. No signup, nothing to buy, nothing to book. Do all of it yourself and you will be in a far better place than you are today. If you would rather not, that is what we are for.

How to use this

Start at the top. It is ordered on purpose.

The order is customer impact, not difficulty. A finished Google profile is worth more than perfect alt text, every time, and answering the phone is worth more than both. Run your free Local Marketing Score first and it will tell you which of these 30 steps you already pass.

30 steps, in the order we do them

Part 1

Your Google Business Profile

The box on the right of Google and the pin in Maps. For most local businesses this sends more calls than the website does.

Claim and finish your Google Business Profile

An afternoon

This is the box that shows up on the right of Google and in Maps. For most local businesses it sends more calls than the website does. An unclaimed or thin profile is the single most expensive thing on this list.

  1. 1Go to google.com/business and search for your business. If it exists, click it and choose Claim this business. If it does not, create it.
  2. 2Verify ownership. Google mails a postcard, calls, or checks a video. Do this the day you start, because the wait is the long pole.
  3. 3Fill every field: hours, service area, phone, website, and a description written for customers, not for Google.
  4. 4Pick the most specific primary category that fits. Not Contractor, but Roofing contractor. Then add secondary categories for the rest of what you do.
  5. 5Add at least ten real photos of your work, your team, and your vehicles. Not stock images.

Get your name, address, and phone consistent everywhere

An afternoon

Google cross-checks your details against directories like Yelp, Apple Maps, and Bing Places. When they disagree, Google trusts you less and ranks you lower. Old addresses and dead phone numbers are the usual culprits.

  1. 1Write down the exact name, address, and phone you want everywhere. Pick one format and never vary it, down to Suite versus Ste.
  2. 2Search Google for your business name plus your phone number, in quotes. Every result is a listing you may need to fix.
  3. 3Correct the big ones first: Yelp, Apple Maps, Bing Places, Facebook, and your industry's main directory.
  4. 4Kill duplicate listings rather than editing both. Two profiles split your reviews and your ranking.
Part 2

Reviews and rankings

Reviews decide whether Google ranks you and whether a stranger calls you instead of the business above you. Rankings follow from everything else here.

Build a steady flow of real reviews

Ongoing

Reviews decide two things: whether Google ranks you, and whether a stranger calls you instead of the business above you. A profile with no reviews reads as a business nobody has used.

  1. 1Get your Google review link: in your Business Profile, choose Ask for reviews, and copy the short link.
  2. 2Ask every satisfied customer the day the work is done, while they still feel it. In person, then a text with the link.
  3. 3Make it one tap. Never ask someone to search for you.
  4. 4Reply to every review, good and bad. Replies are public, and the reply to a bad review is read by more prospects than the review itself.
  5. 5Never buy reviews, never incentivize them. Google removes them and it can take the profile down with them.

Earn a spot in the local three-pack

Ongoing

The three businesses Google shows in the map box take most of the clicks. Position four and below is a different business. Rankings follow from the profile, the reviews, and the pages below, so this one is downstream of the rest.

  1. 1Fix the Google Business Profile first. Rankings will not move while the profile is thin.
  2. 2Get reviews flowing. Recency and volume both count.
  3. 3Build one genuinely useful page per service and per area you serve, and link them to each other.
  4. 4Post to your Google profile at least monthly. It is a small signal, and almost nobody local does it.
  5. 5Give this one time. Local rankings move over weeks, not days.
Part 3

Your website

Fast on a phone, obvious how to reach you, and honest about who and where you are.

Make it one tap to reach you

Minutes

Someone on a phone with a burst pipe will not copy your number. If calling takes more than one tap, they call the next business.

  1. 1Make every phone number a real tel: link so it dials on tap.
  2. 2Put the number in the header, visible without scrolling.
  3. 3Add a text option if you answer texts. Many people will not call.
  4. 4Say your hours, and whether you take emergency calls.

Write a real title tag for every page

An afternoon

The title is the blue line a searcher clicks. It is the single highest-leverage sentence on the page, and most local sites waste it on the word Home.

  1. 1Give every page its own title. Never reuse one.
  2. 2Lead with what you do and where: Emergency Plumber in Decatur, GA.
  3. 3Keep it roughly 30 to 65 characters, or Google rewrites it for you.
  4. 4Put the business name at the end, not the front.

Make the site fast on a phone

An afternoon

Most local searches happen on a phone, often on cell service. A slow page loses people before it ever loads, and Google knows it is slow.

  1. 1Compress every image and serve it in a modern format. Oversized images are almost always the whole problem.
  2. 2Remove the scripts you no longer use. Old chat widgets, dead tracking tags, and unused fonts.
  3. 3Test at pagespeed.web.dev, on Mobile, not Desktop.
  4. 4Retest after each change so you learn which one actually mattered.

Serve the site over HTTPS

Minutes

Browsers label a site without HTTPS as Not Secure, right next to your name. It costs nothing to fix and it is the cheapest trust you will ever buy.

  1. 1Get a certificate. Your host almost certainly issues one free through Let's Encrypt.
  2. 2Redirect every http:// address to https:// so old links keep working.
  3. 3Check that images and scripts also load over https, or the browser still warns.

Make the site work on a phone screen

Minutes

Without a viewport tag the browser renders your site at desktop width and shrinks it. Text is unreadable, buttons are untappable, and visitors leave.

  1. 1Add the responsive viewport meta tag to every page. Any modern site framework does this by default.
  2. 2Open the site on your own phone. If you have to pinch to read it, it is not fixed.

Put your name, address, and phone in the footer

Minutes

It confirms to both people and Google that the business in the search result is the business on this website, and it must match your Google profile exactly.

  1. 1Add the exact same name, address, and phone as your Google Business Profile, to the footer of every page.
  2. 2Use real text, never an image of the address.
  3. 3If you have no storefront, list the service area instead, and hide the address on your Google profile too.

Show the main content faster

An afternoon

This measures how long until the biggest thing on screen appears. It is what a visitor experiences as the page being slow.

  1. 1Find the largest element on the page, usually the hero image, and shrink it.
  2. 2Load that image eagerly and everything below it lazily.
  3. 3Serve images already sized for a phone, rather than a huge one scaled down in the browser.

Stop the page from jumping while it loads

An afternoon

When an image or ad loads late, the content shifts, and someone taps the wrong thing. It is the most irritating thing a page can do.

  1. 1Set width and height on every image and video so the browser reserves the space.
  2. 2Reserve space for anything injected late: banners, chat widgets, cookie notices.
  3. 3Load fonts so text does not reflow when the real font arrives.

Stop scripts from freezing the page

An afternoon

This measures how long the page ignores taps because it is busy running JavaScript. To a visitor it feels broken.

  1. 1Remove tracking and chat scripts you are not actively using.
  2. 2Load the remaining third-party scripts after the page is interactive, not before.
  3. 3Ship less JavaScript. Most local sites need far less than they carry.

Describe your images in alt text

An afternoon

Alt text is what a blind visitor's screen reader announces, and what Google reads. It is an accessibility obligation first and a ranking signal second.

  1. 1Describe what the image shows, the way you would to someone on the phone.
  2. 2Skip decorative images. An empty alt is correct for those, and better than noise.
  3. 3Do not stuff keywords. Write the sentence you would actually say.
Part 4

Pages for the places you serve

A page about your work in a specific area can rank in that area. Your homepage cannot rank everywhere at once.

Build a real page for each area you serve

Ongoing

A page about roofing in Decatur can rank in Decatur. Your homepage cannot rank everywhere at once. But near-duplicate city pages with the name swapped are worse than nothing, and Google treats them as spam.

  1. 1List the areas you actually serve and would drive to today.
  2. 2Give each one page, and put something on it only a local would know: the neighborhoods, the housing stock, the permit office, the weather that breaks things there.
  3. 3Show work you have done in that area, and reviews from people who live there.
  4. 4If you cannot write something genuinely specific about an area, do not make the page.
Part 5

Getting recommended by AI

People now ask ChatGPT and Gemini who to hire. Being the answer is a different job from ranking, and almost nobody local is doing it yet.

Add LocalBusiness structured data

Minutes

This is a small block of code that states, in a format machines read exactly, who you are and where. It is how Google and AI assistants know your hours without guessing from your page.

  1. 1Add LocalBusiness JSON-LD to your homepage with your name, address, and phone.
  2. 2Match the values to your Google Business Profile character for character.
  3. 3Validate it at validator.schema.org, then again in Google's Rich Results Test.

Let AI assistants read your site

Minutes

People now ask ChatGPT and Gemini who to hire. If your robots.txt blocks their crawlers, you cannot be the answer. Many sites block them by accident, copying a config from somewhere else.

  1. 1Open yoursite.com/robots.txt and read it.
  2. 2Look for Disallow rules aimed at GPTBot, ClaudeBot, PerplexityBot, or Google-Extended.
  3. 3Remove the ones you did not mean to add. Decide this deliberately: blocking them means opting out of being recommended.

Publish a robots.txt and a sitemap

Minutes

The sitemap is the list of pages you want found. Without it, a crawler discovers your site only by following links, and misses the pages nothing links to.

  1. 1Publish a sitemap.xml listing every page you want in search.
  2. 2Publish a robots.txt that points to it.
  3. 3Submit the sitemap in Google Search Console, and again in Bing Webmaster Tools.

Fill in the rest of your structured data

Minutes

A partial block answers half the questions. Hours, location, and price range are exactly what an AI assistant needs before it will recommend you to someone.

  1. 1Add opening hours, geo coordinates, website, and price range.
  2. 2Add the areas you serve.
  3. 3Revalidate after every change.

Mark up your frequently asked questions

An afternoon

It is the format assistants quote from most readily when someone asks a question you have already answered.

  1. 1Write down the five questions customers actually ask you before booking.
  2. 2Answer them plainly on the page, then mark them up as FAQPage JSON-LD.
  3. 3Answer the awkward ones. What it costs. How long it takes. Whether you are licensed.

Link your profiles to each other

Minutes

sameAs tells a machine that the Facebook page, the Yelp listing, and this website are one business. Without it, you are several weak entities instead of one strong one.

  1. 1Collect the URLs of every profile you own: Google, Facebook, Yelp, Instagram, LinkedIn, your industry's directory.
  2. 2List them in the sameAs field of your LocalBusiness structured data.
  3. 3Make sure each of those profiles links back to your website.

Write headings as the questions people ask

An afternoon

Assistants and search engines pull answers from the heading that matches the question. A heading that reads Our Services answers nothing.

  1. 1Turn your headings into the questions customers ask: How much does a new roof cost in Atlanta?
  2. 2Answer it in the first sentence underneath, before any preamble.
  3. 3One question per heading, and use only one main heading per page.
Part 6

Answering the phone

Everything above gets the phone to ring. This decides whether the ring becomes a customer. It is the half of local marketing nobody writes about, and it is where most of the money leaks out.

Answer new leads in minutes, not hours

Ongoing

A lead who fills in your form is, at that moment, filling in three others. Whoever replies first usually wins, and the advantage decays fast. Everything above this line was about getting the phone to ring. This is about what happens next.

  1. 1Decide who answers, on what device, during what hours. Write it down.
  2. 2Route every form submission and missed call to a phone that a human is holding, not to an inbox somebody checks at five.
  3. 3Reply first, qualify second. A fast, short reply beats a slow, complete one.
  4. 4Track how long you actually take. You cannot fix what you do not time.

Text back every missed call, automatically

An afternoon

Most local businesses miss a large share of their calls, and almost nobody who reaches a voicemail leaves one. They just call the next business. An automatic text turns a missed call into a live conversation.

  1. 1Get a phone system that can trigger on a missed call. Any of the common providers do this.
  2. 2Write one text: say who you are, apologize for missing them, and ask what they need. Keep it under two sentences.
  3. 3Send it within a minute of the missed call, while they are still holding the phone.
  4. 4Make sure replies land somewhere a human sees, or you have automated your way into ignoring people.

Let an AI answer your texts

Ongoing

Texts arrive after hours, during jobs, and while you are driving. An assistant that knows your hours, your services, and your prices can answer immediately, book the job, and hand you only the conversations that need you.

  1. 1Write down the twenty questions you are asked most, and the answer to each. This is the whole job. The AI is the easy part.
  2. 2Add the things it must never do: quote a price it is unsure of, promise a time you have not confirmed, or argue.
  3. 3Give it a clear handoff rule. When a person asks for you, or sounds unhappy, it stops and gets you.
  4. 4Read every conversation for the first two weeks. You will find the gaps quickly, and they will be in your answers, not in the model.
  5. 5Tell people they are talking to an assistant. It costs you nothing and buys you trust.

Let an AI answer the phone when you cannot

Ongoing

A voice assistant that picks up on the second ring, at midnight, is worth more than one that is slightly more articulate at noon. The goal is not to sound human. It is to never let a customer reach a voicemail.

  1. 1Start with after-hours and overflow only. Let it answer the calls that currently go nowhere.
  2. 2Give it the same written answers you wrote for the texts. One source, both channels.
  3. 3Have it do one job well: capture the name, the number, the address, and the problem, then confirm you will call back.
  4. 4Let it transfer to a human on request, immediately and without arguing.
  5. 5Listen to the first fifty calls. Fix your answers, not the voice.

Ask for the review without remembering to

An afternoon

Reviews are the highest-leverage thing on this list and the one everybody stops doing by week three. The fix is to remove yourself from the loop.

  1. 1Trigger the ask off the thing that already happens: the invoice being paid, the job being marked done.
  2. 2Send a text, not an email. Texts get read.
  3. 3Link straight to the Google review form. One tap.
  4. 4Wait a day if the job was stressful. Ask the moment it was delightful.
  5. 5Never gate the ask on the customer being happy first. That is review gating, and Google prohibits it.
Part 7

Knowing whether it worked

Do this last, and do not skip it. Without it you will spend a year guessing which of the work above is paying for itself.

Set up Search Console, and link it to Analytics

Minutes

Search Console is the only place Google tells you which searches found you. Analytics alone will say organic search sent you visitors, but never which questions they asked. Verifying the site is not the same as linking the two, and almost everyone stops after verifying.

  1. 1Verify your site at search.google.com/search-console. The DNS method is the one that does not break later.
  2. 2Submit your sitemap.xml there.
  3. 3In Google Analytics, open Admin, then Product links, then Search Console links, and link the property.
  4. 4Then publish the Search Console reports to a report collection, or they never appear in the menu and you will assume the link failed.
  5. 5Come back in a month. The queries you are already ranking for tell you what to write next.

Count leads, not visitors

An afternoon

Traffic that does not become a phone call is a vanity number. Until form submissions and calls are marked as conversions, you cannot tell which of the work above actually paid.

  1. 1Fire an event when someone submits a form, taps to call, or taps to text.
  2. 2In Google Analytics, mark those events as key events. Nothing in your code makes an event a conversion; it is a toggle in the interface.
  3. 3Wait a day or two. An event that has never fired cannot be marked, which is where most people give up.
  4. 4Now look at which sources send leads, not which send visitors. They are rarely the same list.

Find out which of these you already pass.

The free Local Marketing Score runs the measurable checks on this page against your business and emails you the report, with your plan in this same order. It takes about a minute.