Early this year, every tech newsletter urged indie SaaS founders to chase Generative Engine Optimization (GEO): write an llms.txt, add AI-only schema, and sculpt content for AI crawlers. When the founder of Mimi Seed—a lightweight MCP server for mobile app releases—decided to test the hype, he skipped the weekend sprint and opened Google Search Console instead. What he discovered was unexpected: optimizing for AI answers didn’t matter yet. His site wasn’t being discovered at all. The bottleneck wasn’t markup—it was visibility. Here’s what the data showed, the three fixes that actually moved the needle, and the two roadblocks that tripped him up.
The GEO myth that cost a weekend
Mimi Seed is an open-source tool that lets indie developers push Play Store, App Store, and Firebase releases directly from inside AI coding assistants. With a tiny audience and limited time, the founder was tempted to chase the latest growth tactic—GEO—after seeing months of headlines claiming it would unlock sudden traffic surges.
A curated list titled awesome-geo offered a reality check. Its core thesis: most so-called GEO advice is repackaged SEO with an extra markup layer. Key points that stood out:
- Google has stated publicly that optimizing for AI Overviews is the same as traditional SEO—no new schema required.
- The
llms.txtfile is a community draft, not an official standard. Google has no plans to adopt it, and treating it as mandatory is hype. - Bing and Copilot do ask for special signals like FAQ markup and structured tables, but Google does not.
- Across all engines, the real common denominator is clear authorship, consistent entity identity, canonical URLs, and being cited by trustworthy external sources.
That last point turned out to be the entire game. But instead of relying on third-party opinions, the founder pulled 90 days of search data from Google Search Console.
What the Search Console data revealed
The landing page lived on a subdomain that shared a Search Console property with the parent domain. Filtering the data revealed a bleak picture:
- Only one URL had any impressions: the homepage. It logged 19 impressions, 0 clicks, and an average position of 6.2.
- Every impression was anonymized—meaning they came from low-volume, brand-like searches with no actionable insights.
- URL inspection confirmed the page was indexed, canonicalized correctly, and crawled without issues. The problem wasn’t indexing—it was discovery.
- The entire backlink profile consisted of a single referring URL: an npm mirror on Libraries.io. No external citations, no organic discovery.
The data reframed the entire problem. There was no snippet wording to tweak, no AI-readability to fix. The issue was impressions—being found at all. And the lever for that, as both the data and the contrarian list suggested, was external citations—classic SEO—not AI-specific markup.
Three SEO fixes that moved the needle
No llms.txt. No secret AI schema. Just plain, old-fashioned SEO hygiene that actually worked.
1. Building a cohesive entity graph.
The existing JSON-LD was a single SoftwareApplication object. It was replaced with a full @graph that linked an Organization, WebSite, and SoftwareApplication together. The critical addition was a sameAs array that tied the website to the GitHub repository and both npm packages:
{
"@context": "
"@graph": [
{
"@type": "Organization",
"@id": "
"name": "Mimi Seed",
"sameAs": [
"
"
"
]
},
{
"@type": "WebSite",
"publisher": { "@id": " }
},
{
"@type": "SoftwareApplication",
"publisher": { "@id": " }
}
]
}This structure tells search engines that the website, GitHub organization, and npm packages are facets of the same entity. For a project that recently changed names, consolidating identity signals is the highest-leverage markup change possible.
2. Submitting a clean sitemap.
The generated sitemap listed fragment URLs like /#install, /#features, and /#cli. What most guides miss is that Google strips fragments during indexing—they collapse to the root /. These URLs added zero coverage and only created noise. Worse, the sitemap also included /tool, which was blocked by robots.txt, triggering a "Submitted URL blocked by robots.txt" warning. Since Mimi Seed is a single-page app, the honest sitemap is exactly one URL. Trimming it down and submitting it resulted in Google fetching it within seconds—0 errors, 1 URL indexed, and immediate confirmation that fragment deduplication was working.
3. Creating a dedicated Search Console property.
The subdomain was previously rolled up under the parent domain’s property, muddying the data. Adding a URL-prefix property for the subdomain separated its impressions and positions from unrelated sites. While it’s a reporting fix, clean data is essential for making informed decisions.
Two avoidable roadblocks that wasted time
Even with clear direction, two technical oversights consumed more effort than the actual SEO work.
Static asset caching in Next.js.
Google’s site verification required a google.html file served at the root. Dropping it into the public/ directory returned a 404, even though other files in the same folder like /icons/...png returned 200. The running server had snapshotted the public file list at build time and never rescanned. A graceful reload fixed it—the file existed on disk the entire time. If you hot-patch a static file into a running Node server and it 404s while sibling files don’t, restart the server instead of debugging the path.
API credentials vs. browser sessions.
An attempt to submit the sitemap programmatically failed with a flat 403: insufficient permission for the new property, even though browser-based verification had just succeeded. The discrepancy stemmed from using an API token tied to the parent property rather than the newly created subdomain property. The fix required generating a fresh token scoped to the new property. Always verify permissions using the same context as your automation tools.
The bottom line: GEO is still SEO
The viral GEO advice sounds like a shortcut to AI-powered growth. But when tested against hard data, it collapses into familiar SEO fundamentals: clear entity identity, clean indexing, and external citations. For indie developers with limited resources, chasing AI-specific markup before fixing basics is like polishing a mirror while the room is dark. The real growth lever is being found—first by humans, then by machines. Once the site is discoverable, the rest follows naturally.
AI summary
A solo developer tested GEO advice on his indie tool and found zero traffic change. The fix wasn’t AI markup—it was classic SEO. Here’s the GSC data and three fixes that worked.