Local SEO for small business: 4 things, not 20
An SEO-ranked website for small local businesses needs 4 things, not 20. Here's the lean playbook — plus the LLM citation angle competitors miss.

Local SEO for small business is sold as a 20-tactic checklist. Four of those tactics carry 90% of the result. The other sixteen are agency upsells dressed as best practices. If you run a one-location plumbing shop, dental practice, restaura
Local SEO for small business is sold as a 20-tactic checklist. Four of those tactics carry 90% of the result. The other sixteen are agency upsells dressed as best practices.
If you run a one-location plumbing shop, dental practice, restaurant, salon, or law firm — anything with a real address and a service area — your job is to get an SEO-ranked website for small local businesses to show up when someone within ten miles searches "best [your service] near me." That's the game. Most agencies will sell you a 12-week roadmap to ship what we ship in week one — and yes, we know how that reads.
The four things that actually matter
The four things that move local rankings, in priority order: a Google Business Profile that's complete and weekly-updated, a fast-loading website with clean local keywords on the right pages, real reviews collected on a system not on vibes, and consistent NAP data across the seven directories Google actually checks.
That's the list. The fifth thing — backlinks, schema beyond LocalBusiness, location pages, blog content, citations beyond the seven core — adds maybe 5–10% on top once the four are dialed in. Most small businesses haven't dialed in the four. They're paying agencies for the 5%.
The math is honest. Roughly 60% of local SEO impact lives in your Google Business Profile and the proximity signal Google computes from it. About 20% lives in your website actually being a website that converts. Around 15% lives in reviews — both the count and the recency. The remaining 5% is everything else combined.
You'll see SEO agency proposals that flip this. €1,800 a month for "comprehensive local SEO," and the deliverable is six location pages, fifteen citations, and three "expert quote" backlinks. Those are 5%-bucket activities sold as core. We charge less and ignore them on purpose.
Your website is the asset; the GBP is rented land
The framing every agency uses is wrong. They treat Google Business Profile as primary and your website as the supporting cast.
It's backwards. Your GBP can be suspended on a policy tweak. Google has changed the rules five times in three years — the verification system, the categories you can pick, the kind of services you can list, the photo guidelines. We've watched profiles disappear for "policy violations" no human at Google can explain.
Getting one back takes 8–12 weeks if you're lucky. We've seen 18-week recoveries.
Your website is your domain. You own it. Nobody can suspend it. The 20% of local SEO that lives on your website is where you put work that compounds — service pages with real customer language, a clean schema layer, fast load times, internal links that pass topical authority to your money pages.
If a Google policy tweak nukes your GBP tomorrow, a properly-built website still ranks for "[your service] [your city]" in organic. You won't pull the map-pack volume, but you keep 30–40% of your inquiries. If your only asset is a GBP and Google nukes it, your acquisition stops in a single day.
The agency selling you "GBP-first" isn't wrong about where the volume is. They're wrong about which asset to build the foundation on. Build the website to be permanent. Treat the GBP as the high-volume billboard sitting on top of it.
Google Business Profile, done in 90 minutes, not 90 days
A complete GBP takes 90 minutes the first time and 30 minutes a week to maintain. Anyone selling you a quarterly "GBP audit" is selling overhead.
Here's what 90 minutes looks like.
Verify the profile. Postcard, phone, or video — Google picks. Fifteen minutes if it's clean, three weeks if Google decides you need video verification. Roughly one in five new profiles hits video verification in 2026.
Pick the single primary category that matches your business. Not three categories that sort of fit. Search for what your customers actually call you — "Italian restaurant," not "Restaurant; Pizza Place; Catering Service." Add up to nine secondary categories that genuinely apply, but five honest ones beats nine hopeful ones.
Fill the description with up to 750 characters of plain English that name your service, your area, and one specific signal of trust ("serving Munich-Schwabing since 2018, family-owned, English-spoken"). No keyword stuffing — the category system already does that work. Google's algorithm recognizes stuffing and quietly demotes you.
Add full opening hours, plus holiday hours for the next 12 months. Set a calendar reminder for the 1st of every quarter. Upload 12–20 real photos of your business, your team, and your work. No stock — Google's Vision system flags it.
Add your service list with descriptions. Each service gets its own card. These are searchable and act as long-tail keyword carriers — they're how you rank for "[specific service] [city]" queries that don't fit cleanly into a category.
The 30-minute weekly maintenance: one Google Post per week (offer, news, photo). Reply to every review — especially the 5-star ones. Upload one or two new photos a month. Answer Q&A questions, and if Google won't let you answer, write the question yourself from a customer perspective and answer it.
That's the whole job. The agencies pitching "advanced GBP optimization" are billing for a calendar full of those tasks, not strategic addition.
Local keywords come from your intake form, not a keyword tool
Every local SEO guide tells you to use Semrush or Ahrefs to find local keywords. Those tools work for volume estimation. They're terrible for finding the actual phrases your buyers use.
The phrases live in your intake forms, your phone-call recordings, and your text messages. Customers don't search "emergency residential plumbing services Munich." They search "plumber my pipes broken Munich." The grammar is wrong; the intent is right; that's the keyword you want.
Here's the workflow.
Pull six months of intake form submissions and customer service text and email threads. Drop them into a Claude or ChatGPT prompt: "extract every phrase that describes the service the customer needs, in their own words." Take the top 20 phrases and run them through Google's autocomplete — start typing each one, watch what fills in. The phrases that produce a substantial autocomplete tail are your keywords.
This is mostly free. The only cost is the hour you spend reading old customer messages. The win: keywords nobody else on the SERP is targeting, because they're optimizing for what keyword tools surface, which is what their competitors are also seeing.
Your service pages get one of these phrases each, in the H1 and the URL slug. Your homepage gets the broadest one. Your blog (if you have one) targets the question-form variants — "how do I [problem]" — which pulls in informational traffic that converts at 1–2% over the next 90 days.
Voice-of-customer language beats keyword-tool language every time.
NAP consistency is a 20-minute audit, not a project
NAP — Name, Address, Phone — is the technical requirement small businesses get wrong by accident, then pay agencies €1,200 a month to fix.
Here's the 20-minute fix.
Open your GBP. Copy the exact business name, the exact address (down to suite-number formatting), and the exact phone number with country code. This is your reference.
Open the seven directories that actually feed Google's local index: Apple Maps, Bing Places, Yelp, Foursquare, Facebook Business, BBB (US) or industry equivalent, and your local chamber of commerce. Make every one of them match your GBP exactly. If a directory has the address as "Hauptstrasse 1" and your GBP has "Hauptstraße 1" with the ß, fix one so they match.
Set a recurring reminder for January 1 to re-audit annually. Addresses change, suite numbers shift, phone numbers get ported.
The other 80 directories most local SEO services pitch you "submission to" don't move the needle. Google's local algorithm uses a small number of high-trust sources to verify NAP consistency. Submitting to a 200-citation pack is mostly cosmetic.
The Yext-style "manage all your citations through one dashboard" tools are useful — about €30 a month — if you find yourself updating NAP often (multi-location, recent move). For most one-location small businesses, a manual 20-minute annual audit is enough.
Reviews are an ask, not a campaign — here's the script
Most small businesses ask for reviews badly. They send a generic "we'd appreciate your feedback" email three days after the job. Conversion: 4–8%.
Here's what works.
The ask happens at the moment the customer is most happy with you. For most service businesses, that's 24–72 hours after the job is finished and the customer has confirmed satisfaction in conversation. The ask is a text message, not an email. Email opens for transactional follow-ups in 2026 are running around 22%; SMS opens are running 90%-plus.
The text reads:
Hey [Name] — really glad we got [the issue] sorted yesterday. If you have 30 seconds, would a quick Google review help us out? [link] No worries if not. Thanks again — [Owner Name]
Three things make this work. The personal address — the customer's name and the specific job, written by you not your CRM. The explicit time estimate ("30 seconds"). And the genuine out-clause ("no worries if not"). Conversion across the small businesses we've watched run this script: 28–42%.
The link is a Google review short URL you pull from your GBP. Don't send people to a "review us on these five platforms" page — every additional choice halves the response rate.
— our head of operations, after watching ten clients try the scriptThe clients who get the most reviews aren't the ones with the best CRM. They're the owners who text the customer themselves. The customer can tell.
If you're getting 1-star reviews regularly, the fix is upstream from the review-ask — go back to the conversations leading up to the dissatisfaction. A review-collection system on a service that customers don't love is amplification of the wrong signal.
Site speed is a ranking factor disguised as a UX metric
Page speed is sold as a UX optimization. It's not. For local SEO, it's a direct ranking factor that compounds with everything else.
Google's ranking model treats Core Web Vitals as a confirmed signal. For local queries — where mobile is 70%-plus of traffic — slow sites get demoted in the map pack and indirectly through bounce-rate signals that feed back into the ranking model.
The thresholds that matter:
A Largest Contentful Paint above 2.5 seconds on mobile costs you visible map-pack position for competitive local terms. Cumulative Layout Shift above 0.1 reduces conversion 8–15% in the data we've seen across client sites. First Input Delay above 100ms on mobile costs you the call-button click that's the actual conversion event for most service businesses.
We've watched a single page-builder-to-clean-code migration drop Meta CPMs 38% on a Shopify store while simultaneously moving the store's local-pack ranking from position 4 to position 2. The sites with the best local SEO are the sites that load fastest. This is not a coincidence — it's the same algorithmic input.
We documented this in detail in the GemPages-to-Horizon migration writeup. The general principle: every page-builder you remove and every kilobyte you don't ship moves the local-pack ranking up. WordPress with five performance plugins is slower than a clean Next.js or Hugo site with no plugins. The platform decides the ceiling on speed; the speed decides the ceiling on local rankings.
WordPress in 2026 for a small business website is a 2009 answer to a 2026 problem. We don't ship on it.
Local SEO in the LLM era — getting cited for "best plumber near me"
The angle every local SEO guide misses in 2026: ChatGPT, Perplexity, Claude, and Gemini are routing a meaningful share of "best [service] near me" queries through their own answer layer, and they cite a different set of sources than Google's map pack.
The mechanics are different from classic SEO.
ChatGPT Search and Perplexity hit a real-time index. They pull citations from sources with structured local information — LocalBusiness schema, clean NAP in the page text, identifiable service areas in plain prose. The map-pack ranking signal is largely irrelevant here. The LLMs aren't reading the map pack — they're reading your website and a few high-authority directories.
Reviews on TrustPilot, BBB, industry-specific platforms (Houzz for home services, Healthgrades for medical, Avvo for legal) factor more in LLM citation than in Google local SEO. The LLMs read review platforms because they're text-rich; Google reads them too but weights its own GBP reviews higher.
What this means in practice. To earn LLM citation for local queries:
Implement LocalBusiness schema on every service page. Not just the homepage. Write a dedicated "About our service area" section that explicitly names neighborhoods, postal codes, and travel-time radii from your office. LLMs use this to answer "do you serve [my neighborhood]" questions.
Get cited on at least one industry-specific review platform the LLMs index. For most service businesses, that's the BBB-equivalent or the chamber of commerce in your region.
Maintain a clean encyclopedia-style "About" page for your business — even one paragraph. LLMs heavily weight pages that read like a Wikipedia entry: factual, dated, attributable.
We've watched two client sites earn citations in Perplexity's answer layer for high-intent local queries inside 90 days, just by adding the schema and the service-area section. Google still rewards the map pack with the same volume; the LLM citation is incremental.
The pattern overlaps with what we wrote about getting blog content cited by LLMs — same underlying frame, applied to a different page type.
The honest cost-and-time math
Agency proposals you'll get for local SEO range from €600 to €3,500 a month. The honest internal-cost number for a small business doing this in-house is 3 hours a week and €40 a month in tooling.
Three hours a week looks like:
30 minutes on GBP maintenance — one Post, one photo, review responses. 60 minutes on content — one service page polish, one blog post, or one customer-message review for keyword extraction. 30 minutes on review-ask follow-ups for last week's customers. 60 minutes on the monthly audit — NAP, GBP completeness, ranking check, schema validation. (Three of those are weekly; the audit is monthly. Total averages to about 2–3 hours.)
Tooling that's worth paying for: Google Search Console (free, mandatory), Google Business Profile (free, mandatory), a ranking checker that handles local — BrightLocal, Whitespark, or similar at €25–35 a month, and a page-speed monitor (PageSpeed Insights is free and sufficient for most).
Tooling that's not worth paying for at small-business scale: Semrush at €120 a month (overkill for one-location SEO), the citation-management Yext-style tools (€30 a month is fine if you genuinely need them, mostly you don't), the agency reporting platforms (you can build the same dashboard in Looker Studio in two hours).
The payoff timeline is the part agencies obscure. Local SEO results compound over four to nine months. Month one is setup. Months two and three are when GBP and review activity start moving rankings. Months four through six are when the website work compounds. By month eight, a properly-set-up small business is ranking in the top three of the map pack for its primary service-plus-city queries.
Anyone promising "first-page rankings in 30 days" for a competitive local term is selling the part where they keep your money on a contract.
What we'd skip if we were starting today
The list of things small business local SEO guides recommend that we'd ignore in 2026:
Submitting to 200-citation packs. The seven core directories matter; the other 193 are SEO-cosmetic. Writing 30 location-specific landing pages for a one-location business — you serve one city, write one location page about your one city. The "we serve [neighboring suburb]" pages are thin and Google penalizes them.
Buying do-follow guest post backlinks. Local SEO is much less backlink-dependent than national SEO. The investment-to-result ratio is poor for small budgets. A single backlink from your local newspaper's online edition outweighs ten guest-post links.
Paying for "Google Business Profile management" as a service. It takes 30 minutes a week. If you have employees, train one of them. If you don't, do it yourself.
Schema beyond LocalBusiness. FAQPage, Review, and Service add marginal value. LocalBusiness schema gets you 80% of the schema benefit.
Long-form blog content for local businesses with no national audience. A one-location dental practice doesn't need a 4,000-word blog post on dental implants. A 600-word service page about implants in their city does the same SEO job at 15% of the effort.
AI content auto-publishing tools. The Helpful Content System has been catching these since early 2025. For a local site with thin authority, the deindexing risk is steep and the upside is small.
The compounding lesson across every small business we've watched do this well: pick the four things that matter, do them weekly for nine months, ignore the rest, and the rankings show up. The agencies selling 20-tactic playbooks are selling the appearance of effort. We use AI to do in 5 days what a full-service agency charges 12 weeks for, and the local SEO playbook is no different.
Three more from the log.

How to build a blog that ranks and gets cited by LLMs
SEO and LLM citation are different games that happen on the same page. Here's the llm seo blog pattern that wins both in 2026 — structure, voice, proof.
Apr 14, 2026 · 9 min
Why AI-generated blog content gets deindexed (and how to not get caught)
I watched two client sites lose 80% of organic traffic overnight. AI content SEO 2026 is not what the 'undetectable' tools promise — here's what Google actually penalizes.
Feb 04, 2026 · 5 min
The agency business model is dead. Or is it?
The future of digital agencies is not what LinkedIn thinks. I've run one for five years — here's what's actually dying, what's surviving, and what comes next.
Oct 27, 2025 · 5 min