Author: Organic Agent

  • Does AI Content Rank? A Live Experiment You Can Audit

    Does AI Content Rank? A Live Experiment You Can Audit

    Google’s own guidance says automated and AI-generated content can rank fine, as long as it is built for people first and the use of automation is disclosed rather than hidden. Using automation “for the primary purpose of manipulating search rankings” is what actually violates its spam policies, not automation itself. This site is a live, disclosed test of that claim: every post here is drafted by an AI agent and human-reviewed before publishing, and the results are public. The honest current answer is: barely, and not yet for the terms that matter most. Trailing 28 days show 105 impressions and 0 clicks in Google Search, and zero total impressions for any query containing “ai content” over the past three months. That is the real baseline the rest of this article is measured against.

    Most posts about AI content and Google either cite a study without a link or make a confident claim without showing their own numbers. This one does neither. Everything below is either a direct quote from Google’s own documentation, a study I could independently fetch and verify, or this site’s own Search Console and Analytics data, checked live on the date of writing.

    How this experiment is set up

    This site runs on organic-os, an open-source agent that researches, drafts, and proposes posts. Every piece still goes through a human approval step before it publishes, and that disclosure line – “Drafted with organic-os and human-reviewed before publishing” – sits at the bottom of every post, linked to a live proof page. That proof page shows the site’s actual Google Search Console and Google Analytics numbers, refreshed on a rolling basis, along with the GitHub repository’s stars, forks, and release history. Nothing here is a backtested case study written after the fact. The numbers are pulled live, and this article links to the same dashboard a reader can check themselves.

    That matters for a piece like this, because “does AI content rank” is usually answered with either marketing copy or fear, and rarely with a site that shows its own results, good or bad.

    The current results, and they are small

    Over the trailing 28 days, this site’s Search Console data shows 105 impressions and 0 clicks. Google Analytics shows 107 sessions, 40 users, and 220 page views in the same window, and the large majority of that traffic – 100 sessions – comes in direct, not organic search. Only 5 sessions in that period came from organic search.

    Pulling the full query-level data for the last three months tells a more specific story. Not one query containing the phrase “ai content” has generated a single impression for this site in that period – the number is exactly zero. The queries that do generate impressions are narrower and more literal: “seo agent” (12 impressions), “wp seo automation” (8), “seo ai agent” (4), “wordpress automated seo” (4), and similar terms, each in the single or low double digits. Every one of those queries has 0 clicks. Looking at the day-by-day series for the past month, nearly every day shows 0 clicks; two days in the period show exactly 1 click each, and impressions per day mostly stay under 20.

    None of that is evidence that AI-produced content cannot rank. It is evidence that a small, disclosed site with a handful of months of history has not yet accumulated the authority or link signals that older, larger sites have, which is true of any new site regardless of how its content is produced. I am labeling this claim at the strength the data actually supports: this site’s current impressions and clicks are close to zero, full stop, and I do not yet have enough of a track record to say whether that changes.

    What Google actually says about AI content

    Google’s own documentation on creating helpful content addresses automation directly, and the framing is about purpose and disclosure, not the production method itself. One of the self-assessment questions Google recommends asking is: “Is the use of automation, including AI-generation, self-evident to visitors through disclosures or in other ways?” Separately, Google states plainly: “If you use automation, including AI-generation, to produce content for the primary purpose of manipulating search rankings, that’s a violation of our spam policies.”

    Read together, those two sentences describe a specific line, not a blanket rule against AI content. Disclosed, people-first automation is treated differently from undisclosed automation built to game rankings. The author-box disclosure at the bottom of every post on this site exists specifically to sit on the right side of that line, not as a formality.

    What independent studies show

    An ongoing tracking study from Originality.ai gives a useful outside data point on how much AI content is already present in Google’s results, independent of any one site’s own numbers. As of September 2025, the study finds that 17.31% of the top 20 search results are AI-generated, up sharply from a pre-ChatGPT baseline of 2.27% in February 2019, with the tracked series peaking at 19.56% in July 2025. Whatever the exact mechanism, AI-produced content is clearly not locked out of top rankings at a meaningful scale – close to one in five top-20 results, by that study’s methodology, already qualifies.

    Search Engine Land ran its own direct experiment, publishing AI-generated content for 16 months and tracking what happened. Its own summary of the result: “Google indexed most pages quickly, but without authority, unique insight, or trust signals, rankings collapsed within months.” That is consistent with the point above – indexing is not the same as ranking durably, and content that is thin on authority or original insight tends to fall back out of results over time regardless of how it was produced.

    What would prove this wrong

    I would rather state the failure condition up front than move the goalposts later. If, 60 days after this article publishes, this site and this specific article still show zero impressions for “does AI content rank” and closely related queries, that is evidence against the position that disclosed, human-reviewed AI content can compete for its own target terms. I will not quietly drop that number if it stays at zero; the same proof page and this site’s Search Console data will still be there to check.

    For more on how this site decides what to automate versus what a person still has to do by hand, automated content operations: what to hand off, what to keep covers that split directly. The full live dashboard behind the numbers in this article is on the proof page. For the related question of whether structured data actually helps AI systems cite a page, does schema markup help AI citations has that study’s methodology and numbers. And if you want the fuller picture of what organic-os actually is, what an AI SEO agent actually is covers that.

    Frequently asked questions

    Does Google penalize AI-generated content?

    Not for being AI-generated on its own. Google’s own documentation frames the issue around disclosure and purpose: whether the use of automation is self-evident to visitors, and whether it is being used to manipulate rankings rather than to help people. Undisclosed, manipulation-focused automation is what violates Google’s spam policies, not automation itself.

    If AI content can rank, why does this site show 0 clicks?

    Because this is a small, recently launched site without the accumulated authority or link signals that older, larger sites have, which is true of new sites regardless of how the content is produced. Trailing 28-day Search Console data shows 105 impressions and 0 clicks, and zero impressions for any query containing “ai content” over the past three months. That is disclosed here on purpose, not smoothed over.

    What would change this conclusion?

    If, 60 days after this article publishes, it and this site still show zero impressions for “does AI content rank” and closely related queries, that would be evidence against the claim that disclosed, human-reviewed AI content can compete for its own target terms. The same public Search Console data referenced in this article will still be checkable at that point.


    About the author: Shivaa Tripathi leads digital and performance marketing at Exotel and writes about demand gen, AI search, and the systems behind them at shivaatripathi.com. He built organic-os, the open-source AI SEO agent this site documents. LinkedIn · GitHub

    Drafted with organic-os and human-reviewed before publishing — every change on this site is approved by a person and logged publicly on the live proof page. Published 2026-08-11 · Updated 2026-08-11.

  • Claude as an SEO Agent: What It Can Run for You Today

    A Claude SEO agent is Claude wired into a site’s analytics, search console, and CMS so it can read performance data, propose specific changes, and write them to the live site only after a person approves. This site, organicos.shivaatripathi.com, runs on exactly that setup: an open-source Claude Code plugin called organic-os that pulls GA4 and Search Console data daily, drafts fixes and articles, and applies only what a named person has approved through a recorded decision. The gate sits in code, not policy – a change with no logged approval cannot be applied. What follows is what that looks like day to day, including where it has failed.

    “Claude SEO agent” gets used loosely, for everything from a single prompt typed into Claude.ai to a fully wired plugin that edits a CMS on its own schedule. The distinction that actually matters, if you are evaluating one, is not how good the drafts read. It is whether a person sits between “draft ready” and “change live,” and whether that gap is enforced in code or is just something the tool’s documentation asks you to remember to do.

    The loop, and where a person has to say yes

    Every AI SEO agent worth the name runs the same six-step loop: observe, decide, approve, apply, verify, learn. Observe means pulling signals from sources you already own – Google Analytics, Search Console, AI-citation checks, competitor content – through APIs, not scraping. Decide turns those signals into concrete work items with the reasoning stated plainly, so a person can judge whether the work is worth doing. Approve is a person accepting or rejecting each proposed change; this is the step that makes the rest safe. Apply writes the approved change to the site, typically through the CMS API. Verify means the agent re-reads the live page to confirm the change actually took effect, not just that the API call returned success. Learn closes the loop weeks later, when the outcome gets measured against the specific change and written into a playbook the next run can use.

    On this site, that approval step is not a convention – it is a constraint the code enforces. Mutation is impossible without a recorded approval, and a hand-edited status without a matching approval entry still fails. Concretely, this site’s plugin is built from three modules: one observes and decides, pulling GA4 and GSC data and proposing a fix or a content brief; one audits pages and applies approved fixes with rollback; one turns approved briefs into drafts like this post. Nothing moves from one module to the next without a decision logged with who approved it, when, and through which channel.

    What it does well vs. where humans stay

    The parts that are genuinely automated here are the reading and drafting: pulling GA4 and Search Console numbers on a schedule, turning a gap in keyword coverage into a written content brief, drafting the resulting article in the site’s voice, checking every claim in that draft against a named source before it ships, and re-reading the live page after publish to confirm the change actually rendered instead of trusting the API response. Those steps run without someone typing each prompt by hand.

    Humans stay for three things this setup does not try to automate away. First, every content brief and every on-page fix gets approved or rejected by a named person before anything is written live – the outline above is what gets proposed, not what gets shipped automatically. Second, WordPress’s own permission model draws a line the agent cannot cross on its own: the app password this plugin runs under has an editor role, which can publish posts but is denied when it tries to purge the Rank Math sitemap cache – that action needs the site admin’s separate credentials, by design. Third, a person still reads the rendered output before trusting it, because this agent’s own history includes a case where that check caught something the API-level check missed (below).

    Setup paths: plugin vs. DIY prompting

    There are two real ways to run Claude against SEO work today. The first is a purpose-built plugin wired to your analytics, search console, and CMS, with an approval gate between draft and live – what this site runs. Several shipping tools take this general shape. SE Ranking publishes seranking/seo-skills, a set of 26 Claude Agent Skills that turn its own API data into finished deliverables like content briefs and drift-monitoring reports. ccforseo.com ships 8 free Claude Code skills that run an audit and save it to a markdown report for a person to act on by hand. ivankuznetsov/claude-seo moves an article through a research, draft, rewrite, published pipeline on your local file system. All three are real, useful tools, and all three stop at the deliverable – none of them, as documented, writes an approved change straight to a live CMS with a code-enforced gate in between.

    The second path is DIY prompting: opening Claude and asking it to draft a brief, an article, or a fix, one session at a time, with no persistent playbook and no approval record. This costs nothing beyond your normal Claude usage and works fine for a single task. It resets every session, though – the model has no memory of what worked last month unless you rebuild that context by hand, and there is no code-level gate stopping a bad draft from reaching your CMS if you skip the review step yourself.

    Honest costs and failure modes, from this site’s own log

    The proof page this plugin publishes about itself updates every four hours from GA4, Search Console, and GitHub, and it is the most honest answer to “does this actually work” available right now. As of this piece’s most recent refresh, the repository sits at 4 stars, 5 forks, and 6 contributors, on release v0.6.1. Over the trailing 28 days the site logged 106 sessions and 219 page views, split 99 direct, 5 organic search, 2 unassigned. Search Console shows 104 impressions and zero clicks over the same window, across queries that include “seo agent” (12 impressions), “seo ai agent” (4), and “what are ai seo agents” (2) – none of them converted to a click yet. That is the real state of this SEO-content operation a few weeks into visibility, not a projection, and it is the same data this brief’s own falsifiability clause will be judged against: it is wrong if Claude-SEO-agent queries still show zero impressions 60 days after this goes live.

    The failure modes are just as visible in the log. One post on this site once shipped with backslash-escaped Gutenberg block comments that rendered as literal garbage text on the live page – the API-level content check had passed, but the live HTML had not, because the write path went through a shell-interpolation step that mangled special characters. The fix was not a smarter model; it was adding a mandatory step that fetches the rendered live page after every publish and fails the run if block-comment syntax shows up outside an actual HTML comment. This post went through that same check before you read it. A second known limit: the queue-rebuild routine has crashed outright when a stray draft scratch file sat in the briefs folder – a small bug, but the kind that can stop a day’s pipeline if nobody notices.

    Frequently asked questions

    Does a Claude SEO agent publish changes without a person approving them?

    Not if it is built correctly. A well-built agent makes every write – a title-tag edit, a published article – conditional on a recorded approval: who decided, when, through which channel. On this site that gate is enforced in code, not left as a step someone might skip, so a change with no logged approval cannot go live.

    What can a Claude SEO agent actually do today versus what a person still has to do?

    It can reliably observe analytics and Search Console data, turn a coverage gap into a drafted brief or article, check claims against sources, and verify a change rendered correctly on the live page. A person still approves each change before it ships, and still holds the higher-permission credentials some actions require, like purging a sitemap cache.

    Is a dedicated plugin better than just prompting Claude directly for SEO work?

    A plugin wired to your CMS and analytics with an approval gate can act on a schedule and remember what worked across runs. Prompting Claude directly, session by session, works too, but it resets each time, since there is no persistent playbook and no code-level gate stopping a change from reaching your CMS unless you build that review step yourself.

    For the fuller version of the six-step loop this piece compresses, see what an AI SEO agent actually is. For a closer look at how the shipping Claude-plugin category compares on the approval-gate question, see this site’s Claude plugin for SEO comparison. The architecture behind this specific setup is documented in organic-os v0.1: the loop is the product, and a closer look at what gets automated day to day is in automated content operations.


    About the author: Shivaa Tripathi leads digital and performance marketing at Exotel and writes about demand gen, AI search, and the systems behind them at shivaatripathi.com. He built organic-os, the open-source AI SEO agent this site documents. LinkedIn · GitHub

    Drafted with organic-os and human-reviewed before publishing — every change on this site is approved by a person and logged publicly on the live proof page. Published 2026-08-10.

  • How to Measure AI Citations: A Practical Tracking Method

    Measuring AI citations means running the same question through ChatGPT, Perplexity, and Google’s AI Overviews on a schedule and logging whether each one names your site. There is no citation-tracking API from any of the three, so this stays a manual, sampled check: build a panel of 20-30 real buyer questions, ask each assistant every question, record who gets cited, and re-run the panel every one to two weeks to see the pattern move. This is a different measurement from AI-referral traffic in GA4, which only counts clicks – a citation with no click never shows up there at all.

    “Are we getting cited by AI?” does not have a dashboard answer yet. OpenAI, Perplexity, and Google do not publish a citation-tracking API for any of their assistants, so the only direct signal is asking the assistant a question and reading what it says back. That is manual and does not scale past a sample – but it is the same signal every AI-SEO practitioner is working from right now, and it is worth doing on a schedule instead of once.

    The query-panel method in four steps

    The method is the capsule above, expanded. First, build a fixed panel of questions your actual buyers ask – not keyword-tool guesses. Second, run the full panel against each assistant you care about, same questions, same order, every time. Third, log the result for each question and engine: cited, not cited, and if cited, whether it was your page, a competitor’s, or a source you did not expect. Fourth, compare the log across runs to see whether citations are moving, and treat referral-traffic tracking in GA4 as a separate, complementary check rather than a substitute.

    Building a 20-30 question panel from real buyer questions

    Pull the panel from the same places a good keyword list comes from: sales call transcripts, support tickets, competitor comparison pages, and the questions your own content already tries to answer. A range of 20 to 30 questions is a reasonable starting size for most single-product or single-category sites – enough to catch a pattern across a topic, small enough to run by hand in under an hour. Write the questions the way a buyer would type them, not the way a keyword tool would phrase them; assistants are answering a question, not matching a query string. Keep the panel fixed once you set it, so later runs are comparable to earlier ones, and only add or retire questions deliberately, noting when you did it.

    Logging and scoring citations across ChatGPT, Perplexity, and AI Overviews

    Ask each panel question directly in ChatGPT and Perplexity, since both are conversational products built for exactly this kind of query. For Google, search the same question and check whether an AI Overview appears and who it cites – Google’s own documentation confirms AI Overviews and AI Mode pull from the same crawling and indexing pipeline as regular Search, and a page has to already be “indexed and eligible to be shown in Google Search with a snippet” before it can appear as a supporting link in either feature. There is no separate AI-only crawler to check the way there is for ChatGPT’s OAI-SearchBot or Perplexity’s PerplexityBot.

    A simple log is enough: one row per question per engine per run, with columns for the date, whether your site was cited, which competitor (if any) was cited instead, and a short note on the answer’s framing. Score it however is useful to you – a raw citation rate per engine, a trend line over successive runs, or just a running list of which competitors keep showing up in your place. The scoring matters less than running the same panel consistently enough to compare one period to the next.

    Separating citations from referral traffic – they are different metrics

    A citation and a referral click are not the same event, and conflating them will make the picture look worse than it is – or better. GA4 added a native “AI Assistant” default channel group that automatically classifies referral sessions from ChatGPT, Gemini, and Claude, and I have written up how to check it and build a manual fallback separately. But that channel only counts a session created when someone clicks through from an assistant’s answer with an intact referrer header. An assistant can read your page, quote it, and name you as the source without the reader ever clicking – and that interaction creates no GA4 session at all, on any channel. The query-panel method above is the only way to see that side of it; GA4 referral tracking answers a different, narrower question about traffic that actually landed.

    This site’s own numbers make the distinction concrete rather than theoretical. As of this piece’s most recent check, this property’s GA4 AI Assistant channel shows zero sessions, and the query panel behind this check (kept in this site’s own tracking file) has zero questions populated – the mechanism exists and the daily routine is built to run it, but it has not been seeded with real questions yet on this property. That is not a claim this site is invisible to AI assistants; it is what the two measurements actually show today, stated plainly rather than implied otherwise.

    Limits, noise, and how often to re-run the panel

    Treat every result as a sample, not a census. Assistants can answer the same question differently across runs even with no change on your end – model updates, retrieval randomness, and the assistant’s own session context all introduce noise a single check cannot separate from a real shift. A panel of 20-30 questions checked once tells you almost nothing about whether the underlying pattern is moving; the value comes from repeating the exact same panel and watching the trend across several runs. Re-running every one to two weeks is frequent enough to catch a real trend without turning an inherently manual process into a full-time job, though the right cadence depends on how much time you have and how quickly your content changes.

    The other limit worth naming: this method cannot rule out a citation you did not think to ask about. A 20-30 question panel is a sample of your topic, not the whole thing, so a clean row of “not cited” answers only means the questions you tested were not cited – not that no question would be. Widening the panel over time, and retiring questions that stop being representative, keeps the sample honest.

    Frequently asked questions

    Is there a tool that tracks AI citations automatically?

    Not from the assistants themselves. OpenAI, Perplexity, and Google do not publish a citation-tracking API for ChatGPT, Perplexity, or AI Overviews, so the direct signal – asking an assistant a question and reading the answer – stays manual. Third-party AI-visibility tools exist that automate parts of this same query-panel idea, but they are running the same manual check at scale on your behalf, not reading a citation feed the platforms provide.

    Does a citation always show up as GA4 referral traffic?

    No. GA4’s AI Assistant channel only counts sessions created when someone clicks through from an assistant’s answer with an intact referrer header. If an assistant cites or quotes your page but the reader never clicks, or clicks from an app that strips the referrer, that interaction creates no session in GA4 on any channel – not AI Assistant, not Direct, nowhere. Citation tracking and referral-traffic tracking answer different questions and need different methods.

    How many questions should be in an AI-citation tracking panel?

    20 to 30 real buyer questions is a reasonable starting size for most single-product or single-category sites – enough to reveal a pattern across a topic without making a manual check unmanageable. Keep the panel fixed between runs so results are comparable over time, and widen it deliberately as your content or product coverage grows.

    For the tactics that actually move whether an assistant cites you in the first place – crawler access, extractable structure, entity clarity, and why schema markup and llms.txt do not reliably help – see how to get cited by ChatGPT and Perplexity. For the GA4 setup behind the referral-traffic side of this check, see how to track AI referral traffic in GA4. For the broader terminology this piece sits inside, GEO vs SEO vs AEO and what an AI SEO agent actually is both cover adjacent ground.


    About the author: Shivaa Tripathi leads digital and performance marketing at Exotel and writes about demand gen, AI search, and the systems behind them at shivaatripathi.com. He built organic-os, the open-source AI SEO agent this site documents. LinkedIn · GitHub

    Drafted with organic-os and human-reviewed before publishing — every change on this site is approved by a person and logged publicly on the live proof page. Published 2026-08-09.

  • llms.txt for WordPress: 5-Minute Setup (Does It Matter?)

    Adding llms.txt to WordPress takes about five minutes: create a plain text file named llms.txt, put an H1 with your site name, a one-line summary, and a few links to your most important pages, then upload it to your site’s root so it loads at yoursite.com/llms.txt. A plugin can automate that, or you can do it by hand with no plugin at all. The harder question is whether it does anything. Neither OpenAI’s nor Google’s own documentation lists llms.txt as something their systems read, and an independent scan of 137,000 domains found 97% of published llms.txt files got zero requests. This piece covers the setup honestly, then the evidence, using this site’s own llms.txt as the working example.

    llms.txt showed up in a lot of “AI SEO checklist” content over the past year, usually presented as a settled best practice. It is not settled. It is a proposal from one developer, adopted by some sites, and not confirmed as read by any major AI platform. Here is what the file actually is, how to add it to WordPress with or without a plugin, and what the traffic data says about whether it is worth your five minutes.

    What llms.txt actually is

    llms.txt is a plain markdown file proposed by developer Jeremy Howard in September 2024, meant to sit at the root of a website the same way robots.txt or sitemap.xml does. The idea: give AI systems a short, structured index of a site’s most important content, since large language models have limited context windows and cannot easily process a full page the way a search crawler can.

    The spec itself is short. Per the official documentation, a valid file needs exactly one required part – “an H1 with the name of the project or site” – plus a few optional ones: a blockquote with a short summary, any free-form paragraphs, and then H2-headed sections that function as link lists, each entry a markdown link with an optional note after it. The spec also proposes a more involved second layer: clean markdown mirrors of individual pages, served at the same URL with .md appended, so an AI system fetching a specific page gets a lightweight version instead of full HTML. Most sites that adopt llms.txt stop at the root file and skip the per-page mirrors, which is a meaningfully bigger project.

    Nothing about this is a ratified web standard. There is no governing body, no required adoption, and no guarantee any given crawler even requests the file, let alone parses it.

    Adding it in WordPress: plugin vs manual

    Both routes work. Neither requires much.

    The manual route: write a plain text file following the structure above and upload it to your WordPress site’s root directory via SFTP or your host’s file manager, so it resolves at yoursite.com/llms.txt. That is the entire task. No plugin, no database entry, no build step. The only real constraint is that your hosting setup needs to let you place a static file at the root, which most standard WordPress hosts do but some managed or sandboxed setups restrict.

    The plugin route trades a few minutes of manual work for automatic upkeep. Several free plugins are listed on the official WordPress.org plugin directory that generate and serve an llms.txt file, with some pulling your site’s title, tagline, and published post list into the file automatically and updating it as content changes, and others adding rewrite rules so the file is served without ever touching the filesystem directly. If your site changes often and you want the file to track that without manual edits, a plugin removes the maintenance step. If your site is small and mostly static, hand-editing a text file once is arguably less overhead than adding another plugin.

    Either way, keep the file honest. List pages that actually explain what your site or product does, not a dump of every URL on the domain – the spec’s own guidance treats it as a curated index, not a sitemap duplicate.

    The evidence problem: who actually reads it

    This is the part most llms.txt guides skip. Adding the file is trivial. Whether anything reads it is a separate, weaker claim.

    Start with what the platforms themselves say. OpenAI’s developer documentation for its crawlers – GPTBot, OAI-SearchBot, ChatGPT-User – describes each one’s purpose in detail and does not mention llms.txt as an input to any of them. The one place llms.txt appears on OpenAI’s own developer docs is a navigation link to their own documentation index, not a statement about how their crawlers treat other sites’ files.

    Google’s position is more direct. John Mueller of Google’s Search team was asked on Bluesky whether llms.txt files appearing on some Google properties amounted to an endorsement of the format. His answer: “I’m tempted to say something snarky since this has come up so often, but to be direct, no.” Reporting on that exchange notes Google’s Search team has separately said no one uses llms.txt files, that Google will not use them, and that sites publishing one should consider adding a noindex header to it.

    Then there is the traffic data. Ahrefs analyzed crawler logs across 137,000 domains and found that 97% of published llms.txt files received zero requests in the measurement window. Of roughly 38,000 domains with a valid file, only about 1,100 saw any traffic to it at all – and among the requests that did happen, SEO audit tools and unidentified bots accounted for more volume than anything resembling an AI assistant. Bots tied to ChatGPT and Perplexity made up only about 1% of the requests among files that got traffic at all.

    Put together: the format exists, some sites publish it, and the systems it was built for have not confirmed they read it.

    This site’s own llms.txt, as the example

    This site publishes its own llms.txt, and it is a reasonable template to copy. It opens with an H1 naming the project, a one-paragraph summary blockquote, and then H2 sections – “Core pages,” “Source,” “Articles” – each a short list of markdown links with brief notes. The summary paragraph states plainly that this site “does not claim llms.txt improves AI visibility; the evidence for that is weak.” That line is there because publishing the file and overselling what it does are two different decisions, and only one of them is defensible.

    Verdict

    Adding llms.txt to a WordPress site costs almost nothing – five minutes by hand, or a free plugin if you want it to stay current automatically. On that basis alone it is a reasonable thing to do, the same way adding a sitemap.xml is a reasonable thing to do even without proof any specific crawler fetches it that day. What is not reasonable is expecting it to move AI citations or traffic. No major platform has confirmed it reads the file, and the best independent data available shows the overwhelming majority of published llms.txt files sit unread. Do the setup if you want to, keep it accurate if you do, and do not count it as an AI-SEO strategy on its own.

    Frequently asked questions

    Do I need a plugin to add llms.txt to WordPress?

    No. llms.txt is a plain text file that only needs to exist at your site’s root, so uploading one manually via SFTP or your host’s file manager works the same as any other method. A plugin only helps if you want the file to update automatically as your content changes, which matters more for large or frequently updated sites than small ones.

    Does ChatGPT or Google actually read llms.txt files?

    There is no confirmation that either does. OpenAI’s crawler documentation does not list llms.txt as an input for GPTBot, OAI-SearchBot, or ChatGPT-User. Google’s John Mueller directly said Google does not endorse the format, and separate reporting says Google’s Search team has stated no one uses these files. Independent traffic analysis across 137,000 domains found 97% of published llms.txt files got zero requests.

    Is adding llms.txt to a WordPress site worth doing?

    It costs very little to add, so it is a low-risk addition if you want one. But current evidence does not support treating it as something that will increase AI citations or visibility, since no major AI platform has confirmed reading it and most published files receive no traffic at all. Treat it as optional housekeeping, not a growth tactic.

    For the fuller technical picture of what AI crawlers document about themselves and how that compares to llms.txt, how to get cited by ChatGPT and Perplexity covers OpenAI’s and Perplexity’s own crawler documentation in detail. The general WordPress setup this file fits into is covered in the WordPress SEO checklist. For where llms.txt sits inside the broader terminology, GEO vs SEO vs AEO and does schema markup help AI citations cover adjacent tactics with the same evidence-first approach.


    About the author: Shivaa Tripathi leads digital and performance marketing at Exotel and writes about demand gen, AI search, and the systems behind them at shivaatripathi.com. He built organic-os, the open-source AI SEO agent this site documents. LinkedIn · GitHub

    Drafted with organic-os and human-reviewed before publishing — every change on this site is approved by a person and logged publicly on the live proof page. Published 2026-08-09 · Updated 2026-08-09.

  • How to Get Cited by ChatGPT and Perplexity

    Getting cited by ChatGPT and Perplexity comes down to three levers with real evidence behind them: let their search crawlers reach your pages, write passages that can be lifted out and quoted on their own, and make it unambiguous who you are and what you are describing. Schema markup and llms.txt files are not on that list – the best controlled data available says neither reliably moves citations. This piece documents how each assistant retrieves sources, what the evidence does and does not support, and how I check my own site’s AI-referral traffic, including where it stands right now.

    The three citation leversCrawler accessGPTBot, ClaudeBot, Perplexity-Bot can fetch your pagesExtractable structuresections that answer onequestion, quotable verbatimEntity clarityone consistent definitionof what you are, site-wideEligible to be cited in AI answersno lever guarantees a citation – they make you selectable
    The three levers with real evidence behind them. Everything else is speculation.

    Most “how to get cited by AI” advice is a repackaged SEO checklist with new acronyms stapled on. Some of it holds up. Some of it – schema markup for citations, llms.txt as a control file – does not survive contact with the data. Here is what OpenAI and Perplexity document about how their assistants find and cite sources, what controlled studies say about the tactics that do not work, and a routine for checking where your own site stands.

    How ChatGPT and Perplexity actually retrieve sources

    Both companies publish this. You do not need to guess.

    OpenAI runs three separate crawlers and treats them as independently controllable. Per its own crawler documentation, OAI-SearchBot is “used to surface websites in search results in ChatGPT’s search features. Sites that are opted out of OAI-SearchBot will not be shown in ChatGPT search answers” – the crawler that matters for citations. ChatGPT-User fires only when someone asks ChatGPT to look at a specific page, not as a background indexing pass. GPTBot exists solely “to crawl content that may be used in training,” unrelated to citations. OpenAI states plainly that these are independent: “a webmaster can allow OAI-SearchBot in order to appear in search results while disallowing GPTBot.” So blocking “the AI bots” as one group in robots.txt is a mistake for anyone who wants ChatGPT citations – blocking OAI-SearchBot removes you from ChatGPT search answers; blocking GPTBot only opts you out of training data.

    Perplexity draws the same line, with one wrinkle. Its developer docs describe PerplexityBot as “designed to surface and link websites in search results on Perplexity. It is not used to crawl content for AI foundation models” – the citation-relevant crawler. Perplexity-User fires when “users ask Perplexity a question” and it “might visit a web page to help provide an accurate answer.” The wrinkle: PerplexityBot “respects robots.txt rules,” but Perplexity-User “generally ignores robots.txt rules” because a real person’s request triggered it. Block PerplexityBot entirely and you opt out of citations, not just training.

    The three levers, ranked by evidence strength

    Crawler access is the strongest-evidence lever: it is not inferred, it is stated directly in the documentation quoted above. Check robots.txt for OAI-SearchBot and PerplexityBot specifically, not a blanket “AI bot” rule.

    Extractable structure is moderate evidence: it follows from how these assistants describe fetching and quoting passages, not a controlled experiment isolating structure. A direct-answer paragraph near the top, a real question answered in a heading, and prose that stands alone as an answer are easier to lift cleanly. This is the same logic behind AEO generally – as I have written elsewhere on this site, answer engine optimization is “the practice of making your content a source that AI assistants such as ChatGPT, Perplexity, and Google’s AI Overviews cite when they answer your buyers’ questions.”

    Entity clarity is the weakest evidence of the three: anecdotal, not a controlled result. A retrieval system still has to resolve who or what a page is about before citing it as an authority, and a page that never states its own subject, author, or organization gives it less to work with. I could not find a controlled study isolating entity clarity the way the schema study below isolates markup, so treat this as a plausible mechanism, not a proven lever.

    What does not work: the schema and llms.txt hype

    Two tactics get pitched constantly as AI-citation levers, and the best available evidence does not support either.

    Schema markup is the first. I already covered the controlled test on this site in detail: Ahrefs ran a difference-in-differences comparison, tracking “1,885 pages that added JSON-LD structured data” against “4,000 matched control pages that did not,” and found “statistically insignificant moves for ChatGPT and Google AI Mode, and a significant decline for Google AI Overviews.” Schema still earns Google rich results and is worth keeping for that. It is not, on this evidence, a lever for AI citations.

    llms.txt is the second, and the evidence against it is more direct. Ahrefs analyzed crawler logs from 137,000 domains and, per Search Engine Journal’s coverage, found “97% of llms.txt files got zero requests” during the study period – and of the small remainder that got any traffic, AI retrieval bots tied to ChatGPT and Perplexity accounted for only about 1% of those requests. The assistants documented above retrieve pages directly, the same way a search crawler does. Neither company’s crawler documentation mentions llms.txt as an input. Publishing one is not harmful, but current data gives no reason to expect it to move citations.

    A weekly citation-check routine you can copy

    I run this same check on this site on a schedule, using nothing most sites do not already have. First, in GA4, check whether the native “AI Assistant” default channel group is populated – Google added it to recognize referral sessions from ChatGPT, Gemini, and other assistants automatically, and I have written up the full setup and fallback method separately if your property is not showing it yet. Second, spot-check robots.txt weekly for OAI-SearchBot and PerplexityBot specifically, since a CDN or security-plugin update can silently add either to a blocklist. Third, ask each assistant a question your content should answer and note whether it cites you, a competitor, or nothing – manual and not scalable, but the only direct signal available, since neither company publishes a citation-tracking API.

    This site’s own citation status, stated plainly

    Here is where this site actually stands, checked the same way I am recommending you check your own: pulling the GA4 “AI Assistant” default channel group for the trailing 30 days. Over that window, this property recorded 95 Direct sessions, 5 Organic Search sessions, and 2 Unassigned sessions – zero sessions attributed to the AI Assistant channel. That is not a claim this site never gets an AI citation; it is what the measurement shows right now, on a small, young site. I would rather publish that honestly than imply a result I cannot back up. If it changes, the routine above is how I will catch it.

    What is documented here versus inferred

    The crawler-behavior quotes above come directly from OpenAI’s and Perplexity’s own developer documentation, fetched and verified live on the date of writing, not third-party interpretation. The schema-markup finding and the llms.txt traffic figures are both independently run Ahrefs studies. Entity clarity, as noted above, is the one claim here that is plausible reasoning rather than a controlled result, labeled that way rather than dressed up as proven. There is no search-volume figure in this piece for “how to get cited by ChatGPT” – Keyword Planner access is not functional in my environment, and I would rather say so than guess.

    Frequently asked questions

    Does blocking AI bots in robots.txt stop training but not citations?

    It depends which bot you block. OpenAI’s own documentation confirms GPTBot, OAI-SearchBot, and ChatGPT-User are controlled independently in robots.txt: disallowing GPTBot only opts a site out of AI training data, while disallowing OAI-SearchBot removes it from ChatGPT search answers entirely. Perplexity works the same way, with PerplexityBot as the citation-relevant crawler. A blanket rule that blocks every bot with “AI” or “GPT” in its name will usually remove you from citations, not just training.

    Does adding an llms.txt file help get my site cited by ChatGPT or Perplexity?

    The available evidence says no. Ahrefs’ analysis of crawler logs across 137,000 domains found that 97% of published llms.txt files received zero requests, and AI retrieval bots tied to ChatGPT and Perplexity made up only about 1% of the requests that did occur. Neither OpenAI’s nor Perplexity’s own crawler documentation lists llms.txt as something their citation-relevant crawlers read.

    Does schema markup increase how often AI engines cite a page?

    A controlled Ahrefs study comparing 1,885 pages that added JSON-LD schema against 4,000 matched pages that did not found statistically insignificant movement for ChatGPT and Google AI Mode citations, and a statistically significant decline for Google AI Overviews. Schema is still worth adding for Google rich results, but current evidence does not support it as an AI-citation lever.

    For the fuller first-party definition of AEO this piece builds on, a practical intro to answer engine optimization for B2B SaaS covers that in depth. The schema-markup study referenced above is broken down fully in does schema markup help AI citations. For the exact GA4 setup behind the citation-check routine in this piece, see how to track AI referral traffic in GA4. If you want the broader terminology this piece sits inside, GEO vs SEO vs AEO and what an AI SEO agent actually is both cover adjacent ground.


    About the author: Shivaa Tripathi leads digital and performance marketing at Exotel and writes about demand gen, AI search, and the systems behind them at shivaatripathi.com. He built organic-os, the open-source AI SEO agent this site documents. LinkedIn · GitHub

    Drafted with organic-os and human-reviewed before publishing — every change on this site is approved by a person and logged publicly on the live proof page. Published 2026-08-08 · Updated 2026-08-08.

  • GEO vs SEO vs AEO: What Actually Differs (and What Does Not)

    SEO, AEO, and GEO all aim at the same underlying goal – getting your content in front of someone with a question – but they aim at different destinations. SEO gets a page ranked so a person can click through and read it. AEO gets a specific answer extracted and cited inside AI Overviews, voice search, or a featured snippet. GEO is the academic term for optimizing visibility inside a generative model’s own response, using a framework built for that purpose rather than traditional ranking signals. Most of the daily work – clear structure, real answers, crawlable pages – overlaps across all three, and the acronyms mostly describe which destination you’re aiming at, not three separate skill sets you need to hire for.

    SEO vs AEO vs GEOSEOAEOGEOSURFACEMETRICFEEDBACKSearch resultspagesAI assistantanswersGenerative enginesbroadlyRankings + clicksCitationsin answersBrand presencein outputsSearch ConsoleCitation checksShare-of-voicepanelsShared foundation (~most of the work): crawlable site, clear entities, extractable answers, evidence
    Three labels, one discipline: the surfaces and metrics differ, most of the underlying work does not.

    The three terms get used almost interchangeably in vendor pitches, which makes them sound like three separate line items to budget for. They mostly aren’t. Here’s what genuinely differs between them, what’s the same work with a new label on it, and what a small B2B site should actually build first.

    Where they genuinely differ

    The clearest way to separate the three is to ask what each one is actually optimizing for, because the targets are different even where the underlying content overlaps.

    SEO, per Google’s own current framing, is “about helping search engines understand your content, and helping users find your site and make a decision about whether they should visit your site through a search engine.” The target is a click: your page has to rank, and then a person has to decide it’s worth visiting.

    AEO drops the click as the goal. HubSpot’s own comparison puts it plainly: “answer engine optimization is different from traditional SEO because AEO prepares content for direct answers in AI Overviews, voice search, and featured snippets, while SEO focuses on ranking full pages in organic search results.” The two “run in parallel,” HubSpot adds, “and they rely on different signals, content structures, and measurement frameworks.” You’re not optimizing a page to be visited – you’re optimizing a passage to be lifted out and quoted.

    GEO is narrower and newer than either term suggests from how it gets used in marketing copy. It comes from a specific 2023 research paper (Aggarwal et al., presented at KDD’24) that describes itself as “the first novel paradigm to aid content creators in improving their content visibility in generative engine responses through a flexible black-box optimization framework for optimizing and defining visibility metrics.” That’s a research framework with its own defined metrics and its own reported result – the paper states GEO “can boost visibility by up to 40% in generative engine responses” – not a settled industry practice with its own toolset yet. When someone says “GEO strategy” in a sales deck, they usually mean something closer to AEO.

    The feedback loops differ too, and this is the part that matters operationally. SEO has mature, free instrumentation: Search Console, rankings, click-through rate. AEO citation tracking is still immature – there’s no equivalent of Search Console for “which AI answers quoted you,” so most sites are working with thinner signal. GEO, as the paper defines it, is a research framework with its own visibility metrics, which isn’t the same as something you can wire into your own analytics stack today.

    Where it’s the same work relabeled

    Here’s the honest part: a lot of what gets marketed as a distinct “AEO tactic” or “GEO tactic” is SEO fundamentals with a new name attached. HubSpot’s own comparison says as much – “while good SEO can lead to some AEO wins, it is not a substitute for explicitly structured answers, schema, and consistent terminology” – which is a two-way admission: SEO work contributes to AEO outcomes, but structure has to be explicit too, not just implied by good ranking copy.

    I’ve made the same point about AEO specifically on this site before: “answer engine optimization is the practice of making your content a source that AI assistants such as ChatGPT, Perplexity, and Google’s AI Overviews cite when they answer your buyers’ questions,” and it “extends SEO rather than replacing it, and most of the underlying work overlaps.” That’s not a hedge – it’s the actual shape of the work. Clear headings, direct answers near the top of a page, crawlable HTML, and topical depth all serve both goals at once.

    Where this gets tested is schema markup, which is the single most-hyped “AEO tactic” in most vendor pitches. I’ve already covered a study on this site that ran the test directly: adding JSON-LD schema markup to pages “produced no citation gains in AI engines: statistically insignificant moves for ChatGPT and Google AI Mode, and a significant decline for Google AI Overviews.” The methodology behind that finding compared “1,885 pages that added JSON-LD structured data” against “4,000 matched control pages that did not.” Schema is good hygiene and it’s still worth doing for other reasons, but it’s not the lever that separates a page that gets cited from one that doesn’t. That result alone should make you skeptical of any pitch that frames GEO or AEO as a checklist of new technical add-ons rather than a continuation of the same fundamentals.

    Which to invest in first for a small B2B site

    If you’re a small B2B site with limited hours, the ordering follows directly from the overlap above. Get the SEO foundation right first: pages that crawl cleanly, headings that state the actual question being answered, and copy that answers it directly instead of building up to it. That work is not optional groundwork you do before AEO – per the site’s own AEO definition, it’s most of the underlying work AEO shares with SEO in the first place.

    Once that foundation is solid, layer in AEO-style structuring deliberately: a direct-answer paragraph near the top of the page, FAQ sections with explicit questions and answers, and schema markup where it’s straightforward to add. Do this because it’s low-cost and consistent with how the format works, not because the schema study above gives you any reason to expect a citation lift from schema alone.

    I would not build a dedicated “GEO strategy” as a small team right now. The term names a specific research framework with its own optimization process and its own metrics – not a set of tactics a marketing team can run today the way you’d run a keyword-targeted content calendar. Worth watching as the research matures. Not worth a separate budget line yet.

    What’s measured here versus inferred

    Google’s SEO definition and HubSpot’s AEO-vs-SEO framing above are direct quotes from those sources, fetched and verified live on the date of writing – they’re each source’s own stated position, not an independent audit by this site. The GEO paper’s “up to 40% visibility” figure is the paper’s own self-reported result from its own testing framework, not a number this site has independently reproduced. The two claims drawn from this site’s own prior posts – the AEO definition and the schema-markup finding – are first-party: they’re what this site has already published and tested, not generic claims about how every site performs.

    One figure I looked for and could not verify is the reported overlap between AI Overview citations and top-ranking organic results. Sources put that number anywhere from roughly 37% to nearly 99% depending on methodology, and I couldn’t independently confirm either figure through a live source. Rather than cite a contested number, I’m leaving it out. There’s also no search-volume figure in this piece for “GEO vs SEO vs AEO” or any related term – Keyword Planner access isn’t functional in my environment right now, and disclosing that seemed more useful than guessing.

    Frequently asked questions

    Is GEO the same thing as AEO?

    No, though they’re used interchangeably in a lot of marketing copy. GEO is the specific term from a 2023 research paper that defines a black-box optimization framework with its own visibility metrics. AEO is the broader, more commonly used industry term for the same general goal – getting cited in AI-generated answers – without being tied to that one paper’s specific framework. In practice, most people saying “GEO” in a sales pitch mean AEO.

    Does adding schema markup guarantee AI citations?

    No. A study this site has already covered found that adding JSON-LD schema markup produced no measurable citation gains in ChatGPT or Google AI Mode, and a measurable decline in Google AI Overviews, when compared against matched pages that didn’t add it. Schema is still worth doing as general hygiene, but it isn’t the tactic that separates cited pages from uncited ones.

    Should a small B2B site build a separate GEO strategy?

    Not as a distinct budget line, at least not yet. GEO names a research framework, not a shipped set of tactics a small marketing team can run today. A stronger use of limited time is getting SEO fundamentals right, then layering AEO-style structuring – direct answers, FAQ sections, schema where it’s easy – on top of that same foundation.

    If you want the fuller first-party definition of AEO and how it applies to B2B SaaS specifically, a practical intro to answer engine optimization for B2B SaaS covers that in depth. For the schema-markup study referenced above, does schema markup help AI citations has the full methodology and numbers. If you’re deciding whether any of this needs an AI agent or just a plugin, what an AI SEO agent actually is and AI SEO agent vs. SEO automation tool both cover that distinction directly.


    About the author: Shivaa Tripathi leads digital and performance marketing at Exotel and writes about demand gen, AI search, and the systems behind them at shivaatripathi.com. He built organic-os, the open-source AI SEO agent this site documents. LinkedIn · GitHub

    Drafted with organic-os and human-reviewed before publishing — every change on this site is approved by a person and logged publicly on the live proof page. Published 2026-08-07 · Updated 2026-08-07.