Transcription
Most agencies spend 60 hours or more and $5,000 in labor to rank a local plumber. My AI agent, which I built in Claude Code, does it in 15 minutes of active time. Entity research, GBP audit, gap analysis, content production, schema markup, image generation, video generation, even WordPress deployment. All of it. And I'm going to show you exactly how it works.
But first, you need to understand the system behind it because AI without a proven system is just a faster way to do the wrong thing. So, I'm going to break down the exact local SEO process that my agency uses to rank businesses in the top three on Google Maps. The same process that's worked across hundreds of clients since 2016. Then, I'm going to show you how this AI agent does all of it for you. And the tool I'm going to show you is available at no extra cost inside my pro community. There's a link in the description.
Now, let's start with this. This is the rank map for a client of mine, a plumber in Malden, Massachusetts. Average rank map of 6.18. Only 15% of the map is in the top three. And look at all that orange. Seven, eight, barely cracking the top three anywhere except right on top of their address. And here's what makes this interesting. Their website was basically a sample site built in Go High Level with Lorem Ipsum placeholder text. And they're still averaging position six. Look at this website. It's literally Lorem Ipsum all the way through. Fake made-up testimonials. We have good H2s, but just Lorem Ipsum over and over again.
Now look at the after rank map. Average rank 3.22. 74% green coverage even down into the Boston area. Green dots everywhere. Somerville, Cambridge, Revere, Medford, all the way out to Lynn and Saugus. That's not a small improvement. They went from invisible in most of the greater Boston area to dominating their service area. And the spots where they're not the top three, they're ranked fourth. Another deployment and we'll turn those green. Also, the difference between those two maps, it's not six months of blogging. It wasn't hundreds of backlinks. It was the system I'm about to show you executed almost entirely by an AI agent built in Claude Code.
So, how does this system actually work? And why do most agencies get this completely wrong? Most agencies treat local SEO like it's regular SEO. They write blog posts. They build backlinks. They tell their client to wait six months and then the client cancels at month three because their phone isn't ringing. Now, I've watched this happen hundreds of times. And the reason it fails is because local SEO isn't about keywords, it's about entities.
In 2018, Google made a massive shift in how its algorithm works. It stopped matching keywords and started matching entities. Oh, sorry. I just hit him in the head accidentally. An entity is just Google's way of understanding what something actually is. Not what words are on a page, but what the business is, where it operates, and what it does. Your Google Business Profile is an entity for your business. Your website is an entity. Your business is an entity. The services you provide are entities. And Google is constantly checking whether these entities match. The closer they match, the better you rank. When they do match, Google doesn't trust you. And when Google doesn't trust you, you don't rank. It really is that simple.
All right, so think about it this way. It's not about what words are on your website. It's about Google knowing that you're a real business with a real truck that actually shows up to fix someone's pipes. That's what entity matching is. Google is trying to figure out whether you can be trusted based on everything it finds about you online. Whether everything it finds about you is telling the same story.
So the very first thing we do with any new client is entity research. We need to understand how Google currently sees this business. What categories does the GBP have? What services are listed? What's the primary category? What are the secondary categories? Because everything we do after this point is built on that foundation.
Then we're going to run a GBP audit. And this is where most agencies already start falling behind. The average local business has maybe one category, maybe two on their GBP when Google allows up to 10. They have maybe five services listed when they should have 30 or more. Their business description is two sentences. Half of the fields aren't even filled out at all. Don't get me started on special hours. Every empty field on your GBP is a missed signal to Google, or more accurately, a signal to Google that you don't care. Every missing category is a service entity you'll never rank for. Every service you didn't list is a search where Google is going to show your competitor instead of you.
So for this client, the GBP was thin. Not terrible, but thin. Couple categories, 10 services, and a description that didn't do much heavy lifting. That's the norm for most local businesses, and it's also why most of them are stuck on page two or page 10. But even a fully optimized GBP won't save you if your website doesn't match it. Look at the before for this client. And that's where the gap analysis comes in. This is the step that most agencies skip entirely. And it's the reason their clients stay stuck for months. Do you do gap analysis? Do you? You should.
A gap analysis is exactly what it sounds like. We're comparing what's on the Google Business Profile to what's on the website and finding, excuse you, and finding every single gap between them. If your GBP lists water heater installation as a service, there's no page on the website about water heater installation. That's a gap. If your GBP has drainage service as a secondary category, but the website never mentions drainage service, that's a gap. Every single one of those gaps is Google trying to figure out and saying, "Boy, I don't know if this business actually does this."
And it's not just Google. ChatGPT, Perplexity, Gemini, all of these AI models recommend local businesses in a very similar way to how Google's algorithm evaluates them. The technology that Google introduced to its algorithm in 2019 is the transformer. That's what the T in ChatGPT stands for. They're all looking at the same entity signals, the same consistency between what a business claims to do and what its online presence actually shows. So when you build the structure correctly for Google, you're simultaneously making the business visible to every AI model that's starting to replace traditional search. Two birds, one system.
Now, here's the thing. Most local business websites have massive gaps, even if their GBP is done correctly. The GBP might have four categories and 30 services, but the website associated with it has a homepage, an about page, a contact page, and maybe a service page that lists a handful of those 30. That's five, six pages trying to support 35 services and categories. Google looks at the mismatch. ChatGPT looks at the mismatch and they don't know what to believe.
So, this is why my agency developed the Core 30. It's a website structure where you build one page for every single category and service on your Google Business Profile. Homepage targets primary category plus city. Each secondary category gets its own page. Each service gets its own page. And when you're done, you have roughly 30 pages that mirror your GBP perfectly. The homepage links to your secondary categories. And each secondary category links to all the services categories underneath it, the exact as your GBP. And the structure matters as much as the content. The internal linking follows the same hierarchy as the GBP. You're building a website that is a mirror image of your Google Business Profile. And when Google and ChatGPT and all the AI systems see that level of consistency, it gains massive confidence that your business is legitimate. We developed the system in 2023 and have used it for every client since.
For the content itself, every page needs to be locally relevant, not generic service descriptions you could copy and paste for any city. The content needs to mention local neighborhoods. Reference local conditions. Sound like it was written by someone who actually operates in that market. A plumber in Malden should be talking about the triple deckers in Medford. The old pipe infrastructure in Somerville, the coastal weather coming off of Revere Beach. That's what makes Google and the AI systems believe you are genuinely local, even if you're not.
Now, here's where this gets real. Even with AI helping write this content, each article takes my team one to two hours to do. It's got to be written, checked, generate the schema, generate the images, produce a video, publish to WordPress, get a developer to organize it all, set up the internal linking. It's one to two hours per page, times 30 pages. That adds up fast. 45-60 hours of work per client to fill out the Core 30. And we'd usually spread that out over a couple of months just to keep the client's budget reasonable, which means the client's waiting months before this full system is in place. And that's with a team that's done this hundreds of times.
But what if you didn't have to do any of that manually? I built an AI agent in Claude Code that runs this entire process. Entity research, GBP audit, gap analysis, content production, schema markup, image generation, video generation, video upload to YouTube, video embeds, and full WordPress deployment. The same system I just walked you through, completely automated. Let me show you exactly what it does.
So, I'm going to walk you through exactly what this AI agent does step by step. And I want you to pay attention to how fast this happens because it's the same process I just told you. Takes my team 60 hours. So, here's the actual agent. First thing we're going to do is we're going to come into client settings. We're going to paste in the GBP profile data. Just copy-paste. The system will parse everything out individually. You don't need to add all of these uh specific categories and services. This happens automatically. Copy-paste.
Then we're going to fill out the business location and GBP. And we're going to fill in this about the business information. This is important. Don't skip this. If you skip this, the content won't be very good. The system is going to use this information to write better content. We can select some voice and tone, point of view, words to use, words to avoid, target audience. We have a sample. We you can add writing samples, uh some onboarding notes, specific requests. These are blank because this is an example, not a real client. We have some brand settings, uh review data, uh which is important. This will be used for the schema generation. And we have some local details, which look at this. If you don't know the local area, we can hit autogenerate. And this system will go scrape Google and other uh areas looking for these local details to fill them in. Great. Filled in. Now we can choose what we want the default image style to be. And uh we'll hit save client content and move on.
Okay. So the GBP and service audit. So here we can put the GBP category in and we can put the city in Malden, Massachusetts. When we hit run category audit, what the tool is going to do is pull up all of the competitors who have the primary GBP category of plumber and look at what their secondary categories are. And it's going to highlight any missing secondary categories. So you can say, hmm, should I put electrician, should I put bathroom or remodeler? And depending on uh what this is showing, you can decide whether to add them to GBP or not. And here we have that listing. And down here we have the service entity overlap. So, we'll put the seed uh entity in. In this case, it's the primary category plumber. And we can import from the GBP all of the candidate entities. And what this will do when we run it is it will literally go out and do the Google searches for plumber and for this entity and then tell you how much overlap is between the GBP results for those two different searches. The goal is for Google to tell us whether this is a unique entity or whether it is a service entity that lives under the primary. If it lives under the primary, we don't need to worry about producing content for it because Google doesn't see it as a different service that we need to worry about ranking for. So something like sewer line repair, that is a distinct. Something like bathroom plumbing, that is overlapping.
Now we can head on over to the site crawler. So we can hit re-crawl. We'll get the URL and it's going to find the total number of pages and all of this information. And then we can select the service category that each one of those pages recommends. So we'll hit re-crawl. So this is the site crawler. Uh put your URL and then you hit crawl. And then it's literally going to just crawl the website, pull all the pages it can find. All right. So everything has been crawled. And you can see that this is the homepage. Uh so all the other ones it has auto-assigned a series of service and categories to them based on the URL or title tags. Uh we can override any of them that we want to or we can just leave it at none. And these are all of the services and categories that are on the GBP. That way the tool knows what services and categories you already have pages for. Then we can run a gap analysis to see what actual areas we're missing and generate a content plan based on that.
And here's where it gets interesting. We can come into content production. So this is set for single page, but let's flip it over to bulk. What we're going to do then is import from the entity overlap and import from the GBP. So now we've listed all of these services. We can put the target city in as Malden, MA. And uh we're saying we want four images per page. We're going to generate a video every fifth item. We can do every third item, fifth item, whatever we want. Uh we can automatically humanize it. We can automatically run the AI detection. We can auto-approve outlines, auto-publish to WordPress, and auto-upload to YouTube. And then this is the list of content here. Here we have 18 selected, three with video, and it's estimating it'll take about 70 minutes to generate all this content. Let me uncheck a few of these. I'll just do maybe uh septic service and we'll do water heater installation. So, we'll do those two. It's thinking it'll take about 10 minutes to go. And we'll hit full auto and start.
So, what's happening here in the background? The system has a series of prompts to help it generate an outline uh that is relevant yet distinct from the other entities that are currently ranking. Distinct is important. Google needs to see that this is adding unique information. So, what we're doing, we're crawling Reddit, we're crawling local forums, we're crawling uh sources of information to figure out what people are talking about, what competitors are talking about, what real people in your area looking for that service are asking. We're using all of that information to generate the outline.
Okay. So we can uh hit approve and we can open it up and see this is the exact outline that's been generated exactly how we're going to cover the septic system service in Malden. We have an FAQ here below. This is based on what people are actually asking about for septic service in that area. It's even giving us a target snippet uh to go for the AI overview for this query.
All right. Now that the outlines are done, we're now generating the content. And this is also a multi-step process. It's using four different steps to generate the content. First, it's generating each individual block of content in a very slightly different style for each one of the H2 sections that was on the outline. The reason it's doing that is so the content looks and feels human-written. Humans tend to write iteratively. They don't sit down and bang out a full article in all the same tonality and all the same voice. They'll write individual section by section. They'll take breaks. They'll do additional research. So, that's what we're mimicking with this tool. Each section is written one at a time with a slightly different tone, slightly different viewpoint. Then we're using another prompt to take all of those sections and combine them into one article and review the entire article to make sure the tonality is reasonably consistent among it. Then we're doing another run-through of this content to add bursting. So we're then changing sentence length, uh changing the number of words and sentences so that we remove some patterns with this burst analysis.
All right. Then we're running this through yet another prompt. We're calling the the this fifth one perplexity injection. So what it's doing here is it's looking for uh predictable words and replacing those words with multiple words that a human might use. For example, if something says something like "significant improvements," it's going to replace that with "results that surprised even us." Means the same thing, but it's taking an approach that AI-generated content very rarely does. Then we're doing a sixth pass on this content where we're rewriting the first couple sentences and the last couple sentences with an extremely conversational, opinionated uh human-style language. The first couple sentences and last couple sentences are incredibly important both for humans reading the site also for Google's algorithm for all the AI systems and for AI detectors. Then we're making another pass to add conversion optimization so that we can see phone numbers. Why should the user, the searcher, call this company? What are they good at? What have they been doing for a long time? That speaks to what the searcher's looking for. And then finally, the last pass, the eighth pass, is the final check. It's going through the whole article again to make sure nothing got weird or discombobulated with all of these different passes. We're making sure it has smooth transitions. We're verifying that there are still facts there, that the facts are true. We're checking that the CTAs are strong. It ends up being eight total passes to generate and humanize this content with the goal of producing very, very high-quality content that when your team reviews this content, it takes a very limited time to say, "Yep, this content is good to publish." And remember, all that information we entered at the beginning, all the specific data about Malden, Massachusetts, we're also using that information to make the content hyper-local once the content is finished. And you can see the step that it's on now is humanizing this content. I think that's uh pass four or five.
But the tool isn't stopping at content. Once the content is done, it then generates schema markup for every single page. And then it starts generating images. Here we can see the system generating the first out of the four images we told it to create. Basically, this is using multiple API calls, multiple AI tools in order to do this all in one shot. And yes, I'm sitting here with watching it do this. You probably shouldn't do that. You should hit run and then go watch a television show. And now we can see it moving to the next step. It's generated the images and we're now generating the video script. Video script is done. It's now rendering the video based on the article that it wrote.
All right. Now that the video is done rendering, it's being uploaded to YouTube, the specific channel we created for this client. All right. Now it's done with that article. Moving on to the next article. All right. So the tool is done. We have the words, images, video, and the status published. Let me show you what the back end looks like. So, this is all the content we previously generated. And we can see the septic system and the water heater installation, both of which are still here in draft mode. So, let's take a quick look at the water heater installation. We can see some images, uh, table of contents, call to action, H2 tags, this content steps, same day, on and on, uh, more images, an FAQ. All right, let me show you the septic system. This one has the video embed. Here's the video. All of this auto-generated, auto-uploaded. I didn't do anything. I just let the tool run everything.
So, let me show you. Uh here's an earlier one that we did. Let me grab that uh URL and run it through this structured data tester tool. We can see it has schema, no errors, no warnings. That gave us uh organization, video, article, uh FAQ with every single FAQ correctly put into the schema here. Now, let me run this speed test on it. GTmetrix. We'll see how fast the site is. And remember, this is the one with the YouTube embed. So, it's going to be a little bit slower than pages without the video embed. And there's the score. Grade A, 100% performance, 98% structure, LCP 651 milliseconds. That's pages built, published, linked, and live. And that's the whole process. The process that used to take my team two to three months to spread across an entire client engagement. The agent can do it in a single session. About an hour and a half where it's just running on its own. You don't need to sit and watch.
And let me show you again. Here's the rank map after we ran this agent and published all this content. Average position 3.22. 74% green coverage across the greater Boston area. Malden, Medford, Somerville, Cambridge, Revere, all the way out to Lynn and Saugus. And the parts that aren't green. They're ranked fourth and fifth. All we need to do is come back to the tool. We'll come into bulk again and here. And we can add location pages. This allows us to enter the landmark, the city again, images, videos, service name. And this will allow us to turn those fours into threes from invisible to dominating the map in a day. This is not six months of work. It's not even six weeks of work. And this works because it gives Google and AI models exactly what they want. And then the AI agent executes it faster than any human team possibly could.
But rankings alone aren't going to pay your bills. So that's the whole system. Entity research, GBP audit, gap analysis, content production, schema, images, videos, upload to YouTube, WordPress deployment, internal linking, all executed by an AI agent built on the same processes that's ranked hundreds of local businesses since 2016.
So, you now understand this system better than 95% of the agencies that are out there. You know exactly why entity consistency matters. You know exactly why the Core 30 structure works. You know why generic blog posts don't move the needle for local businesses. And you just watched an AI agent do the whole thing in the fraction of the time it takes a full team to do this. Even with AI's help, the Core 30 AI agent is available at no extra cost inside my AI SEO Pro community. There's a link down in the description. You're going to get the agent, every prompt behind it, and we do a weekly live Zoom where I can help you implement this for your clients.
But here's the thing. None of this matters if you can't get clients in the door. I see agencies with incredible skills, amazing case studies, but they're struggling to hit 10K months because they have no idea how to land local clients. They can rank a business in two weeks, but can't convince a business owner to pay them $2,000 a month. The ranking game, honestly, it's completely different from the client acquisition game. Different psychology, different objections, different sales processes. If you want to see the exact client acquisition system that got me 97 plumbing clients in six months, click on this video right here before you waste another month with amazing skills but an empty bank.