Blog
How to do SEO and GEO with AI: a no-code workflow, prompts included
- SEO
- GEO
- No-code
- Tutorial
I want my products to show up in two places: Google, and the answers people get from ChatGPT, Perplexity, Gemini, Claude and Google's AI Overviews. The second one has a name now, GEO, short for generative engine optimization. Strip the label off and it means pages an assistant can find, trust and quote.
This is that work as a tutorial, with no code. You pick tools, click, and paste prompts. When a step gets technical, you hand it to an AI agent and check what comes back. My example is QuickBilling, my invoicing app for freelancers and small businesses. For the local part I use a made-up bakery in Berlin.
Key takeaways
- Google says normal SEO best practices apply to AI Overviews and AI Mode, and that there are no additional requirements. So GEO starts with ordinary, well-done SEO.
- No assistant gives you a citation dashboard. You track citations by running the same buyer questions every month and writing down what you see.
- Write answer-first pages: the direct answer in about the first 40 words, then the steps, then proof only you can give.
- For local search, Google looks mainly at relevance, distance and how well known the business is. You can't pay for a better local position.
- IndexNow tells Bing and other participating engines when a URL changes. Google Search doesn't use llms.txt, so that file is an optional extra for other assistants.
How to brief an AI agent so it gets it right the first time
Every prompt in this post has the same four parts. I use this shape for writing, for research and for technical setup, and it's most of what people mean when they talk about vibe coding done properly.
After that, ask for one change at a time and check the result before you send the next prompt. If you ask for five things at once and something breaks, you can't tell which of the five did it.
- Goal: what you want, in one sentence.
- Inputs: the facts, files or lists the agent should use, pasted in.
- Constraints: what it must not do. The one I use most is "do not invent facts, ask me".
- Definition of done: what the finished answer looks like, so you can check it.
What Google says about AI Overviews and SEO
Start with what Google itself has published. Its page on AI features says SEO best practices remain relevant for AI Overviews and AI Mode, and that there are no additional requirements to appear in them. A page has to be indexed and eligible to show with a snippet. Both features may use "query fan-out": they run several related searches across subtopics and build one answer from the results.
So the job is the job you already know. Write people-first pages, from real experience, that answer one question fully. Google's shorthand for the quality signals is E-E-A-T: experience, expertise, authoritativeness and trust.
Google's newer guide to its generative AI features is blunter. It says you can ignore "AEO/GEO hacks" for Google Search. You don't need to cut content into small chunks, Google Search doesn't use AI text files such as llms.txt, and structured data isn't required for its AI features, though it still helps with rich results. The same guide warns against making a separate page for every variation of a query just to influence rankings, which falls under Google's spam policy on scaled content. Keep that in mind in steps 2 and 5.
One practical point from that guide: Search Console has a setting that includes or excludes your site from Google's generative AI features, and an excluded site isn't eligible to appear. Check that yours is included.
All of that is Google talking about Google. It doesn't tell you how ChatGPT, Perplexity or Claude pick their sources, so the rest of this workflow measures each assistant separately.
Step 1. Build a fixed prompt set and record your baseline
What to do: write 15 to 30 questions a buyer would really ask. Run each one in every assistant on the same day. For each answer, note one of three things: you're cited with a link, you're mentioned without a link, or you're absent. If you're absent, note who shows up instead.
Tools: Claude or ChatGPT to draft the list. ChatGPT, Perplexity, Gemini, Claude and Google Search to run it. One spreadsheet with a row per question and a column per assistant.
Then edit the list by hand. Delete duplicates and add the five questions your inbox gets most. After that the list is frozen. You'll run exactly these questions every month, because that's the only way the numbers compare.
Answers vary from run to run and from account to account, so treat one result as a sample. If a question matters a lot, ask it twice. Paid trackers such as Profound, Otterly and Ahrefs Brand Radar automate this. I haven't compared them here, so check their current plan pages if you want one later.
Goal: draft 20 buyer questions for QuickBilling, an invoicing app for freelancers and small businesses (invoices, payment reminders, exports for the accountant).
Inputs: the description above. Our buyers are freelancers and owners of businesses with 1 to 10 people.
Constraints: use the words a buyer would type, not marketing language. Mix "best tool for", "how do I", "how much does", "alternative to" and three questions about late payments. Do not invent product facts. If you need one, ask me.
Definition of done: a numbered list of 20, grouped under Choose, Use, Price and Switch.Step 2. Find the questions people really ask and group them
What to do: collect real questions from support mail, sales calls, comments and the search queries in Google Search Console's Performance report. Ask an AI to group them into themes. Each theme becomes one page.
Tools: Claude or ChatGPT for the grouping, and wherever your questions live today (mail, notes, Search Console).
Keep the groups few. For an invoicing app I'd expect themes like late payments, exports for the accountant and switching from a spreadsheet. Drop a group that has one weak question in it, and merge two that overlap. A theme is a real topic. It is not a new page for every way of phrasing the same question, which is the pattern Google's guide warns about.
Goal: group the questions below into 6 to 10 themes, one future help page per theme.
Inputs: the list below, copied from support mail, sales notes and search queries.
Constraints: keep the original wording inside each group. Do not add questions or product facts. Suggest one page title per group in the buyer's words.
Definition of done: for each group, the theme name, its questions and one title. Then ask me which groups to merge or drop.Step 3. Write answer-first pages, then check every line
What to do: one page per theme. Open with the direct answer in about 40 words, then numbered steps, then an example. Before you publish, check every fact yourself and add what only you can add: your screenshots, your numbers, your name on the page.
Tools: Claude or ChatGPT for the first draft, then your site editor or CMS.
The 40 words are my rule of thumb for the reader, who wants the answer before the explanation. Google says you don't have to write in a special way for its AI features, so don't treat it as a ranking trick.
The checking is where the value is. Read the draft line by line and fix the product details. Then add evidence that someone really used the thing: the reminder flow as it looks on screen, the export file opened in a spreadsheet. Google's guide calls a first-hand account a unique perspective and tells you not to publish what a generative AI model could easily have produced. A draft you haven't touched is exactly that.
Goal: draft one help page with the title below, for freelancers and small business owners who are not technical.
Inputs: the title, the questions in this group, and these product facts: [paste 3 to 5 facts].
Constraints: open with a direct answer of about 40 words. Then numbered steps, then one short example. Short sentences. Use only the facts I gave you. No prices, limits or dates; where one belongs, write [CHECK].
Definition of done: the draft with headings, and a list of every factual claim in it so I can check each one.Step 4. Add structured data with an agent, then validate it
What to do: structured data is a small block of labels that tells a search engine what a page is about: an organization, a local business, a product, an article. Ask an agent to create it from your finished page, add it through your CMS or SEO plugin, and test the live URL.
Tools: Claude, ChatGPT or Claude Code to create it. Your CMS or SEO plugin to add it. Google's Rich Results Test to check it, and the Schema Markup Validator for types Google doesn't show as rich results.
I keep two rules. First, the markup only repeats what the visible page says. No extra services, hours or prices. Second, I don't expect FAQ markup to appear as a dropdown in Google. Since August 2023 Google shows FAQ rich results only for well-known, authoritative government and health sites. I still add Organization and LocalBusiness, because they say who you are.
If the test shows an error, paste the error back to the same agent, ask it to fix only that, and test again.
Goal: create structured data for the page below and tell me how to add it in my CMS.
Inputs: the full page text, the page URL and my CMS: [name it].
Constraints: use only facts that appear on the page. Organization for our name and site. LocalBusiness only if the page shows an address. No ratings, prices or opening hours unless they are on the page.
Definition of done: the markup, the click-by-click steps for my CMS or plugin, and how to test the live URL in Google's Rich Results Test. Ask me for anything missing before you start.The Rich Results Test reports the error below. Fix only this error and keep everything else the same. Tell me in one sentence what you changed, then give me the corrected version and the steps to replace it.Step 5. Local and geo targeting for a business in one city
What to do: if you serve one city, make that easy to verify. Complete and verify your Google Business Profile. Keep your name, address and phone identical everywhere. Ask customers for reviews that mention what they bought. Publish one answer-first page for each city or area you really serve.
Tools: Google Business Profile, your site editor, and Claude or ChatGPT for the city page and the review request.
Google's help page says local results are based mainly on relevance (how well the profile matches the search), distance (how far the business is from the person searching) and how well known the business is, which it calls prominence and which includes links to your site and the number of reviews. It also says businesses with complete and accurate information are more likely to show up: address, hours, category, attributes. Reply to reviews and add photos and videos. And there is no way to request or pay for a better local ranking.
Identical name, address and phone across your site and other listings is standard local SEO practice, not something that help page spells out. I do it because conflicting details give Google and customers a reason to doubt which one is right.
QuickBilling is online software, so my local example is invented: a bakery in Berlin's Prenzlauer Berg that sells sourdough, morning buns and custom cakes for pickup. The same steps work for an agency, a clinic or a studio. Don't stamp out pages for cities you don't serve. That's the scaled-content pattern from Google's guide again.
Goal: draft one local page for a bakery in Berlin Prenzlauer Berg.
Inputs: sourdough bread, morning buns, custom birthday cakes, pickup in the shop.
Constraints: use only these facts. Do not invent the street, phone, hours or reviews; write [NAME], [ADDRESS], [PHONE] and [HOURS] where they belong. Open with what the bakery sells and where to pick it up, in about 40 words.
Definition of done: headings, one short section per product, a pickup section, and a list of the details I must keep identical on Google Business Profile and on the site.Goal: write a short review request for the bakery's customers.
Constraints: polite, under 60 words. Ask the customer to mention what they bought. No discounts or rewards for reviews.
Definition of done: two versions, one to say at the counter and one for email.Step 6. Get indexed in Google and Bing, including IndexNow
What to do: make sure both search engines know about your new and changed pages. Verify the site in Google Search Console and in Bing Webmaster Tools, and submit your sitemap in both. Then switch on IndexNow, which tells Bing and the other participating engines when a URL is added, updated or deleted. For Google, Search Console and the sitemap are the route.
Tools: Google Search Console, Bing Webmaster Tools and your CMS. Bing's IndexNow page lists platforms that have it built in and ready-made plugins for others, including several for WordPress. Look in your CMS or SEO plugin settings before you do anything by hand.
Why bother with Bing if your visitors use Google? It's a second index, and I don't assume every assistant that searches the web does it through Google.
Two things Bing says plainly. IndexNow doesn't guarantee that a page gets crawled or indexed. And you should only send URLs that changed after you started using it, not your whole back catalogue.
Goal: give me the steps to get my site indexed in Google and Bing.
Inputs: my site URL, CMS, SEO plugin and host: [fill in].
Constraints: I do not write code; give me clicks in order. Include verifying the site in Google Search Console and Bing Webmaster Tools, submitting the sitemap in both, and switching on IndexNow if my setup supports it.
Definition of done: a numbered checklist, and for each step how I can see that it worked. Ask me for missing details first.Step 7. Add an llms.txt file as a cheap optional extra
What to do: publish a short Markdown file at /llms.txt in your site root. It tells language models what the site is and links to the pages that matter. It's a proposal, not a standard. Google says Google Search doesn't use it, and I haven't seen solid evidence that the big AI crawlers read it either. It costs almost nothing, so it comes last and stays small.
Tools: Claude or ChatGPT to draft it, and your CMS or your host's file manager to publish it.
This site has one at heyitsaif.com/llms.txt if you want to see the shape. After you publish yours, open the URL and check that it loads. Then paste the file into an assistant and ask it a product question. If it points to the right page, the file is doing its job. If it doesn't, fix the links.
Goal: draft an llms.txt file for QuickBilling, an invoicing app for freelancers and small businesses.
Inputs: these URLs and one line about each: [paste].
Constraints: follow the llms.txt proposal: one H1 with the name, a one-sentence summary as a quote, then short lists of links under H2 headings. Link only to URLs I gave you. Put secondary pages under a heading called Optional.
Definition of done: the file text, plus where to publish it on my host and how to check it loads.Step 8. Re-run the prompt set monthly and track AI referrals
What to do: once a month, run the exact questions from step 1 in the same assistants and log the same three states. Compare with last month.
Tools: the same assistants and spreadsheet, plus Google Search Console and Google Analytics 4.
In Search Console, open the Generative AI performance report. It shows impressions of your pages in AI Overviews and AI Mode, by page, country, device and date. Google says it rolled the report out to all sites by 31 August 2026. If you don't see it, your site probably hasn't had enough impressions in those features yet, or it's excluded from them.
In GA4, go to Admin, then Data display, then Channel groups, and create a custom channel group with a channel called "AI assistants". Google's help page has this exact example, with a ready-made pattern that matches assistants such as ChatGPT, Gemini, Copilot, Claude and Perplexity. If you'd rather not copy it yourself, paste that help page into Claude and ask for the clicks. Move the new channel above Referral in the list, then look at it under Acquisition, in the Traffic acquisition report.
I'd read the trend and ignore any single month. If citations and visits rise together, keep going. If citations rise and visits stay flat, look at the page title and the call to action. And when you lose a citation, read the page that replaced yours. It usually answers the question more directly.
Goal: compare this month's AI visibility for QuickBilling with last month's.
Inputs: last month's table and this month's table, pasted below.
Constraints: use only the tables. No invented numbers. Per question: newly cited, lost, or unchanged, per assistant.
Definition of done: a change table, the three biggest gains and losses, and one page fix for each loss. Ask me if a table is missing.Where to start
The same loop fits QuickBilling, SolutionPlus (my AI product studio in Berlin) and this site. I'm not publishing before-and-after numbers in this post, so take it as a method and not as a case study.
If you want the technical side done for you, from structured data to a fast prerendered site, that's the kind of work I do in product engineering. If you'd rather try it yourself, do step 1 today. The baseline is the step people skip, and without it you can't tell whether anything you did later worked.
Frequently asked questions
Does GEO replace normal SEO?
No. Google says SEO best practices apply to AI Overviews and AI Mode, with no additional requirements. What GEO adds is a citation baseline, answer-first pages and tracking.
How many questions should my prompt set have?
Between 15 and 30. That's enough to cover choosing, using, pricing and switching, and still few enough to re-run by hand each month. A local business can add five questions that name its city.
Do I need a paid AI visibility tracker?
Not to start. There's no official citation dashboard, so a spreadsheet and a monthly re-run of the same questions do the job. Paid trackers such as Profound, Otterly and Ahrefs Brand Radar automate it; check their current plan pages.
Will structured data or llms.txt get me cited?
Neither guarantees it. Google says structured data isn't required for its AI features and that Google Search doesn't use llms.txt. Structured data still helps with rich results, and llms.txt might help with other assistants. Clear answers and real proof matter more.
What matters most for local ranking?
Relevance, distance and how well known the business is, according to Google. Verify your Business Profile, keep its details complete and accurate, reply to reviews and add photos. You can't pay for a better local position.
Sources
- Google Search Central: AI features and your website developers.google.com
- Google Search Central: Optimizing for generative AI features on Google Search developers.google.com
- Search Console Help: Generative AI performance report support.google.com
- Google Search Central: Creating helpful, reliable, people-first content developers.google.com
- Google Business Profile Help: Tips to improve your local ranking support.google.com
- Google Search Central: Test your structured data (Rich Results Test, Schema Markup Validator) developers.google.com
- Google Search Central blog: Changes to HowTo and FAQ rich results (2023) developers.google.com
- Bing: Get started with IndexNow bing.com
- Google Analytics Help: Custom channel groups support.google.com
- The llms.txt proposal llmstxt.org
Talk to me
Building an AI product and need someone senior to own the technical side? Book a free 30-minute call.