How to Rank an AI App on Google with Zero Ad Spend
You shipped an AI app. It runs on Vercel, it does something genuinely useful, and you have exactly no budget for ads. A month in, Google has indexed maybe your home page, and zero people with the problem you solve have found you. This is the shape of almost every solo AI product launch. The app works. Discoverability does not.
Before you worry about ranking, worry about being retrievable. Ranking assumes someone can find you at all. Google and the AI answer engines now decide who gets surfaced and who gets cited, and most of that decision happens before any human ever sees your site. So here is the zero-ad-spend roadmap, in the order it works.
Indexable first
Here is the fact most AI app builders miss: AI crawlers mostly do not run JavaScript. A study published in December 2024 that drew on how Vercel-hosted sites behave and on the MERJ crawler project's data found that none of the major AI crawlers rendered JavaScript. They read the raw HTML you send, and if your content is not in it, they never see it. Googlebot is the notable exception, with a full rendering pipeline.
The fix is boring and effective. Prefer static or server-rendered pages over client-side rendering for anything you want found. This site is plain static HTML, on purpose. If your app is a Next.js or Vite SPA that renders everything in the browser, prerender or server-render your public marketing pages and docs.
Then verify. Fetch each page the way a crawler would and check that your key content is in the raw response: curl -s https://your-app.com | grep "your key phrase". If nothing prints, the crawler sees nothing. Do the same for product, pricing, docs, and changelog pages. This one habit catches more indexing failures per minute than any other check you can run.
Internal links should live in the HTML too, not in JavaScript click handlers. A heading that only exists after hydration is a heading that does not exist to most AI crawlers.
Let the right crawlers in
Access comes down to robots.txt, your CDN, and your security layer. Three things to get right:
- Allow the search crawlers. These agents fetch your pages in response to a real question and decide whether to cite you:
OAI-SearchBot,Claude-SearchBot, andPerplexityBot, plusGooglebotandBingbot. Agent names shift and new ones appear, so verify against the current docs. The full breakdown is in Which AI Crawlers Should You Allow? A robots.txt Guide. - Decide separately about training bots.
GPTBot,ClaudeBot, andGoogle-Extendedcrawl to learn, not to cite. Whether to let them is a product decision about your content, not a ranking decision. Many builders block them from everything except public marketing pages. A robots.txt that allows everyone but keeps training bots out:
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: *
Allow: /
- Check your CDN and security layer. Since July 2025, Cloudflare has blocked AI crawlers by default on newly added domains unless you toggle the AI bot settings on. Other security providers do the same. If your app signs up during that window, your AI crawlers may be silently 403'd. The most common reason a site is absent from AI answers is not bad content, it's a firewall. Look for a setting named something like "AI bots," "AI scrapers and crawlers," or "bot fight mode."
And a housekeeping fix: read your live robots.txt at your-app.com/robots.txt and make sure it is not blocking everything. A leftover staging rule like Disallow: / for all agents quietly defunds every other ounce of work you do.
Write answer-first content
Search engines now lift pages verbatim into answers. Google's stated requirement for its AI features is that a page is indexed and snippet-eligible. The page that wins the citation is usually the one that states the answer plainly and early. So structure every content page for quoting.
Put the exact question people ask in the H1. Then state the direct answer inside the first 100 words or so, before any setup and before any story. Support it after. If someone searches "how does [your app] get access to my data," the H1 is close to that and the first sentence is the honest answer.
Three structural habits make pages quotable:
- Clear claims. Say the thing in one sentence, then justify it. No throat-clearing intros.
- Lists. Steps, criteria, and options get absorbed and reused by answer engines. If your content can be a list, list it.
- Tables. Comparisons and specifications are citation magnets. A pricing comparison, a feature matrix, a capabilities table: those are the exact shapes AI answers quote.
Keep a key card near the top of each page: what it does, who it is for, price, platforms, limits. That block is what gets lifted into overviews and sidebar answers. The full treatment is in How to Write Content AI Search Engines Cite.
Turn your app into an entity
Answer engines do not reason about URLs, they reason about entities: things with consistent names, descriptions, and relationships. Your goal is to make your app a recognizable, single entity everywhere it appears. The consistency checklist:
- One canonical brand name. Pick a spelling and casing and use it everywhere: site, docs, social, app stores, directories. Do not alternate.
- One logo and color identity. Reference the same logo file on the site, social profiles, and any listings.
- Linked profiles. Link from your site to your X, GitHub, LinkedIn, and Product Hunt profiles, and link back to your site from them.
- Published authorship. Real author pages, dated posts, an about page that says who built what. Anonymous sites earn less trust from systems that evaluate authority.
Then add structured data. JSON-LD SoftwareApplication and Organization schema tell Google you are a software product, not an anonymous page. Add BreadcrumbList for navigation context and keep a self-referencing canonical link on every page so nothing gets split into duplicate entities. I cover the working details in schema markup for AI search.
Finally, publish an llms.txt file listing your best pages for AI systems. It exists so machines can orient themselves quickly, and it doubles as a deliberate statement of what you want to be known for. When and how is in llms.txt Explained: Do You Actually Need One?
Link pages like a hub, not a pile
Every page should be a spoke connected to a hub. Keep it three clicks deep at most. From the home page, a visitor should reach any page in the site within three clicks, and crawlers should be able to follow the same path in raw HTML.
Use keyword-rich anchor text. "How [your app] compares to GPT for legal drafting" tells a crawler what the target page is about. "Click here" tells it nothing. Every time you name a capability, feature, or doc, link it if it exists. That is how topical relevance accumulates across pages, and it is the cheapest authority building available to a zero-budget app.
Never orphan a page. If pricing, a sales page, or a docs page exists but nothing links to it, it is invisible to both crawlers and users. Audit it like this: list every page, then confirm each one receives at least one internal link from a page that itself receives links. This is the same hub-and-spoke architecture behind Programmatic SEO 101, where every generated page feeds the same hub.
Measure being cited, not just clicked
Most of the value of zero-ad-spend AI visibility produces no click. When an AI Overview or a ChatGPT answer names your app, the user often never visits, and your analytics shows nothing. The win is real and invisible. So measure both kinds:
- Search Console. Impressions are your leading indicator. Watch question-style queries gain impressions while clicks stay at zero, a pattern that usually means an AI feature is showing you above the organic results. Also watch branded queries, which rise when people hear about you from an assistant and then search for you directly.
- A repeatable prompt test. Ask each engine the same set of questions every week and note whether you appear or get cited. Same prompts, same engines, same order, and a spreadsheet of yes or no. It is the only AI rank tracker that costs nothing and it is honest. The full method, including server-log signals and a GA4 setup, is in How to Track AI Search Visibility and the AI Search Visibility guide.
A citation with no click still answers the question with your name, and that is the top of the funnel no one else can buy.
The long game
Zero ad spend was never free. It trades cash for time: weeks of indexing, months of linking and content, and constant iteration against what the prompt tests show. That is the plan. Nothing here depends on a budget, only on working the checklist and repeating it.
| Layer | What it does | The failure mode |
|---|---|---|
| Indexable HTML | Makes content visible to JS-averse crawlers | Client-side rendering serves AI bots a blank shell |
| Crawler access | Lets search bots read you | A Cloudflare AI-bot default or a staging robots.txt blocks everything |
| Answer-first content | Gets your page quoted | Answers buried behind intros, so nothing is snippet-eligible |
| Entity signals and schema | Tells engines what you are | Scattered names and no structured data, so you read as noise |
| Internal links | Builds topical depth | Orphaned pages no crawler path can reach |
| Measurement | Shows what is working | Conflating citations with clicks, then quitting on the invisible wins |
Ranking an AI app is two jobs in one: teaching the machines what it is, and proving it is worth answering with. Patch the first, build the second, and recheck the table every month. Everything else compounds.
Want this done for your product?
Crawled SEO helps founders and small teams get found, cited, and recommended in Google and AI search. If you have an app with no traffic and want it fixed properly, that is exactly what we do.
Request your free audit