When we built Semlo, we had one goal: make it easy for store owners to see if ChatGPT can find them.
Then someone on the team asked the obvious question: "Have we run it on ourselves?"
We hadn't. So we did.
What Semlo found when we audited Semlo
The score came back lower than we expected. Here is exactly what was flagged:
AI bots weren't explicitly welcomed. Our robots.txt did not specifically mention GPTBot, ClaudeBot, or PerplexityBot. They weren't blocked — but for AI visibility, explicit is better than implicit. If you don't tell an AI crawler it's welcome, it may deprioritise your site.
We had no llms.txt. This one stung. llms.txt is a simple text file that tells AI engines what your site is about — who it's for, what it does, where to find the important pages. We check for it in every audit we run. We didn't have one ourselves.
Our schema markup was missing. We had no structured data describing what Semlo is, who it's for, or how it's priced. AI engines use this information when deciding whether to recommend a product. Without it, they're guessing from plain text.
Our URL structure added unnecessary complexity. Every page on Semlo lived under a path like /us/en/pricing instead of /pricing. Longer URLs with regional prefixes are harder for crawlers to parse and harder for users to share.
What a Semlo score actually measures
Semlo gives every store a score from 0 to 100 based on four things:
- AI access (40%) — can AI bots visit your site at all?
- Technical signals (25%) — schema markup, sitemap, server-side rendering
- Content signals (20%) — headings, FAQ content, definitions, page quality
- Social presence (15%) — how many channels you have active
When we ran the audit on ourselves, we were failing the AI access check (no explicit bot permissions), the technical check (no schema), and had no llms.txt. Our score reflected it.
What we fixed — and how long it took
We fixed everything in a single weekend.
robots.txt — we added explicit Allow directives for GPTBot, ClaudeBot, OAI-SearchBot, PerplexityBot, and three others. Ten minutes.
llms.txt — we wrote a plain-text description of what Semlo is, who it's for, and where to find key pages. Thirty minutes.
Schema markup — we added Organization, WebSite, SoftwareApplication, and FAQPage schemas to our homepage. The FAQPage schema alone means Google and AI engines can now read our FAQ section as structured question-and-answer data. One hour.
URL structure — we restructured so that English content lives at the root (semlo.io/pricing, not semlo.io/us/en/pricing). We added 301 redirects from old URLs so nothing breaks. Half a day including testing.
None of it required a developer once we knew what to do. That's the point.
Why we're publishing this
Because if we missed these things on our own site — a site built specifically to check these things — store owners are almost certainly missing them too.
And they have no reason to know what to look for. That's not a criticism. Until recently, none of this existed. AI search is new. The best practices are still being written.
Semlo exists to make this legible for people who run stores, not people who run infrastructure.
Check your store
We now run a Semlo audit on ourselves every week. If anything drops, we fix it before the next Monday.
If you haven't checked your store yet, start there. The audit is free and takes 15 seconds.