# SEO & GEO > Technical SEO, local search and GEO, Generative Engine Optimisation, for businesses in Scotland. What GEO actually is, what it needs, and how to be the business an AI assistant quotes rather than the one it has never heard of. Included in every build at the published price, not sold as an extra. Canonical page: https://daveellis.dev/seo-and-geo/ Made by Dave Ellis (Edinburgh, Scotland). Email: dave@daveellis.dev Last updated: 2026-11-12 SEO and GEO: the three pillars, a real explainer on Generative Engine Optimisation, and this site as the working example. ## Found on Google, and in the AI answer. A beautiful site nobody finds is an expensive business card. Search comes first here rather than last, and it is included in every build at the published price. Two things are going on at once now: ranking in a list of links, and being the source an AI assistant builds its answer from. ## Three jobs, one piece of work. These are not three products. The same foundations serve all three, which is why none of them is sold as an add-on. ### SEO, Search Engine Optimisation The foundations search engines reward: fast Core Web Vitals, clean semantic HTML, schema markup, sitemaps and content written around what your customers actually type. Unglamorous, measurable, and the thing most cheap sites skip entirely. ### GEO, Generative Engine Optimisation More people now ask an AI than scroll ten blue links. GEO makes your business easy for models to read, trust and quote: structured data, an llms.txt, plain factual copy and explicit access for the AI crawlers. ### Local first, not local only The signals that win work in your own town, done properly: your Google Business Profile, local markup, and pages written the way people search in Edinburgh, Glasgow, Dundee or Inverness. Nothing stops at the border, so the structure is international-ready from day one. - Google - AI Overviews - ChatGPT - Claude - Perplexity - Gemini - Copilot - Bing ## What Generative Engine Optimisation actually is. Search used to end with a list. You typed something, you got ten links, and the competition was for a position in that list. Increasingly it ends with an answer: somebody asks ChatGPT, Claude, Perplexity, Copilot or Google's AI Overviews for a joiner in Leith, and a paragraph comes back naming two or three businesses. GEO is the work that makes your business one of the ones named. It is not a trick and there is no submission form. A model builds that answer out of whatever it can read, understand and have reasonable confidence in, so the work is making your business legible to something that cannot ask you a follow-up question. The practical difference from SEO is this. SEO competes to be a result. GEO competes to be a source. A result has to be relevant; a source has to be unambiguous. That changes how you write: one clear statement of a fact, in the same words, in a place a crawler can reach without running a script. It also changes what you get. There is no position to report. What you see is your business turning up in answers, and enquiries arriving from people who already know your prices because an assistant told them. ### What GEO needs in practice - Facts stated once, plainly. If your starting price is £1,200, that sentence exists, in those words, on a page. Marketing language that avoids committing to anything gives a model nothing to quote. - Structured data that matches the page. JSON-LD describing the business, the services and the prices, saying the same thing the visible text says. Contradictions cost trust. - No JavaScript between the crawler and the content. If the words only appear after a framework boots, some crawlers never see them. The ones that do see them see them last. - An llms.txt. A plain-text summary of the business written for models, in one predictable place, the way robots.txt is written for crawlers. - Permission, in writing. A robots.txt that names GPTBot, ClaudeBot, PerplexityBot and the rest and allows them. Plenty of sites block them by accident and then wonder why they are never mentioned. - Consistency across every page. One address, one phone number, one set of prices. A model that finds three versions of a fact quotes none of them. - A Markdown copy of each page. Cheaper for an assistant to read than parsing HTML, and it removes any ambiguity about what the page says. ## This site is the working example. Everything described above is running on the page you are reading. You can check all of it yourself, which is rather the point: an SEO claim you cannot verify is just a claim. ### Open any of these and see for yourself - **llms.txt**: A hand-written summary of the business for AI assistants: services, prices, who it is for, the work, and the facts a model would otherwise have to infer. - **robots.txt**: GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Google-Extended, Applebot-Extended, CCBot and others allowed by name rather than by accident. - **Markdown twins**: Every page has an index.md alongside it, generated from the page itself so it cannot drift, with a canonical header pointing back at the HTML so the two never compete in search. - **JSON-LD**: A structured @graph on every page: the person, the business, the services, the prices, the breadcrumbs and the apps, all cross-referenced by identifier. - **No build-time JavaScript**: The content is in the HTML. Scripts handle a counter animation and a scroll reveal, and nothing a crawler needs depends on them running. - **Published prices**: £1,200, £4,000, £5,000, £500 and £45 a month, stated in the text and in the markup. Quotable facts rather than a contact form. - **Core Web Vitals**: No framework, no dependency bundle, self-contained CSS and one small script. The pages load in well under a second. If you want the short version of why this matters: ask an assistant what a website costs in Edinburgh. The businesses that get named are the ones that wrote the number down. ## What gets done, and when. - Before the design What your customers actually search for and ask, which decides the page list and the headings. Doing this after the design is how sites end up with a beautiful page nobody is looking for. - During the build Semantic HTML, headings in a real order, fast images, no dependency bloat, structured data written as the pages are written, and copy that states facts once and clearly. - At launch Sitemap submitted, redirects from any old URLs so existing rankings survive, Google Business Profile set up and verified, llms.txt published, robots.txt checked. - Afterwards With care and hosting, the technical side stays current as the engines change, and new pages get the same treatment rather than being bolted on without it. ### Is the SEO and GEO work an extra? No, and it never is. Technical SEO, fast Core Web Vitals, clean structured data, a sitemap, an llms.txt and content shaped around what people actually search are part of every build at the published price. A site nobody can find is not a finished site, so charging separately for the part that makes it findable would be charging twice for the same job. ### What is GEO, and why does it matter? GEO is Generative Engine Optimisation: getting your business found, understood and quoted by AI assistants like ChatGPT, Claude, Perplexity, Gemini and Google's AI Overviews. It is the natural companion to SEO, because a growing share of people now ask an AI rather than scrolling search results. I put heavy emphasis on both, so enquiries come direct to you instead of through paid ads or a marketplace. ### How long before I rank? The technical half is true the day the site goes live: it loads fast, it is structured properly, the markup is there and the crawlers are welcome. What takes time is Google trusting a domain it has not seen before, and that is months rather than weeks. Local search tends to move first, because a properly set up Google Business Profile and real local signals can start winning work quickly. Anybody promising you position one by a date is guessing, and the honest version is that the foundations are in place immediately and the compounding takes a while. Every question, answered