Caleb Ulku demonstrates an AI agent he built that automates the full local SEO workflow — from GBP category auditing and gap analysis to content generation, schema markup, video creation, YouTube upload, and WordPress deployment — for under $1 per page in API costs. The system is built on a 'Core 30' framework where every GBP service and category gets a dedicated website page, supplemented by topical relevance content (scraped from People Also Ask, Reddit, forums) and geo-targeted location pages using Google Places API data. The content pipeline uses an 8-pass writing system designed to mimic human writing patterns, including burstiness variation, perplexity injection to remove AI word patterns, and human-sounding bookend sentences. A real-world test case shows a Malden, MA plumber improving from average position 6.18 with 15% top-3 map coverage to position 3.22 with 74% green coverage across the greater Boston area after one session with the tool.
Google's approach since 2018 of matching entities (businesses, services, geographies) rather than keywords, where ranking depends on how well all related entities align and reinforce each other.
View concept page →A local SEO website architecture strategy consisting of approximately 30 pages built from 3-4 GBP categories and 20-25 services, structured so the website exactly mirrors the Google Business Profile to signal trust and relevance to Google's algorithm.
View concept page →An AI content generation system that writes articles through eight sequential passes—research synthesis, strategic outline, section drafting, burstiness, perplexity injection, human bookends, conversion optimization, and final quality check—to produce human-sounding content.
View concept page →An automated AI-powered system that executes the full local SEO content workflow—entity research, GBP audit, gap analysis, content production, schema, images, video generation, YouTube upload, and WordPress deployment—in approximately 90 minutes at under $1 per page.
View concept page →The practice of building additional content that connects a business entity with its service entity by answering real questions people ask about that service, proving to Google the business genuinely performs those services.
View concept page →The practice of creating hyper-local content referencing specific landmarks and neighborhoods to prove to Google that a business operates in specific geographic areas, improving local rank map positions.
View concept page →A geographic visualization tool (also called a 'local SEO heat map') that shows exactly where a business ranks for a given keyword across different locations, helping identify gaps and guide optimization efforts.
View concept page →An analysis of competitor Google Business Profile categories in a target market to identify categories a client is missing that competitors are using, which represent lost ranking opportunities.
View concept page →A process of crawling a client's existing website and comparing its pages against all GBP categories and services to identify which service pages are missing and need to be created.
View concept page →A writing technique that varies sentence length and paragraph cadence to mimic human writing patterns, breaking the uniform rhythm that characterizes AI-generated content.
View concept page →A content editing pass that identifies and replaces predictable AI vocabulary patterns and clichéd phrases with more natural, human-sounding language.
View concept page →An AI writing approach where each H2 section of an article is generated with a separate, independent API call, producing natural tonal variation that mimics how human writers work across a session.
View concept page →The primary guest and SEO expert featured in the video, founder of an AI SEO agency that developed the Core 30 local SEO methodology and scaled to 97 plumber clients using AI-driven content and local link-building strategies.
View concept page →A writing pass that crafts the first two and last two sentences of an article with highly conversational, opinionated language, targeting the portions Google and readers weight most heavily.
View concept page →A third-party GBP management and local rank tracking tool that provides the rank map interface used to visualize local search positions and identify geographic targeting opportunities.
View concept page →Most agencies spend 60 hours or more and thousands of dollars in labor to rank a local business. Even with AI helping write content, you're looking at 30 to 45 minutes per page, times 30 pages or more. That's a significant amount of work per client before the full system is even in place.
The AI agent runs the entire local SEO process including entity research, Google Business Profile (GBP) audit, gap analysis, content production, schema markup, image generation, video generation, YouTube upload, and WordPress deployment. The full process runs in about 90 minutes of runtime at under a dollar per page in API costs. It uses a bring-your-own-key model with no markup.
Since 2018, Google doesn't match keywords — it matches entities. Your Google Business Profile is an entity, your website is an entity, every service you list, every category on your GBP is an entity, and your geography is an entity. Google constantly checks whether all of these entities match each other. The closer they match, the better you rank. The more gaps between them, the less Google trusts you. This means local SEO is fundamentally about aligning all your entity signals rather than stuffing keywords.
A GBP category audit involves researching what categories your Google Business Profile has (primary and secondary), and comparing them to what competitors are using that you aren't. Every missing category represents a search where Google will show your competitor instead of your business. For example, for a plumber in Malden, Massachusetts, the tool found 68 GBPs with 'plumber' as a category, and those businesses also used categories like electrician (17 times), heating contractor (14 times), and bathroom remodeler (8 times). The audit helps you identify which additional categories make sense to add to your GBP.
The Core 30 means creating one page for every category and service listed on your Google Business Profile — typically around 30 pages. The structure works as follows: the homepage targets the primary category plus city; each service gets its own dedicated page; internal linking follows the same hierarchy as the GBP (homepage links to secondary categories, and secondary category pages link down to the service pages under that category). The goal is to build a website that is an exact mirror image of your Google Business Profile, ensuring Google sees consistent entity signals across both platforms.
A gap analysis compares the services and categories on a Google Business Profile against the pages that actually exist on the website. The process involves: (1) pasting in the GBP categories and services and parsing them with the tool; (2) crawling the website to identify all existing pages and mapping each page to the correct service or category; (3) running a research comparison that identifies which services and categories have no corresponding page on the website. Those missing pages are then added to a bulk content generation queue. Most agencies skip this step entirely, which is a major reason their clients stay stuck for months.
Beyond the Core 30 pages, you need to build topical relevance and geographical relevance. Topical relevance connects your business entity with your service entity — it proves you actually do what you say you do. It's built by creating content that answers real questions people are asking about your service (from sources like People Also Ask, Reddit, competitor headlines, and local forums). Geographical relevance connects your business and service entities with a specific location entity — it proves you operate where you say you operate. It's built by creating location-specific pages targeting landmarks and neighborhoods in your service area. Both are essential; most agencies build neither. Weekly blog posts are not an effective substitute.
Geographical relevance content convinces Google that your business actually operates in specific locations within your service area. The process involves looking at your local rank map (using a tool like LeadSnap) and identifying areas where you're ranking 4th, 5th, or lower. For those weak spots, you zoom into the map and find real landmarks that appear on Google Maps — things like golf clubs, parks, stadiums, or community centers. You then write articles like 'Window Cleaning near Highland Falls Golf Club in Las Vegas.' The landmarks are pulled directly from the Google Places API, so Google already recognizes them. The goal is to turn a rank-4 position into a rank-3 rather than trying to move a rank-10 to rank-9, since rank-9 still gets no traffic.
Two main things kill local content: (1) It reads like every other page on the internet in that niche — when content is generic, Google has no reason to rank it and increasingly won't even index it. (2) It isn't genuinely local. Saying 'we serve the Malden area' isn't enough — content needs to reference specific local details like the triple-deckers in Medford, old pipe infrastructure in Somerville, or coastal weather coming off Revere Beach. The fix involves doing thorough research before writing (Reddit, local forums, People Also Ask, competitor sites, local landmarks), and using a multi-pass writing pipeline that mimics how humans actually write rather than generating everything in a single AI prompt.
The 8-pass writing pipeline works as follows: (1) Research Synthesis — compresses raw research (Reddit threads, People Also Ask, competitor angles, local landmarks) into a structured content brief; (2) Strategic Outline — builds the full page architecture with every H2 heading, section angles, and how sections connect; (3) Section Draft — writes each H2 section with a separate independent API call, creating natural variation in tone; (4) Burstiness — breaks up robotic rhythm by varying sentence lengths and mixing in short punchy lines and fragments; (5) Perplexity Injection — finds and replaces predictable AI word patterns (like 'robust,' 'leverage,' 'streamline') with language humans actually use; (6) Human Bookends — rewrites the first two and last two sentences with extremely conversational, opinionated language since those are weighted most heavily by Google; (7) Conversion Pass — naturally injects calls to action, phone numbers, and conversational language tailored to the content type; (8) Final Check — re-evaluates the entire article for correctness, cohesion, adherence to the original brief, word count, and any remaining AI patterns.
Writing each H2 section with a separate independent API call results in slightly different tone and angle for each section, which mimics how a real human writer drafts an article section by section over the course of a day. When a human writes, they take breaks, come back, and their energy and word choice shifts naturally between sections. This natural variation is what makes content feel like a person wrote it instead of a machine. Most AI content tools use a single prompt for one output, which produces a consistent robotic tone throughout — a telltale sign of AI-generated content.
Burstiness refers to the natural variation in sentence length and paragraph cadence that characterizes human writing. AI typically writes in a very consistent rhythm where sentences tend to be about the same length and paragraphs follow the same cadence. Humans, by contrast, write a long sentence, then a short one, then two medium ones, then a fragment. The burstiness pass in the writing pipeline goes through the entire draft and breaks up the robotic rhythm by varying sentence lengths, mixing in short punchy lines, and adding irregular pacing that makes content feel alive instead of generated.
While the 8 writing passes are running, the agent simultaneously executes several parallel steps: generating an FAQ section, generating the meta title, meta description, and H1 tag, generating schema markup, generating images with specific image generation prompts, and inserting highly relevant external links to authority sources. After the content is finished, the tool also renders a video script, generates the video, creates a YouTube title tag and description, uploads the video to YouTube, and publishes the entire page to WordPress with the video embedded. The result is a fully deployed page with no human intervention needed.
Before running the system, the plumber's GBP had an average rank map position of 6.18 with only 15% of the map in the top three, showing mostly orange (positions 7-8) across the greater Boston area. After running the system, the average position improved to 3.22 with 74% green coverage across the entire greater Boston area, including Malden, Medford, Somerville, Cambridge, Revere, Lynn, and Saugus. The remaining non-green spots ranked 4th or 5th, and one more round of geographical relevance pages would likely turn those green too. This was achieved in a single session, not through months of blogging or hundreds of backlinks.
The AI agent runs at under a dollar per page in API costs, using a bring-your-own-key model with no markup. Over the lifetime of the tool with 1,162 pages generated by real users, total token spend was approximately $700 — well under a dollar per page. The agency using this tool has seen their cost per article drop to under half of what it was before, while quality has actually improved. Most labor time has shifted from copy-paste prompting to double-checking and reviewing the content the tool produces.
The first two and last two sentences of an article are the ones that Google's algorithm and other AI systems weigh the most heavily. They're also the sentences that searchers actually read — people typically read the first couple of sentences, then scroll to the bottom and read the last ones. Because of this disproportionate weight, the writing pipeline includes a dedicated pass (Pass 6 - Human Bookends) that writes these specific sentences with extremely conversational and opinionated language. Getting those right matters more than the rest of the article combined.
When you fix entity alignment for Google — ensuring your GBP categories, website pages, and content all match and reinforce each other — you simultaneously become more visible to every AI model that is starting to replace traditional search. Google's own AI, ChatGPT, Perplexity, and Claude are all evaluating the same entity signals. So the work done to fix entity gaps for Google's ranking algorithm also improves your visibility in AI-powered search tools. This makes the investment in proper entity-based SEO doubly valuable as search behavior shifts.
In a completed run of 29 articles (53,000 words), the content achieved an average AI detection score of 39%. Individual articles varied — some scored as low as 10 (likely fine to publish as-is) while others scored as high as 65 (likely needing another editing pass to lower the AI score). The AI detection scores allow editors to prioritize their review time: low-scoring articles can go straight to publication while higher-scoring ones get a human editing pass. None of the content in the demo run had been touched by a human before scoring.
The internal linking structure should mirror the hierarchy of your Google Business Profile. The homepage should link to secondary category pages. Each secondary category page should then link down to the individual service pages that fall under that category. This creates a clear entity hierarchy that Google can follow, reinforcing the relationship between your primary category, secondary categories, and individual services — exactly matching how they're organized on your GBP. This structured approach is far more effective than random internal linking.
Weekly blog posts are generally a waste of time for local SEO because they don't address the core problem — entity alignment gaps. Instead of random blog content, agencies should focus on two specific types of relevance-building content: topical relevance pages (answering real questions people ask about your services, sourced from People Also Ask, Reddit, competitor content, and local forums) and geographical relevance pages (hyper-local content targeting specific landmarks and neighborhoods in your service area to prove you operate there). These targeted content types directly address Google's entity matching requirements, while generic blog posts do not.