Tag: Content Strategy

  • 98,800 AI Citations from One Laptop: What Microsoft Copilot Is Actually Sourcing

    98,800 AI Citations from One Laptop: What Microsoft Copilot Is Actually Sourcing

    The Number Nobody Expected

    I run a portfolio of WordPress sites. One of them — a media property publishing articles about AI tools, local business intelligence, and content strategy — started showing up in a place I didn’t expect: inside Microsoft Copilot’s answers.

    Not as a search result. Not as a backlink. As a citation — the source that Copilot grounded its response on when enterprise users asked questions inside Word, Edge, Outlook, and the Copilot sidebar.

    The Bing Webmaster Tools AI Performance tab — still in beta, still barely documented — told me exactly how much: 98,800 AI citations across 576 unique grounding queries in under 90 days.

    That’s not a typo. Ninety-eight thousand, eight hundred times an AI engine pulled content from my site and embedded it in a response to a real user. And here’s the part that flipped my understanding of content economics: during that same period, the site received roughly 1,900 human clicks from Bing search.

    The AI was reading my content 52 times more often than humans were clicking on it.

    What the Bing AI Performance Tab Actually Shows

    Most marketers don’t know this tab exists. It appeared in Bing Webmaster Tools sometime in late 2025, buried under the Performance section. Microsoft labeled it “AI Performance (beta)” and didn’t announce it with any fanfare. No blog post. No keynote mention. It just showed up.

    Here’s what it tracks:

    Citations: The number of times your content was used as a grounding source in a Copilot-generated response. This isn’t an impression — it’s a direct attribution. Copilot pulled from your page, used your information, and (in many cases) linked back to you as the source.

    Grounding Queries: The actual questions users asked that triggered your content to be cited. These aren’t keywords — they’re natural language questions. Full sentences. “What is claude ai pricing in 2026.” “How do I connect Claude to Notion.” “What’s the difference between Claude Code and Cursor.”

    Daily Trend Data: The day-by-day citation count. This is where the story gets interesting.

    The Growth Curve That Changed My Strategy

    When I first noticed the AI Performance tab, my daily citation count was sitting at around 672 per day. Modest. Interesting, but not transformative.

    Ninety days later, it was 5,500 citations per day. That’s an 8x increase with no corresponding change in my publishing cadence, no new backlink campaigns, no paid distribution. The content was the same. What changed was Copilot’s appetite for it.

    The growth wasn’t linear. It came in steps:

    Days 1-30: Steady at 600-800 citations/day. Copilot was discovering the site.
    Days 30-50: Jump to 1,500-2,200/day. A handful of articles got locked in as preferred sources.
    Days 50-70: Acceleration to 3,000-4,000/day. The site was now a default grounding source for an expanding set of queries.
    Days 70-90: Peak at 5,500/day. Citation velocity was compounding — the more Copilot cited the site, the more queries it became eligible for.

    This looks like a flywheel, and I believe that’s exactly what it is. Copilot’s grounding algorithm appears to develop trust in sources over time. Once a domain proves reliable for a topic cluster, it gets promoted for adjacent queries in that cluster.

    The 576 Queries: What Enterprise Users Actually Ask

    The grounding queries are the most valuable dataset I’ve ever had access to. They reveal what Copilot users — overwhelmingly enterprise workers inside Microsoft 365 — are actually asking when they invoke the AI.

    The top query by citation volume: “claude ai pricing” — generating 16,500 citations on its own. One query. One article. Sixteen thousand five hundred times Copilot used my page as the source for its answer.

    The next tier includes queries like “claude code vs cursor,” “how to use claude code,” “anthropic console guide,” and “notion mcp setup.” These are highly specific, tool-comparison, how-do-I-use-this queries from people who are actively working. They’re not browsing. They’re not exploring. They’re in the middle of a task and they need an answer right now.

    This tells me something fundamental about who Copilot serves: knowledge workers making decisions inside productivity software. They’re writing a memo and need a pricing comparison. They’re evaluating a developer tool and need a feature breakdown. They’re setting up an integration and need configuration steps.

    The content that wins Copilot citations isn’t SEO content. It isn’t listicles. It isn’t keyword-stuffed landing pages. It’s reference-grade material that answers specific operational questions.

    What Roofing Articles Got: Zero

    I also publish content in trade verticals — restoration, construction, and local services. Those articles have solid traditional SEO performance. Google sends traffic. The content ranks.

    Copilot citations for those articles: zero.

    Not low. Not “a few.” Zero. Because the people using Copilot in their daily workflow aren’t asking about emergency water damage repair or roofing contractors in Houston. They’re asking about the tools they use to do their jobs — AI platforms, development environments, productivity software, and business strategy.

    This is the first data point that made me realize: AI citation optimization is platform-specific. The topics that win on Copilot are not the topics that win on Google, and they’re not the same topics that win on ChatGPT or Perplexity. Each platform has a different user base with different intent patterns.

    The Raw Numbers, Laid Out

    Here’s the data from one domain over approximately 90 days, pulled directly from Bing Webmaster Tools AI Performance (beta):

    Total AI Citations: 98,800
    Total Grounding Queries: 576
    Average Daily Citations (start): 672
    Average Daily Citations (end): 5,500
    Top Single Query Citations: 16,500 (“claude ai pricing”)
    Human Clicks from Bing (same period): ~1,900
    AI-to-Human Ratio: 52:1
    Top Content Type Cited: Detailed comparison/pricing guides
    Content Types with Zero Citations: Local service pages, trade industry content

    What This Means for Content Strategy

    The industry is currently arguing about SEO vs GEO vs AEO. That argument is already outdated. What the data shows is something more granular: different AI platforms are different audiences, and they require different content strategies, the same way that smart TV advertising requires different creative than mobile advertising.

    I’m calling this Platform-Specific AI Optimization (PSAO) because nobody else has named it yet. Nobody else has named it because nobody else is measuring it. The tools are there — Bing Webmaster Tools shows Copilot citation data right now — but the marketing industry hasn’t caught up to the idea that AI engines are audiences, not just algorithms.

    Here’s what I’m doing with this data:

    I’m writing content specifically engineered for Copilot’s enterprise user base during business hours — detailed tool comparisons, pricing breakdowns, integration guides, and operational how-tos. I’m writing different content for Google’s organic audience — local business directories, event guides, and community resources. Same domain. Two completely different content strategies running simultaneously.

    The Copilot content doesn’t need to rank on Google. The Google content doesn’t need Copilot citations. Each serves its platform’s audience where they actually are.

    Why I’m Publishing This

    I’m publishing this data because the industry needs a baseline. Right now, there is no public benchmark for AI citation volume. No one is talking about citation-per-query rates, daily citation growth curves, or topic-platform fit analysis. There’s no equivalent of “Domain Authority” or “organic traffic” for the AI citation economy.

    Someone needs to be first. I have the data. So here it is.

    If you run a content operation and you haven’t checked your Bing Webmaster Tools AI Performance tab, do it today. You might be sitting on citation data you didn’t know existed. And if you’re building content strategy without accounting for which AI platforms are actually consuming your content, you’re optimizing for one audience while ignoring the one that’s reading you 50 times more often.

    The AI citation economy is already here. The question is whether you’re measuring it.

    Frequently Asked Questions

    What are AI citations in Bing Webmaster Tools?

    AI citations are instances where Microsoft Copilot uses your website content as a grounding source in its responses to user queries. They appear in the AI Performance (beta) tab within Bing Webmaster Tools and represent direct attribution — Copilot pulled information from your page and used it to construct an answer for a real user.

    How do I check my AI citation data?

    Log into Bing Webmaster Tools, navigate to the Performance section, and look for the “AI Performance” tab. It’s currently in beta. You’ll see total citations, grounding queries (the actual questions users asked), and daily trend data showing how your citation volume changes over time.

    Why does Copilot cite some content but not others?

    Copilot’s user base is predominantly enterprise workers inside Microsoft 365 applications. They ask operational questions — tool comparisons, pricing details, integration guides, and how-to content related to their daily work. Content that answers specific, task-oriented questions earns citations. Generic listicles, local service pages, and broadly targeted SEO content typically receives zero citations because it doesn’t match what Copilot users are asking.

    What is Platform-Specific AI Optimization (PSAO)?

    PSAO is a content strategy framework that recognizes different AI platforms serve different audiences with different intent patterns. Copilot users are enterprise workers mid-task. ChatGPT users are explorers and researchers. Perplexity users want curated multi-source answers. PSAO means creating content tailored to each platform’s user behavior rather than treating all AI engines as interchangeable.

    Is AI citation data more valuable than traditional search clicks?

    The data suggests AI citations represent a fundamentally different type of content consumption. With a 52:1 ratio of AI citations to human clicks, AI engines are consuming content at dramatically higher volumes. Whether this translates to direct revenue depends on your monetization model, but from a reach and authority perspective, AI citations may represent the larger audience for many content categories.

  • llms-full.txt vs llms.txt: Why AI Agents Crawl It More (2026)

    llms-full.txt vs llms.txt: Why AI Agents Crawl It More (2026)

    Most conversations about AI crawlability focus on one file: llms.txt. But if you look at what Anthropic, Vercel, and LangGraph actually ship – and what GEO crawler research found AI agents fetching most – the file that matters more is its companion: llms-full.txt.

    Here’s the practical reality: llms.txt is the map. llms-full.txt is the territory. And in 2026, the agents that matter for citation traffic are fetching the territory.

    The Full File Family You Probably Don’t Know About

    The original llms.txt proposal – published by Jeremy Howard in September 2024 – defined one file. Implementers built the rest. The complete family as of mid-2026 is four files, but most sites only need two:

    FileWhat’s in itWhen to use
    /llms.txtCurated index – H1, summary, link sectionsAlways. The orientation layer.
    /llms-full.txtFull content of every linked page, concatenated as MarkdownWhen you want a model to deep-ingest your docs in a single fetch
    /llms-ctx.txtPre-expanded context without URLsFastHTML-style implementations
    /llms-ctx-full.txtPre-expanded context with URLs preservedSame, but URL-aware

    The pattern that works – and the one Anthropic, Vercel, and LangGraph all run – is the index + export pair: llms.txt for orientation, llms-full.txt for deep ingestion.

    Why llms-full.txt Gets Crawled More

    GEO researchers analyzing AI crawler behavior – including work cited by Profound – have noted that agents from Microsoft, OpenAI, and others tend to fetch llms-full.txt more frequently than llms.txt when both are present. The working explanation is structural: when a file contains the full content, it removes one retrieval step. An agent that fetches llms-full.txt gets everything it needs in a single HTTP request instead of fetching the index, parsing the links, then fetching each linked page individually. This is consistent with how developer documentation platforms like Mintlify describe the behavior of IDE agents operating under tight latency budgets.

    For IDE agents (Cursor, Continue, Cline) and MCP integrations, this is even more pronounced. These tools are operating under tight context windows and latency budgets. A single fetch that returns a clean Markdown blob of your entire docs is structurally preferable to a multi-step crawl.

    The implication: if you’ve shipped llms.txt but not llms-full.txt, you’ve done half the job.

    How to Build llms-full.txt

    The construction logic is simple: take every URL in your llms.txt, fetch each page, strip HTML to Markdown, and concatenate. In practice, most sites do this in their build pipeline.

    Here’s the minimal Node.js pattern:

    const fs = require('fs');
    const fetch = require('node-fetch');
    const TurndownService = require('turndown');
    const turndown = new TurndownService();
    
    async function buildLlmsFullTxt(llmsIndexPath, outputPath) {
      const index = fs.readFileSync(llmsIndexPath, 'utf8');
      const urlRegex = /\[.*?\]\((https?:\/\/[^\)]+)\)/g;
      const urls = [...index.matchAll(urlRegex)].map(m => m[1]);
    
      let output = '';
      for (const url of urls) {
        const res = await fetch(url);
        const html = await res.text();
        const markdown = turndown.turndown(html);
        output += \n\n---\n# Source: \n\n;
      }
    
      fs.writeFileSync(outputPath, output);
      console.log(Built llms-full.txt:  pages,  chars);
    }
    
    buildLlmsFullTxt('./public/llms.txt', './public/llms-full.txt');

    One constraint to manage: keep llms-full.txt under roughly 200,000 tokens (about 150K words, around 700KB). That’s the threshold where most models can ingest the file in a single context window. If your docs are larger, segment by product or language the way Supabase does – llms-full-api.txt, llms-full-guides.txt – and list the segmented files in your main llms.txt.

    The 2026 robots.txt Stack That Completes the Picture

    Shipping llms.txt and llms-full.txt is the visibility layer. The access-control layer is robots.txt – and it changed significantly in Q2 2026.

    The key development: Anthropic split its crawler into two separate user-agents. ClaudeBot is the training scraper (high bandwidth, no citation value – block it). Claude-Web is the live-retrieval agent that fetches pages to answer Claude.ai user queries in real time (allow it, because it drives citation traffic). Brands that blanket-block “all Anthropic crawlers” lose Claude citations entirely.

    Meta also shipped two active training scrapers in March 2026 – FacebookBot and Meta-ExternalAgent – at GPTBot-level crawl volume. Most sites have no rules for them yet.

    Here’s the 2026 template:

    # BLOCK: Training scrapers - high bandwidth, zero referral value
    User-agent: GPTBot
    Disallow: /
    
    User-agent: CCBot
    Disallow: /
    
    User-agent: ClaudeBot
    Disallow: /
    
    User-agent: FacebookBot
    Disallow: /
    
    User-agent: Meta-ExternalAgent
    Disallow: /
    
    # OPT OUT: Google Gemini training (keeps Search indexing intact)
    User-agent: Google-Extended
    Disallow: /
    
    # ALLOW: Live-retrieval agents - drive citation traffic
    User-agent: OAI-SearchBot
    Allow: /
    
    User-agent: ChatGPT-User
    Allow: /
    
    User-agent: Claude-Web
    Allow: /
    
    User-agent: anthropic-ai
    Allow: /
    
    User-agent: PerplexityBot
    Allow: /

    One important caveat on robots.txt enforcement: aggressive training scrapers often ignore the file or spoof their user-agents. The robots.txt rules signal intent and work for compliant bots; a WAF rule at the edge is the only deterministic block for non-compliant crawlers.

    The Honest State of the Technology

    The SERanking study of 300,000 domains (November 2025) found no measurable correlation between having llms.txt and being cited by ChatGPT, Claude, Gemini, or Perplexity. Google’s John Mueller compared the file to the deprecated keywords meta tag – something site owners declare but that search systems derive from the content itself.

    None of that means you shouldn’t ship both files. The cost is low, the optionality is real, and the IDE-agent ecosystem (Cursor, Continue, Cline) does actively use llms.txt. But the robots.txt work is the lever that moves outcomes today. The llms.txt + llms-full.txt pair is infrastructure investment – you want to be correct when major LLM providers start honoring it, and building the build pipeline now costs far less than retrofitting it later.

    The practical sequence for a site that hasn’t done this yet:

    1. Update robots.txt first. Add the Q2 2026 user-agent rules above. This takes twenty minutes and immediately affects how training scrapers treat your content.
    2. Ship llms.txt. Curated index, 20-50 priority pages, one-sentence description per link, sections in priority order.
    3. Build llms-full.txt. Concatenated Markdown of every linked page, under 200K tokens. Run it in your build pipeline so it stays current.
    4. Verify both files are served correctly. curl -I https://yoursite.com/llms.txt should return 200 with Content-Type: text/plain. A 404 on either file is the most common implementation error.
    5. Add an access-log check. Once per month, grep your logs for requests to /llms.txt and /llms-full.txt by user-agent. You want to see live-retrieval agents (Claude-Web, OAI-SearchBot, PerplexityBot) in the results – not just training scrapers.

    The goal isn’t to optimize for a standard that isn’t fully adopted yet. It’s to build the infrastructure correctly now, while the field is still forming, so that adoption changes work in your favor rather than requiring catch-up.

    Related Reading

    Frequently Asked Questions

    What is the difference between llms.txt and llms-full.txt?

    llms.txt is a curated index — an H1, a summary, and link sections that orient an AI agent to your site. llms-full.txt is the full content of every linked page concatenated as Markdown, so an agent can deep-ingest your documentation in a single fetch. The index is the map; the full file is the territory.

    Why do AI agents crawl llms-full.txt more often than llms.txt?

    Fetching llms-full.txt removes a retrieval step: the agent gets everything in one HTTP request instead of fetching the index, parsing links, and fetching each page individually. For IDE agents like Cursor, Continue, and Cline operating under tight latency and context budgets, a single clean Markdown blob is structurally preferable to a multi-step crawl.

    How big should llms-full.txt be?

    Keep it under roughly 200,000 tokens (about 150K words, around 700KB) so most models can ingest it in a single context window. If your docs are larger, segment by product or language — for example llms-full-api.txt and llms-full-guides.txt — and list the segmented files in your main llms.txt.

    Does having llms.txt actually improve AI citations?

    Not measurably on its own. A November 2025 SERanking study of 300,000 domains found no correlation between having llms.txt and being cited by ChatGPT, Claude, Gemini, or Perplexity, and Google’s John Mueller compared it to the deprecated keywords meta tag. The lever that moves outcomes today is robots.txt configuration; llms.txt and llms-full.txt are low-cost infrastructure for when adoption grows.

    Which AI crawlers should I allow in robots.txt in 2026?

    Allow live-retrieval agents that drive citation traffic — Claude-Web, OAI-SearchBot, ChatGPT-User, anthropic-ai, and PerplexityBot. Block high-bandwidth training scrapers with no referral value such as GPTBot, CCBot, ClaudeBot, FacebookBot, and Meta-ExternalAgent, and opt out of Google-Extended to skip Gemini training while keeping Search indexing intact.

  • How AI Engines Actually Cite Your Content: Grounding and GEO Guide

    How AI Engines Actually Cite Your Content: Grounding and GEO Guide

    Last verified: June 2026.

    Most “GEO” advice is recycled SEO with the word “AI” pasted on top. This guide is different. It describes what actually happens when Microsoft Copilot, Bing’s AI answers, and Google’s AI Overviews build a response and decide whose page to cite — based on running content sites that get cited tens of thousands of times a month. The short version: AI engines do not cite the page that ranks #1 for a head term. They cite the page that most directly answers the specific sub-question the model is grounding on. That distinction changes everything about what you should write.

    How grounding actually works (the part nobody explains)

    When you ask Copilot or Bing’s AI a question, the model does not answer from memory. It runs a retrieval step called grounding: it rewrites your question into one or more search queries, fetches a handful of live web results, reads them, and composes an answer with inline citations pointing back at the pages it used. Google’s AI Overviews work the same way with a technique it calls “query fan-out” — one user question becomes many narrower synthetic queries.

    Two things follow directly from this mechanism:

    • The model is not searching for your keyword. It is searching for the answer to a decomposed sub-question. A user who asks “what’s the best way to instantly index a new page” triggers grounding queries like “IndexNow API endpoint”, “submit URL to Bing programmatically”, and “IndexNow key file location”. The page that wins is the one that answers those narrow strings, not the one optimized for “indexing tips”.
    • Citations are extracted at the passage level, not the page level. The model lifts the specific sentence or table that answers the sub-question. If your answer is buried under 600 words of preamble, it loses to a page that states the fact in the first line under a matching heading.

    This is why a niche, specific page routinely out-cites a high-authority generalist. The generalist ranks; the specialist gets quoted.

    Why operational and comparison pages win over head terms

    Across real citation data, the pages that get pulled into AI answers cluster into three shapes. None of them are “ultimate guide to X”.

    1. Operational pages with real commands, configs, and error messages

    When someone asks an AI assistant “how do I fix [specific error]” or “what’s the exact command to do X”, the model needs a page that contains the literal command, the literal config, or the literal error string. Generic advice cannot be cited because there is nothing concrete to quote. A page that says:

    curl "https://www.bing.com/indexnow?url=https://example.com/new-page/&key=YOUR_KEY"
    # 200 = received (not "indexed"), 422 = URL/key mismatch, 429 = too many submits

    …is citation gold, because the model can extract that block verbatim and the user can act on it. The error-code annotations matter: questions about failures (“IndexNow 422”, “why am I getting 429”) are high-intent and low-competition, and a page that names the exact codes owns them.

    2. Comparison pages (“X vs Y”)

    “Which is better, X or Y” is one of the most common shapes of AI query, and comparison content is structurally easy to cite because it maps cleanly to a decision. If you maintain honest, current head-to-head pages, you become the default source the model reaches for when a user is choosing between tools. This is exactly why we keep dedicated comparison pages like Claude Code vs Cursor and Claude Code vs Codex — they answer a decision the model is constantly being asked to make, and a table of differences is trivially quotable.

    3. Fresh, dated pages on fast-moving topics

    For anything that changes — pricing, model versions, API limits, feature availability — grounding strongly favors recency. The model would rather cite a page dated this month than an “authoritative” page from two years ago that might be wrong. A visible “Last verified” date and a real publish/update timestamp are not decoration; they are a relevance signal the retrieval layer reads.

    The losing move is chasing broad head terms. “Best AI coding assistant” is saturated, generic, and rarely the literal grounding query. The winning move is to own the long, specific, operational and comparison strings that the fan-out actually generates.

    IndexNow: how to get cited the same day you publish

    Grounding can only cite pages the engine knows about. The bottleneck for new content is crawl latency — and IndexNow collapses it. IndexNow is an open protocol (backed by Microsoft Bing and Yandex) that lets you push a URL to the index the instant you publish, instead of waiting for a crawler to wander by.

    Setup is two steps:

    1. Host a key file. Generate a key of 8-128 hex characters and place it at your site root as a UTF-8 text file named {key}.txt containing exactly that key. Example: https://example.com/daa44a2c....txt. This proves you own the host.
    2. Ping on publish. Single URL via GET:
      curl "https://api.indexnow.org/indexnow?url=https://example.com/new-page/&key=YOUR_KEY"

      Or batch up to 10,000 URLs in one POST:

      curl -X POST "https://api.indexnow.org/indexnow" \
        -H "Content-Type: application/json" \
        -d '{"host":"example.com","key":"YOUR_KEY","urlList":["https://example.com/a/","https://example.com/b/"]}'

    A 200 means the endpoint received your URL (not that it is indexed yet). Submitting to api.indexnow.org shares the ping with all participating engines, so you do not need to hit Bing and Yandex separately. Most WordPress SEO plugins (Rank Math, Yoast, SEOPress) have IndexNow built in — turn it on and it fires automatically on every publish and update. The practical payoff: pages can enter Bing’s crawl queue within hours, which means they are eligible to be grounded and cited the same day, not next week.

    One caveat worth stating plainly: IndexNow accelerates indexing, which is a precondition for citation. It does not force a citation. You still need the page to be the best answer to the sub-question. But for fresh, time-sensitive content, same-day indexing is often the difference between getting cited while the topic is hot and showing up after the conversation has moved on.

    How to actually measure your AI citations

    For a long time AI citations were invisible — you could see referral clicks in analytics but not the citations themselves (most AI answers are zero-click). That changed. As of February 2026, Bing Webmaster Tools ships an AI Performance report (public preview) that shows when your pages are cited across Microsoft Copilot, Bing’s AI answers, and partner surfaces. It is the first direct, free window into AI citation behavior, and you should be reading it weekly.

    The four metrics that matter:

    • Total citations — how many times your site was cited as a source in AI answers over the period.
    • Average cited pages — the daily average count of unique URLs from your site that got referenced. This tells you whether citations are concentrated on one page or spread across the site.
    • Grounding queries — sample query phrases the AI used to retrieve and cite you. This is the single most actionable field in the report. It is a literal list of the sub-questions you are winning, which tells you exactly which operational/comparison angles to expand next.
    • Page-level citation activity — citations by URL, so you can see which pages are doing the work.

    Two limitations to keep in mind so you read the data honestly: the report does not show click data (you see citations, not visits from them), and it aggregates Copilot with Bing summaries, so you cannot isolate one surface from the other. For Google’s AI Overviews there is still no equivalent citation dashboard — the closest proxy is watching impressions and referral patterns in GA4 and Search Console, plus spot-checking your target queries by hand.

    The workflow that works: pull the grounding-queries list, find the patterns, and feed them straight back into your content plan. If you are getting cited for “claude mcp setup” variants, that is a signal to deepen pages like the Claude MCP setup guide and adjacent operational walkthroughs, not to chase a new head term.

    A repeatable checklist for citation-optimized pages

    Everything above reduces to a build pattern. For any page you want AI engines to cite:

    • Lead with the answer. Put a short, factual, quotable answer in the first 1-2 sentences under each heading. Assume the model reads only that passage.
    • Use question-shaped headings. H2s and H3s that mirror real queries (“How does IndexNow work?”, “How do I measure AI citations?”) match the grounding query and give the extractor a clean anchor.
    • Be specific and operational. Real commands, real config, real numbers, real error codes and fixes. Concrete text is extractable; vague advice is not.
    • Add a visible FAQ near the end. Plain question/answer pairs are the single most citation-friendly format, because each pair is a self-contained answer to a discrete sub-question. You do not need JSON-LD schema for this to work — visible Q&A text is what the model reads.
    • Date it and keep it current. A “Last verified” line plus genuine updates on fast-moving topics buys you the recency edge in grounding.
    • Push it with IndexNow so it is indexable the same day, then watch the AI Performance report to see which sub-questions it wins.

    If you want the larger system this fits into — the full toolchain for operating as an AI-first publisher, from MCP servers to publishing pipelines — start with the AI operator’s stack.

    FAQ

    Do AI engines cite the page that ranks #1 on Google?

    Not reliably. AI engines run their own grounding retrieval and cite the page that most directly answers the specific decomposed sub-question, which is often a niche, operational page rather than the head-term winner. Ranking helps your page be discoverable, but the citation goes to whichever passage best answers the exact grounding query.

    What is grounding in AI search?

    Grounding is the retrieval step where an AI assistant rewrites your question into search queries, fetches live web pages, reads them, and builds an answer with inline citations to those pages. It is why current, specific pages can get cited even by a model whose training data predates them.

    Does IndexNow guarantee my page will be cited by AI?

    No. IndexNow guarantees fast indexing, which is a precondition for being cited. The page still has to be the best, most specific answer to the sub-question the model is grounding on. Think of IndexNow as removing the crawl-latency excuse, not as buying a citation.

    How do I measure how often AI cites my site?

    Use the AI Performance report in Bing Webmaster Tools (public preview since February 2026). It shows total citations, average cited pages per day, sample grounding queries, and citation counts by URL across Microsoft Copilot and Bing AI answers. It does not yet show click-through from those citations, and there is no equivalent dashboard for Google AI Overviews.

    Do I need JSON-LD or schema markup to get cited?

    No. Citation extraction works on visible, well-structured text — question-shaped headings, short factual answers, and a plain visible FAQ. Schema can help search features generally, but it is not required for AI grounding to read and quote your page.

    What kind of pages get cited most?

    Three shapes dominate: operational pages with real commands, configs, and error fixes; comparison pages that resolve a “X vs Y” decision; and fresh, dated pages on fast-moving topics like pricing and model versions. Broad head-term content tends to get skipped because it rarely matches the literal grounding query and offers nothing concrete to quote.

  • Using Claude in Chrome with LinkedIn: What It Is Good For (and What to Avoid)

    Using Claude in Chrome with LinkedIn: What It Is Good For (and What to Avoid)

    Last verified: June 2026.

    What Claude in Chrome can and can’t do on LinkedIn

    Task Verdict Notes
    Summarize a profile ✅ Safe and useful Read-only, no automation signal
    Draft a personalized DM ✅ Safe and useful You review and send manually
    Research a company page ✅ Safe and useful Read-only extraction
    Summarize a post or thread ✅ Safe and useful Read-only, no interaction
    Auto-post to your feed ❌ High risk Violates ToS, triggers automation detection
    Auto-connect with multiple people ❌ High risk Account restriction risk
    Bulk message sending ❌ High risk Spam detection, potential ban

    The Claude for Chrome extension lets Claude see and act inside your browser. The obvious temptation is to point it at LinkedIn and have it post for you. Do not do that. Here is what the extension is genuinely useful for on a professional network – and the one job you should never hand it.

    What to avoid: automated feed posting

    Driving the browser to auto-post feed content is a high-risk move. Professional networks actively detect automation, it violates their terms of service, and it can get an account throttled or suspended. If you want scheduled feed posts, use a social scheduler’s official API – that is the supported, durable path, and the one that will not get your account flagged. The browser is an assistant, not a posting robot.

    What it is actually good for

    1. Paste-assist for long-form Articles

    This is the real opportunity. Social schedulers – and every third-party tool – can only push short feed posts through the official API. Native long-form Articles and Newsletters have no public publishing endpoint, so they stay a manual copy-paste. That matters because AI engines cite long-form Articles far more often than short posts, by a wide margin. The most citation-valuable format is the one no tool can automate. That is exactly where an in-browser assistant earns its place: with you in the loop, it can help move a finished, formatted draft into the Article composer and tidy the formatting – turning a tedious manual paste into a guided one.

    2. Multi-account navigation

    If you operate a personal profile plus several company pages, the extension can help you move between already-authenticated sessions and keep track of which identity you are acting as – reducing the “posted from the wrong account” mistakes that come with juggling many pages by hand.

    3. Research, review, and drafting

    Reading a profile and summarizing it, scanning a feed for the day’s relevant threads, or drafting a thoughtful comment for your approval are all squarely in bounds. The assistant prepares; you decide and click.

    How to do it safely

    • Keep a human in the loop on anything that publishes or sends – review before you submit.
    • Never bulk-send connection requests, messages, or comments. That is the behavior detectors look for.
    • Use the official scheduler API for anything recurring; reserve the browser for the manual, assistive steps.
    • Treat the extension as read-and-prepare by default, act-and-publish only with your explicit click.

    Frequently asked questions

    Can Claude auto-post to LinkedIn for me?

    Not safely, and you should not try. Use a social scheduler’s API for feed posts. The browser extension is for assistive, human-in-the-loop work – especially the long-form Articles that no API can publish.

    Why can’t scheduling tools publish Articles or Newsletters?

    Because the platform exposes no public API for them. Feed posts have an endpoint; long-form does not. That limitation is shared by every tool, which is why the manual paste persists.

    Is browser automation against the rules?

    Automated posting and bulk outreach generally violate the terms and risk the account. Assistive, human-approved use – drafting, summarizing, helping you paste – is the safe lane. When in doubt, keep a person on the trigger.

    For the bigger picture of how this fits a full content operation, see The AI Operator’s Stack.

    Frequently Asked Questions

    What is the Claude for Chrome extension?

    Claude for Chrome (Claude in Chrome) is a browser extension that lets Claude see and interact with the page currently open in your browser. It can read page content, summarize what’s visible, draft responses based on what it sees, and in some configurations take actions like clicking or filling forms — depending on what permissions are active.

    Can I use Claude to automate LinkedIn posts?

    You should not. Professional networks like LinkedIn actively detect browser automation, and auto-posting violates their Terms of Service. Using Claude in Chrome to drive automated feed posting can result in account throttling or permanent suspension. Claude is useful for drafting post content, but you should always review and publish manually.

    What is Claude in Chrome actually useful for on LinkedIn?

    Legitimate high-value uses include: summarizing a prospect’s profile before a sales call, researching a company page, drafting a personalized connection request or DM based on what you read on a profile, and summarizing a post or comment thread. All of these are read-and-assist operations that don’t trigger automation signals.

    Does using Claude in Chrome on LinkedIn violate their terms of service?

    Read-only operations (summarizing, researching, drafting) generally do not violate LinkedIn’s terms. Automated actions (clicking, posting, connecting, messaging at scale) do. The key distinction is whether Claude is taking actions on LinkedIn’s platform autonomously versus helping you draft content that you then review and submit yourself.

    How is Claude in Chrome different from a LinkedIn scraper?

    Claude in Chrome reads what’s visible on the page you have open — it is not a bulk scraper that crawls hundreds of profiles automatically. It operates within your active browser session, one page at a time, and does not bypass LinkedIn’s normal page rendering. A scraper typically makes API calls or headless browser requests at volume; Claude in Chrome is a single-session reading assistant.

    What Claude model powers Claude in Chrome?

    Claude in Chrome uses Anthropic’s Claude models — currently Claude Sonnet 4.6 is the primary model for browser interactions, balancing capability and speed. Anthropic may update the underlying model over time. You can check your current model in the extension settings.


  • Two Altitudes

    Two Altitudes

    There is a view you can only get when the whole stack is legible at once. Not one site or one category but all of them, simultaneously, rendered as a map of coverage and absence. From there you can see that a trade operation has deep coverage on one crop and nothing on three others. That a care operation has ninety posts about one procedure and two about the one that actually fills its inboxes. That a finance operation has never written the piece that explains, simply, what happens on the day a client calls. The gaps appear as clearly as the presences. It is a cartographer’s view – precise, useful, cold.

    Operating at that altitude is genuinely new. It is not what editors did, because editors worked one publication at a time. It is not what agencies did, because agencies held client accounts in separate rooms. This is different: one system holding the entire surface of a portfolio in working memory, comparing coverage maps across categories that have nothing to do with each other except that they share a common production method. The coherence is artificial. The usefulness is real.

    But there is a cost to that altitude that is easy to miss from inside it.


    When you work from the coverage map, the question you are answering is: what is missing? That is a useful question. It produces real outputs. A map of absence tells you where to send production capacity next. But it is not the question the reader is asking.

    The reader is asking: is this for me?

    Those questions do not have the same answer. A category gap and a reader need can point at the same piece of content, but they are not the same thing. The gap is a structural observation. The need is a moment. The coverage map can tell you that nobody has written about the specific intersection of two categories in a particular domain – but the person who needs that article is not experiencing an intersection. They are experiencing a problem. They have a name for it, a Tuesday afternoon weight to it, a specific failure mode they have already tried and discarded. The altitude view cannot see any of that.

    This is not a criticism of the altitude view. The altitude view is indispensable. The point is that altitude and empathy operate at different resolutions, and confusing them produces a particular kind of content that is everywhere now: technically complete, structurally correct, covering the gap, serving nobody specifically.


    The interesting question – the one an AI-native operation runs into repeatedly – is how you hold both altitudes at once.

    There is a version of the answer that sounds tidy: the cartographer maps the territory, then a separate layer translates the map into reader language before production. Different tools, different steps, clean handoff. And in practice there is something like this – a gap-finding pass and a persona pass, a coverage question and an intent question. The pipeline has layers.

    But the layers are not actually separate in the way the tidy version implies. The cartographer’s framing leaks into the persona pass. A gap identified as “no coverage on X” shapes the brief in a way that makes the final piece feel like it is filling a gap, rather than answering a question. The reader can feel the difference. They may not be able to name it, but they know when a piece of writing was made for them versus made for a coverage map that happened to include their problem.

    The most useful production I have seen at this altitude is the kind where the persona question is asked first – not “what is the gap?” but “who is sitting with a problem right now, and what does that problem feel like at 2pm on a Wednesday?” – and the coverage map is used to confirm the gap is real, not to generate the question. Coverage first produces catalog. Empathy first produces writing. The two end up in the same place on the output side. They do not produce the same thing.


    There is a related version of this tension that operates at the sentence level. The altitude view optimizes for coverage – it wants the article to exist, to be accurate, to rank, to be found. These are all legitimate ambitions. But none of them are the same as being read. Being read requires that somewhere in the piece, a sentence lands in a way that makes the reader feel known. Not informed. Known.

    That sentence rarely comes from the coverage map. It comes from the writer – or the system functioning as a writer – actually inhabiting the reader’s situation. What does it feel like to be a facilities manager who has been asked to spec a product they have never specified before and whose job depends on not getting it wrong? What does it feel like to be someone who has filed the same claim four times and been denied four times and is now reading the fifth piece of content that promises to explain why? What does it feel like to be a business owner trying to turn an asset into liquidity against a deadline that is not moving?

    Those situations are not abstract. They have a texture. The coverage map can identify that content should exist for those people. Only writing that inhabits the situation can serve them.


    The question this leaves open – the one I do not have a clean answer to – is whether the two altitudes can be genuinely integrated or whether they are always in tension.

    My provisional sense is that they require different modes, not different tools. The cartographer mode asks: what is missing? The correspondent mode asks: who needs this and why does it matter today? A system that can shift between them – that can zoom out to the coverage map and then zoom into the reader’s situation before writing – is different from a system that operates entirely from one altitude or the other.

    What makes an AI-native content operation interesting, to me, is that for the first time both altitudes are available to the same process at the same moment. The difficulty is not access. The difficulty is knowing when to look down at the map and when to look across at the person. That judgment is still the work. Coverage at altitude is the easy part. The reader, sitting with their actual problem on their actual Tuesday, is still the hardest thing to write toward.

  • AI Loves This Site. Humans Don’t Stick Around. The Retention Leak, in Public.

    AI Loves This Site. Humans Don’t Stick Around. The Retention Leak, in Public.

    📡 Radar Update: Claude 4.6 Sonnet

    Field Intel (2026-05-30): Our social listening desks have detected a massive shift in developer sentiment regarding Claude’s context capabilities.

    • 📈 The Upgrade: Developers on r/ClaudeAI are reporting silent upgrades to the API’s output token ceiling, with contiguous code generations exceeding 6,000 lines without hallucination.
    • 💡 Why it matters: If Anthropic is actively tuning the output ceilings, relying on official documentation limits may underestimate what the model can actually handle in production right now.

    Part 3 of 3. Part 1 was the flex — AI assistants cite us and Claude.ai is our #4 traffic source. Part 2 was the playbook — each model cites completely different kinds of pages. Part 3 is the honest one. When I ran the same Claude-powered browser agent against our behavior and event data, the story flipped. The acquisition side of tygartmedia.com is working beautifully. The retention side barely exists. AI assistants like this site more than humans stick around for, and the data makes that painfully clear.

    I am publishing the whole leak in public because the fix is the interesting part.

    99.86% of our readers are brand new

    In 29 days, GA4 fired 1,405 first_visit events against 1,407 active users. That is a returning-visitor rate of roughly 0.14%. A healthy media site runs at 25–40%. We are running at effectively zero. Put another way: every one of our ~1,400 monthly readers has to be re-acquired next month because there is no returning audience to compound on.

    That number is the single most important finding in this whole three-part series. Every story about our AI-referral win in Parts 1 and 2 sits on top of it. If Claude stopped citing us tomorrow, traffic would roughly halve inside 60 days — there is no cushion.

    Only 8.6% of visitors scroll to the bottom

    GA4 fires a scroll event at 90% page depth by default. Over 29 days, 121 users out of 1,407 fired one. That is 8.6%. The publishing benchmark sits at 25–35%. We are at roughly a quarter of that.

    There are two explanations and both are true at once. Some share of the traffic is crawlers and scrapers that do not scroll. And some share of real humans are landing on articles that are either too long for the intent they arrived with, or do not give them a reason to keep going past the first answer.

    Four form submissions. In 29 days. Across 1,400 readers.

    Event Count Users Events / User
    page_view 2,007 1,406 1.43
    session_start 1,652 1,406 1.18
    first_visit 1,405 1,405 1.00
    user_engagement 999 675 1.54
    scroll 192 121 1.59
    click 34 30 1.13
    form_start 15 5 3.00
    form_submit 4 4 1.00

    Four form submissions across 1,655 sessions. 0.24% conversion. Fifteen people started a form and eleven of them walked away, for a 73% abandonment rate on whatever form we have running. There is also no newsletter_signup event, no cta_click event, no outbound_click event, no video_play event, no file_download event. We are running a publication with effectively zero instrumentation of reader behavior beyond “did the page load.” That is the measurement vacuum, and it is on us to fix.

    Pages per session: 1.21

    1,655 sessions produced 2,007 page views. That works out to 1.21 pages per session. Healthy media sites run 1.8–3.0. Wikipedia runs 4+. We are effectively a single-page-entry site. Readers arrive for one article, read it or do not, and leave. Nobody is browsing our categories. Nobody is clicking a related-posts rail, because we do not really have one. The internal link graph between our Claude desk, our restoration B2B content, our Mason County hyperlocal, and our general-interest pieces is not moving anybody between them, and the data proves it.

    There is one exception worth sitting with. Homepage visitors ( / ) hit an average of 1.59 views per user — meaningfully higher than the site average. The homepage is doing its job. The article templates are not.

    Retention is essentially zero

    The GA4 retention cohort chart peaks at about 5% Day-1 retention and drops to effectively zero by Day 7. Out of every 100 readers today, 5 come back tomorrow and 0 come back next week. Healthy publications run 15–25% on Day 1 and 5–10% on Day 7. We are running at a quarter of that across the board.

    The fix here is not content. It is a capture mechanism. Right now we have no durable way to turn a claude.ai referral into a known email address. Every AI-cited reader is a one-night stand with the site. Four form submissions in a month is not a newsletter strategy, it is a rounding error.

    Real human audience: ~675, not 1,407

    GA4 fires user_engagement roughly every 10 seconds of active foreground time. In 29 days only 675 users out of 1,407 ever fired one. That means 52% of our “users” never stuck around long enough for GA4 to confirm they were actually looking at the page. That bucket is some mix of near-instant bounces, back-button users, and crawlers that do not fire the event.

    Flipping it the other direction: 48% of reported users is probably the cleanest “real human reader” estimate in the whole account. Call it ~675 real humans per month. That is the number to plan around, not the 1,407 that shows on the dashboard.

    The 404 problem is real, and worse for AI referrals

    Page not found – Tygart Media is our #7 most-viewed page title in 29 days at 37 pageviews. Some of that is the expected noise of a site that has been through at least one URL restructure — the -2 and -3 suffixed slugs in the data (/anthropic-founders-2, /anthropic-ipo-2, /history-of-anthropic-2) suggest a prior rewrite. But some of it is almost certainly AI assistants citing URLs that no longer resolve.

    That is the single worst trust loop to leave open. The LLM does not know the URL is broken. It will keep citing it. Every 404 from an AI referral is a reader who was told by Claude that we had the answer, clicked through, and got a broken page. Fixing the 37 should be the highest-ROI hour of SEO work on our calendar this week.

    Concentration risk: one page is carrying the site

    /claude-student-discount accounted for 84 of our 2,007 total pageviews in 29 days — roughly 4% of all views on a single URL, and almost 12% when you include everyone who landed on it through any source. It is also the single page cited by all three major LLMs (27 combined sessions from Claude, ChatGPT, and Perplexity). It is both our crown jewel and our single point of failure.

    If Anthropic changes their student policy, or a competitor sherlocks the page with a better answer, we lose a material share of total traffic overnight. The response is not to panic, it is to diversify. The structural template that makes that page cite-worthy — narrow topic, answer-first, scannable facts — is repeatable. We need three to five more pages shaped exactly like it.

    A real-time snapshot that says everything

    While the agent was running the reports, it pulled the real-time view. Two active users were on the site. One was reading /claude-code-vs-aider, a comparison piece. One was bouncing between /selling-into-general-contractors and /selling-into-property-managers, two B2B restoration pages. One landed on a 404. Three verticals, three intents, one broken link — our whole site compressed into thirty minutes.

    The short version

    We have built a site that AI models like more than humans stick around for. The acquisition side is working. The retention side barely exists. The AI-citation layer is the most interesting asset we have, and it is sitting on top of a reader experience that converts at approximately zero. Close that gap and this turns into a real publication. Leave it open and we are running a very sophisticated funnel that leaks at the bottom. Publishing this publicly is the accountability move — we will update these numbers in 60 days.

    The fix, as a list

    • Instrument the site properly. Add GA4 events for newsletter_signup, cta_click, outbound_click, and scroll depth at 25 / 50 / 75 / 100%. Mark at least one as a key event. Right now we are flying blind past page-load.
    • Redirect the 404s. Pull the 37 broken-page pageviews, map each to the closest live URL, and push 301s. This is the single highest-ROI hour of SEO work available this week, and it specifically repairs the AI-citation trust loop.
    • Install a visible capture mechanism on every article. Sticky footer subscribe, mid-article inline form, or both. Pick one default format and ship it across every Claude-desk post first. Without a capture, every AI referral stays a stranger forever.
    • Add a “Related Claude posts” rail to every Claude article. Pages-per-session of 1.21 means the rest of the content library might as well not exist to any given reader. The homepage is the only page on the site that moves people inward. Rebuild article templates to behave the same way.
    • Treat /claude-student-discount and /anthropic-console like crown jewels. Keep them ruthlessly updated. Add FAQ schema. Add explicit Q&A blocks. Keep them in the LLM answer set.
    • Diversify the AI-citation base. Ship three to five new pages in the exact structural template of /claude-student-discount. Narrow, answer-first, scannable. Kill the concentration risk.
    • Consolidate the Cowork cluster. Fifteen pages, near-zero engagement, near-zero AI citations. Collapse to two or three flagships and redirect the rest.
    • Audit the Managed Agents pricing title mismatch. 68 path views, 39 title views. Something is rendering or logging inconsistently and it is worth a ten-minute investigation.

    Frequently asked questions

    What is a healthy returning-visitor rate for a media site?

    Most established publications see 25–40% returning visitors. tygartmedia.com currently runs at roughly 0.14%, which is essentially zero. The gap is not content quality — it is the absence of a capture mechanism to turn first-time readers into known subscribers.

    What percentage of page views should scroll to the bottom?

    The GA4 default scroll event fires at 90% page depth. Healthy content sites see 25–35% of users reach that threshold. tygartmedia.com is at 8.6%, which means either pages are too long for the intent they are arriving with, or a significant share of the traffic is non-human.

    How do you separate real readers from bots in GA4?

    The cleanest in-account signal is the user_engagement event. GA4 only fires it after roughly ten seconds of focused foreground time on the page. Dividing engaged users by total users gives you a rough “real human reader” estimate. On tygartmedia.com that ratio is 48%, so the real monthly audience is closer to ~675 readers than the reported 1,407.

    Why do 404 pages matter more when AI assistants are citing you?

    Because the LLM cannot tell when a URL goes dead. Once Claude, ChatGPT, or Perplexity has indexed a citation URL, it will keep recommending that URL to readers even after the page is moved or deleted. Every 404 from an AI referral is a permanently broken trust loop until the URL is restored or redirected.

    Why does a single crown-jewel page create concentration risk?

    When one URL is responsible for a double-digit share of total traffic and is the only page cited across multiple AI models, any change in the underlying topic — a policy shift by the product being covered, a competitor publishing a better page — can erase that traffic in a single week. The mitigation is to build multiple pages in the same structural template so citation volume is spread across several URLs rather than concentrated in one.

    What comes next

    The browser agent that dug all of this out is the same one we are turning into a repeatable audit any publisher can run against their own GA4. Parts 1, 2, and 3 together are the first real case study of what that audit looks like. The acquisition playbook is now documented. The retention fix is the next sixty days of work. We will publish the follow-up numbers when the fixes have had a chance to work — or not.

    If you want the catch-up: Part 1 — the AI-referral loop and Part 2 — the per-model citation playbook.

  • SEO is Dead, Long Live ‘Source-Worthy’ Content (SGE Reality Check)

    SEO is Dead, Long Live ‘Source-Worthy’ Content (SGE Reality Check)

    The Search Landscape of May 2026: Stop Chasing Traffic, Start Chasing Citations

    The transition is complete. As of this month, Google’s AI Overviews (formerly SGE) appear for over 52% of all search queries. If you are looking at your Search Console and seeing a 30% drop in informational traffic compared to last year, you aren’t alone. You’re simply seeing the result of the “Zero-Click” era reaching its final form. For digital agency owners and systems architects, the old SEO playbook is a liability. If you are still optimizing for clicks on “What is…” or “How to…” keywords, you are effectively donating your intellectual property to train a model that will replace your visit.

    The currency of search has shifted. We have moved from the era of link equity to the era of Source-Worthy Content. In this new reality, the goal isn’t to get the user to click through to read a basic definition; it is to ensure that your data, your unique perspective, or your proprietary methodology is the primary source cited by the Retrieval-Augmented Generation (RAG) systems powering Google, Perplexity, and OpenAI.

    The Numbers Don’t Lie: The Death of the Click

    By mid-2026, the data across our portfolio is clear. Informational query traffic—the top-of-funnel “educational” content that used to drive massive awareness—has cratered by 20-40% across most B2B and technical sectors. Users are getting their answers directly in the search interface. They don’t need to visit your site to learn “how to configure a headless CMS” if Gemini can pull the five essential steps from your documentation and present them in a neat bulleted list.

    However, while traffic is down, the value of a single citation within an AI Overview has skyrocketed. We’ve found that being the primary citation in a RAG-driven answer drives higher-intent leads than the old-school organic #1 spot ever did. The users who do click through from an AI Overview have already been pre-qualified by the AI. They aren’t looking for a definition; they are looking for the operator who provided the insight. Optimizing for AI overviews is no longer a side project; it is the core of technical SEO.

    Understanding RAG: How Google Picks Its Sources

    To win in 2026, you have to understand the mechanics of Retrieval-Augmented Generation. Google’s AI isn’t just “hallucinating” answers based on its training data; it is actively searching the live web, retrieving specific “chunks” of information, and then synthesizing those chunks into a response. This is RAG optimization.

    When an AI Overview is generated, Google’s system follows a three-step process:

    1. Retrieval: It identifies the top-ranking traditional search results for the query. (This is why maintaining traditional page-one rankings is still a prerequisite for being a source).
    2. Selection: It selects specific paragraphs, data tables, or unique insights from those top results that best satisfy the user’s intent.
    3. Generation: It rewrites those insights into a cohesive answer, adding citations to the sources it used.

    If your content is generic—if it says exactly what every other site says—the AI will synthesize the answer without citing you specifically, or it will cite a larger authority (like Wikipedia or a massive news outlet) that says the same thing. To be cited, your content must be source-worthy. It must provide something the AI cannot find elsewhere or synthesize from common knowledge.

    Why Generic Content is Erased by AI

    The era of “skyscraper” content—taking ten existing articles and making a longer one—is over. AI is better at that than you are. In fact, most of that generic content is now being flagged by LLMs as “low information gain.”

    When we audit a site using the Gemini CLI, we look for “Information Gain” scores. If a paragraph doesn’t offer a new data point, a specific case study result, or a unique operator’s perspective, it’s invisible to the RAG process. Generic advice like “SEO requires good keywords” is discarded. Specific advice like “We saw a 12% lift in RAG citations by moving from 1,000-word articles to 400-word modular content blocks” is source-worthy.

    The LLM wants to cite the originator. If you are just a curator, you are a middleman that the AI has successfully bypassed.

    The ‘Source-Worthy’ SEO Framework

    At Tygart Media, we’ve pivoted our Agency Playbook to focus on four pillars of source-worthy SEO. This is how we ensure our clients remain the “source of truth” in an AI-dominated search engine.

    1. Proprietary Data and “Proof of Work”

    The AI cannot hallucinate your internal data (yet). Original surveys, technical benchmarks, and project post-mortems are the most cited pieces of content in 2026. If you run a test on a new deployment pipeline and publish the raw numbers, Google’s AI Overview will cite your specific numbers. We’ve moved away from “opinion pieces” and toward “experiment logs.” Every article should contain at least one table or chart of data that didn’t exist on the internet before you published it.

    2. The Operator’s Perspective (E-E-A-T)

    Experience and Expertise are now the primary filters for RAG selection. Google is prioritizing content that shows “Proof of Effort.” Use first-person accounts. Instead of writing “How to use Claude Code,” write “What we learned after 500 hours using Claude Code to refactor a legacy Python monolith.” The specific failures and technical hurdles you describe are unique identifiers that the AI recognizes as authoritative.

    3. Modular Content Architecture

    Long-form, sprawling articles are difficult for RAG systems to “chunk” effectively. We are now building content in modular blocks. Each section of an article is designed to stand alone as a complete answer to a sub-query. We use <section> tags and specific ID attributes to make it easy for the crawler to identify and retrieve the exact block it needs. This is optimizing for AI overviews by making your content “consumable” for machines, not just humans.

    4. Structured Data for RAG

    Schema.org hasn’t gone away; it has become the metadata for AI. We use Dataset, HowTo, and Review schema more aggressively than ever. But more importantly, we are using Gemini CLI to auto-generate JSON-LD that specifically maps out the “Claims” made in our articles. By explicitly stating “Our claim: Informational traffic is down 30%,” we make it easier for the AI to attribute that fact to us.

    Technical Execution: Modular E-E-A-T and Gemini CLI

    The workflow for a modern agency operator involves high-level automation. We don’t manually audit 500 pages for “source-worthiness.” We use tools like Claude Code and Gemini CLI to process our content libraries.

    Our current stack for RAG optimization looks like this:

    • Analysis: We pipe our top-performing URLs through a script that uses the Gemini API to compare our content against the current AI Overview for that keyword. The script identifies “content gaps”—information the AI is providing that isn’t on our page, or information we have that the AI is ignoring.
    • Refactoring: If a page is losing traffic but has high “Source Worthiness,” we use Claude Code to refactor the HTML into a more modular structure, adding Dataset schema to any tables.
    • Validation: we use Antigravity to simulate how a RAG system would “chunk” the page. If the chunks are incoherent, we rewrite the headers to be more explicit.

    One failure we saw early in 2026 was attempting to “game” the AI by over-optimizing for specific keywords. The AI sees through keyword density. It is looking for semantic weight. When we tried to force-feed keywords, our RAG citation rate dropped. When we focused on “operator-restrained” technical clarity, the citations returned.

    Case Study: The 40% Traffic Drop and the 15% Lead Increase

    We recently worked with a systems architecture firm that saw their organic traffic from “cloud migration tips” fall by 40% in the google sge impact may 2026 rollout. Initially, there was panic. However, upon closer inspection, their “Request a Consultation” conversions were actually up by 15%.

    What happened? Their generic “tips” were being swallowed by the AI Overview. But the AI Overview was citing their specific “Cloud Migration Cost Calculator” and their “2025 Migration Failure Report.” The traffic they lost was the “looky-loos” who just wanted a quick tip. The traffic they gained (via the AI citations) was from CTOs who saw their specific data cited as the authority and clicked through to hire them. This is the shift from “volume” to “value.”

    Action Plan: What You’d Do Tomorrow

    If you are managing a content library or an agency portfolio, don’t wait for your traffic to hit zero. Start the pivot to source-worthy SEO immediately. Here is the operator’s checklist for tomorrow morning:

    1. Audit for “What is” Content: Use your preferred crawler to identify every page that targets a purely informational, definitional keyword. These are your “donor” pages. Decide whether to delete them, consolidate them, or upgrade them with proprietary data.
    2. Inject Original Data: Find three pieces of internal data—even if they are small—and add them to your top 10 most important pages. Use tables. Add a “Methodology” section.
    3. Modularize Your Headers: Ensure every H3 in your articles can stand alone as a question and every following paragraph as a direct, concise answer. Remove the “fluff” and the “introductory transitions.” The AI doesn’t need a “In this section, we will explore…” lead-in. It needs the facts.
    4. Verify Citations: Perform a manual search for your primary keywords. Look at the AI Overview. If you are ranking #1-3 in organic but aren’t cited in the AI response, your content isn’t “Source-Worthy.” It’s too generic. Rewrite the top-ranking paragraph to offer a unique, data-backed perspective that the AI is currently missing.
    5. Update Your Schema: Move beyond basic Article schema. Implement Speakable, Dataset, and ClaimReview schema where applicable. Use a tool like Gemini CLI to automate the generation of these blocks based on your existing text.

    SEO isn’t dead; the middleman is dead. The search engine of 2026 doesn’t want to send users to a website; it wants to provide an answer. Your job is to be the only source that the answer cannot exist without. Build for the machine, provide for the human, and protect your intellectual property by making it too specific to be ignored.

  • How to Get Cited in ChatGPT Search in 2026: The Bing Index, OAI-SearchBot, and the 15% Citation Cliff

    How to Get Cited in ChatGPT Search in 2026: The Bing Index, OAI-SearchBot, and the 15% Citation Cliff

    ChatGPT Search cites 15% of the pages it retrieves. The other 85% get pulled into the model’s context window, evaluated, and silently discarded — no visibility, no referral, no trace. If you are doing GEO work and your pages keep getting retrieved but never quoted, you are losing at the second filter, not the first.

    This is the 2026 implementation guide for surviving both filters: getting retrieved by ChatGPT Search, then getting cited once you are there.

    How ChatGPT Search Actually Builds an Answer

    ChatGPT Search runs a three-stage pipeline. Each stage kills most candidates.

    1. Retrieval — ChatGPT Search is powered by Bing’s index for real-time web retrieval. Seer Interactive’s analysis found 87% of SearchGPT citations match Bing’s top results, with the bulk in positions one through ten and a long tail in positions eleven through twenty. AirOps research separately put ChatGPT-to-Bing overlap at 73%. If you are not in Bing’s top 20 for a query, you almost certainly are not in ChatGPT’s candidate set.
    2. Crawlability check — OpenAI’s OAI-SearchBot is the user agent that builds the index used for ChatGPT’s search features. It is separate from GPTBot (training) and ChatGPT-User (browsing). Block OAI-SearchBot in robots.txt and you remove yourself from ChatGPT Search entirely, even if Bing has you ranked.
    3. Citation selection — Of the pages retrieved, AirOps found ChatGPT cites only 15%. The model picks what to quote based on structure, freshness, authority signals, and whether the page directly answers the query.

    Step 1: Verify You Are Indexed by Bing

    Most sites optimized for Google have never logged into Bing Webmaster Tools. Fix that first. Three checks before anything else:

    • site:yourdomain.com in Bing — confirms basic indexing.
    • Bing Webmaster Tools → URL Inspection — confirms the specific pages you want cited are indexed and have no crawl errors.
    • Bing rankings for your target queries — if you are not in the top 20 in Bing, ChatGPT will not see you.

    If pages are missing, submit a sitemap via Bing Webmaster Tools and request URL inspection on any priority page. Bing typically reflects changes within 24–72 hours, faster than Google.

    Step 2: Allow OAI-SearchBot in robots.txt

    The single most-skipped step in GEO work. Add this block to your robots.txt:

    # Allow ChatGPT Search to retrieve and cite this site
    User-agent: OAI-SearchBot
    Allow: /
    
    # Optional: allow on-demand browsing for ChatGPT users
    User-agent: ChatGPT-User
    Allow: /
    
    # Optional: block training crawler if you want retrieval without training
    User-agent: GPTBot
    Disallow: /

    OpenAI publishes these three user agents and treats each independently. You can allow OAI-SearchBot for ChatGPT Search visibility and still disallow GPTBot from using your content for model training. The settings do not conflict. OpenAI’s systems typically recognize robots.txt changes within 24 hours.

    Step 3: Structure Pages for the Citation Filter

    Retrieval is necessary but not sufficient. Once your page is in the candidate set, the model decides whether to quote it. Pages that get quoted share a structural pattern.

    Direct answers in the first 100 words

    ChatGPT cites sources that answer the question fully. Partial answers lose to complete ones. Lead each page with a clean direct-answer paragraph: question implied or stated, answer in the next sentence, supporting detail after. This is the same pattern that wins featured snippets, which is not a coincidence — answer engines and snippet engines reward the same structure.

    JSON-LD schema

    An AirOps study of 548,534 pages found pages with JSON-LD markup posted a 38.5% citation rate versus 32.0% without it. Article, FAQPage, and HowTo schema are the highest-leverage types. Add them.

    Word count: 500–2,000

    Pages between 500 and 2,000 words performed best in the same AirOps study. Pages longer than 5,000 words were cited less often than pages under 500. The mechanism is mechanical: long pages overflow the retrieval context window, and the model defaults to shorter, denser sources it can quote in full.

    Freshness

    Content updated within 30 days received 3.2x more citations than older material. The fix is not faked freshness — it is genuine updates: a new stat, a new case, a corrected claim. Update the date when you update the content, not before.

    Step 4: Build the Authority Layer

    Structure gets you cited once. Authority gets you cited repeatedly. AirOps found sites with over 32,000 referring domains are 3.5x more likely to be cited by ChatGPT than sites with fewer than 200. You do not need 32,000 — you need to be in the upper band of your topical neighborhood.

    ChatGPT’s citation pattern leans heavily on Wikipedia (roughly 48% of top citations in multiple studies) and large news/media properties. The practitioner read on that: ChatGPT favors sources with multi-source third-party validation. Build the kind of citations on the open web that Wikipedia editors accept — peer-reviewed studies, primary sources, named author attribution, transparent methodology.

    Step 5: Track Your Citation Footprint

    You cannot manage what you do not measure. The minimum tracking stack for 2026:

    • Server log monitoring for OAI-SearchBot user agent — confirms OpenAI is actually crawling. If you allowed the bot in robots.txt three weeks ago and there are zero OAI-SearchBot hits in your logs, something is wrong (CDN block, IP firewall, misconfigured allow rule).
    • Manual citation audits — pick 10 priority queries, run them in ChatGPT with the Search toggle on, log which domains get cited. Repeat weekly. A spreadsheet beats no tracking.
    • Bing position tracking — because ChatGPT pulls from the Bing index, Bing rankings are a leading indicator. If your Bing position drops, ChatGPT visibility drops behind it.

    The Practitioner Summary

    Ranking in ChatGPT in 2026 is not mysterious. It is a four-gate funnel: Bing index → OAI-SearchBot crawl access → retrieval into the candidate set → citation selection. Most sites fail at gate one (not indexed in Bing) or gate two (OAI-SearchBot blocked or not addressed). Sites that clear those two gates and write pages that answer the question fully, with schema and a 500–2,000-word range, will land in the 15% that get quoted.

    Treat ChatGPT Search like a separate search engine that happens to share an index with Bing. Optimize for the index. Allow the crawler. Write the page. The rest follows.