AI visibility
When someone asks ChatGPT, Claude or Perplexity about what you sell, the assistant reads websites first and then answers. If it can't read yours, it recommends someone else.
Visibility in your site's dashboard reads your live site the same way an AI crawler does and tells you what's missing. Each problem says who fixes it (your content in Pluma, or your site's code) and gives you a sentence to hand your agent.
- It needs the site's live URL: set it in Settings → General or with
update_site. - It reads only public
httpspages and changes nothing on your site. - Anyone on the site can run it, once a minute at most.
- Agents use it too:
check_readinessruns it andget_readinessreads the last result (MCP tools). In the API,GETandPOST /api/v1/spaces/:space_id/readiness(Management API).
These are the checks, in the order the page shows them.
Reachable
Your home page answers with a 200. An assistant can't read a site that doesn't load, redirects in a loop, or takes more than 8 seconds.
Title and description
The home page has a <title> and a <meta name="description">. Assistants read them first to know what the business is. Write one plain sentence: what you sell, where, and for whom. It lives in your content, so you can change it in Pluma.
Search bots
robots.txt doesn't block the bots that assistants use to read and cite pages: OAI-SearchBot and ChatGPT-User (ChatGPT), PerplexityBot (Perplexity), Claude-SearchBot and Claude-User (Claude). Blocking one hides you from that assistant.
Training bots (GPTBot, ClaudeBot, Google-Extended, Applebot-Extended, CCBot) are a separate choice: blocking them keeps your pages out of model training and doesn't hide you from answers. The check lists them but doesn't fail for them.
Content signals
A Content-Signal line in robots.txt says how AI companies may use your pages:
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
search is for search results, ai-input for answering questions, ai-train for training models. Not every company honors it yet, so it's a warning, not a failure.
Sitemap
A sitemap.xml lists every public page so crawlers find all of them, not only the ones linked from the home page. Pluma looks for the Sitemap: line in robots.txt first, then /sitemap.xml.
Summary for AI
An llms.txt at the root of your site: a short Markdown page with the business name as the title, one paragraph saying what it is, and links to the main pages (llmstxt.org). Build it from your content in Pluma so it stays up to date.
Markdown
When a request says Accept: text/markdown, your pages answer in Markdown instead of HTML. Assistants read it faster and with less noise. If your site builds from Pluma, it already has the content to render.
Structured data
JSON-LD on the home page that says who the business is: LocalBusiness (or the closest type, like Bakery or Restaurant), Organization or Person, with name, address, phone, opening hours, logo and social links. Assistants use it for "where", "when" and "how much" answers (schema.org).
MCP card
A file at /.well-known/mcp/server-card.json that describes an MCP server for your site, so agents can discover actions it offers (booking, ordering). Optional for now: the standard is still a draft.