SEO and GEO for Small Businesses: One Site, Two Search Channels
Written by Ahmed at Analyst Engineering, a Senior Technical Business Analyst with 10+ years in banking and payments delivery.
Key takeaways
- SEO wins a click from a results page. GEO wins a mention inside an answer the customer never clicks past. A small business site now needs both, because a growing share of buying research ends without a visit to any website.
- Both channels run on the same technical base: one clear H1, a unique title and description, a self-referencing canonical, valid structured data, filled alt text, and Core Web Vitals inside Google's thresholds of 2.5s LCP, 200ms INP, and 0.1 CLS.
- GEO adds one requirement SEO never enforced: every important claim on the page must be a standalone, quotable sentence that makes sense with no surrounding context, because that is the unit an answer engine lifts.
- Entity consistency is the highest-leverage GEO task for a local business: identical name, address, and phone number everywhere online, plus Organization or LocalBusiness structured data with sameAs links to every profile you control.
- Measure GEO separately from SEO. Search Console impressions and clicks cover search; referral traffic from AI assistant domains plus a monthly manual prompt audit cover the answer-engine channel.
SEO wins a click from a results page. GEO wins a mention inside an answer the customer never clicks past. Both run on the same technical base, but GEO adds one hard requirement: every claim that matters has to be a sentence that still makes sense when lifted out of your page.
A small business website now competes in two channels at once. SEO, search engine optimization, gets the page ranked in Google so somebody clicks through. GEO, generative engine optimization, gets the business named inside an answer produced by ChatGPT, Claude, Perplexity, or Google’s AI Overviews, where there may be no click at all. The technical foundation is shared, so this is not two projects. It is one build with an extra layer, and the extra layer is mostly about how you write and how consistently your business identity appears across the web.
I come at this from an unusual angle. My day job is technical analysis in banking and payments, where a requirement that cannot be measured is not a requirement. Most small business SEO advice fails that test: it is a list of activities with no threshold, no measurement, and no way to tell whether it worked. So this article is written the way I would write a specification. Every item has a target you can check. I also build sites for a living at Studio Squalli, the Montréal studio that designed and built this one, so the examples come from the actual work rather than from a course.
What does GEO actually change?
The change is the unit of competition. In search, the unit is a result: a title, a description, a link, and a position. You win by being higher than the alternatives, and you measure clicks. In an answer engine, the unit is a sentence inside a generated paragraph. The customer asks “who does bookkeeping for restaurants in Montréal” and gets a short answer naming three firms with a line about each. You either appear in that answer or you do not exist in it, and no ranking tool on the market will tell you which.
Two consequences follow, and both matter more than they sound.
No click means no analytics event. If an assistant names your business, describes your service correctly, and the customer then phones you, your website records nothing. That call is attributed to nowhere. A small business that judges its marketing purely on website traffic will therefore systematically undervalue this channel, and some are already seeing traffic fall while enquiries hold steady, which looks like a website problem and is not one.
The answer is assembled, not retrieved. An answer engine reads several sources and writes a new paragraph. It is not showing your page; it is paraphrasing whatever it found most quotable. That is why extractability beats persuasion here. Marketing prose that builds to a point over three paragraphs gives a model nothing to lift. A single sentence that states the fact plainly gives it everything.
It is also worth knowing that these answers are non-deterministic: the same question asked twice can produce different answers naming different businesses. So you are influencing a probability, not claiming a position, and you measure it as a pattern over repeated checks rather than as a rank. That property is the same one that makes AI features awkward to write test cases for, which I go into in acceptance criteria for AI systems.
Why does this hit small businesses hardest?
Because the two things answer engines reward most are the two things small businesses are usually worst at, and neither costs money to fix.
The first is a clear, specific, self-contained description of what you do and for whom. A local firm’s home page typically opens with “Welcome to our family business, where quality is our passion.” That sentence contains no extractable fact. The competitor whose page opens with “We do monthly bookkeeping and tax filing for independent restaurants in Montréal, with a two-day month-end close” has handed the model a complete, quotable answer. When a customer asks the category question, guess which one gets named.
The second is entity consistency: the same business name, address, and phone number everywhere online. A small business that has moved once, changed a phone number, or been listed by a directory under a slightly different name now presents an ambiguous identity. Search engines have decades of practice resolving that ambiguity. Answer engines resolve it less reliably, and an entity they cannot pin down confidently is an entity they mention less.
There is genuine upside in this for a small operator, which is not something I often say about search. Large brands win traditional SEO through domain authority and budget, which a local firm cannot outspend. Being specific and internally consistent is not a budget contest. A three-person firm with a precise, well-structured site can be named in an answer alongside a national chain, because specificity is what the question demanded. That asymmetry is the most interesting thing happening in small business visibility right now, and it is why we build every client site at Studio Squalli for both channels from the first commit rather than bolting the second one on later.
What technical base do both channels share?
One base, and it is checkable rather than aspirational. Every page on a small business site should pass all of this:
| Item | The requirement | How you verify it |
|---|---|---|
| Title | Unique per page, names the topic and the business | View the page source, confirm every page differs |
| Meta description | Unique, roughly 140 to 160 characters | Same check, count the characters |
| H1 | Exactly one, contains what the page is about | Search the source for the h1 tag, expect one hit |
| Canonical | Self-referencing on every page | Confirm the tag points at the page’s own URL |
| Structured data | Valid JSON-LD describing what is visible | Google’s Rich Results Test, zero errors |
| Largest Contentful Paint | 2.5 seconds or under | PageSpeed Insights, mobile, field data |
| Interaction to Next Paint | 200 milliseconds or under | Same report |
| Cumulative Layout Shift | 0.1 or under | Same report |
| Image alt text | Filled and descriptive on every image | Read them aloud; “image1.jpg” fails |
| Mobile rendering | Usable at 400 pixels wide with no sideways scroll | Resize the browser and try to use the page |
Those three speed numbers are Google’s own published thresholds for a good experience, and I list them because they are the rare part of this field with a hard pass mark. A requirement with a number attached gets fixed; “make the site faster” does not. That is the same discipline I apply to writing non-functional requirements on delivery projects, and it transfers directly.
On structured data, one rule prevents the only real risk: the markup must describe what is actually on the page. JSON-LD is ordinary JSON sitting in the page head, readable by anyone who can read a payload, which makes it tempting to embellish. Do not. Marking up review ratings you do not display, or hours you do not keep, is the kind of mismatch that gets rich results removed and does nothing for you in an answer engine, which will quote the visible text anyway.
What does GEO add on top?
Five things. The first matters most.
Write standalone claims. Every important fact must be a complete sentence that survives being lifted out of the page. “We have been doing this since 2009” is worthless out of context. “Studio Squalli has designed and built websites for Montréal small businesses since 2009” is quotable as it stands. Go through your main pages and check each key sentence with one question: if a model copied only this sentence into an answer, would it still be true and useful?
Make headings the questions customers ask. Not “Our Services” but “What does a bookkeeping engagement include?” The heading is the question and the text under it is the answer. This is better for human readers too, and it is exactly how the extraction works: the model matches the question in the prompt against the question in your heading.
Be specific where you are currently vague. Named tools, real numbers, actual service areas, concrete deliverables, real timelines. Specifics get cited, because a generic claim is interchangeable with every competitor’s generic claim and a specific one is not.
Add an FAQ section with FAQPage structured data. Five to ten real customer questions with direct answers, marked up. It is the single most extractable format on the web: a question, then a self-contained answer, in a structure a machine parses without guessing.
Publish an llms.txt file. A plain text index at your site root listing your pages with a line describing each, so a crawler gets an accurate map instead of inferring one. No major engine has publicly committed to reading it, so treat it as a cheap bet rather than a guaranteed win. It takes an hour and costs nothing after that. This site has one.
What does the local layer look like?
For any business with a physical location or a service area, entity consistency is the highest-return work available, above content and above speed.
Three tasks, in order:
- Fix your Google Business Profile. Complete it: exact name, address, phone, hours, service area, categories, photos, and description. It remains the strongest single signal for local queries in both channels, and it is free.
- Make name, address, and phone identical everywhere. Website footer, Google Business Profile, Apple Maps, Facebook, LinkedIn, industry directories, your invoices. Identical, not merely similar. “Suite 4” in one place and “#4” in another is an inconsistency a machine has to resolve, and you want it resolving nothing.
- Add LocalBusiness structured data with sameAs links. Name, address, geo coordinates, opening hours, phone, and a sameAs array pointing at every profile you control. That array is how you state explicitly that these accounts are all the same entity, rather than leaving a machine to infer it.
Reviews sit alongside this. Their volume, their recency, and the words in them all feed what gets said about you, and review text is quotable source material like anything else. Ask for them, respond to them, and never fabricate them.
If you would rather have this done properly than done twice, it is exactly the work we do at Studio Squalli: the technical base, the structured data, the entity cleanup, and the writing pass that makes the pages quotable.
How do you measure two channels?
Separately, because one set of numbers cannot cover both.
For SEO, use Google Search Console. Impressions, clicks, average position, and the actual queries people used. Watch the queries most of all: they tell you what customers think you do, which is frequently not what your pages say you do.
For GEO, three measurements, and the second one is manual on purpose:
- Referral traffic from assistant domains, segmented as its own channel in analytics. It is usually small and usually higher intent than search traffic, because the person arrived already briefed.
- A monthly prompt audit. Write down the five questions a real customer would ask about your category and location. Ask each of the main assistants, record whether you are named, and record whether the details quoted about you are correct. Fifteen minutes a month. It is the only direct read on this channel that exists, and a wrong detail found this way is usually traceable to a stale directory listing you can fix the same day.
- Branded search volume in Search Console. When assistants start naming a business, people search its name directly. A rise in branded queries with flat non-branded ones is the fingerprint of answer-engine visibility.
Take the baseline before you change anything. Run the prompt audit once, record the Search Console numbers, and note the speed scores. Without a before, you will be arguing about whether it worked instead of knowing.
What should you do first?
In this order, cheapest and highest impact first:
- Make name, address, and phone identical everywhere, and complete the Google Business Profile.
- Give every page a unique title, a unique description, and one H1 that says what the page is.
- Rewrite the first two sentences of every main page so they answer that page’s core question and stand alone.
- Add and validate Organization or LocalBusiness structured data, with sameAs links.
- Add a real FAQ section with FAQPage markup.
- Fix speed against the three Core Web Vitals thresholds.
- Publish llms.txt.
- Run the baseline prompt audit, then repeat it monthly.
Items one through five are a few days of focused work on a typical small business site and they carry most of the gain. Item six is where you may need help, since it usually means a theme, a hosting decision, or a pile of unoptimized images. And notice what is not on the list: publishing weekly blog posts nobody asked for, buying links, and stuffing keywords. None of those beat a fast, specific, internally consistent site that answers real questions.
The takeaway
SEO and GEO are one build with two outcomes: ranking for a click, and being quotable inside an answer. The shared base is unique titles and descriptions, one H1 per page, self-referencing canonicals, valid structured data, filled alt text, and Core Web Vitals inside 2.5 seconds LCP, 200 milliseconds INP, and 0.1 CLS. The GEO layer is standalone quotable claims, question-shaped headings, real specifics, an FAQ with markup, and a business identity that is identical everywhere online.
Start with entity consistency and the first two sentences of your main pages. Then measure both channels, including the manual prompt audit, because the channel you cannot see in analytics is the one your competitors are already in. If you would rather have it built right the first time, that is what we do at Studio Squalli, and this site is the worked example: about Analyst Engineering explains how it was built.
Ahmed is a Senior Technical Business Analyst with 10+ years in banking and payments, and runs Studio Squalli, the Montréal web studio that designs and builds sites optimized for search engines and AI answer engines.
Tags: SEO, Small Business, Generative Engine Optimization, Web Development, Marketing
About the author
Analyst Engineering is written by Ahmed, a Senior Technical Business Analyst with 10+ years of banking and payments delivery experience: ISO 20022 and SWIFT messaging, payments API integration, Kafka event validation, and production support. Every article comes from real delivery work, and each one is reviewed and updated as tools and standards change.
Related articles
- Acceptance Criteria for AI Systems: Testing the Non-Deterministic How to write acceptance criteria for AI and LLM features when outputs are non-deterministic. Use bounds, properties, guardrails, and evaluation sets, not exact matches.
- The AI-Augmented Analyst Workflow: Five Flows That Actually Ship The five AI flows that measurably speed up analyst delivery: transcript to draft spec, negative test matrix, test data, log triage, and contract diffs.
- Non-Functional Requirements: The Categories, With Measurable Examples What non-functional requirements are, the categories that matter, and how to write NFRs that are testable: measurable targets instead of adjectives. With examples.
- JSON for Analysts: Read the Payload Fluently How an analyst reads JSON: objects, arrays, nesting, and types. Understand API payloads, event messages, and config without asking a developer. Practical, not theory.
Newsletter
Subscribe
Practical, no-fluff playbooks for technical analysts who analyze, code, test, and support. New articles straight to your inbox.
No spam. Unsubscribe anytime.