← All posts
8 min read

How to Get SEO Clients: Scan the City, Send the Pitch, Book the Call

How to get SEO clients without cold-guessing: scan a whole city for broken listings, verify the real ones from AI fakes, and send the pitch that books the call.

The receipt
The problem
Finding broken businesses is only half the job. Most people freeze at the pitch, and cold outreach stays a slot machine.
The tool
A free city scanner (DataForSEO plus Google Maps) and a paste-ready Pitch Pack: the outreach message, the Loom teardown script, and the first call.
The solution
Scan a whole niche in a city, score each business by how broken its SEO is, verify the real ones from the AI fakes, tear down the one you pitch, and send the teardown before you ask for a dollar.
The numbers
100 businesses scanned in one pass. 37 with no website, 46 leaking jobs. Median 26 reviews against the winners' 1,339.

The fake websites are stealing real businesses' phone calls

How to get SEO clients is the process of finding real local businesses whose SEO is broken and pitching them the fix before you ever ask for a dollar. And right now there is an ugly, specific reason those businesses need you more than they know.

FOX 35 Orlando ran an investigation this spring. Reporter Marie Edinger searched "AC repair Orlando" and found the front page flooded with AI-generated websites for HVAC companies that do not exist. Dozens of them. Identical layouts. Identical fake reviews. Every keyword in the right place.

Then she checked the details. The addresses were real addresses. They just belonged to a Lowe's. Or a Publix. Or a vacant building. The phone numbers had Orlando area codes and forwarded somewhere else. She called one and got a text back from a completely different company, from a number she never dialed. Some of them even showed a BBB A+ badge they were never given.

A perfect website. Nothing real underneath it.

And here is the part that should make you angry. A real owner in the story, Chris Elsis Jr., thirty years in the trade, was doing about $150,000 a month. Until January. Then his phone stopped ringing and his web traffic, in his words, "ground to a screeching halt." He did nothing wrong. He got buried under bots.

A man who has shown up with a real truck for thirty years cannot outrank a website that was generated in an afternoon and points to a Publix. It was enough to do good work in 2010. It is not enough now.

That is the opening. Real businesses are getting buried, and almost nobody is helping them dig out. So let me show you how to find them, prove they are real, and get one on the phone this week.

Most people get SEO clients by guessing. Stop.

Here is how almost everyone tries. They think of a business. They look at its website. They send a cold email. Then they do it again, one business at a time, hoping the one they picked has money and a problem on the same day.

That is not a system. That is a slot machine.

The thing you actually want is not a scanner or a trick. It is one paying client from a city you have never been to, by Friday. So build the machine that produces that, and run it on a loop.

A five-step flowchart, The Cold-City Client Loop: scan, verify, teardown, pitch, book, then repeat.
The whole loop. Find who is broken, prove they are real, show them what it costs, and hand them the fix before you ask for a dollar.

Step one: scan a whole city

The scanner does one thing. It asks Google Maps for every business in a category and a radius, then scores each one on what is broken. No website. No reviews. A Google profile the owner never claimed. A rating under four stars. One photo. Higher score means more broken. More broken means a better prospect, because a broken listing is not a problem, it is a sales argument you can hand them.

I ran it on 100 HVAC contractors inside a 30 kilometer circle around downtown Orlando. One pass.

100
businesses scanned
37
with no website at all
46
leaking jobs you can fix

Thirty-seven had no website at all, just a pin and a phone number. Eight had zero reviews. Fourteen never claimed their Google profile. Twelve sit under four stars. Forty-six showed at least one of those problems. That is your call list.

And the gap at the top is brutal. The median business in this scan has 26 reviews. The winners have 1,339. And 1,282. And 1,224. Most of these businesses are not even in the race.

Run it with one command. Swap two arguments and it works in any niche, any town.

node prospect-scan.mjs --category hvac_contractor   --coords "28.5383,-81.3792,30" --niche HVAC --city Orlando --limit 100

Step two: tell the real ones from the bots

This is the trap and the trick at once. The fakes and the real prospects are mirror images. A fake has a beautiful website and nothing behind it. A real underserved business has no website and a whole real life behind it.

So you stop trusting the website, because the website is the easiest thing in the world to fake. You trust the part that is hard to fake: the Google Business Profile. In my Orlando scan, 37 businesses had no website, but 26 of them had a claimed profile and 19 had a real review history going back years. Those are real companies. Real trucks, real customers, reviews earned one job at a time. They are just bad at the internet. That is exactly who you call.

Here is the five-second test for any listing.

  • Drop the address in Street View. A real shop, or a Lowe's parking lot?

  • Call the number. Does a local human answer, or does it forward and text you back as someone else?

  • Read the reviews by date. Years of slow, normal reviews is real. Forty identical five-stars in one week is a bot.

  • Check how long the profile has existed. Real businesses have been on the map for years. Fakes are days old.

  • Look them up on the BBB and the state corporation registry and find a real license number.

A real business fails the website test and passes every one of these. A fake passes the website test and fails all of them.

Step three: the teardown that becomes the pitch

Pull one prospect off the list and run the full teardown. This is a real Orlando HVAC company, so I will call them Orlando Comfort Air. They did not ask to be in a newsletter.

They bought a near-perfect domain, the kind with the city and the service right in the name, and then did almost nothing with it. Two reviews. Nobody ever claimed the Google profile. And for the searches that pay rent, they do not show up at all. "AC repair Orlando," 1,900 searches a month, not in the top 100. "HVAC Orlando," 1,300 a month, nowhere. "Heating Orlando," 1,600 a month, nowhere.

They own the best-matching domain in the city and they rank for none of it. The companies winning those searches have over 1,200 reviews each. This one has two.

They own the perfect domain. They rank for nothing. Two reviews while the winners have thirteen hundred. That is not a mystery to solve. It is a checklist. And the checklist is the pitch.

Run the teardown with one command.

node prospect-audit.mjs --domain theirsite.com   --headterm "ac repair orlando" --city "Orlando,Florida,United States"

It pulls what they rank for, the searches they are missing, who is beating them and on how many reviews, and what is broken on their homepage.

Step four: the pitch that books the call

Here is where almost everyone stalls. They have a teardown and no idea what to say. So they either never send it, or they lead with "I do SEO, are you interested," which is the exact cold ask everyone ignores.

Do the opposite. The teardown is the pitch. You send the value first, and you are the person who noticed before you are the person who charges. Your whole opening message is short.

Subject: [business] is invisible for "ac repair orlando"

Hi [name]. I was looking at HVAC companies in Orlando and yours stood out
for a bad reason. You own a near-perfect domain, but for "ac repair
orlando" (about 1,900 searches a month) you don't show up in the top 100.
The companies that do have 1,200+ reviews. You have two.

That gap is real jobs every month, and most of it is a checklist, not a
rebuild. I recorded a 3-minute video showing exactly what's costing you the
calls. Want me to send it? No charge, no pitch, just the teardown.

If they say yes, you send a 90-second screen recording: search their money term live and show them not ranking, click the winner and show the review wall, show the one broken thing, and end with "none of this is a mystery, it is a checklist, want me to walk you through it on a quick call." Then on the call you run a diagnosis, not a pitch. You restate the problem until they agree out loud, you let them do the math on what one job is worth, you present the fix as an ordered checklist, and you price with conviction and stop talking.

I wrote all of it down, word for word, so you do not have to. The outreach message, the Loom script, the call framing, the three objections, and the follow-up cadence where most of the money actually is.

Free download
The SEO Client Pitch Pack. The outreach message, the Loom teardown script, the first call, and the objections, word for word.
seo-client-pitch-pack.md · 5 KB
Download

How to get SEO clients on a loop, not a hustle

Put it together and it stops being a hustle. Scan a city for a couple of cents and get a hundred prospects ranked by pain. Verify the real ones from the bots. Pick one and run the full teardown of exactly what is costing them jobs. Send the teardown before you ask for a dollar. Book the call. Then do it again in the next city.

I am giving you the whole engine. Both downloads include the lead finder and the rest of the SEO skill. You bring a DataForSEO key, which is pay as you go and costs pennies, and the scripts read it from your environment and never print it.

Free download
SEO skill for Claude Code. Unzip, run ./install.sh, then say /seo prospects HVAC Orlando.
seo-portable.zip · 78 KB
Download
Free download
SEO skill for Claude Cowork. Unzip, drop the seo folder into ~/.claude/skills/, then ask it to find prospects.
seo-cowork-skill.zip · 80 KB
Download

What comes after the yes

Landing the client is the loop above. Keeping them is the next problem, and it is a better one to have. Once you have fixed the profile and the reviews and the pages, the job becomes proving the phone is ringing more than it was, month over month. That is a whole system of its own, and it is where a one-time teardown turns into a client who pays you every month. That is the next piece I am building. For now, go run a scan on your own city and see who is leaking. The rest of the archive is here.

FAQCommon questions
  • How do you get SEO clients without cold calling?

    You scan a whole niche in a city for businesses whose SEO is measurably broken, verify the real ones from AI-generated fakes, and send each a short teardown of exactly what is costing them jobs before you ask for anything. The teardown is the pitch. You lead with value, not a cold ask, so the first thing they hear from you is help.

  • How do you tell a real business from an AI-generated fake?

    Stop trusting the website, which is easy to fake, and trust the Google Business Profile, which is hard to fake. A real underserved business fails the website test but has a claimed profile, a years-long review history, a real address in Street View, and a local human who answers the phone. A fake passes the website test and fails all of those.

  • What do you actually say when you pitch an SEO prospect?

    Send a short message whose subject line is their problem, not your service: they are invisible for a search worth X visits a month while competitors with more reviews win it. Offer a free 3-minute teardown video. On the call, run a diagnosis: restate the problem, let them price a lost job, present the fix as a checklist, then state your price and stop talking. The full scripts are in the free Pitch Pack.

Solve expensive problems. Every Friday.

Five minutes to read. Use it Monday. Free.

Get the email