Most people get SEO clients by guessing. Stop.
How to get SEO clients is the process of finding local businesses whose SEO is broken, then pitching the fix before you ask for a dollar.
Here is how almost everyone tries to do it.
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.
So I built the other thing. A scanner that looks at every business in a category in a city, scores each one on how badly its SEO is broken, and hands me a ranked list of who to call first.
I ran it on HVAC companies in Orlando this week. Here is exactly what came back, the one company I would pitch first, the AI scam I tripped over, and the two commands so you can run it yourself.
What "scan a city" actually means
The scanner does one thing. It asks Google Maps for every business in a category and a radius, then scores each one.
The score is not complicated. It is a list of things that are broken, added up. 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.
The real numbers from one scan
I scanned 100 HVAC contractors inside a 30 kilometer circle around downtown Orlando. One pass.
Thirty-seven of the 100 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.
The one I would pitch first
I pulled one prospect off the list and ran the full teardown.
This is a real Orlando HVAC company. I am not going to use their real name, so I will call them Orlando Comfort Air. They did not ask to be in a newsletter.
Orlando Comfort Air bought a near-perfect domain. The kind with the city and the service right in the name. And then they did almost nothing with it.
They have two reviews. Nobody ever claimed their Google profile.
And for the searches that pay rent, Orlando Comfort Air does not show up at all.
"AC repair Orlando," 1,900 searches a month. Not in the top 100. "HVAC Orlando," 1,300 a month. Not in the top 100. "Heating Orlando," 1,600 a month. Nowhere. "AC companies in Orlando," 720 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.
None of that is a mystery to solve. It is a checklist. And the checklist is the pitch.
The part that should scare every real business
While I was reading the Orlando results, I tripped over the other half of the story. It is uglier than bad SEO.
FOX 35 Orlando ran an investigation this spring. Reporter Marie Edinger searched the same thing I did, "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.
Google did not respond to the station. Getting a fake site taken down can take weeks.
Read that again. 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.
So how do you tell a real business from a bot?
This is the trap. It is also the trick.
The fakes and the real prospects are mirror images of each other.
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. The website is the easiest thing in the world to fake. You trust the part that is hard to fake: the Google Business Profile.
That is why my scanner reads the map listing first, not the site. In my Orlando scan, 37 businesses had no website at all. But 26 of them had a claimed Google profile, and 19 had a real review history, most of it 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 the opposite of a fake, and it is exactly who you want to 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 Florida Division of Corporations, and find a real license number on the page. The BBB told FOX 35 the same thing.
A real business fails the website test and passes every one of these. A fake passes the website test and fails all of them.
That gap is the whole opportunity. You are not just doing SEO. You are the person who can prove a real business is real and get it seen over the fakes that are stealing its phone calls.
Build it yourself in two commands
The whole engine is two small scripts you run with Node. I bundled them into my free SEO skill, so if you have that installed you just say /seo prospects HVAC Orlando and it runs them for you. Here is the loop by hand.
One. Find the prospects.
node prospect-scan.mjs --category hvac_contractor --coords "28.5383,-81.3792,30" --niche HVAC --city Orlando --limit 100
It asks Google Maps for every business in that category and radius, scores each one on what is broken, and writes a ranked list.
Swap two arguments and it works in any niche, any town. dentist in Austin. roofing_contractor in Denver. plumber in your own zip code.
Two. Tear down the one you will pitch.
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.
Drop that teardown into the dashboard I showed you before, and you have something to send before you ask for a dollar.
Get the tool
I am giving you the whole thing. 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.
How to get SEO clients every day on a loop
Put it together and it is a loop, not a hustle.
Scan a city. A hundred prospects ranked by pain, for a couple of cents. Verify the real ones from the bots. Pick one. A full teardown of exactly what is costing them jobs. Send it before you ask for a dollar.
Same tool, same city, a fresh prospect every morning. Point it at a new category and it works in any town in the country.
I did not have this six months ago. I had a guess and a cold email, same as everyone.
The difference is not that I work harder. It is that I pointed a pay-as-you-go tool at the part that used to take a week and let it run.
That is the only thing I am actually selling here. Not HVAC SEO. The habit of pointing the new tools at the boring, expensive parts of your work, including telling the real from the fake, and letting them do it.
That is the whole series. One expensive problem from my week, the exact tool, the exact fix, the receipt.
Every Friday. Five minutes. Use it Monday.