AI visibility checker for answer engine optimization (AEO)
Enter a page address. The checker tests 13 signals that AI assistants and answer engines read, scores them out of 100, gives a fix for each gap and shows how an AI would describe your business from that page alone.
Build a sales agent from your site
Your own AI agent answers buyers on your website at any hour, handles questions like these from your own pages and turns visitors into leads. Paste your address to see it learn your site. No account needed.
What answer engine optimization means
Answer engine optimization (AEO) means making your pages easy for AI assistants and answer engines, such as ChatGPT, Claude, Perplexity and Google’s AI features, to reach, read and describe accurately. In practice: let their crawlers in, stay indexable, say clearly in text what you do, and add structured data. This checker tests 13 of those signals on one page and shows how an AI would describe you.
- Enter a pageStart with your home page, then check the pages buyers land on most, such as a product, service or pricing page.
- Let it readIt loads the page, your robots.txt and your /llms.txt, and times how long your server takes to answer.
- Read the score and the checksEach check has a labelled seal and, when it is not OK, a one-line fix.
- Read the AI descriptionAn AI model reads only this page and says what it thinks your business is, plus three questions the page answers.
- Fix and check againPublish the changes and run the check again. Answer engines see changes only when they next read the page.
What answer engines read
An AI assistant that answers from the web has to find your page, be allowed to read it, and understand it quickly. Each step uses signals you control.
Can it reach the page?
- robots.txt rules for AI search bots and user fetchers
- robots meta tags and X-Robots-Tag headers
- A sitemap that lists the page
- A server that answers quickly
Can it read the page?
- Text in the HTML the server sends
- One clear main heading
- A title and meta description that sum it up
- The page language and its canonical address
Can it understand the page?
- Structured data that states facts: who, what, where, prices
- Open Graph tags used for link previews
- Plain sentences that say what you do and for whom
- Optionally, an llms.txt file pointing at key pages
A page check covers what you control on your own site. Answer engines also weigh what other sites say about you, such as reviews, directories and articles, which no page check can measure.
Every check, its weight and how to fix it
The weights add up to 100. A check marked OK earns its full weight, Review earns half, and Missing earns nothing. Under 50 is low, 50 to 79 is fair, and 80 or more is good.
| Check | Weight | What earns OK | How to fix it |
|---|---|---|---|
| The page loads | 10 | The address answers. If not, the score is 0. | Fix the address, redirects or login. |
| AI search and user fetchers allowed | 18 | robots.txt lets OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot and Perplexity-User read the page. Some blocked is Review, all blocked is Missing. | Remove the Disallow rules that apply to those bots. |
| Indexable, with snippets allowed | 12 | No noindex or none. nosnippet or max-snippet:0 is Review. | Remove the directive from the robots meta tag or the X-Robots-Tag header. |
| Enough readable text | 14 | 300 words or more. 100 to 299 is Review. | Write out what you offer, for whom, where, how and at what price. |
| Page title | 6 | 10 to 70 characters. | Name the offer and the business. |
| Meta description | 6 | 50 to 170 characters. | One or two sentences that sum up the page. |
| Main heading (H1) | 4 | The page has an H1. | Make the page’s main title an H1. |
| Structured data | 10 | At least one JSON-LD block with a @type. | Add JSON-LD (examples below). Microdata is not counted by this check. |
| Open Graph | 3 | og:title and og:description are both set. Otherwise Review. | Add both tags in the page head. |
| Language and canonical | 4 | Both lang and a canonical link. One of them is Review. | Add lang to the html tag and a canonical link. |
| llms.txt | 5 | A text file at /llms.txt. Missing is only Review. | Optional. See the section on llms.txt. |
| Sitemap in robots.txt | 4 | robots.txt has a Sitemap line. Otherwise Review. | Add “Sitemap: https://…/sitemap.xml”. |
| Server response time | 4 | Under 800 ms. Up to 2,000 ms is Review. | Caching, a faster host, less server work per request. |
Response time is measured once, from our server, and includes the network. Run the check again if it looks off.
Structured data: what to add
Structured data is a block of JSON-LD in your page that states facts in a form machines read without guessing: your name, address, hours, products and prices. It does not guarantee anything, but it removes ambiguity.
| Page | Schema.org type | Facts it states |
|---|---|---|
| Home page of a company | Organization | Name, logo, website, contact points, social profiles |
| Home page of a local business | LocalBusiness, or a subtype such as Dentist or Restaurant | Address, phone, opening hours, area served |
| Product page | Product with Offer | Name, description, price, currency, availability |
| Service page | Service | What the service is, who provides it, where |
| Software product | SoftwareApplication | Category, operating system, offers |
| Article or guide | Article | Headline, author, dates |
| FAQ page | FAQPage | Questions and their answers, word for word |
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "[Business name]",
"description": "[One sentence: what you do and for whom]",
"url": "https://www.yourbusiness.com/",
"telephone": "[phone number]",
"email": "[email]",
"address": {
"@type": "PostalAddress",
"streetAddress": "[street]",
"addressLocality": "[city]",
"postalCode": "[postal code]",
"addressCountry": "[country code]"
},
"openingHours": ["Mo-Fr 09:00-18:00", "Sa 10:00-14:00"]
}
</script>Replace every [slot] and the example hours, and keep the facts the same as the visible page. Markup that disagrees with the page does more harm than none.
Google now shows FAQ rich results for only a few kinds of sites, but FAQPage markup still states your questions and answers plainly for any machine that reads it.
llms.txt: a proposal, not a standard
llms.txt is a Markdown file at the root of a site that lists its most useful pages with a line about each, so an AI tool can find them quickly. It was proposed in 2024 at llmstxt.org.
It is not a web standard, and search engines have not said they use it to rank or cite pages. Some AI tools and developer platforms read it. It costs little to add, so the checker marks it Review when it is missing, never Missing, and it carries only 5 of the 100 points. Do it after the checks that matter more.
# [Business name] > [One or two sentences: what you do, for whom, where.] ## Key pages - [Services](https://www.yourbusiness.com/services): what we offer and how it works - [Pricing](https://www.yourbusiness.com/pricing): plans and prices - [FAQ](https://www.yourbusiness.com/faq): answers to common questions - [Contact](https://www.yourbusiness.com/contact): email, phone and hours ## Policies - [Shipping and returns](https://www.yourbusiness.com/returns)
How an AI would describe you
After the checks, an AI model reads this page alone: its address, title, meta description and the start of its text. It writes up to two sentences about what the business is and who it is for, then three questions the page clearly answers.
This is the quickest test of clarity. If the description is vague, wrong or says the page does not make it clear, an assistant reading your page has the same problem. Fix it by saying it plainly near the top of the page.
| What the page opens with | What an AI might say |
|---|---|
| “Welcome. We make things better. Discover our world.” | The page does not make clear what the business sells or who it serves. |
| “Family-run bakery in Porto. Sourdough and pastries, baked daily, open from 7:00.” | A family-run bakery in Porto selling sourdough bread and pastries, for local customers who want fresh baked goods each morning. |
| “Scheduling software for physiotherapy clinics: online booking, reminders and invoices.” | Scheduling software for physiotherapy clinics that handles online booking, reminders and invoicing. |
Illustrative examples, not real results.
[Business name] is a [type of business] in [city, country]. We help [who] with [what], [online, in store or by appointment]. [One fact that sets you apart, such as years in business or what is included].
The summary uses the free tools’ shared daily AI allowance. When it is used up, the score and the checks still appear without it.
Common mistakes
- Blocking every AI bot in robots.txt, then wondering why assistants never mention you.
- A noindex tag left over from a redesign. It keeps the page out of search and the answer features built on it.
- Pages built entirely by JavaScript in the browser. Many crawlers read only the HTML the server sends.
- A hero banner with a slogan and no sentence that says what you sell.
- Structured data copied from another site, with someone else’s name, hours or prices.
- Different facts on different pages: two phone numbers, two price lists, old opening hours.
- Treating llms.txt as a shortcut. It helps tools find pages; it does not make thin pages useful.
What assistants are asked, by type of business
Answer engines are asked questions, not keywords. Make sure your pages answer the ones your buyers ask.
| Business | Questions people ask assistants | What to put on the page |
|---|---|---|
| Local service | Who fixes boilers near me and are they open on Saturday? | Area served, hours, services and starting prices as text; LocalBusiness markup |
| Online store | Which running shoes are good for wide feet under [amount]? | Product details, sizes and prices as text; Product markup with Offer |
| Software company | What is a simple CRM for a five-person team that works with Gmail? | Who it is for, plans, integrations, a comparison page |
| Professional services | Which accountants in Nairobi handle small online shops? | Who you serve, what is included, how fees work, how to start |
| Hotel or rental | Quiet places to stay in Kyoto with free cancellation? | Rooms, policies and location as text, not only in a booking widget |
When an answer engine sends you a visitor
Someone who arrives from an AI answer usually has a specific next question. If your page cannot answer it on the spot, they go back to the assistant.
A visitor arrives from an AI assistant at a bakery’s website
A sales agent built from your site answers from the same pages answer engines read, at any hour, and asks for the details you need to follow up. Your work on AEO and your agent pull in the same direction: clear pages make better answers in both places.
Turn AI-referred visitors into customers
Paste your address and watch an AI sales agent learn your pages.
See the AI sales agentQuestions people ask
What is answer engine optimization?
Answer engine optimization (AEO) is the work of making your pages easy for AI assistants and answer engines to reach, read and describe correctly: allowing their crawlers, staying indexable, writing clear text and adding structured data. It builds on SEO rather than replacing it.
How do I show up in ChatGPT answers?
No one can guarantee it. You can make it possible: allow OAI-SearchBot and ChatGPT-User in robots.txt, keep your pages indexable, say plainly what you offer and for whom, keep your facts consistent across pages, and earn mentions on other reputable sites.
Is AEO different from SEO?
They overlap. Both need crawlable, indexable pages with clear titles and text. AEO adds attention to the AI crawlers in robots.txt, to answers stated plainly enough to be quoted, and to structured data that states facts without ambiguity.
Do I need an llms.txt file?
No. llms.txt is a proposal, not a standard, and search engines have not said they use it. It is cheap to add and some AI tools read it, so add it after the basics are in place.
Does structured data help AI assistants?
It states facts such as your name, address, hours and prices in a form machines read without guessing. That reduces ambiguity, but no one promises it leads to a mention or a citation.
Why does the AI description of my business look wrong?
The model reads only the page you entered: its title, meta description and the start of its text. If those do not say clearly what you do, it guesses or says it is unclear. Put one plain sentence about your business near the top of the page.
Related pages
- AI bot checkerSee which AI crawlers your robots.txt allows or blocks, from GPTBot to PerplexityBot, and why.
- Chatbot readiness checkerSee whether your website gives a chatbot enough to answer your customers, and what to add.
- AI answer generatorAsk any question and get a clear answer from general knowledge, one web page or text you paste.
- Objection handling generatorThree honest responses to price, timing, competitor, need, trust and authority objections.
- AI sales agentAnswers buying questions from your pages, asks two short questions and sends the visitor to the right next step.
Build it with your AI agent
Give an agent your site and it can create the chatbot, read your pages and test it through LuckPanda's API and MCP. It prepares the work; going live stays with you.
Use LuckPanda's MCP server (https://luckpanda.app/mcp) to build a website chatbot for me. Ask for my website address, call chatbot_create_from_website with it, wait until the pages are learned (chatbot_source_list), then run a few test questions with chatbot_test_message and show me the answers. Do not put it live: I will do that myself.
Instructions for AI agents
Needs a LuckPanda agent key (Settings › Developers) with the chatbot.manage grant. MCP endpoint: https://luckpanda.app/mcp (Streamable HTTP, bearer key).
chatbot_create_from_website{ url }: creates a draft chatbot named after the site and starts reading it.chatbot_source_list: pages learned, failed or skipped, with a reason for each.chatbot_test_message: asks the bot a question as the owner. Test chats never email anyone.- Going live (
chatbot_updatewith status live) is a person's action; an agent gets APPROVAL_REQUIRED.
Try it on your website
Paste your address and watch the chatbot learn your pages. No account and no card.
This page in other languages