# What Rabbot is, and what it is not

> The whole model on one page: what healthy looks like for your store, the witnesses Rabbot reads, what it never does, the two feed checks, how often it looks, and what to run alongside it.
> Category: Getting started
> Canonical: https://rabbot.ai/docs/getting-started/what-rabbot-is-and-is-not/
> Updated: 2026-10-08

---

## The one-paragraph version

Rabbot knows what healthy looks like for your store, notices when reality deviates from it, works out how widely it broke and what it touched, and tells you before you have to discover it yourself. It is a Shopify app that installs with read-only access and writes only when you tap a fix. It reads your pages the way a search engine does, compares each page with the last time it looked, and raises a finding when something changed for the worse. The free plan is free forever, no card required.

## What healthy looks like

A sale needs a chain of things to hold at once, and Rabbot's picture of a healthy store is that chain intact. The store answers, and each product page returns a real page, not an error or a run of redirects. Search engines are allowed to index the page: no stray noindex tag, no blocked path in robots.txt, a canonical tag that points at the page itself, a sitemap that still loads. The title, meta description, headings, structured data, and language tags are present and say what they should. The add-to-cart form is in the page's HTML. The price, the availability, and the required product fields match what the storefront shows. And Google, Meta, or TikTok (Beta) has not disapproved, demoted, or rejected the product.

Rabbot learns that picture from your own store on the first check, then measures every later check against it. When a link in the chain breaks, it names the page, the change, and what to do about it. [Understanding issues](/docs/issues/severity-levels/) explains how findings are ranked.

## The witnesses Rabbot reads

Rabbot does not bet a verdict on one scripted robot walking through your store. It reads evidence from independent witnesses and reports what they agree on.

The first witness is integrity: what the storefront is made of. Pages, structured data, canonical tags, product forms, the scripts and styles your theme depends on, and the product data behind your feeds. Rabbot checks that your storefront's code files load and are valid code. A file the product form needs that stops loading is caught here, and the card names the file and when it stopped. A syntax check catches syntax errors only, and valid code can still be broken. Valid JavaScript that behaves wrongly is not caught, because Rabbot does not run it.

The second witness is capability: whether Shopify still accepts the sale. Availability, price, and the product data a shopping channel reads, checked against what the live page shows, and whether Shopify's own catalog for shopping agents still offers the product. A product your admin shows for sale that the catalog lists as unavailable on two checks in a row is a finding.

The third witness is outcome: whether real shoppers are still progressing to a purchase. On Growth and above, once you switch the revenue line on, Rabbot reads it from Shopify's own shopper numbers once a day, after your day ends, and reports the morning after. When integrity and capability both look healthy and your sales fall, Rabbot says it cannot see the cause, rather than inventing one. On Free and Starter, shopper impact is not monitored. [The three witnesses, and the revenue line](/docs/monitoring/the-three-witnesses/) has the detail.

The outcome figure is an observed difference, never a claim of cause. During a gap Rabbot has recorded, such as a product missing from a channel, it compares sales during the gap with the four weeks before. The comparison uses the same days of the week in each of those weeks, and the result is shown as a range. Other things move sales in the same window: seasonality, promotions, stock, ads, price changes. Rabbot reports the dates and the totals. It does not claim the cause.

Every finding is written as an observed sequence: which page, what changed, when it started, which witnesses agree. Rabbot never writes "probably" or "likely", and never guesses at a cause.

## What Rabbot reads

Rabbot reads three sources, and a fourth only if you switch it on. Your storefront HTML: Rabbot fetches the page a shopper's browser would receive and reads the markup your store serves, including the data payloads modern themes embed for their own scripts. Your Shopify product data, through three read permissions: `read_products`, `read_content`, and `read_themes`. Two more are asked only if you choose them, each through Shopify's own prompt: a read permission for sales reports when you switch the revenue line on, and write access the first time you tap a fix. And, if you connect one, the verdicts of a channel: Google Merchant Center and Search Console on one connection, Meta, or TikTok (Beta). Rabbot reads what that channel decided about your products and changes nothing there. The fourth source is Shopify's own daily sales totals, read only while the revenue line is on.

[How Rabbot checks your store](/docs/monitoring/how-rabbot-checks/) walks through a single check in detail.

## What Rabbot never does

Each line below is a position Rabbot holds, not a gap it means to close.

- Rabbot uses no browser. No headless browser is involved at any point. Rabbot never clicks, scrolls, picks a variant, submits a form, or signs in as a customer.
- Rabbot runs no test checkout and no synthetic shoppers. Checkout runs on Shopify's own domain, outside what Rabbot looks at. Rabbot can tell you the add-to-cart form is missing from a page. It cannot tell you a shopper's click succeeded.
- Rabbot holds no customer or order rows. It never asks for your customers, your orders, or your payment details.
- Rabbot writes nothing on its own. A fix you tap puts an SEO title, SEO description, search visibility (noindex) setting, web address or redirect back after you confirm it, and you can undo it for 30 days. A chain pointed straight at its end is the one fix with no undo, and the card says why. Rabbot never touches price, inventory, availability or your theme. [Fixes you can tap](/docs/issues/fixes-you-can-tap/) lists each one, and the [trust page](/trust/) lists the install grant.
- Rabbot tracks nobody on your storefront. It adds no pixel, script, or cookie to your storefront, and it never sees your shoppers.
- Rabbot makes no predictions. It reports what a check observed. It does not forecast a ranking or a fall in sales.

## The two feed checks, by name

Rabbot does two different things with feeds, and the names matter.

The feed cross-check is Rabbot's own comparison. It reads your Shopify product data and your live storefront, product by product, and flags a price, an availability state, or a required field that disagrees between the two. It needs no external account. On Free it runs once, on install day. On paid plans it sweeps your catalogue daily and rechecks a product when Shopify reports a change.

Channel verdicts are the channel's own decisions, read from the account you connect: approvals, disapprovals, demotions, items in review, and data-quality states. On paid plans Rabbot reads them daily. Connecting a channel needs Starter or above. On Free, the feed signal is Rabbot's own day-zero cross-check at install, which needs no channel connection.

If a feed app sits between Shopify and the channel, the cross-check sees Shopify's product data and the channel verdicts show what the channel decided. Neither one validates the feed app's own rewrites. [What feed monitoring is](/docs/feeds/what-feed-monitoring-is/) has the detail for each channel.

## How often Rabbot looks

Rabbot checks every monitored page on a schedule set by your plan. On Free, each page is checked at least weekly, and a page that keeps changing is checked as often as daily. On Starter, Growth and Pro, each page is checked daily and rechecked when Shopify reports a change to it. A page that keeps changing is checked as often as every ten minutes. Your homepage gets a heartbeat check about every five minutes on every plan, Free included. A store that has gone down is caught in about six minutes, eleven at the slowest.

Rabbot tells you about a problem the same day a check finds it, never before a check has run. [How often Rabbot checks your pages](/docs/monitoring/check-cadence/) covers the schedule. Rabbot does not charge you to learn your store is broken: paid plans tell you how widely it broke and what it affected. The [pricing page](/pricing/) lists what each plan includes.

## What to run alongside Rabbot

Rabbot is a monitor. It tells you that something broke, where, and why it matters. Two other kinds of tool do jobs it does not. A backup app puts a whole store back. Rabbot's taps put back only the fields it watched change. Rabbot names Rewind on the [trust page](/trust/) because the two jobs sit well together, and has no commercial relationship with it. A shopper-simulation tool walks the human click path in a real browser, from product page through checkout. Rabbot deliberately does not do that, so a store that wants that proof too runs such a tool beside it.

Rabbot's own place in the stack is the same-day alarm for a store that stops selling, from one app that asks for no card and writes only when you tap.
