GEO: how to write content that AI answers cite as a source

Semih2 min read

Search isn't just ten blue links anymore. Structure, language and technical tips for content that answer engines like ChatGPT, Perplexity and Gemini understand and quote.

A few years ago we’d ask Google a question and check the links one by one. Today we ask an AI assistant the same question and get a one-paragraph answer, with a few source links underneath. GEO (Generative Engine Optimization) is the work of getting into that short source list.

The good news: GEO doesn’t replace SEO; it adds a little more clarity on top of good SEO.

1. Ask in the heading, answer in the first sentence

Answer engines love paragraphs that answer a question directly. If your heading is a question, the first sentence under it should be the short answer. Explanation, examples and detail come after.

  • Bad: “Today, businesses face many different software options…”
  • Good: “A CRM runs the customer side, an ERP runs the inside of the business.”

2. Separate facts from decoration

Sentences like “the best solution in the industry” don’t get quoted; sentences like “stock drops automatically when an order is confirmed” do. Write sentences that are measurable, verifiable and meaningful on their own.

3. Structure is the machine’s reading glasses

Heading hierarchy (H1, H2, H3), lists, tables and short paragraphs make it easier for both people and models to break text into pieces. Put a comparison in a table instead of burying it in a paragraph.

4. Add structured data

Use schema.org to say clearly what a page is: a blog post, a service, a set of frequently asked questions? Every service page on this site marks its Q&A as FAQPage, and every post declares its author and date as a BlogPosting.

5. Make it clear who wrote it

Answer engines weigh how trustworthy a source is. An author name, an about page, a consistent area of expertise and a current date show that the content is a person’s or a brand’s knowledge, not an anonymous page.

6. llms.txt: a short introduction for AI

llms.txt is a new convention that describes what your site is and its most important pages in a plain Markdown file. It’s still being standardised, but it costs almost nothing. On this site it’s generated automatically from the content at build time.

7. Don’t shut the door on crawlers

If your robots.txt blocks AI crawlers, your content won’t show up in those engines’ answers either. Which crawlers to allow is a business decision; just make it a conscious one.

Checklist

Question Yes?
Is the first sentence under each heading an answer?
Are comparisons in tables?
Are author and date visible?
Is there structured data?
Are the sitemap and llms.txt up to date?

This site itself was built to this list; I explained how it works in A site without a database.

More from the rulebook

  1. 1 min read

    A site without a database: content management with Markdown and Astro

    This site uses no database. Posts, projects and services are generated from Markdown files. Why I chose this path and how it works.

  2. 2 min read

    A bilingual site with Astro: wiring hreflang correctly

    How to set up URL structure, shared content keys and hreflang tags in Astro so search engines understand your Turkish and English pages correctly.

Chance

Got a project in mind? Let’s open the box: tell me what you want to build and I’ll prepare a proposal with the scope and a roadmap.