Requests
Top bots
Visitors by country
Status codes
What AI bots do on the shop, split by why they come: a person asking an assistant right now, an AI search index that lets assistants cite and link the shop, or a crawler collecting content for training. Every section explains how to read it. The period and the date filter above apply; the "Who" and status filters do not.
How it is calculated
Four parts of 25 points, each a share between 0 and 1: AI crawl success = page requests by AI bots answered OK ÷ all their page requests; AI search coverage = pages people opened that an AI search or real-user AI fetch also read ÷ pages people opened; Real people asking AI = days with a real-user AI fetch ÷ days in the period; Visits from AI chats = days with a visit from an AI chat ÷ days. Training crawlers do not count. 90+ A+, 80+ A, 70+ B, 60+ C, 50+ D, below F. Hover a bar for its numbers.
What the log says
Findings written from the numbers of this period, most important first. Each one says what it means and what to do; the GEO checklist turns them into tasks you can tick off.
GEO funnel: AI reads → visits → cart
The path from an assistant reading a page to a sale. Read for people: ChatGPT-User, Claude-User, Perplexity-User… fetched the page because someone asked about it. Visitors from AI chats: people who then clicked the shop in the answer and landed on that page. Opened the cart: those visitors who later opened /cart (same IP, same period; checkout itself is not logged). A page that is read often but gets no visitors needs a clearer reason to click (price, unique detail); a page with visitors but no cart needs a better offer.
Pages read for people: trend
Real-user AI fetches per page in this period compared with the previous period of the same length. Rising pages are what buyers ask assistants about more and more: keep them accurate and complete.
New in AI answers
Pages an assistant fetched for a person for the first time ever in this period: a sign the page has just started to appear in AI answers.
AI activity per day
Requests per day by purpose; the dashed line is people arriving from AI chats. A sudden drop of the blue line (AI search) usually means a block (robots.txt, Cloudflare rule, errors).
AI bots by purpose
Click a bot to see its requestsAnswered = share of requests answered 2xx. Verified = share Cloudflare confirmed comes from the real company (a low share means some requests use the bot's name without being it). Suggested action: keep real-user and AI search bots allowed; training crawlers are your choice.
AI companies: cost and benefit
Per company: how much its bots take (requests, cart attempts, errors) and what it gives back (visitors from its chat). Requests per visit high or "no visits" = the company reads a lot and sends nobody: blocking its training crawler costs nothing. A crawler that keeps reading pages robots.txt forbids ignores robots.txt: block it in Cloudflare with the rule shown.
AI shopping agents
Bots that open cart links (/cart/<variant>:<qty>): an AI agent trying to put products in a cart for a user or to check prices. Shopify answers 429 (rate limit) when they go too fast. Today this is mostly Meta; it is the start of assistants that buy, so watch it rather than block it.
Pages AI reads
Every page and file AI bots requested, with the count per purpose. Pages with many real-user fetches matter most for sales; run them through Page audit.
Visits from AI chats
People who clicked a link to the shop in an AI assistant (external referrer of the assistant, or utm_source=chatgpt.com…). Only page views count; one visitor = one IP.
What AI bots request
Request types: shop pages, cart links, app / API endpoints, feeds and sitemaps, robots.txt / llms.txt. Many app or cart requests mean bots spend effort where there is nothing to read.
AI requests with errors
404 / 403 / 429 / 5xx answered to AI botsAn error is a page the assistant could not read. 404 and 5xx on shop pages are worth fixing; 403 on app endpoints and 429 on cart links are normal protection.
Internal link opportunities
Left: pages people open that no AI search or real-user AI fetch reached in this period. Right: the pages AI bots read most. Add links from the right-hand pages to the left-hand ones (menus, "related" blocks, blog posts) so AI crawlers find and index them.
Not reached by AI search yet
Pages AI bots read most (link from here)
A to-do list for GEO (being found and quoted by AI assistants), built from the log, robots.txt, llms.txt and the page audits. Tick a task when it is done: the state is saved for everyone. Tasks disappear by themselves when the log no longer shows the problem.
GEO checklist
robots.txt: who may read what
The shop's live robots.txt checked for each AI and search crawler: can it read the home page, products, collections and blog posts? Real-user and AI search bots must be allowed, or the shop cannot be cited. Training crawlers are your choice. Shopify: Online Store → Themes → Edit code → robots.txt.liquid.
Who read robots.txt / llms.txt
Suggested lines (block training only)
Current robots.txt
llms.txt
/llms.txt is a short Markdown file that tells assistants what the shop is and which pages matter (llmstxt.org). It is a proposal, not a standard every assistant reads, but it is cheap. Below: whether it exists, which pages AI reads that it does not list, and a draft built from the pages AI and people use most (edit the descriptions before publishing).
Draft llms.txt
Current llms.txt
Each page is downloaded the way an AI crawler sees it: no JavaScript, only the HTML. The checks show what an assistant can read and quote: reachable, not noindex, title and description, structured data (Product with price and stock, ratings, FAQ), enough text, questions answered, listed in llms.txt. Score = weighted share of checks passed. Results are saved.
Page audit
The most direct GEO test: ask assistants, with their web search on, the questions buyers ask, and check whether the answer names Rowabi or links a rowabi.com page, and which sites it cites instead. Uses the API keys of the Worker (ANTHROPIC_API_KEY, OPENAI_API_KEY, PERPLEXITY_API_KEY): each question costs about $0.01–0.03 per assistant. Answers change from day to day; repeat the same questions monthly and compare.
Ask AI assistants
Names and domains to look for
An answer counts as Named when it contains one of these names as a whole word (any case), e.g. the brand, product lines or best sellers: Rowabi, Kloe, Naia, Lumiere. Avoid common words ("Star", "Lotus") that would match other things. Linked = a cited source is on one of the domains. Saving checks the saved answers again with the new names, without asking the assistants again.
Answers
Named = the answer contains one of the names below (which ones, and how many times). Linked = a rowabi.com page is among the cited sources. Rank = position of rowabi.com among the cited sites. Cited instead = the sites the assistant trusted: study their pages.
One snapshot per day, saved by the cron after the day ends (Vietnam time), so the trend survives after the raw log lines are deleted (60 days). A day marked "partial" started before logging began. Use Print / save as PDF for a report to share.
GEO history
Daily score uses the same four parts as the AI report, for one day (so "real people asking AI" and "visits from AI chats" are 0 or 25). Look at the trend, not one day.