# Bot Appétit > A free scanner by Milk Moon Studio that reads a web page the way AI crawlers and search engines do, and reports what they can and can't consume. 48 scored checks across AEO / content, AI access, AI signals, Structured data, SEO, Links and Security, plus 38 measured without scoring (86 in all), and Core Web Vitals on demand. Single-page scans are free with no signup. The scan is the diagnosis; Milk Moon Studio, the studio behind it, takes on the work when you'd like help. ## Use it - [Scan a page](https://botappetit.ai/): free, no signup - [Scan a whole site](https://botappetit.ai/site-scan): a sampled site scan, repeated every 30 days; needs a free account - [MCP server](https://botappetit.ai/mcp): connect Claude, Cursor, VS Code and other MCP clients; page scans are free with no account, and tools for your own account need your one-time approval in the browser - [API](https://botappetit.ai/api/v1/openapi.json): the same tools over REST, as an OpenAPI document - [Agent skills](https://botappetit.ai/.well-known/agent-skills/index.json): installable SKILL.md files: how to scan and read a site, and how to set a person up - [Everything Bot Appétit does](https://botappetit.ai/features/): every feature, with a worked example, and which need an account - [Help](https://botappetit.ai/help/): step-by-step help with using the scanner - [How do I scan a page?](https://botappetit.ai/help/scan-a-page/): Enter an address, wait about 20 seconds, get a report with its own link. - [How do I read my report?](https://botappetit.ai/help/read-your-report/): The verdict, the notices, a score per course, then every check — top to bottom. - [How do I scan a whole site?](https://botappetit.ai/help/scan-a-site/): Sign in, give us your domain, sitemap or a list of pages, and we read up to 50 of them. - [How do I share a scan?](https://botappetit.ai/help/share-a-scan/): Copy a page report’s link as it is; a site scan needs a share link first, which you can stop. - [How do I see how a page has changed?](https://botappetit.ai/help/page-history/): Every scan of the same address is kept: open This page over time, or a site’s score over time. - [How do I choose between a page scan and a site scan?](https://botappetit.ai/help/page-or-site/): One page now, with no account — or a sample of your whole site, scored together and tracked over time. - [How do I keep a page in every site scan?](https://botappetit.ai/help/pin-a-page/): Pin it on your site’s page: it is read in every run, on top of the sample, and counts toward the score. - [How do I measure a page’s performance?](https://botappetit.ai/help/measure-performance/): Every new page scan measures it; in a site scan only the homepage is, and any other page from its report. - [How do I read a site scan report?](https://botappetit.ai/help/site-report/): One score for the site, the findings with how many pages each reached, then every page we read. - [How do I read Your sites?](https://botappetit.ai/help/your-sites/): Every site you have scanned: the median, what needs a look, two charts, and one row per site. - [How do I follow one site over time?](https://botappetit.ai/help/one-site/): Open the site from Your sites: its latest score, every run charted, what changed, and every scan. - [How do I let the scanner in?](https://botappetit.ai/help/let-us-in/): Read how we were turned away; if there is something to allow, allow BotAppetitBot and rescan. - [How do I recover from a scan that didn’t work?](https://botappetit.ai/help/errors/): The line above the heading says whose side the problem is on; that tells you what to do next. - [How do I use the launch checklist?](https://botappetit.ai/help/checklist/): Start with the ten first, tick each item off as you go, and your progress waits for you in this browser. - [How do I manage my account?](https://botappetit.ai/help/account/): Only a site scan needs one: create it, sign in, find Your sites, sign out — and how to delete it. - [How do I look up a check, a term or a crawler?](https://botappetit.ai/help/look-things-up/): Everything we check, the glossary, the AI crawler directory and the changelog, and how to filter each. - [How do I switch my monthly re-scans on or off?](https://botappetit.ai/help/monthly-rescans/): Every site in Your sites is re-scanned every 30 days and the result is emailed to you. Two switches turn either off. - [How do I scan a page from my AI tool?](https://botappetit.ai/help/scan-from-an-ai-tool/): Connect Claude, Cursor or VS Code to the MCP server, ask for a page, and open the report link it hands back. ## Learn - [Everything we check](https://botappetit.ai/checks/): every check, why it matters, what good looks like - [State of the Web & AI Readiness](https://botappetit.ai/state-of-the-web/): the share of scanned sites that pass each check, by category and over time, updated hourly - [What makes a page easy for AI to quote?](https://botappetit.ai/checks/aeo/): the AEO / content course, 8 checks - [Can AI crawlers actually reach my site?](https://botappetit.ai/checks/ai-access/): the AI access course, 5 checks - [What should my site tell AI crawlers?](https://botappetit.ai/checks/ai-signals/): the AI signals course, 1 check - [What does structured data tell AI about my page?](https://botappetit.ai/checks/structured-data/): the Structured data course, 7 checks - [Which SEO basics do machines still depend on?](https://botappetit.ai/checks/seo/): the SEO course, 19 checks - [How do machines follow the links on my site?](https://botappetit.ai/checks/links/): the Links course, 4 checks - [Do Core Web Vitals matter for AI readiness?](https://botappetit.ai/checks/performance/): the Performance course, 4 checks - [Does site security affect how machines treat my site?](https://botappetit.ai/checks/security/): the Security course, 4 checks - [What is agent readiness?](https://botappetit.ai/checks/advanced/): the Advanced course, 20 checks - [Glossary](https://botappetit.ai/glossary/): every AEO and AI-readiness term, in plain English - [AI crawler directory](https://botappetit.ai/crawlers/): who runs each AI crawler and what it is for - [Webflow SEO & AEO checklist](https://botappetit.ai/checklist/): a free learning resource for launching a Webflow site ## Trust - [How it works](https://botappetit.ai/how-it-works/): every step of a scan, how a check is judged, how the score works - [FAQ](https://botappetit.ai/faq/): the scanner, scores, site scans and accounts, your data, our bot - [Our bot](https://botappetit.ai/bot/): BotAppetitBot: its user agents, its signature, what one scan fetches - [Changelog](https://botappetit.ai/changelog/): every change to how we judge pages, dated - [Privacy policy](https://botappetit.ai/legal/privacy/) - [Terms of use](https://botappetit.ai/legal/terms/) ## About - [Who makes Bot Appétit](https://botappetit.ai/about/): Milk Moon Studio, its founder, and what we hold to - [Milk Moon Studio](https://www.milkmoonstudio.com): the design and development studio behind Bot Appétit - [Book a call](https://www.milkmoonstudio.com/contact-us): talk to the studio about your site ## Optional - [What is llms.txt, and does your site need one?](https://botappetit.ai/checks/llms-txt/) - [What is security.txt, and should your site have one?](https://botappetit.ai/checks/security-txt/) - [Is your site blocking ChatGPT, Claude and Perplexity?](https://botappetit.ai/checks/ai-bots-allowed/) - [What is Content-Signal in robots.txt?](https://botappetit.ai/checks/content-signal/) - [What is BreadcrumbList schema, and do you need it?](https://botappetit.ai/checks/breadcrumb-schema/) - [Should your site serve Markdown to AI crawlers?](https://botappetit.ai/checks/markdown-negotiation/) - [What is FAQPage schema, and should you use it?](https://botappetit.ai/checks/faqpage-schema/) - [What is Organization schema, and why does AI need it?](https://botappetit.ai/checks/organization-schema/) - [What is a canonical tag, and why does it matter?](https://botappetit.ai/checks/canonical/) - [What does the robots meta tag actually do?](https://botappetit.ai/checks/meta-robots/) - [Is my page telling engines not to quote it?](https://botappetit.ai/checks/snippet-directives/) - [Which security headers should your site send?](https://botappetit.ai/checks/security-headers/) - [Why does your 404 page matter for SEO?](https://botappetit.ai/checks/custom-404/) - [What is alt text, and how much does it really matter?](https://botappetit.ai/checks/image-alt/) - [What is the viewport meta tag, and do you still need it?](https://botappetit.ai/checks/viewport/) - [What are Open Graph tags, and why do your links look wrong?](https://botappetit.ai/checks/open-graph/) - [Why does my site need HTTPS?](https://botappetit.ai/checks/https/) - [Should http:// redirect to https:// on my site?](https://botappetit.ai/checks/https-redirect/) - [What does a healthy page status look like?](https://botappetit.ai/checks/http-status/) - [Why does the page title matter so much?](https://botappetit.ai/checks/title/) - [Should my site use www or non-www?](https://botappetit.ai/checks/canonicalization/) - [What is robots.txt, and what happens without one?](https://botappetit.ai/checks/robots-txt/) - [Does the meta description still matter?](https://botappetit.ai/checks/meta-description/) - [Is my meta description too long or too short?](https://botappetit.ai/checks/meta-description-length/) - [Should a page have only one H1?](https://botappetit.ai/checks/single-h1/) - [Why does heading order matter?](https://botappetit.ai/checks/heading-hierarchy/) - [Do I still need an XML sitemap?](https://botappetit.ai/checks/sitemap/) - [Does my content survive without JavaScript?](https://botappetit.ai/checks/js-rendered-content/) - [Why can AI not see my JavaScript content?](https://botappetit.ai/checks/content-in-html/) - [What is structured data, and do I need it?](https://botappetit.ai/checks/jsonld-present/) - [What happens if my structured data is invalid?](https://botappetit.ai/checks/jsonld-valid/) - [Should I allow or block AI crawlers?](https://botappetit.ai/checks/ai-bot-intent/) - [Is my site blocking AI crawlers by accident?](https://botappetit.ai/checks/bot-access/) - [What is mixed content, and why does it break secure pages?](https://botappetit.ai/checks/mixed-content/) - [Is my site flagged as unsafe, and what happens if it is?](https://botappetit.ai/checks/safe-browsing/) - [What are caching headers, and does my page need them?](https://botappetit.ai/checks/caching-headers/) - [Do my title and H1 need to agree on the topic?](https://botappetit.ai/checks/keyword-consistency/) - [Why should a page declare its language and character set?](https://botappetit.ai/checks/lang-charset/) - [What is hreflang, and does my site need it?](https://botappetit.ai/checks/hreflang/) - [Does my site need a favicon?](https://botappetit.ai/checks/favicon/) - [Why is a meta refresh redirect a problem?](https://botappetit.ai/checks/meta-refresh/) - [Should the facts in my structured data also be in the page text?](https://botappetit.ai/checks/jsonld-visible-facts/) - [Is my structured data using the right type?](https://botappetit.ai/checks/typed-schema/) - [What are Link headers, and how do they help AI agents?](https://botappetit.ai/checks/link-headers/) - [What are semantic landmarks, and why do machines care?](https://botappetit.ai/checks/semantic-landmarks/) - [Why should my content be broken into sections for AI?](https://botappetit.ai/checks/chunking/) - [Do statistics, quotes and sources help AI quote my page?](https://botappetit.ai/checks/content-evidence/) - [Should my headings be phrased as questions for AI?](https://botappetit.ai/checks/question-headings/) - [How much does it cost an AI to read my page?](https://botappetit.ai/checks/token-budget/) - [Is there hidden text on my page written for AI models?](https://botappetit.ai/checks/hidden-instructions/) - [Do the dates in my sitemap tell crawlers what changed?](https://botappetit.ai/checks/sitemap-lastmod/) - [Do the links in my llms.txt file work?](https://botappetit.ai/checks/llms-txt-links/) - [How do AI tools know who wrote my page?](https://botappetit.ai/checks/author-byline/) - [How do AI tools know when my page was published?](https://botappetit.ai/checks/freshness/) - [Do broken links on my page matter to AI crawlers?](https://botappetit.ai/checks/broken-links/) - [Why should my links point at the final address?](https://botappetit.ai/checks/redirect-links/) - [Why does the wording of my links matter?](https://botappetit.ai/checks/anchor-text/) - [Does my page link enough to the rest of my site?](https://botappetit.ai/checks/link-hygiene/) - [Does my site tell strangers what software it runs?](https://botappetit.ai/checks/server-leak/) - [Is my page title too long or too short?](https://botappetit.ai/checks/title-length/) - [Why does my link look plain when it is shared on X?](https://botappetit.ai/checks/twitter-card/) - [Are the images on my page slowing it down?](https://botappetit.ai/checks/image-optimization/) - [Can I tell whether people are actually using my site?](https://botappetit.ai/checks/analytics/) - [Have I proved to Google and Bing that this site is mine?](https://botappetit.ai/checks/search-console-verify/) - [Can an AI agent find the MCP server I run?](https://botappetit.ai/checks/adv-mcp-server-card/) - [Is there one place an AI agent can see everything I offer it?](https://botappetit.ai/checks/adv-ai-catalog/) - [Can I give AI agents instructions for using my product?](https://botappetit.ai/checks/adv-agent-skills/) - [Can a machine find the APIs my company publishes?](https://botappetit.ai/checks/adv-api-catalog/) - [Can an AI agent work out how to sign in to my service?](https://botappetit.ai/checks/adv-oauth-discovery/) - [Does my API tell an AI agent where to get permission?](https://botappetit.ai/checks/adv-oauth-protected-resource/) - [Can other software discover how my site handles sign-in?](https://botappetit.ai/checks/adv-openid-config/) - [How does a bot prove to websites that it is who it says it is?](https://botappetit.ai/checks/adv-web-bot-auth/) - [Can an AI shopping agent buy from my store?](https://botappetit.ai/checks/adv-ucp/) - [How does an AI agent sign up to my service for a customer?](https://botappetit.ai/checks/adv-auth-md/) - [Can AI agents find my services through DNS?](https://botappetit.ai/checks/adv-dns-ai/) - [Can an AI agent tell what my buttons and links do?](https://botappetit.ai/checks/agent-controls/) - [How slow is too slow for an AI assistant fetching my page?](https://botappetit.ai/checks/response-time/) - [Is my page too big for Google to read all of it?](https://botappetit.ai/checks/html-size/) - [Can crawlers follow the links on my page?](https://botappetit.ai/checks/uncrawlable-links/) - [What is an A2A Agent Card, and does a website need one?](https://botappetit.ai/checks/adv-a2a-agent-card/) - [What is WebMCP, and can a page offer tools to AI agents?](https://botappetit.ai/checks/adv-webmcp/) - [What is Content-Usage, and how does a site state AI preferences?](https://botappetit.ai/checks/adv-content-usage/) - [What is RSL, and how does a site publish licence terms for AI?](https://botappetit.ai/checks/adv-rsl/) - [What is TDMRep, and how does a site reserve data-mining rights?](https://botappetit.ai/checks/adv-tdmrep/) - [Why link a Markdown version of a page for AI agents?](https://botappetit.ai/checks/adv-markdown-alternate/) - [Do your AI content signals agree with each other?](https://botappetit.ai/checks/adv-content-signal-consistency/) - [What is AEO?](https://botappetit.ai/glossary/aeo/) - [What is Web Bot Auth?](https://botappetit.ai/glossary/web-bot-auth/) - [What is schema.org?](https://botappetit.ai/glossary/schema-org/) - [Full text for agents](https://botappetit.ai/llms-full.txt): the learn pages above in one markdown file