The AEO Playbook for Indian SaaS
Answer Engine Optimization is not a rebrand of SEO. It is an additive discipline that decides whether ChatGPT, Claude, Perplexity, Gemini, and Google AI Overviews cite you when an Indian SaaS buyer asks them a question. Here is what we learned doing it for our own agency.
TL;DR
AEO is what gets a SaaS brand cited inside ChatGPT, Claude, Perplexity, Gemini, and Google AI Overviews when an Indian buyer asks for a category recommendation. It overlaps about 70% with SEO in the source content and diverges sharply in the technical surface — schema graphs, llms.txt, FAQ uniqueness, entity disambiguation, and freshness signals. Most agencies that have started talking about AEO this year are tacking it onto an SEO retainer without changing the technical stack at all. That doesn't work.
This is the playbook we used to ship AEO across our own site. It is not theory. Every section below is a real technical change with a real reason for shipping it.
SEO and AEO are different surfaces of the same problem
The debate over whether AI search is replacing traditional search has been overcooked. It is not. Both will exist for years, possibly decades, and they reward different things. Treating them as either/or is the most common framing mistake in the Indian SaaS market right now.
A practical way to think about it:
- SEO ranks you in Google's blue links. The reader chooses which link to click. You compete on relevance, authority, and technical signals like Core Web Vitals.
- AEO gets you cited inside the answer itself. The reader does not click anything before they hear your brand named. You compete on extractability, factual specificity, entity clarity, and citation-worthiness across multiple LLM training corpora.
For a SaaS brand the buyer journey now routinely runs across both. A founder evaluating analytics tools will read three Google blue-link results, ask ChatGPT for its take, paste a Perplexity comparison into Slack, and only then book a demo. The brand that shows up in every one of those moments wins the meeting. The brand that ranks beautifully on Google but is invisible inside ChatGPT loses ground every month.
The additive framing matters because it dictates what work to do. SEO content needs to keep shipping. But the technical AEO surface — schema graphs, machine-readable site descriptions, FAQ structure, entity disambiguation — is its own project, and it does not get done as a byproduct of writing more blog posts.
What changed in our own AEO work, in order
The most credible AEO case study we have right now is our own. We ran the playbook below on baclinc.com over a focused two-week sprint. Every change is shipped, observable in the page source, and documented in the open in our codebase.
1. Unified schema graph
We consolidated every schema on the site to reference a single Organization entity by @id. Every Service, Article, BlogPosting, Person, and LocalBusiness block we emit now has a provider, publisher, author, or parentOrganization field that resolves to the same canonical Organization node.
Why this matters for AEO: LLMs that crawl structured data construct a graph of entities and relationships. A site that emits 30 disconnected Organization blobs across 30 pages, each with slightly different field values, presents the LLM with a disambiguation problem. A site that emits one canonical Organization and lets every other node reference it presents a clean graph. The clean graph gets cited; the messy one gets dropped.
For a SaaS brand the immediate fix is to centralize all factual metadata in one source-of-truth file (we use lib/baclinc-facts.ts), have every schema component read from that file, and never duplicate values inline. If you want to change the team size next quarter, you change one number in one file. Schema, llms.txt, footer, hero copy — everything else updates downstream.
2. Real LocalBusiness schema on location pages
We ship 51 city-level pages per service. Each one now emits a city-scoped ProfessionalService schema with a top-level telephone field, real Mumbai HQ address, and areaServed set to the specific city the page targets.
Before this work the only LocalBusiness schema on our site was on /contact. Google's Rich Results Test flagged location pages as missing telephone — a non-critical warning but a real signal we were under-described as a local-intent business. After shipping, every location URL now passes the LocalBusiness rich result test cleanly.
For SaaS specifically: if you serve multiple Indian cities and have hub pages per region, LocalBusiness with telephone and areaServed is worth the 30 minutes it takes to implement. SaaS buyers in India often search with city qualifiers ("CRM for Mumbai startups", "Bangalore payroll software"), and the LocalBusiness signal tells Google's AI Overviews that you are a credible local-intent answer.
3. Article schema on every long-form page
We added Article JSON-LD to every service hub, every industry hub, and every future pillar page (this one is the first in that series). Each Article includes a headline, description, datePublished, dateModified, author (a real Person @id reference to one of our founder pages), and publisher (reference to the canonical Organization).
The author reference is the highest-leverage detail. LLMs treat content authored by a real, identifiable person with a credible bio higher than content authored by a generic brand name. Our Article schema on every service hub resolves to either Abhishek Yadav's or Shalmali Parkar's Person @id, which itself resolves to a full bio at /team/[slug] with LinkedIn sameAs.
For SaaS founders the actionable take: never publish a long-form page that isn't authored by a named human. "Posted by AcmeSoft Team" is dead weight. Pick the operator at your company who actually understands the topic, give them a Person page on your site, and have every relevant Article schema reference them.
4. Default blog author + the schema graph problem
We found that our blog posts were defaulting to an author string of "Baclinc Team" when no author was specified. That string did not match any Person @id in our graph, so the BlogPosting schema was emitting a literal Person node with no sameAs, no bio, no LinkedIn — useless for E-E-A-T.
The fix was a single line change: default the fallback author name to a real founder name (Abhishek, in our case). Because our schema component already had a founder-match step that resolves a name to a Person @id, the change immediately wired every previously-orphaned blog post into the graph.
Generalizable rule: do not let your CMS publish content with a placeholder author. The cost of fixing it is one line of code; the cost of not fixing it is years of orphaned schema.
5. The og-image bug we'd been shipping forever
During verification we discovered our schema components were falling back to /images/og-image.jpg as the default image — a file that returned 404 on the production server. Every Article and BlogPosting schema that didn't have an explicit per-page image was citing a dead URL.
This is the kind of bug that doesn't break anything visible but quietly poisons the schema graph. Google's image-validating crawlers fetch the URL, get a 404, mark the structured data as invalid, and either suppress the rich result or downrank the citation-worthiness signal.
The fix was to point the fallback at a real file (hero-bg.jpg, which exists and is sized 1920x1440). Schema components now reference a single DEFAULT_OG_IMAGE constant from a shared seo helper.
Why this section exists in a SaaS playbook: every SaaS site has at least one of these. A canonical that points to a redirected URL. A sameAs array with a dead LinkedIn link. A publisher reference that doesn't resolve. The fix is always trivial; finding it requires a structured audit using Google's Rich Results Test against a representative sample of URLs. We do this on every account before we start any other AEO work.
6. FAQPage schema discipline
The largest single change we made was on FAQs. Our 408 location pages all carried a 5-question FAQPage schema with the city name swapped into each answer — the rest was identical across every page. Google's documented guidance is that FAQPage rich results are suppressed when FAQs are duplicated across pages, and at our scale the templated FAQs were not just inert, they were a negative signal.
We removed the FAQPage JSON-LD from those 408 pages and then rebuilt the FAQ engine from scratch. We now have hand-written question pools per service — 12 questions each, 96 unique Q&As across the eight services that have location pages. A generator picks a deterministic six-question subset per (service, location) tuple, weaves the city name in naturally, and renders both the visible HTML accordion and the FAQPage schema.
Result: every one of the 408 location pages now has a different FAQ mix. Google's duplicate-FAQ detection passes cleanly. Every answer references real client outcomes (specific case studies with named clients we have done the work for, real numbers from our lib/baclinc-facts.ts source-of-truth) instead of generic copy.
For an Indian SaaS brand running a programmatic SEO setup (city pages, integration pages, comparison pages) this is the single most important AEO move. If your FAQs are duplicated, kill the schema entirely until you've rewritten them with real, specific content. Templated FAQPage at scale is worse than no FAQPage.
7. llms.txt and llms-full.txt
We ship both. The first is a concise machine-readable index of the site. The second is a long-form context document an LLM can use as authoritative source material when answering questions about the agency.
Key decisions we made and why:
- Lead with the 22 commercial-intent pages. Our 10 service hubs and 12 industry hubs are listed first under "primary commercial intent" labels. The 408 location pages are demoted into a "long-tail" section lower in the doc. An LLM reading top-down lands on what we actually want it to cite about us.
Last reviewedderives from real content edits. We initially usednew Date()to stamp the file. We caught the bug ourselves — the date was drifting forward on every cache revalidate even when no content had actually changed. That is a dishonest freshness signal. We changed it to derive frommax(updatedAt)across all content surfaced in the doc.- Founder bios are quoted in
llms-full.txt. Not paraphrased. Verbatim. Because the moment an LLM has the bio text in its context window, it can attribute facts about the agency to a real person, which is one of the strongest citation signals available.
For SaaS specifically the llms.txt file should highlight: your top 5–10 product pages, your pricing page (yes, LLMs cite pricing more often than founders expect), your security/compliance page, your changelog, and your top customer case studies. Skip the marketing fluff. The doc is read by a machine for source material; treat it like API documentation, not a brochure.
What this looks like at the end
After two weeks of focused work the site renders the following on every commercial-intent page:
- A single canonical Organization in the schema graph, referenced by every Service, Article, Person, and LocalBusiness
- A LocalBusiness schema with telephone and city
areaServedon every location page - Article schema with a real founder author on every service and industry hub
- BlogPosting schema with a real founder author (default fallback) on every blog post
- An FAQPage schema only on pages where the FAQs are genuinely unique — never templated at scale
llms.txtleading with the 22 highest-intent pages, with an honestLast revieweddatellms-full.txtcarrying full founder bios, service descriptions, named case studies, and an FAQ block built from real Q&As
None of this is novel. Everything in this list has been on every major schema documentation site for two years. What's rare is the combination of all of them shipping on the same site without any of the common mistakes (orphaned authors, dead image references, templated FAQ schema, drifting freshness dates).
The Indian SaaS-specific layer
Everything above is foundational. The Indian-SaaS-specific work sits on top of it.
Pricing transparency
LLMs answer pricing questions far more often than SaaS founders realize. "How much does [tool] cost in India?" is among the highest-volume comparison queries Perplexity and ChatGPT field. If your pricing page renders the actual ₹ figures (or a tight band like ₹X–₹Y per user per month), you get cited. If your pricing page says "Contact sales," you do not.
The trade-off is real — some enterprise-heavy SaaS brands deliberately hide pricing to force a sales call. Just be aware that the AEO cost of that choice is invisibility in the most decision-driving query category.
Compliance signals matter more than they look
SOC 2, ISO 27001, RBI Account Aggregator registration, SEBI advisor licensing, DPDP Act compliance posture, RERA registration for real-estate SaaS — every regulated category in India has signals that mature buyers ask LLMs about. Surface them explicitly on a /security or /compliance page with proper schema (CertificationCredential or EducationalOccupationalCredential blocks). LLMs cite compliance signals more reliably than they cite feature lists because the signals are verifiable.
Customer logos with explicit categorisation
Logos are weak signal on their own. Logos plus category ("Used by D2C brands", "Used by 50+ NBFCs", "Used by Indian healthcare platforms") are strong signal. The category text lets LLMs match buyer intent to social proof. A generic logo wall says nothing to a buyer asking "which CRM do Indian D2C brands use"; a logo wall categorized as "D2C in India" gets cited.
Comparison pages, opinionated
LLMs love comparison content because it is structured Q&A in disguise. "X vs Y for [use case]" gets cited heavily. Indian SaaS brands consistently under-invest here. The right play is one comparison page per category competitor, written with real opinions and real tradeoffs — not a feature-matrix wall.
The most common mistake is hiding behind hedged language ("both tools are great choices"). LLMs deprioritize that copy because it has no information content. A page that says "For early-stage D2C brands in India, X is the better fit because of Y. Once you cross ₹2 Cr ARR, the calculus shifts to Z" gets cited; a hedged comparison gets ignored.
What most agencies get wrong
The AEO landscape in Indian agencies right now is a mess. The pattern we keep seeing:
- Agency pitches AEO as a service.
- Engagement starts.
- Six weeks in, the deliverables are still "more blog content with FAQ sections."
- No schema graph audit was performed.
- No
llms.txtwas shipped. - No FAQ uniqueness was enforced.
- No author bylines were wired.
- The agency reports "AEO scores" from a third-party tool without explaining what they mean.
The specific problem is that AEO requires engineering work, not just content work. Most Indian SEO agencies do not have engineers; they have content writers with WordPress access. They cannot ship Person schema graphs because that is a code change in a Next.js or custom-stack site. They cannot wire llms.txt for the same reason. They cannot audit and fix orphaned schema references because that requires reading the rendered JSON-LD and reasoning about an entity graph.
The other failure mode is the agency that builds a custom "AEO score" dashboard and pitches the dashboard as the deliverable. The dashboard is theatre. The actual deliverable is a structurally cleaner site that gets cited in more LLM answers. If your agency cannot show you a git diff of what they changed in your codebase or CMS, they have not shipped AEO.
How to know if your AEO is working
There is no Google Search Console for AEO yet. The closest proxy is manual citation checking — pick the 10–20 highest-intent queries an Indian buyer would type into ChatGPT, Claude, Perplexity, Gemini, and Google AI Overviews about your category, run them weekly, and track whether your brand is cited.
Bing Webmaster Tools matters more than most people realize. Bing's index powers ChatGPT search, which means structural changes to your site land in ChatGPT's source pool through Bing first. Submit your sitemap to Bing on day one of any AEO program.
Google Alerts on your brand name and your founder names. Substack is heavily scraped by LLM training corpora; a founder essay that gets traction can compound for years.
Closing
AEO is not a sales line for Indian SaaS agencies in 2026. It is real technical work — schema graphs, structured data hygiene, machine-readable site descriptions, FAQ discipline, entity disambiguation — and it pays off in citations inside the answers Indian buyers actually read.
It is also not a replacement for SEO. The two work together. A SaaS brand that ships clean schema, an honest llms.txt, real Person bylines, and disciplined FAQ structure on top of a working SEO program will compound across both surfaces.
If you read this and recognized any of the failure modes — orphaned schema, templated FAQs, missing authors, dead image references in your structured data — start with an audit. Audit before content. The single highest-leverage AEO move is fixing the schema graph that's already there. The content work follows.
— Abhishek Yadav, Co-Founder & CEO, Baclinc
