This is a sample Fix Pack for a made-up bakery website. Yours is made for your own site. Check your site free

crumbandco.example

Single-page app (React, Vue or Angular)

Fix Pack for crumbandco.example

18/100

Score when checked: Critical

AI tools can barely see your site, or not at all.

What AI tools see

What AI tools can readWhat they miss

How to fix it

Work through these in order. The first ones matter most.

1 AI tools can only see about 0% of your page's text

High priority

ChatGPT, Claude and Perplexity read your page without running JavaScript. A visitor's browser shows 75 words; AI crawlers get 0. They can't describe or recommend what they can't see.

Examples of text AI crawlers currently miss:

Menu Visit Order Sourdough, baked in Newtown since 2014.

We bake slow-fermented sourdough, croissants and seasonal tarts every morning on King Street, Newtown.

Today's bake Country sourdough, rye and caraway, almond croissants, lemon tart, and our weekend-only cardamom buns.

Your server sends a near-empty page and JavaScript builds the content in the browser. Options, cheapest first:

  1. Pre-render at build time. Generate static HTML for each marketing page (Vike for React/Vite, vite-ssg for Vue, Angular SSR/prerender for Angular).
  2. Use a pre-rendering service (such as Prerender.io) that serves finished HTML to bots.
  3. Move key pages to a framework that renders on the server, such as Next.js, Nuxt or Astro.

2 Your robots.txt blocks AI search tools: ChatGPT, Claude, Perplexity, Google AI Overviews, Bing and Copilot, Siri

High priority

These tools can't read your site, so they won't cite or link to you when people ask about businesses like yours.

What is blocking each bot:

  • OAI-SearchBot (ChatGPT search) is blocked by Disallow: /demo/ in the User-agent: * group.
  • ChatGPT-User (ChatGPT browsing for a user) is blocked by Disallow: /demo/ in the User-agent: * group.
  • Claude-SearchBot (Claude search) is blocked by Disallow: /demo/ in the User-agent: * group.
  • Claude-User (Claude browsing for a user) is blocked by Disallow: /demo/ in the User-agent: * group.
  • PerplexityBot (Perplexity search index) is blocked by Disallow: /demo/ in the User-agent: * group.
  • Perplexity-User (Perplexity browsing for a user) is blocked by Disallow: /demo/ in the User-agent: * group.
  • Googlebot (Google Search and AI Overviews) is blocked by Disallow: /demo/ in the User-agent: * group.
  • Bingbot (Bing, Copilot, and ChatGPT search results) is blocked by Disallow: /demo/ in the User-agent: * group.
  • Applebot (Siri and Spotlight) is blocked by Disallow: /demo/ in the User-agent: * group.

Where to edit: Edit the robots.txt file at your site's root (the public/ folder in most frameworks), or send this section to your developer or host.

Delete any Disallow: / lines under the bots listed above, then add:

# Let AI search and answer engines read the site
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: PerplexityBot
User-agent: Perplexity-User
Allow: /

Training bots (GPTBot, ClaudeBot, Google-Extended, CCBot) are separate. You can keep blocking them if you prefer: that limits model training on your content, not AI search visibility.

3 No structured data (schema) found

Medium priority

Structured data tells machines plainly who you are, what you offer and where you are. Without it, AI tools have to guess from your page text.

Where to add it: Paste the snippet into the <head> of your static HTML (for example index.html). Don't inject it with JavaScript or Google Tag Manager.

Replace the placeholder values. If you have no shop front or office, change LocalBusiness to Organization and delete address.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Crumb & Co.",
  "url": "https://crumbandco.example/",
  "description": "One or two sentences on what you do and who for.",
  "logo": "https://crumbandco.example/path-to-logo.png",
  "telephone": "+00 0000 0000",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Example St",
    "addressLocality": "Your City",
    "addressRegion": "State",
    "postalCode": "0000",
    "addressCountry": "Two-letter country code, e.g. AU or US"
  },
  "sameAs": [
    "https://www.facebook.com/yourpage",
    "https://www.instagram.com/yourhandle"
  ]
}
</script>

4 Basic page signals missing: meta description, main heading (H1), canonical link, social sharing tags, language tag

Medium priority

These are the simple labels machines use to understand and file your page. Some (main heading (H1)) only appear after JavaScript runs, so AI crawlers miss them.

  • Meta description: set it in the <head> of your HTML. One or two sentences on what you offer and who for, under 160 characters.
  • Main heading (H1): make the main headline a Heading 1 that says what you do (and where, for a local business). Use exactly one per page.
  • Canonical link: most platforms add this automatically. On a custom site, add <link rel="canonical" href="https://your-site/page"> to the <head>.
  • Social sharing tags: set the social title, description and image in the <head> of your HTML, or add og:title, og:description and og:image meta tags.
  • Language tag: set <html lang="en-AU"> (or your language). Builders usually set this from the site language setting.

Also worth doing

Get yours

Free. Takes about 30 seconds. No sign-up.