<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ravi Gupta</title>
    <description>The latest articles on DEV Community by Ravi Gupta (@ravigupta0210).</description>
    <link>https://dev.to/ravigupta0210</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3984718%2F7236e820-81c3-478f-af41-b3f5740dbd95.jpeg</url>
      <title>DEV Community: Ravi Gupta</title>
      <link>https://dev.to/ravigupta0210</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ravigupta0210"/>
    <language>en</language>
    <item>
      <title>What Is an AI Crawler? (GPTBot, ClaudeBot &amp; More)</title>
      <dc:creator>Ravi Gupta</dc:creator>
      <pubDate>Fri, 21 Aug 2026 10:59:25 +0000</pubDate>
      <link>https://dev.to/ravigupta0210/what-is-an-ai-crawler-gptbot-claudebot-more-2a2f</link>
      <guid>https://dev.to/ravigupta0210/what-is-an-ai-crawler-gptbot-claudebot-more-2a2f</guid>
      <description>&lt;p&gt;Yes. Below is the &lt;strong&gt;copy-paste version with the links preserved&lt;/strong&gt; and only the unnecessary spacing cleaned up. I have not intentionally removed the URLs or Markdown link syntax.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt; — An AI crawler is an automated bot that fetches web pages to feed AI systems — either to train models like GPT and Claude, or to retrieve live sources so AI answers can cite them. Major ones include GPTBot and OAI-SearchBot (OpenAI), ClaudeBot (Anthropic), PerplexityBot, Google-Extended, Bytespider, and CCBot. You allow or block them in robots.txt and llms.txt.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What is an AI crawler?
&lt;/h2&gt;

&lt;p&gt;The short answer to &lt;strong&gt;what is an AI crawler&lt;/strong&gt; is this: an AI crawler is an automated bot that fetches web pages so that AI systems can read them. Some do it to build the training datasets behind large language models like GPT and Claude; others fetch pages live, at the moment someone asks a question, so an AI answer engine can quote your site and link to it. Same basic mechanic as any web crawler — request a URL, read the HTML, follow the links — but the destination is an AI product instead of a classic search index.&lt;/p&gt;

&lt;p&gt;It helps to split AI crawlers into two jobs, because you often want to treat them differently:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Training crawlers&lt;/strong&gt; collect large volumes of text to train or fine-tune a model. Examples: &lt;code&gt;GPTBot&lt;/code&gt;, &lt;code&gt;ClaudeBot&lt;/code&gt;, &lt;code&gt;CCBot&lt;/code&gt;. Content they grab may influence a model's future answers, but you rarely get a direct citation or click.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Retrieval crawlers&lt;/strong&gt; fetch pages in real time to ground an AI answer in current sources — and they usually cite and link the page. Examples: &lt;code&gt;OAI-SearchBot&lt;/code&gt;, &lt;code&gt;PerplexityBot&lt;/code&gt;, &lt;code&gt;ChatGPT-User&lt;/code&gt;. These are the ones that can send you traffic.&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Rule of thumb: blocking a training crawler protects your content from model training; blocking a retrieval crawler removes you from AI answers and the citations they carry. They are not the same decision.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This distinction is the heart of &lt;a href="https://freeseoaudit.vercel.app/blog/what-is-generative-engine-optimization" rel="noopener noreferrer"&gt;generative engine optimization&lt;/a&gt; — the practice of making your content easy for AI engines to find, read, and cite. If you want AI Overviews, ChatGPT, or Perplexity to mention your brand, the retrieval crawlers have to be able to reach you.&lt;/p&gt;

&lt;h2&gt;
  
  
  The major AI crawlers and their user-agents
&lt;/h2&gt;

&lt;p&gt;You identify an AI crawler the same way you identify Googlebot: by its &lt;strong&gt;user-agent string&lt;/strong&gt; in your server logs. Each operator publishes the exact strings and, usually, the IP ranges they crawl from, so you can allow or block them precisely. Here are the ones worth knowing in 2026:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The major AI crawlers in 2026: user-agent, operator, and what they do&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Crawler (user-agent)&lt;/th&gt;
&lt;th&gt;Operator&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;th&gt;Type&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GPTBot&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Collects text to train and improve GPT models&lt;/td&gt;
&lt;td&gt;Training&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OAI-SearchBot&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Indexes pages to cite in ChatGPT search results&lt;/td&gt;
&lt;td&gt;Retrieval&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ChatGPT-User&lt;/td&gt;
&lt;td&gt;OpenAI&lt;/td&gt;
&lt;td&gt;Fetches a page when a user asks ChatGPT about it&lt;/td&gt;
&lt;td&gt;Retrieval (user-triggered)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ClaudeBot&lt;/td&gt;
&lt;td&gt;Anthropic&lt;/td&gt;
&lt;td&gt;Collects text to train Claude models&lt;/td&gt;
&lt;td&gt;Training&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PerplexityBot&lt;/td&gt;
&lt;td&gt;Perplexity&lt;/td&gt;
&lt;td&gt;Indexes pages to cite in Perplexity answers&lt;/td&gt;
&lt;td&gt;Retrieval&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Google-Extended&lt;/td&gt;
&lt;td&gt;Google&lt;/td&gt;
&lt;td&gt;Opt-out token for Gemini training and grounding&lt;/td&gt;
&lt;td&gt;Control token&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bytespider&lt;/td&gt;
&lt;td&gt;ByteDance (TikTok)&lt;/td&gt;
&lt;td&gt;Collects data for ByteDance AI products&lt;/td&gt;
&lt;td&gt;Training&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CCBot&lt;/td&gt;
&lt;td&gt;Common Crawl&lt;/td&gt;
&lt;td&gt;Builds the open dataset many models train on&lt;/td&gt;
&lt;td&gt;Training (dataset)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A few things this table makes clear. First, one company can run several crawlers — OpenAI alone operates &lt;code&gt;GPTBot&lt;/code&gt; (training), &lt;code&gt;OAI-SearchBot&lt;/code&gt; (search retrieval), and &lt;code&gt;ChatGPT-User&lt;/code&gt; (fetched when a user pastes or asks about a URL). Blocking one does not block the others. Second, &lt;code&gt;Google-Extended&lt;/code&gt; is not a crawler at all in the normal sense — it is a control token you place in robots.txt to opt out of Gemini training and grounding, while regular Googlebot keeps crawling for classic search. Third, &lt;code&gt;CCBot&lt;/code&gt; belongs to Common Crawl, a nonprofit whose open dataset is a training source for many models, so it is often the most consequential single bot to think about.&lt;/p&gt;

&lt;p&gt;If you want the full copy-paste list of strings and how to act on each one, see &lt;a href="https://freeseoaudit.vercel.app/blog/how-to-block-ai-crawlers" rel="noopener noreferrer"&gt;how to block AI crawlers&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  How AI crawlers find your content
&lt;/h2&gt;

&lt;p&gt;AI crawlers discover pages through the same three channels as any crawler — there is no secret AI-only pipeline. Understanding these channels tells you exactly where to make your content reachable.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Links.&lt;/strong&gt; Crawlers follow hyperlinks from page to page. A page with no internal or external links pointing at it is effectively invisible, which is why solid internal linking matters as much for AI as it does for Google.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sitemaps.&lt;/strong&gt; An &lt;code&gt;XML sitemap&lt;/code&gt; referenced in your &lt;a href="https://freeseoaudit.vercel.app/blog/what-is-robots-txt" rel="noopener noreferrer"&gt;robots.txt&lt;/a&gt; hands crawlers a clean list of your canonical URLs. Retrieval crawlers lean on this to find fresh, indexable pages fast.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Common Crawl.&lt;/strong&gt; Many training crawlers do not crawl the open web directly at all — they consume Common Crawl's periodic snapshot of billions of pages. If &lt;code&gt;CCBot&lt;/code&gt; reached your site months ago, that copy can end up in training data even if you block other bots today.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There is a fourth, GEO-specific channel emerging: the &lt;a href="https://freeseoaudit.vercel.app/blog/how-to-write-an-llms-txt-file" rel="noopener noreferrer"&gt;llms.txt file&lt;/a&gt;, a plain-text file at your domain root that points AI systems to your most important, cleanly formatted content. It is a proposed standard rather than a universal one, but it signals intent and curates what you would like an AI to read first.&lt;/p&gt;

&lt;p&gt;The practical takeaway: if a page is not linked, not in your sitemap, and blocked from crawling, no AI engine can cite it. Reachability is step one of earning &lt;a href="https://freeseoaudit.vercel.app/blog/what-are-ai-citations" rel="noopener noreferrer"&gt;AI citations&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI crawler vs Googlebot: what's different
&lt;/h2&gt;

&lt;p&gt;An AI crawler and Googlebot fetch pages the same way, but they exist for different reasons, and that difference changes how you should treat them. &lt;strong&gt;Googlebot builds a search index that returns ranked blue links; an AI crawler feeds a model that generates or grounds a written answer.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Three practical differences follow from that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;JavaScript rendering.&lt;/strong&gt; Googlebot renders JavaScript before indexing. Most AI crawlers today fetch the raw HTML and do little or no rendering, so content injected purely by client-side JavaScript may be invisible to them. Server-rendered or static HTML is the safer bet for AI visibility.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The payoff.&lt;/strong&gt; Ranking in Google earns a click; being read by a retrieval AI crawler earns a citation inside an answer, which may or may not be clicked. Being read by a training crawler earns neither directly — it shapes future model behavior.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Control surface.&lt;/strong&gt; You manage Googlebot mostly through robots.txt, meta robots, and Search Console. AI crawlers add newer levers: per-bot robots.txt rules, &lt;code&gt;Google-Extended&lt;/code&gt;, and llms.txt. Blocking Googlebot removes you from Google; blocking every AI crawler removes you from the AI answer layer while leaving classic search intact.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One trap to avoid: &lt;strong&gt;cloaking&lt;/strong&gt;. Serving a full page to Googlebot but a blank or stripped page to &lt;code&gt;GPTBot&lt;/code&gt; or &lt;code&gt;PerplexityBot&lt;/code&gt; — whether on purpose or through a misconfigured firewall or CDN rule — quietly erases you from AI answers even though your Google rankings look fine. It is a common, invisible failure.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to allow or block AI crawlers
&lt;/h2&gt;

&lt;p&gt;You control AI crawlers primarily through &lt;code&gt;robots.txt&lt;/code&gt;, the plain-text file at the root of your domain that names each bot and tells it what it may fetch. To block a specific crawler, add a matching block:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;User-agent: GPTBot&lt;/code&gt; then &lt;code&gt;Disallow: /&lt;/code&gt; blocks OpenAI's training crawler across the whole site.&lt;/li&gt;
&lt;li&gt;Repeat the pattern for &lt;code&gt;ClaudeBot&lt;/code&gt;, &lt;code&gt;CCBot&lt;/code&gt;, &lt;code&gt;Bytespider&lt;/code&gt;, or any user-agent you want to exclude.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;Google-Extended&lt;/code&gt; in the same file to opt out of Gemini training without touching normal Googlebot.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To &lt;strong&gt;allow&lt;/strong&gt; AI crawlers, the safest move is to do nothing that blocks them — no catch-all &lt;code&gt;Disallow&lt;/code&gt;, no firewall rule that trips on AI user-agents — and to publish a &lt;a href="https://freeseoaudit.vercel.app/blog/how-to-write-an-llms-txt-file" rel="noopener noreferrer"&gt;well-formed llms.txt file&lt;/a&gt; pointing to your best content. Remember that robots.txt is a request, not a wall: reputable crawlers (GPTBot, ClaudeBot, PerplexityBot) honor it, but honoring it is voluntary.&lt;/p&gt;

&lt;p&gt;The hard part is verifying that your intended policy is actually what crawlers experience. This is where our tool helps: the &lt;a href="https://freeseoaudit.vercel.app/" rel="noopener noreferrer"&gt;free SEO + GEO audit on the homepage&lt;/a&gt; probes your site with real AI user-agents, so it catches when a page is accidentally blocked or &lt;strong&gt;cloaked&lt;/strong&gt; — served differently to &lt;code&gt;GPTBot&lt;/code&gt; and &lt;code&gt;PerplexityBot&lt;/code&gt; than to a normal browser. Paste any URL and it reports which AI crawlers can reach you, whether your robots.txt does what you think, and where your content falls short of being citable. Fix what it flags and your allow/block policy matches reality instead of your assumptions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Can I see AI crawlers in my server logs?
&lt;/h3&gt;

&lt;p&gt;Yes. AI crawlers announce themselves with distinct user-agent strings such as GPTBot, ClaudeBot, and PerplexityBot, so you can filter your server or CDN logs to see which bots visit, how often, and which pages they fetch. Operators also publish IP ranges you can verify against.&lt;/p&gt;

&lt;h3&gt;
  
  
  Does blocking AI crawlers hurt my SEO?
&lt;/h3&gt;

&lt;p&gt;No. Blocking AI crawlers such as GPTBot or ClaudeBot has no effect on your Google rankings, because they are separate from Googlebot. The only cost is AI visibility — blocking retrieval crawlers removes you from ChatGPT, Perplexity, and AI Overview citations, but your classic search performance is unchanged.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://freeseoaudit.vercel.app/blog/what-is-an-ai-crawler" rel="noopener noreferrer"&gt;freeseoaudit.vercel.app/blog/what-is-an-ai-crawler&lt;/a&gt;.&lt;/em&gt; &lt;em&gt;I build a &lt;a href="https://freeseoaudit.vercel.app/" rel="noopener noreferrer"&gt;free SEO + AI-search (GEO) auditor&lt;/a&gt; — no signup, no paywall, &lt;a href="https://github.com/ravigupta0210/seo-auditor" rel="noopener noreferrer"&gt;open source&lt;/a&gt;.&lt;/em&gt; &lt;em&gt;You can &lt;a href="https://freeseoaudit.vercel.app/" rel="noopener noreferrer"&gt;run it on your own site&lt;/a&gt; or &lt;a href="https://freeseoaudit.vercel.app/check" rel="noopener noreferrer"&gt;browse every check it performs&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>seo</category>
      <category>ai</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>I built a free SEO + AI-search (GEO) audit tool — no signup, no limits</title>
      <dc:creator>Ravi Gupta</dc:creator>
      <pubDate>Mon, 15 Jun 2026 05:11:55 +0000</pubDate>
      <link>https://dev.to/ravigupta0210/i-built-a-free-seo-ai-search-geo-audit-tool-no-signup-no-limits-1gn3</link>
      <guid>https://dev.to/ravigupta0210/i-built-a-free-seo-ai-search-geo-audit-tool-no-signup-no-limits-1gn3</guid>
      <description>&lt;p&gt;I kept hitting the same wall: every SEO tool either paywalls the useful parts or caps you at a few pages. So I built a free one —&lt;br&gt;
  &lt;strong&gt;&lt;a href="https://freeseoaudit.vercel.app" rel="noopener noreferrer"&gt;freeseoaudit.vercel.app&lt;/a&gt;&lt;/strong&gt;. No signup, no crawl limit, open source.&lt;/p&gt;

&lt;p&gt;## What it checks&lt;/p&gt;

&lt;p&gt;Paste any URL and it streams a report across 40+ checks in 8 categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Metadata&lt;/strong&gt; — titles, descriptions, canonicals, Open Graph&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structured data (JSON-LD)&lt;/strong&gt; — validates schema against Google's rich-result rules&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Crawl &amp;amp; indexing&lt;/strong&gt; — robots.txt, sitemap, hreflang&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Core Web Vitals&lt;/strong&gt; and &lt;strong&gt;security headers&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GEO / AEO&lt;/strong&gt; — the part I care most about&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;## Why GEO/AEO?&lt;/p&gt;

&lt;p&gt;Search is splitting in two. Classic SEO gets you blue-link rankings; &lt;strong&gt;GEO (Generative Engine Optimization)&lt;/strong&gt; gets you &lt;em&gt;cited&lt;/em&gt;&lt;br&gt;
  inside AI answers — ChatGPT, Perplexity, Google AI Overviews. The two now share under 20% of their winners.&lt;/p&gt;

&lt;p&gt;So it checks things most SEO tools ignore:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;llms.txt&lt;/code&gt; presence + spec conformance&lt;/li&gt;
&lt;li&gt;Whether you're accidentally blocking GPTBot / ClaudeBot / PerplexityBot in robots.txt&lt;/li&gt;
&lt;li&gt;The "Island Test" — are your paragraphs self-contained enough for an AI to lift as a citation?&lt;/li&gt;
&lt;li&gt;Direct-answer detection and E-E-A-T signals&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;## Stack&lt;/p&gt;

&lt;p&gt;Next.js 15 + React 19 on Vercel; Node + Express + TypeScript on Render. SSRF-hardened crawler, optional Playwright rendering,&lt;br&gt;
  results streamed over SSE. Runs entirely on free tiers.&lt;/p&gt;

&lt;p&gt;## Try it&lt;/p&gt;

&lt;p&gt;&lt;a href="https://freeseoaudit.vercel.app" rel="noopener noreferrer"&gt;freeseoaudit.vercel.app&lt;/a&gt; — paste your site and see. Free, stays free. Feedback very welcome,&lt;br&gt;
  especially on the GEO checks — useful or gimmick?&lt;/p&gt;

&lt;p&gt;Code: &lt;a href="https://github.com/ravigupta0210/seo-auditor" rel="noopener noreferrer"&gt;github.com/ravigupta0210/seo-auditor&lt;/a&gt;&lt;/p&gt;

</description>
      <category>seo</category>
      <category>ai</category>
      <category>webdev</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I built a free SEO + AI-search (GEO) audit tool — no signup, no limits</title>
      <dc:creator>Ravi Gupta</dc:creator>
      <pubDate>Mon, 15 Jun 2026 05:11:55 +0000</pubDate>
      <link>https://dev.to/ravigupta0210/i-built-a-free-seo-ai-search-geo-audit-tool-no-signup-no-limits-4659</link>
      <guid>https://dev.to/ravigupta0210/i-built-a-free-seo-ai-search-geo-audit-tool-no-signup-no-limits-4659</guid>
      <description>&lt;p&gt;I kept hitting the same wall: every SEO tool either paywalls the useful parts or caps you at a few pages. So I built a free one —&lt;br&gt;
  &lt;strong&gt;&lt;a href="https://freeseoaudit.vercel.app" rel="noopener noreferrer"&gt;freeseoaudit.vercel.app&lt;/a&gt;&lt;/strong&gt;. No signup, no crawl limit, open source.&lt;/p&gt;

&lt;p&gt;## What it checks&lt;/p&gt;

&lt;p&gt;Paste any URL and it streams a report across 40+ checks in 8 categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Metadata&lt;/strong&gt; — titles, descriptions, canonicals, Open Graph&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structured data (JSON-LD)&lt;/strong&gt; — validates schema against Google's rich-result rules&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Crawl &amp;amp; indexing&lt;/strong&gt; — robots.txt, sitemap, hreflang&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Core Web Vitals&lt;/strong&gt; and &lt;strong&gt;security headers&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GEO / AEO&lt;/strong&gt; — the part I care most about&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;## Why GEO/AEO?&lt;/p&gt;

&lt;p&gt;Search is splitting in two. Classic SEO gets you blue-link rankings; &lt;strong&gt;GEO (Generative Engine Optimization)&lt;/strong&gt; gets you &lt;em&gt;cited&lt;/em&gt;&lt;br&gt;
  inside AI answers — ChatGPT, Perplexity, Google AI Overviews. The two now share under 20% of their winners.&lt;/p&gt;

&lt;p&gt;So it checks things most SEO tools ignore:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;llms.txt&lt;/code&gt; presence + spec conformance&lt;/li&gt;
&lt;li&gt;Whether you're accidentally blocking GPTBot / ClaudeBot / PerplexityBot in robots.txt&lt;/li&gt;
&lt;li&gt;The "Island Test" — are your paragraphs self-contained enough for an AI to lift as a citation?&lt;/li&gt;
&lt;li&gt;Direct-answer detection and E-E-A-T signals&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;## Stack&lt;/p&gt;

&lt;p&gt;Next.js 15 + React 19 on Vercel; Node + Express + TypeScript on Render. SSRF-hardened crawler, optional Playwright rendering,&lt;br&gt;
  results streamed over SSE. Runs entirely on free tiers.&lt;/p&gt;

&lt;p&gt;## Try it&lt;/p&gt;

&lt;p&gt;&lt;a href="https://freeseoaudit.vercel.app" rel="noopener noreferrer"&gt;freeseoaudit.vercel.app&lt;/a&gt; — paste your site and see. Free, stays free. Feedback very welcome,&lt;br&gt;
  especially on the GEO checks — useful or gimmick?&lt;/p&gt;

&lt;p&gt;Code: &lt;a href="https://github.com/ravigupta0210/seo-auditor" rel="noopener noreferrer"&gt;github.com/ravigupta0210/seo-auditor&lt;/a&gt;&lt;/p&gt;

</description>
      <category>seo</category>
      <category>ai</category>
      <category>webdev</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
