My side project gets most of its traffic from ChatGPT, not Google. Here is the schema work behind it.
A few weeks ago I opened Google Analytics for a passport-photo tool I build and maintain, and the traffic-source breakdown stopped me:
- chatgpt.com — 65% of sessions
- google / organic — about 6%
- direct — the rest
Then I checked Bing Webmaster Tools, which has a new "AI Performance" tab, and saw the site had picked up 45 citations from Microsoft Copilot over three months.
The site is barely three months old. It has almost no backlinks. On Google it ranks on page 3-5 for anything competitive. And yet AI answer engines were sending it the bulk of its visitors.
This post is the honest engineering breakdown of what I did to make the site machine-citeable — what I think worked, what I cannot attribute, and the code. It is a Next.js App Router project, but the techniques are framework-agnostic.
Why this happens at all
AI answer engines (ChatGPT search, Perplexity, Copilot, Gemini) do not rank ten blue links. They synthesise an answer and cite a few sources. For a new site this is a genuinely different game from classic SEO:
- Classic SEO: you need domain authority and backlinks to rank. That takes 6-12 months minimum for a new domain.
- AI citation: the engine needs a page that clearly and verifiably answers the user's question, is crawlable, and is structured so the answer is easy to extract. Domain age matters far less.
A three-month-old site cannot outrank an established competitor on Google. But it absolutely can be the cleanest, most extractable answer to a specific question — and that is what gets cited.
What I shipped
1. llms.txt
There is an emerging convention, , a free browser-only passport photo tool. The country-spec dataset is open at github.com/whitetirocket/passport-photo-specs. Happy to answer questions about the schema setup in the comments.
SOCIAL SHARE CARD GENERATOR