Free tool

Free GEO Checker (llms.txt & FAQ Schema)

Eight signals aimed at generative AI tools: llms.txt, how robots.txt treats AI search and training bots, Organization or Person markup, FAQPage schema and more. Early best practice, not guarantees of what any AI tool will do. No API calls, no cost.

GEO

  • — llms.txt file (exists, plain text, starts with a title)
  • — AI search bots vs training bots in robots.txt
  • — Content readable without JavaScript
  • — Organization or Person markup
  • — FAQPage schema (with at least one question)
  • — sameAs profile links in that markup
  • — Named author (articles)
  • — llms-full.txt file

This scan checks GEO only. Want the rest? See the — SEO and AEO checkers, or use “Check the other two” after a scan.

Looking for something more specific? Free llms.txt Checker

Enter a URL above — free, rule-based, no API cost.

Free · rule-based · no API cost

Last updated

About the GEO checker

Generative Engine Optimization (GEO) is about being findable and readable by generative AI tools that summarize or answer using web content. It's different from SEO (ranking in search results) and AEO (being quoted as an answer). The best practices are still emerging, so treat these as the current best signals, not a settled standard. This checker looks at eight signals: an llms.txt file at your site's root, how robots.txt treats AI search bots compared with training bots, whether the content is in the HTML or added by JavaScript, Organization or Person markup, FAQPage structured data, sameAs profile links, a named author on articles, and an llms-full.txt file. The AEO checker also reads robots.txt, but it asks a different question: how many of 13 known AI crawlers are blocked.

How the GEO checker works

  1. You submit a page URL, and Half Dev fetches it.
  2. It reads /llms.txt, /llms-full.txt and robots.txt, then checks the page for JavaScript-rendered content, Organization or Person markup, FAQPage structured data, sameAs links and a named author.
  3. The eight checks are weighted: llms.txt and the search-versus-training bot check are worth 18 points each, down to 6 for llms-full.txt. A check that does not apply, such as a named author on a page that is not an article, is left out and the rest are scaled, for a score out of 100 and a note on each.

How to read your GEO score

The GEO score is out of 100 and comes from eight weighted signals: llms.txt (18 points), AI search bots versus training bots in robots.txt (18), JavaScript-rendered content (14), Organization or Person markup (14), FAQPage schema (12), sameAs profile links (10), a named author on articles (8) and llms-full.txt (6). A signal that does not apply, such as an author on a page that is not an article, is left out and the rest are scaled, so the score is still out of 100.

85 or more reads as ready for AI answer engines, 60 to 84 as partially ready, and under 60 as needing GEO work. These are early signals, not guarantees. How many AI crawlers are blocked is counted in the AEO tab. Here robots.txt is read only to tell AI search bots from training bots.

85+ score

Ready for AI answer engines

Most signals earn full credit.

60–84 score

Partially ready

Several signals earn half credit or nothing.

Under 60 score

Needs GEO work

Many signals are missing. Start with the fixes below.

How to fix each GEO check

llms.txt

A plain-text file at /llms.txt that starts with a title heading scores 18. A text file without a title heading scores 9. A missing file, an empty file, an error response or a web page served at that address scores 0.

Fix: Create a Markdown file at /llms.txt. Start it with a single line beginning with # and your site name, then add a short summary and a list of links to your best pages. The llms.txt checker page has the details.

AI search bots vs training bots

No robots.txt, or no AI search or assistant bot blocked, scores 18. Blocking some of the 6 search and assistant bots scores half. Blocking all 6 scores 0. Blocking only training bots, such as GPTBot or CCBot, does not lower the score.

Fix: If you only want to stay out of model training, block just the training bots and let the search and assistant bots in. See the AI crawler checker page for how blocks are read.

JavaScript-rendered content

If the raw HTML holds very little readable text (under 50 words) together with a sign that JavaScript builds the page, it scores half of 14. Otherwise it scores 14.

Fix: Serve the main content in the HTML itself, with server-side rendering or static generation, so crawlers that do not run JavaScript can read it.

Organization or Person markup

Organization or Person markup in JSON-LD with a name and a url, logo, sameAs or id scores 14. Markup without those, or without a name, scores half. No such markup scores half too.

Fix: Add Organization JSON-LD, or Person for a personal site, with your name, url and logo, so AI systems have a named entity to tie the site to.

FAQPage schema

No FAQPage markup scores 0. FAQPage markup with no questions in it scores 6 of 12. FAQPage markup with at least one question scores 12. It is found at the top level or inside an @graph.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "What does your product do?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "It helps freelancers send invoices."
    }
  }]
}
</script>

Fix: Add FAQPage JSON-LD that mirrors a question-and-answer section people can actually see on the page. Only mark up questions that are visible on the page. A minimal block looks like this:

sameAs profile links

Judged only when the page has Organization or Person markup. Links to at least one profile elsewhere score 10. With no valid profile link it scores half.

Fix: Add a sameAs list to that markup with the full URLs of your profiles, such as LinkedIn or GitHub, so the entity can be matched to the real organization or person.

Named author

Judged on pages marked as articles only. A real author name, from JSON-LD, an author meta tag or a rel="author" link, scores 8. A generic label such as admin or editor, or no author, scores half.

Fix: Name the author of each article in its JSON-LD or with an author meta tag, using a real name, so the content can be attributed to a person.

llms-full.txt

A plain-text /llms-full.txt scores 6. A missing file, an empty file or a web page served at that address scores half. A file too large to read counts as found.

Fix: This file is optional. To add it, publish the full text of your key pages as one plain-text file at /llms-full.txt, next to llms.txt.

Example GEO score for a company blog

A sample result for a made-up company blog. The live tool shows the status and a note per check. Points are shown here only to explain the total.

GEO score

73 of 100
  • Pass:llms.txt · 18/18 llms.txt found with a title heading.
  • Pass:AI search bots vs training bots (robots.txt) · 18/18 robots.txt lets the 6 AI search and assistant bots in and blocks 2 of 7 training bots (GPTBot, CCBot).
  • Pass:JavaScript-rendered content · 14/14 The raw HTML holds about 1,400 words of readable text.
  • Partial:Organization or Person markup · 7/14 Found Organization markup named "Example Co" but with no url, logo or sameAs.
  • Fail:FAQ schema · 0/12 No FAQPage schema found.
  • Partial:sameAs profile links · 5/10 The entity markup has no sameAs profile links.
  • Pass:Named author · 8/8 This article names its author, from its JSON-LD.
  • Partial:llms-full.txt · 3/6 No /llms-full.txt found.

Total: 73 of 100 — Partially ready for AI answer engines

Who should run a GEO check

  • A publisher wants to see how its site fares on the newer AI-visibility signals, not only classic SEO.
  • Someone who read about llms.txt checks whether their site already has one.
  • An SEO consultant adds a GEO check to an existing audit process.

What the GEO checker does not check

  • It checks the site's /llms.txt, /llms-full.txt and robots.txt, and the one page you submit. A site with FAQ markup on other pages can still score 0 on FAQPage for this page.
  • It checks that llms.txt exists and is in the expected format. It does not check that the links work or that the summary is any good.
  • Schema added by JavaScript after the page loads may not be seen.
  • It cannot show that any AI tool reads llms.txt or uses FAQ markup. llms.txt is a proposed convention, not an official standard.

FAQ

An informal, community-proposed file, similar in spirit to robots.txt, that gives AI systems a short, curated map of a site's key content.

No. It's a convention that some sites have adopted, not a specification from any AI provider, and support varies.

It labels questions and answers in a machine-readable way, which makes them easy for AI tools to extract. It can't guarantee a tool will use them.

It isn't a penalty, and the impact is still uncertain. A good file is a low-cost way to be ready if adoption grows.

Not yet. For now this checker only tells you whether your site has one and whether it looks like the expected format.

Partly. It checks whether robots.txt blocks the AI search and assistant bots, such as OAI-SearchBot and PerplexityBot, and treats blocking only the training bots as fine. The AEO checker separately counts how many of 13 known AI crawlers are blocked. After a GEO scan, use “Check the other two” to run the AEO and SEO checks on the same page.

They are the signals that can be checked from outside the site. The weights put the clearest ones, llms.txt and the robots.txt rules, highest and the optional ones lowest, and none of them is a guarantee.

No. Google limited FAQ rich results to well-known government and health sites in 2023, then stopped showing them in Search altogether on May 7, 2026. FAQPage is still valid structured data that machines can read, so it can stay as long as it matches questions visible on the page. Just do not expect expandable results in Google.

Most GEO signals give half credit when absent and full credit when present. llms.txt and FAQPage schema give nothing when absent, and a check that does not apply to your page is left out instead of scored.

Terms explained: Generative Engine Optimization · llms.txt · FAQPage Schema · AI Visibility

Want the whole picture? See all three checkers.