Back to Category

GEO for SaaS: The 5-Minute Playbook to Get AI to Recommend Your Product [2026 Guide]

10 min readIndieRadar Team
GEO for SaaS: The 5-Minute Playbook to Get AI to Recommend Your Product [2026 Guide]
Daily Newsletter

5 min/day to stay sharp

Daily digest: launches, revenue milestones, and growth tactics from top indie hackers.

GEO for SaaS: The 5-Minute Playbook to Get AI to Recommend Your Product

Google isn't the only search engine anymore.

Millions of people now ask ChatGPT, Perplexity, and Claude for product recommendations. "What's the best project management tool?" "Which email newsletter platform should I use?" "Best analytics tool for indie hackers?"

If your SaaS doesn't show up in those answers, you're invisible to a growing chunk of potential customers.

The fix? GEO — Generative Engine Optimization.

It's like SEO, but for AI. And here's the good news: it takes about 5 minutes to set up.

TL;DR

  • GEO = making your site readable and recommendable by AI assistants
  • You need 3 things: allow AI crawlers, create an llms.txt file, add structured data
  • Total implementation time: ~5 minutes
  • Copy-paste code snippets included below

What Is GEO (And Why Should You Care)?

GEO stands for Generative Engine Optimization.

Traditional SEO optimizes your site for Google's crawlers and ranking algorithm. GEO optimizes your site for AI models like GPT-4, Claude, and Gemini.

Here's the difference:

SEOGEO
Ranks pages in search resultsGets cited in AI-generated answers
Optimizes for keywordsOptimizes for clarity and facts
Targets GooglebotTargets GPTBot, ClaudeBot, PerplexityBot
Meta tags matterStructured data matters more

Why does this matter?

Because search behavior is changing fast:

  • Perplexity processes millions of queries daily
  • ChatGPT with browsing enabled is used by 100M+ people
  • Claude, Gemini, and Copilot are all gaining ground

When someone asks an AI "what's the best tool for X?" — you want to be in that answer.

The bottom line: If AI can't understand your site, it can't recommend your product. GEO fixes that.


The 3 Pillars of GEO

GEO comes down to three things:

  1. Let AI crawlers in — Update your robots.txt
  2. Explain your product — Create an llms.txt file
  3. Structure your data — Add schema markup

Let's implement each one.


Step 1: Allow AI Crawlers in robots.txt (1 minute)

By default, some sites block AI crawlers. You need to explicitly allow them.

Here are the main AI crawlers you should allow:

CrawlerWho Uses It
GPTBotChatGPT training and browsing
ChatGPT-UserChatGPT with browsing enabled
ClaudeBotAnthropic's Claude
Anthropic-AIClaude training
PerplexityBotPerplexity AI search
Google-ExtendedGoogle's Gemini and AI features

For Static Sites (Plain robots.txt)

Create or edit your robots.txt file in your site's root:

# Standard crawlers
User-agent: *
Allow: /
Disallow: /dashboard/
Disallow: /api/

# AI Crawlers - explicitly allowed for GEO
User-agent: GPTBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: Anthropic-AI
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Google-Extended
Allow: /

Sitemap: https://yoursite.com/sitemap.xml

For Next.js (Dynamic robots.ts)

If you're using Next.js, create app/robots.ts:

import type { MetadataRoute } from "next"

export default function robots(): MetadataRoute.Robots {
    return {
        rules: [
            // Standard crawlers
            {
                userAgent: "*",
                allow: "/",
                disallow: ["/dashboard/", "/api/"],
            },
            // AI Crawlers
            {
                userAgent: "GPTBot",
                allow: "/",
                disallow: ["/dashboard/", "/api/"],
            },
            {
                userAgent: "ChatGPT-User",
                allow: "/",
                disallow: ["/dashboard/", "/api/"],
            },
            {
                userAgent: "ClaudeBot",
                allow: "/",
                disallow: ["/dashboard/", "/api/"],
            },
            {
                userAgent: "Anthropic-AI",
                allow: "/",
                disallow: ["/dashboard/", "/api/"],
            },
            {
                userAgent: "PerplexityBot",
                allow: "/",
                disallow: ["/dashboard/", "/api/"],
            },
            {
                userAgent: "Google-Extended",
                allow: "/",
                disallow: ["/dashboard/", "/api/"],
            },
        ],
        sitemap: "https://yoursite.com/sitemap.xml",
    }
}

Pro tip: Always disallow private routes like /dashboard/ and /api/. You want AI to read your public content, not your internal APIs.


Step 2: Create an llms.txt File (2 minutes)

The llms.txt file is like a README for AI crawlers. It tells them:

  • What your product does
  • Who it's for
  • Key facts and features
  • Important pages to read

Think of it as a cheat sheet that helps AI understand your product quickly.

Basic llms.txt (Static)

Create a file called llms.txt in your public folder:

# Your Product Name

> One-sentence description of what you do.

Your Product is a [type of product] for [target audience]. We help [specific benefit].

## Key Facts
- Founded: 2026
- Audience: [Who uses it]
- Pricing: [Price]
- Main Features: [Feature 1], [Feature 2], [Feature 3]

## Docs
- [Homepage](https://yoursite.com/): Main landing page
- [Pricing](https://yoursite.com/pricing): Plans and features
- [Blog](https://yoursite.com/blog): Guides and tutorials

## Optional
- [Terms](https://yoursite.com/terms)
- [Privacy](https://yoursite.com/privacy)

Dynamic llms.txt (Next.js)

For auto-updating content (like pulling in latest blog posts), create app/llms.txt/route.ts:

import { NextResponse } from "next/server"

export const revalidate = 3600 // Cache for 1 hour

export async function GET() {
    // Optional: Fetch latest blog posts from your database
    // const posts = await fetchLatestPosts()

    const content = `# Your Product Name

> One-sentence description of your product.

Your Product is a [type] for [audience]. Key benefit in one line.

## Key Facts
- Founded: 2026
- Audience: [Target users]
- Pricing: $X/month
- Features: [Main features]

## Docs
- [Homepage](https://yoursite.com/)
- [Pricing](https://yoursite.com/pricing)
- [Blog](https://yoursite.com/blog)
`

    return new NextResponse(content, {
        headers: {
            "Content-Type": "text/plain; charset=utf-8",
            "Cache-Control": "public, max-age=3600",
        },
    })
}

What makes a good llms.txt:

  • Be specific — Use real numbers ("$9/month", "10,000+ users")
  • Lead with facts — AI loves concrete data points
  • Keep it scannable — Bullet points and short sections
  • Update regularly — Stale info = stale recommendations

Step 3: Add Structured Data / Schema Markup (2 minutes)

Structured data helps AI understand the type of content on your page. Is it a product? An article? A FAQ?

The more context you give, the better AI can match your page to relevant queries.

Essential Schemas for SaaS

Here are the most useful schema types:

Schema TypeUse For
ProductYour main product/service page
FAQPageFAQ sections (great for featured snippets)
ArticleBlog posts
OrganizationCompany info
SoftwareApplicationSaaS tools

Product Schema (Homepage)

export function ProductSchema() {
    const schema = {
        "@context": "https://schema.org",
        "@type": "Product",
        name: "Your Product Name",
        description: "One-line description of your product.",
        brand: {
            "@type": "Brand",
            name: "Your Company",
        },
        offers: {
            "@type": "Offer",
            price: "9.00",
            priceCurrency: "USD",
            availability: "https://schema.org/InStock",
        },
        image: "https://yoursite.com/logo.png",
        url: "https://yoursite.com",
    }
    
    return (
        <script
            type="application/ld+json"
            dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
        />
    )
}

FAQ Schema

FAQs are gold for GEO. AI assistants love citing FAQs in their answers.

export function FAQSchema({ questions }: { 
    questions: { question: string; answer: string }[] 
}) {
    const schema = {
        "@context": "https://schema.org",
        "@type": "FAQPage",
        mainEntity: questions.map((faq) => ({
            "@type": "Question",
            name: faq.question,
            acceptedAnswer: {
                "@type": "Answer",
                text: faq.answer,
            },
        })),
    }
    
    return (
        <script
            type="application/ld+json"
            dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
        />
    )
}

// Usage:
<FAQSchema questions={[
    {
        question: "What does your product do?",
        answer: "We help [audience] do [thing] by [method]."
    },
    {
        question: "How much does it cost?",
        answer: "$9/month for the Pro plan. Free trial available."
    },
]} />

Pro tip: Write FAQ answers in complete sentences. Start with the direct answer, then add context. This is exactly how AI wants to cite you.


The Complete GEO Checklist

Here's everything in one place:

Files to Create/Edit

FilePurposeTime
robots.txt or app/robots.tsAllow AI crawlers1 min
public/llms.txt or app/llms.txt/route.tsAI-readable summary2 min
Schema componentsStructured data2 min

AI Crawlers to Allow

  • ✅ GPTBot
  • ✅ ChatGPT-User
  • ✅ ClaudeBot
  • ✅ Anthropic-AI
  • ✅ PerplexityBot
  • ✅ Google-Extended

Schemas to Add

  • ✅ Product (homepage)
  • ✅ FAQ (wherever you have FAQs)
  • ✅ Article (blog posts)
  • ✅ Organization (footer or homepage)

How to Verify Your GEO Setup

After deploying, run these checks:

1. Test your llms.txt:

curl https://yoursite.com/llms.txt

You should see your markdown content.

2. Test your robots.txt:

curl https://yoursite.com/robots.txt

Look for GPTBot, ClaudeBot, and other AI rules.

3. Test your schemas:

Go to Google's Rich Results Test and paste your URL. You should see Product, FAQ, and other structured data detected.

4. Ask an AI about your niche:

The real test? Ask Perplexity or ChatGPT something like:

"What's the best [your product category] for [your audience]?"

Check if your product shows up. If not yet, give it time — AI indexes aren't instant.


Common GEO Mistakes to Avoid

1. Blocking AI crawlers by accident

Some security plugins or default configs block all bots. Always check your robots.txt after deploying.

2. Writing vague llms.txt content

Bad: "We help businesses grow." Good: "We send 10,000+ indie hackers a daily digest of the best tweets about building startups. $3/month."

Specific beats vague. Every time.

3. Forgetting to update schemas

If your pricing changes from $9 to $3, update your Product schema. Outdated info can hurt trust.

4. No FAQ content

FAQs are the easiest win. AI loves citing Q&A format content. Add them to your homepage and blog posts.


Want more playbooks like this? We send tactical guides for indie hackers daily. Join 10,000+ founders getting the signal, not the noise → Subscribe to IndieRadar


FAQ

What is GEO?

GEO stands for Generative Engine Optimization. It's the practice of optimizing your website so AI assistants like ChatGPT, Claude, and Perplexity can understand and recommend your product.

How is GEO different from SEO?

SEO focuses on ranking in Google's search results. GEO focuses on being cited in AI-generated answers. Both use crawlers, but the optimization strategies differ — GEO prioritizes structured data and factual clarity over keyword density.

How long does GEO take to work?

AI models don't update in real-time. It can take days to weeks for changes to reflect in AI responses. Be patient and keep your content fresh.

Do I need GEO if I already have good SEO?

Yes. SEO and GEO serve different search behaviors. Many users now skip Google entirely and go straight to AI assistants. Without GEO, you're invisible to that audience.

Is llms.txt an official standard?

It's an emerging convention, not an official standard. But major AI companies recognize it, and having one can't hurt. Think of it as a README for AI crawlers.


Start Getting Found by AI Today

GEO isn't complicated. It's just new.

Five minutes of work — robots.txt, llms.txt, a few schemas — and your SaaS becomes visible to a whole new channel of discovery.

AI search isn't replacing Google. It's adding to how people find products. The founders who optimize for both will have an edge.

Set up your GEO stack today. It's free, it's fast, and it compounds over time.


Get more playbooks like this delivered daily. IndieRadar curates the best tactics, launches, and tools for indie hackers — powered by AI, polished by humans. Subscribe free →

I
Written by

IndieRadar Team

Daily newsletter for indie hackers. We analyze 10,000+ tweets and deliver the signal.

Daily Newsletter

Join 10,000+ indie hackers building in public

We curate the top launches, revenue milestones, and growth tactics — so you don't have to scroll for hours.

Trusted by indie hackers shipping real products.

Read Next