{"id":8947,"date":"2026-06-11T13:11:05","date_gmt":"2026-06-11T13:11:05","guid":{"rendered":"https:\/\/www.searchviu.com\/?p=8947"},"modified":"2026-06-18T11:37:20","modified_gmt":"2026-06-18T11:37:20","slug":"claude-leak-ai-grounding","status":"publish","type":"post","link":"https:\/\/www.searchviu.com\/en\/claude-leak-ai-grounding\/","title":{"rendered":"What the Claude Code leak reveals about AI grounding \u2014 and what it means for your GEO strategy"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"8947\" class=\"elementor elementor-8947\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-110e8d7e e-flex e-con-boxed e-con e-parent\" data-id=\"110e8d7e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1f9b637 elementor-widget elementor-widget-html\" data-id=\"1f9b637\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n    :root {\n      --cyan:        #0B9D96;\n      --cyan-light:  #EBF9F8;\n      --dark:        #1A1F2E;\n      --muted:       #5E6A7A;\n      --border:      #DDE3EC;\n      --white:       #FFFFFF;\n      --black:       #0F1117;\n      --gold:        #B07D30;\n      --gold-light:  #FDF8EE;\n      --red-light:   #FDF4F4;\n      --red:         #C73838;\n    }\n    \n\n  \n    .leak-badge {\n      display: inline-flex; align-items: center; gap: 6px;\n      background: rgba(11,157,150,.15); border: 1px solid rgba(11,157,150,.3);\n      color: var(--cyan); font-size: 12px; font-weight: 700;\n      text-transform: uppercase; letter-spacing: .08em;\n      padding: 4px 10px; border-radius: 20px; margin-bottom: 20px;\n    }\n    .leak-badge::before {\n      content: \"\"; width: 7px; height: 7px; border-radius: 50%;\n      background: var(--cyan); animation: pulse 1.8s ease-in-out infinite;\n    }\n    @keyframes pulse {\n      0%, 100% { opacity: 1; transform: scale(1); }\n      50%       { opacity: .4; transform: scale(.7); }\n    }\n\n    \/* \u2500\u2500 Callouts \u2500\u2500 *\/\n    .callout {\n      border-radius: 10px; padding: 20px 24px;\n      margin: 24px 0; border-left: 4px solid transparent;\n    }\n    .callout p { font-size: 16px; line-height: 1.65; margin: 0; }\n    .callout-cyan { background: var(--cyan-light); border-color: var(--cyan); }\n    .callout-gold { background: var(--gold-light); border-color: var(--gold); }\n    .callout-red  { background: var(--red-light);  border-color: var(--red); }\n    .callout-dark { background: #1A1F2E; border-color: var(--cyan); }\n    .callout-dark p { color: rgba(255,255,255,.8); }\n    .callout-dark strong { color: var(--white); }\n    .callout-label {\n      display: block; font-size: 11px; font-weight: 700; text-transform: uppercase;\n      letter-spacing: .1em; margin-bottom: 8px;\n    }\n    .callout-cyan .callout-label { color: var(--cyan); }\n    .callout-gold .callout-label { color: var(--gold); }\n    .callout-red  .callout-label { color: var(--red); }\n    .callout-dark .callout-label { color: var(--cyan); }\n\n    \/* \u2500\u2500 Insight cards (numbered) \u2500\u2500 *\/\n    .insight-list { display: flex; flex-direction: column; gap: 16px; margin: 28px 0 36px; }\n    .insight-card {\n      display: flex; gap: 20px; align-items: flex-start;\n      background: var(--white); border: 1px solid var(--border);\n      border-radius: 10px; padding: 22px 24px;\n      box-shadow: 0 1px 4px rgba(0,0,0,.05);\n    }\n    .insight-num {\n      flex-shrink: 0; width: 40px; height: 40px;\n      display: flex; align-items: center; justify-content: center;\n      border-radius: 50%; background: var(--cyan);\n      color: var(--white); font-size: 17px; font-weight: 800;\n    }\n    .insight-body { flex: 1; }\n    .insight-title {\n      font-size: 17px; font-weight: 700; color: var(--dark);\n      margin: 0 0 6px; line-height: 1.3;\n    }\n    .insight-desc {\n      font-size: 16px; line-height: 1.65; color: #2D3748; margin: 0;\n    }\n\n    \/* \u2500\u2500 Pipeline strip \u2500\u2500 *\/\n    .pipeline {\n      display: flex; gap: 0; margin: 28px 0 36px;\n      background: var(--white); border: 1px solid var(--border);\n      border-radius: 10px; overflow: hidden;\n      box-shadow: 0 1px 4px rgba(0,0,0,.05);\n    }\n    .pipe-stage {\n      flex: 1; padding: 18px 14px; text-align: center;\n      border-right: 1px solid var(--border);\n      position: relative;\n    }\n    .pipe-stage:last-child { border-right: none; }\n    .pipe-num {\n      display: inline-flex; align-items: center; justify-content: center;\n      width: 26px; height: 26px; border-radius: 50%;\n      background: var(--cyan); color: var(--white);\n      font-size: 13px; font-weight: 700; margin-bottom: 8px;\n    }\n    .pipe-label {\n      font-size: 13px; font-weight: 700; color: var(--dark);\n      margin: 0 0 4px; line-height: 1.3;\n    }\n    .pipe-detail {\n      font-size: 12px; color: var(--muted); line-height: 1.4; margin: 0;\n    }\n    .pipe-arrow {\n      position: absolute; top: 50%; right: -10px;\n      transform: translateY(-50%);\n      width: 0; height: 0;\n      border-top: 7px solid transparent;\n      border-bottom: 7px solid transparent;\n      border-left: 10px solid var(--border);\n      z-index: 2;\n    }\n    .pipe-stage:last-child .pipe-arrow { display: none; }\n\n    \/* \u2500\u2500 Two-tier table \u2500\u2500 *\/\n    .tier-grid {\n      display: grid; grid-template-columns: 1fr 1fr;\n      gap: 16px; margin: 24px 0 36px;\n    }\n    .tier-card {\n      background: var(--white); border: 1px solid var(--border);\n      border-radius: 10px; padding: 20px 22px;\n      box-shadow: 0 1px 4px rgba(0,0,0,.05);\n    }\n    .tier-card.elite { border-top: 3px solid var(--cyan); }\n    .tier-card.long-tail { border-top: 3px solid #E0A030; }\n    .tier-badge {\n      display: inline-block; font-size: 11px; font-weight: 700;\n      letter-spacing: .08em; text-transform: uppercase;\n      padding: 3px 9px; border-radius: 20px; margin-bottom: 12px;\n    }\n    .elite .tier-badge { background: var(--cyan-light); color: var(--cyan); }\n    .long-tail .tier-badge { background: var(--gold-light); color: var(--gold); }\n    .tier-name { font-size: 17px; font-weight: 700; margin: 0 0 8px; color: var(--dark); }\n    .tier-fact { font-size: 15px; line-height: 1.6; color: #2D3748; margin: 0 0 8px; }\n    .tier-fact:last-child { margin-bottom: 0; }\n    .tier-fact strong { color: var(--dark); }\n\n    \/* \u2500\u2500 What's stripped \/ survives \u2500\u2500 *\/\n    .strip-grid {\n      display: grid; grid-template-columns: 1fr 1fr;\n      gap: 16px; margin: 24px 0 28px;\n    }\n    .strip-col {\n      border: 1px solid var(--border); border-radius: 10px; padding: 20px 22px;\n    }\n    .strip-col.out { background: var(--red-light);  border-color: rgba(199,56,56,.2); }\n    .strip-col.in  { background: var(--cyan-light); border-color: rgba(11,157,150,.2); }\n    .strip-head {\n      font-size: 13px; font-weight: 700; text-transform: uppercase;\n      letter-spacing: .08em; margin: 0 0 14px;\n      display: flex; align-items: center; gap: 7px;\n    }\n    .strip-col.out .strip-head { color: var(--red); }\n    .strip-col.in  .strip-head { color: var(--cyan); }\n    .strip-icon {\n      width: 22px; height: 22px; border-radius: 50%;\n      display: inline-flex; align-items: center; justify-content: center;\n      font-size: 12px; font-weight: 800; color: var(--white);\n      flex-shrink: 0;\n    }\n    .strip-col.out .strip-icon { background: var(--red); }\n    .strip-col.in  .strip-icon { background: var(--cyan); }\n    .strip-list { list-style: none; padding: 0; margin: 0; }\n    .strip-list li {\n      font-size: 15px; line-height: 1.6; padding: 6px 0;\n      border-bottom: 1px dashed rgba(0,0,0,.07); color: #2D3748; margin: 0;\n    }\n    .strip-list li:last-child { border-bottom: none; }\n\n    \/* \u2500\u2500 Takeaway checklist \u2500\u2500 *\/\n    .takeaway-list { display: flex; flex-direction: column; gap: 12px; margin: 24px 0 36px; counter-reset: tk; }\n    .takeaway {\n      counter-increment: tk;\n      display: flex; gap: 16px; align-items: flex-start;\n      background: var(--white); border: 1px solid var(--border);\n      border-radius: 10px; padding: 18px 20px;\n      box-shadow: 0 1px 4px rgba(0,0,0,.05);\n    }\n    .takeaway::before {\n      content: counter(tk);\n      flex-shrink: 0; width: 36px; height: 36px;\n      display: flex; align-items: center; justify-content: center;\n      border-radius: 50%; background: var(--cyan-light);\n      color: var(--cyan); font-size: 16px; font-weight: 800;\n    }\n    .takeaway-body { flex: 1; }\n    .takeaway-title { font-size: 16px; font-weight: 700; color: var(--dark); margin: 0 0 5px; }\n    .takeaway-body p { font-size: 15px; line-height: 1.6; color: #2D3748; margin: 0; }\n\n    \/* \u2500\u2500 Code block \u2500\u2500 *\/\n    .code-block {\n      background: var(--black); border-radius: 10px;\n      padding: 20px 22px; margin: 20px 0;\n      border: 1px solid #1F2740;\n      overflow-x: auto;\n    }\n    .code-block pre { margin: 0; }\n    .code-block code {\n      font-family: 'DM Mono', monospace; font-size: 13.5px;\n      line-height: 1.65; background: transparent; border: none;\n      padding: 0; color: #A8B8CC; white-space: pre;\n    }\n    .code-caption {\n      font-size: 13px; color: var(--muted); font-style: italic;\n      margin: 8px 0 24px; padding-left: 2px; line-height: 1.5;\n    }\n\n    \/* \u2500\u2500 Responsive \u2500\u2500 *\/\n    @media (max-width: 680px) {\n     \n      .pipeline { flex-direction: column; }\n      .pipe-stage { border-right: none; border-bottom: 1px solid var(--border); }\n      .pipe-stage:last-child { border-bottom: none; }\n      .pipe-arrow { display: none; }\n      .tier-grid, .strip-grid { grid-template-columns: 1fr; }\n    }\n  <\/style>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-671161b elementor-widget elementor-widget-text-editor\" data-id=\"671161b\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>GEO \u2014 Generative Engine Optimization \u2014 is still mostly built on educated guesses. We observe outputs, run tests, and reverse-engineer signals. That&#8217;s why the Claude Code leak matters so much: it hands us the actual source code of one grounding pipeline, not another theory about how AI assistants might work.<\/p><p>The short version: <strong>what reaches the language model is a heavily filtered, paraphrased shadow of your original page.<\/strong> The implications for how you structure content, write titles, and build topical authority are significant.<\/p><hr \/><p><!-- \u2500\u2500 SECTION 1: KEY INSIGHTS \u2500\u2500 --><\/p><h2>The 4 most important insights from the leak<\/h2><p>The leaked source \u2014 now <a href=\"https:\/\/github.com\/yasasbanukaofficial\/claude-code\" target=\"_blank\" rel=\"noopener\">archived publicly on GitHub<\/a> \u2014 shows a pipeline split across three files: <a href=\"https:\/\/github.com\/yasasbanukaofficial\/claude-code\/blob\/main\/src\/tools\/WebSearchTool\/WebSearchTool.ts\" target=\"_blank\" rel=\"noopener\"><code>WebSearchTool.ts<\/code><\/a>, <a href=\"https:\/\/github.com\/yasasbanukaofficial\/claude-code\/blob\/main\/src\/tools\/WebFetchTool\/utils.ts\" target=\"_blank\" rel=\"noopener\"><code>WebFetchTool\/utils.ts<\/code><\/a>, and <a href=\"https:\/\/github.com\/yasasbanukaofficial\/claude-code\/blob\/main\/src\/tools\/WebFetchTool\/prompt.ts\" target=\"_blank\" rel=\"noopener\"><code>WebFetchTool\/prompt.ts<\/code><\/a>. Here is what they reveal.<\/p><div class=\"insight-list\"><div class=\"insight-card\"><div class=\"insight-num\">1<\/div><div class=\"insight-body\"><p class=\"insight-title\">Your meta description doesn&#8217;t exist for AI selection<\/p><p class=\"insight-desc\">When Claude decides which search results to open, it has exactly two pieces of information: your <code>&lt;title&gt;<\/code> and your URL. The leaked <code>WebSearchTool.ts<\/code> strips <code>page_age<\/code> and <code>encrypted_content<\/code> before the model ever sees the list. No snippet. No meta description. No date. The fetch decision is made on roughly 60\u2013100 characters.<\/p><\/div><\/div><div class=\"insight-card\"><div class=\"insight-num\">2<\/div><div class=\"insight-body\"><p class=\"insight-title\">A second, smaller AI reads your page before Claude does<\/p><p class=\"insight-desc\">After fetching, Claude Code runs your page through Claude Haiku \u2014 a faster, cheaper model \u2014 with an explicit instruction to paraphrase everything except short quotes. By the time the main model generates your answer, your content has already been summarised and reworded once. What Claude &#8220;knows&#8221; about your page is a Haiku retelling, not your original words.<\/p><\/div><\/div><div class=\"insight-card\"><div class=\"insight-num\">3<\/div><div class=\"insight-body\"><p class=\"insight-title\">89 domains get a completely different \u2014 and far better \u2014 treatment<\/p><p class=\"insight-desc\">The leaked <a href=\"https:\/\/github.com\/yasasbanukaofficial\/claude-code\/blob\/main\/src\/tools\/WebFetchTool\/preapproved.ts\" target=\"_blank\" rel=\"noopener\"><code>preapproved.ts<\/code><\/a> contains an allowlist of 89 domains (MDN, <code>react.dev<\/code>, <code>docs.python.org<\/code>, <code>kubernetes.io<\/code>, and similar technical references). These skip the Haiku summarisation step entirely and are quoted verbatim. Everything else \u2014 including your blog, your product pages, and your client&#8217;s site \u2014 gets paraphrased.<\/p><\/div><\/div><div class=\"insight-card\"><div class=\"insight-num\">4<\/div><div class=\"insight-body\"><p class=\"insight-title\">JSON-LD, Open Graph, and structured data are invisible to the model<\/p><p class=\"insight-desc\">The HTML-to-Markdown conversion is handled by the <a href=\"https:\/\/github.com\/mixmark-io\/turndown\" target=\"_blank\" rel=\"noopener\">Turndown library<\/a> with default settings \u2014 no custom rules. Turndown strips everything in <code>&lt;head&gt;<\/code>, all <code>&lt;script&gt;<\/code> tags (including JSON-LD schema), and all HTML attributes. Your Schema.org markup, your FAQ schema, your <code>datePublished<\/code> \u2014 gone. The model reads only your visible body text.<\/p><\/div><\/div><\/div><p><!-- \u2500\u2500 SECTION 2: THE PIPELINE \u2500\u2500 --><\/p><h2>The grounding pipeline, visualised<\/h2><p>Every page Claude Code fetches travels through five stages. Each one discards information. Here is what that funnel looks like end-to-end.<\/p><div class=\"pipeline\"><div class=\"pipe-stage\"><div class=\"pipe-num\">1<\/div><p class=\"pipe-label\">Search<\/p><p class=\"pipe-detail\">Title + URL only passed to model<\/p><div class=\"pipe-arrow\">\u00a0<\/div><\/div><div class=\"pipe-stage\"><div class=\"pipe-num\">2<\/div><p class=\"pipe-label\">Fetch<\/p><p class=\"pipe-detail\">10 MB cap, JS not executed, 15-min cache<\/p><div class=\"pipe-arrow\">\u00a0<\/div><\/div><div class=\"pipe-stage\"><div class=\"pipe-num\">3<\/div><p class=\"pipe-label\">Turndown<\/p><p class=\"pipe-detail\">HTML \u2192 Markdown. Head, scripts, attributes stripped<\/p><div class=\"pipe-arrow\">\u00a0<\/div><\/div><div class=\"pipe-stage\"><div class=\"pipe-num\">4<\/div><p class=\"pipe-label\">Haiku filter<\/p><p class=\"pipe-detail\">Sub-LLM paraphrases. Quotes capped at 125 chars<\/p><div class=\"pipe-arrow\">\u00a0<\/div><\/div><div class=\"pipe-stage\"><div class=\"pipe-num\">5<\/div><p class=\"pipe-label\">Main model<\/p><p class=\"pipe-detail\">Haiku&#8217;s summary \u2014 not your page \u2014 is what Claude reasons over<\/p><\/div><\/div><div class=\"callout callout-gold\"><p><span class=\"callout-label\">\u26a0 The key implication<\/span><\/p><p>You are not optimising for Claude. You are optimising for <strong>Haiku&#8217;s summary of your page<\/strong>. If your most important claim is buried in paragraph seven, or lives only in your schema markup, it will likely be compressed out of the summary before the main model ever processes it.<\/p><\/div><p><!-- \u2500\u2500 SECTION 3: THE TWO TIERS \u2500\u2500 --><\/p><h2>The two-tier web: preapproved vs. everyone else<\/h2><p>The most strategically important finding in the entire leak is the <a href=\"https:\/\/github.com\/yasasbanukaofficial\/claude-code\/blob\/main\/src\/tools\/WebFetchTool\/preapproved.ts\" target=\"_blank\" rel=\"noopener\">preapproved domain list<\/a>. It creates two classes of content on the web, treated in fundamentally different ways.<\/p><div class=\"tier-grid\"><div class=\"tier-card elite\"><p><span class=\"tier-badge\">Elite tier \u00b7 89 domains<\/span><\/p><p class=\"tier-name\">Preapproved hosts<\/p><p class=\"tier-fact\"><strong>Treatment:<\/strong> Haiku step skipped. Content quoted verbatim up to 100K chars.<\/p><p class=\"tier-fact\"><strong>Serve Markdown?<\/strong> Skip Haiku entirely \u2014 raw text goes straight to Claude.<\/p><p class=\"tier-fact\"><strong>Examples:<\/strong> MDN, react.dev, docs.python.org, kubernetes.io<\/p><\/div><div class=\"tier-card long-tail\"><p><span class=\"tier-badge\">Everyone else<\/span><\/p><p class=\"tier-name\">The rest of the web<\/p><p class=\"tier-fact\"><strong>Treatment:<\/strong> Content summarised and paraphrased by Haiku. Quotes capped at 125 characters.<\/p><p class=\"tier-fact\"><strong>Reality:<\/strong> Claude reads a retelling of your content, not your content.<\/p><p class=\"tier-fact\"><strong>Includes:<\/strong> Every blog, brand site, news outlet, and product page not on the list.<\/p><\/div><\/div><p>The list is heavily skewed toward technical documentation \u2014 which makes sense for a developer tool. But it raises a strategic question for marketers: <strong>authority in GEO isn&#8217;t about PageRank or backlinks \u2014 it&#8217;s about whether your domain is trusted enough to be quoted directly.<\/strong> For now, the list is hardcoded. That may change as the product evolves, but for Claude Code users today, the gap in fidelity is stark.<\/p><p><!-- \u2500\u2500 SECTION 4: WHAT'S STRIPPED \u2500\u2500 --><\/p><h2>What SEO assets survive the pipeline \u2014 and what don&#8217;t<\/h2><div class=\"strip-grid\"><div class=\"strip-col out\"><h4 class=\"strip-head\"><span class=\"strip-icon\">\u2715<\/span> Stripped \u2014 invisible to Claude<\/h4><ul class=\"strip-list\"><li>Meta descriptions &amp; Open Graph tags<\/li><li>JSON-LD \/ Schema.org markup<\/li><li>Microdata, RDFa, Dublin Core<\/li><li>Canonical tags &amp; <code>&lt;link&gt;<\/code> elements<\/li><li>Any content rendered only by JavaScript<\/li><li>CSS classes, IDs, data attributes<\/li><li>Image <code>alt<\/code> text (default Turndown)<\/li><li>Hidden content: <code>display:none<\/code>, <code>aria-hidden<\/code><\/li><\/ul><\/div><div class=\"strip-col in\"><h4 class=\"strip-head\"><span class=\"strip-icon\">\u2713<\/span> Survives \u2014 reaches the model<\/h4><ul class=\"strip-list\"><li>Visible body text: headings, paragraphs, lists<\/li><li>Tables and code blocks<\/li><li>Link text and URLs in-body<\/li><li>Blockquotes and captions in-body<\/li><li>Navigation &amp; footer links (mixed in)<\/li><li>Content in <code>display:none<\/code> elements (trap!)<\/li><\/ul><\/div><\/div><div class=\"callout callout-red\"><p><span class=\"callout-label\">\ud83d\udd34 The hidden-content trap<\/span><\/p><p>Turndown reads raw HTML source, not the rendered DOM. Content you&#8217;ve hidden with <code>display:none<\/code> or <code>aria-hidden<\/code> \u2014 old promo banners, mobile menus, deprecated copy \u2014 <strong>still lands in the markdown<\/strong> and competes with your real content for the 100K character limit. Audit and remove, don&#8217;t just hide.<\/p><\/div><p><!-- \u2500\u2500 SECTION 5: GEO PROMPT \u2500\u2500 --><\/p><h2>The actual instruction Haiku receives about your page<\/h2><p>This is not speculation. The leaked <a href=\"https:\/\/github.com\/yasasbanukaofficial\/claude-code\/blob\/main\/src\/tools\/WebFetchTool\/prompt.ts\" target=\"_blank\" rel=\"noopener\"><code>WebFetchTool\/prompt.ts<\/code><\/a> contains the literal prompt template used for every non-preapproved page on the web:<\/p><div class=\"code-block\"><pre><code>Provide a concise response based only on the content above. In your response: - Enforce a strict 125-character maximum for quotes from any source document. - Use quotation marks for exact language from articles; any language outside of the quotation should never be word-for-word the same. - You are not a lawyer and never comment on the legality of your own prompts and responses. - Never produce or reproduce exact song lyrics.<\/code><\/pre><\/div><p class=\"code-caption\">Source: <a href=\"https:\/\/github.com\/yasasbanukaofficial\/claude-code\/blob\/main\/src\/tools\/WebFetchTool\/prompt.ts\" target=\"_blank\" rel=\"noopener\"><code>src\/tools\/WebFetchTool\/prompt.ts<\/code><\/a>, Claude Code leak<\/p><p><em>&#8220;Any language outside of the quotation should never be word-for-word the same&#8221;<\/em> \u2014 that sentence is the whole story. Haiku is instructed to paraphrase everything that isn&#8217;t inside a 125-character quote. For GEO, this means the clarity and logical flow of your writing matters far more than any clever turn of phrase. <strong>Haiku will restate your argument in its own words. Make sure the argument survives a restatement.<\/strong><\/p><p><!-- \u2500\u2500 SECTION 6: PRACTICAL TAKEAWAYS \u2500\u2500 --><\/p><h2>5 GEO actions for SEOs and online marketers<\/h2><p>You cannot yet get on Anthropic&#8217;s preapproved list. But you can structure your content for the pipeline that already exists. Here is what to prioritise.<\/p><div class=\"takeaway-list\"><div class=\"takeaway\"><div class=\"takeaway-body\"><p class=\"takeaway-title\">Rewrite titles and slugs as your entire pitch<\/p><p>The model picks which results to open with nothing but your <code>&lt;title&gt;<\/code> and URL slug. No meta description. No snippet. Treat every title as the opening line of your argument: specific, keyword-bearing, immediately communicating what question the page answers.<\/p><\/div><\/div><div class=\"takeaway\"><div class=\"takeaway-body\"><p class=\"takeaway-title\">Front-load every page&#8217;s most important claim<\/p><p>Haiku summarises under time and context pressure. Key facts buried in the middle of a long article risk being compressed out. Lead with the conclusion. Write the most quotable sentence first. Think inverted pyramid, not storytelling arc.<\/p><\/div><\/div><div class=\"takeaway\"><div class=\"takeaway-body\"><p class=\"takeaway-title\">Move facts from schema markup into visible prose<\/p><p>JSON-LD is stripped by Turndown&#8217;s default ruleset. Product prices, event dates, ratings, and author credentials that live only in your schema markup are invisible to Claude. If a fact matters, it needs to appear in the body copy \u2014 not just in structured data.<\/p><\/div><\/div><div class=\"takeaway\"><div class=\"takeaway-body\"><p class=\"takeaway-title\">Server-render everything that matters<\/p><p>Claude Code does not execute JavaScript. If your headline, price, product description, or key claim only appears after a client-side render, it&#8217;s not in the HTML that Turndown processes. SSR or static generation for any content you want to be cited.<\/p><\/div><\/div><div class=\"takeaway\"><div class=\"takeaway-body\"><p class=\"takeaway-title\">Audit and remove hidden content \u2014 don&#8217;t just hide it<\/p><p>Elements with <code>display:none<\/code>, <code>visibility:hidden<\/code>, or <code>aria-hidden<\/code> still appear in the raw HTML Turndown parses. Old A\/B variants, deprecated promo banners, and hidden mobile menus all land in the model&#8217;s context window alongside your real content. Remove them from the DOM entirely.<\/p><\/div><\/div><\/div><p><!-- \u2500\u2500 CLOSING \u2500\u2500 --><\/p><hr \/><div class=\"callout callout-dark\"><p><span class=\"callout-label\">\ud83d\udca1 The strategic shift<\/span><\/p><p>Traditional SEO optimised for crawlers reading metadata and link graphs. GEO \u2014 at least for Claude Code \u2014 means optimising for a two-step process: first, a title that earns the fetch; second, body text clear and structured enough to survive paraphrase by a fast summarisation model. <strong>The content that wins in generative engines is content written to be understood and accurately retold \u2014 not content written to rank.<\/strong><\/p><\/div><p><strong>Note:<\/strong> ChatGPT, Perplexity, Gemini, and Google AI Mode each handle grounding differently \u2014 some chunk instead of summarise, some never fetch live, some expose citation graphs you can probe. Leave your GEO action list in the comments below.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>In March 2026, Anthropic accidentally shipped their unobfuscated source code via npm. For the first time, SEOs and marketers can see exactly how a major AI reads, filters, and summarises the web \u2014 and it changes how you should think about visibility in generative engines.<\/p>\n","protected":false},"author":1,"featured_media":8950,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[38],"tags":[30],"class_list":["post-8947","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-crawler","tag-english"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What the Claude Code Leak Reveals About AI Grounding \u2014 GEO Insights for SEOs<\/title>\n<meta name=\"description\" content=\"The Claude Code source leak exposed how AI grounding works \u2014 what gets stripped, summarised, and ignored. Key insights &amp; GEO actions for SEOs and online marketers.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.searchviu.com\/en\/claude-leak-ai-grounding\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Claude Code Leak Just Changed How We Think About GEO\" \/>\n<meta property=\"og:description\" content=\"For the first time, we can see exactly how a major AI assistant reads and filters your content. Here&#039;s what the Claude Code leak reveals \u2014 and what SEOs should do about it.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.searchviu.com\/en\/claude-leak-ai-grounding\/\" \/>\n<meta property=\"og:site_name\" content=\"SEO Data Warehouse And Monitoring\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-11T13:11:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-18T11:37:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.searchviu.com\/wp-content\/uploads\/2026\/06\/Social-Preview-3.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Michael\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@searchviu\" \/>\n<meta name=\"twitter:site\" content=\"@searchviu\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Michael\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/claude-leak-ai-grounding\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/claude-leak-ai-grounding\\\/\"},\"author\":{\"name\":\"Michael\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#\\\/schema\\\/person\\\/047e04e169af50cb1ca9d948557fa1c2\"},\"headline\":\"What the Claude Code leak reveals about AI grounding \u2014 and what it means for your GEO strategy\",\"datePublished\":\"2026-06-11T13:11:05+00:00\",\"dateModified\":\"2026-06-18T11:37:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/claude-leak-ai-grounding\\\/\"},\"wordCount\":1259,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/claude-leak-ai-grounding\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/searchVIU_blog-pictures-5.jpg\",\"keywords\":[\"english\"],\"articleSection\":[\"AI Crawler\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.searchviu.com\\\/claude-leak-ai-grounding\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/claude-leak-ai-grounding\\\/\",\"url\":\"https:\\\/\\\/www.searchviu.com\\\/claude-leak-ai-grounding\\\/\",\"name\":\"What the Claude Code Leak Reveals About AI Grounding \u2014 GEO Insights for SEOs\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/claude-leak-ai-grounding\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/claude-leak-ai-grounding\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/searchVIU_blog-pictures-5.jpg\",\"datePublished\":\"2026-06-11T13:11:05+00:00\",\"dateModified\":\"2026-06-18T11:37:20+00:00\",\"description\":\"The Claude Code source leak exposed how AI grounding works \u2014 what gets stripped, summarised, and ignored. Key insights & GEO actions for SEOs and online marketers.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/claude-leak-ai-grounding\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.searchviu.com\\\/claude-leak-ai-grounding\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/claude-leak-ai-grounding\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/searchVIU_blog-pictures-5.jpg\",\"contentUrl\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/searchVIU_blog-pictures-5.jpg\",\"width\":1200,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/claude-leak-ai-grounding\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.searchviu.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What the Claude Code leak reveals about AI grounding \u2014 and what it means for your GEO strategy\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#website\",\"url\":\"https:\\\/\\\/www.searchviu.com\\\/\",\"name\":\"SEO Data Warehouse And Monitoring\",\"description\":\"SEO Solutions For Teams And Agencies\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.searchviu.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#organization\",\"name\":\"searchVIU\",\"url\":\"https:\\\/\\\/www.searchviu.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/d3babe41-searchviu-logo2x.png\",\"contentUrl\":\"https:\\\/\\\/www.searchviu.com\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/d3babe41-searchviu-logo2x.png\",\"width\":340,\"height\":340,\"caption\":\"searchVIU\"},\"image\":{\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/searchviu\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/searchviu\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.searchviu.com\\\/#\\\/schema\\\/person\\\/047e04e169af50cb1ca9d948557fa1c2\",\"name\":\"Michael\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0e383ecb4d55e87b2093a198ac18315bff59afd030de65ea2c5b9172bb951d89?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0e383ecb4d55e87b2093a198ac18315bff59afd030de65ea2c5b9172bb951d89?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0e383ecb4d55e87b2093a198ac18315bff59afd030de65ea2c5b9172bb951d89?s=96&d=mm&r=g\",\"caption\":\"Michael\"},\"sameAs\":[\"https:\\\/\\\/www.searchviu.com\"],\"url\":\"https:\\\/\\\/www.searchviu.com\\\/en\\\/author\\\/michaelsearchviu-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"What the Claude Code Leak Reveals About AI Grounding \u2014 GEO Insights for SEOs","description":"The Claude Code source leak exposed how AI grounding works \u2014 what gets stripped, summarised, and ignored. Key insights & GEO actions for SEOs and online marketers.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.searchviu.com\/en\/claude-leak-ai-grounding\/","og_locale":"en_US","og_type":"article","og_title":"The Claude Code Leak Just Changed How We Think About GEO","og_description":"For the first time, we can see exactly how a major AI assistant reads and filters your content. Here's what the Claude Code leak reveals \u2014 and what SEOs should do about it.","og_url":"https:\/\/www.searchviu.com\/en\/claude-leak-ai-grounding\/","og_site_name":"SEO Data Warehouse And Monitoring","article_published_time":"2026-06-11T13:11:05+00:00","article_modified_time":"2026-06-18T11:37:20+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2026\/06\/Social-Preview-3.jpg","type":"image\/jpeg"}],"author":"Michael","twitter_card":"summary_large_image","twitter_creator":"@searchviu","twitter_site":"@searchviu","twitter_misc":{"Written by":"Michael","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.searchviu.com\/claude-leak-ai-grounding\/#article","isPartOf":{"@id":"https:\/\/www.searchviu.com\/claude-leak-ai-grounding\/"},"author":{"name":"Michael","@id":"https:\/\/www.searchviu.com\/#\/schema\/person\/047e04e169af50cb1ca9d948557fa1c2"},"headline":"What the Claude Code leak reveals about AI grounding \u2014 and what it means for your GEO strategy","datePublished":"2026-06-11T13:11:05+00:00","dateModified":"2026-06-18T11:37:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.searchviu.com\/claude-leak-ai-grounding\/"},"wordCount":1259,"commentCount":0,"publisher":{"@id":"https:\/\/www.searchviu.com\/#organization"},"image":{"@id":"https:\/\/www.searchviu.com\/claude-leak-ai-grounding\/#primaryimage"},"thumbnailUrl":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2026\/06\/searchVIU_blog-pictures-5.jpg","keywords":["english"],"articleSection":["AI Crawler"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.searchviu.com\/claude-leak-ai-grounding\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.searchviu.com\/claude-leak-ai-grounding\/","url":"https:\/\/www.searchviu.com\/claude-leak-ai-grounding\/","name":"What the Claude Code Leak Reveals About AI Grounding \u2014 GEO Insights for SEOs","isPartOf":{"@id":"https:\/\/www.searchviu.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.searchviu.com\/claude-leak-ai-grounding\/#primaryimage"},"image":{"@id":"https:\/\/www.searchviu.com\/claude-leak-ai-grounding\/#primaryimage"},"thumbnailUrl":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2026\/06\/searchVIU_blog-pictures-5.jpg","datePublished":"2026-06-11T13:11:05+00:00","dateModified":"2026-06-18T11:37:20+00:00","description":"The Claude Code source leak exposed how AI grounding works \u2014 what gets stripped, summarised, and ignored. Key insights & GEO actions for SEOs and online marketers.","breadcrumb":{"@id":"https:\/\/www.searchviu.com\/claude-leak-ai-grounding\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.searchviu.com\/claude-leak-ai-grounding\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.searchviu.com\/claude-leak-ai-grounding\/#primaryimage","url":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2026\/06\/searchVIU_blog-pictures-5.jpg","contentUrl":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2026\/06\/searchVIU_blog-pictures-5.jpg","width":1200,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.searchviu.com\/claude-leak-ai-grounding\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.searchviu.com\/en\/"},{"@type":"ListItem","position":2,"name":"What the Claude Code leak reveals about AI grounding \u2014 and what it means for your GEO strategy"}]},{"@type":"WebSite","@id":"https:\/\/www.searchviu.com\/#website","url":"https:\/\/www.searchviu.com\/","name":"SEO Data Warehouse And Monitoring","description":"SEO Solutions For Teams And Agencies","publisher":{"@id":"https:\/\/www.searchviu.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.searchviu.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.searchviu.com\/#organization","name":"searchVIU","url":"https:\/\/www.searchviu.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.searchviu.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2023\/02\/d3babe41-searchviu-logo2x.png","contentUrl":"https:\/\/www.searchviu.com\/wp-content\/uploads\/2023\/02\/d3babe41-searchviu-logo2x.png","width":340,"height":340,"caption":"searchVIU"},"image":{"@id":"https:\/\/www.searchviu.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/searchviu","https:\/\/www.linkedin.com\/company\/searchviu\/"]},{"@type":"Person","@id":"https:\/\/www.searchviu.com\/#\/schema\/person\/047e04e169af50cb1ca9d948557fa1c2","name":"Michael","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/0e383ecb4d55e87b2093a198ac18315bff59afd030de65ea2c5b9172bb951d89?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0e383ecb4d55e87b2093a198ac18315bff59afd030de65ea2c5b9172bb951d89?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e383ecb4d55e87b2093a198ac18315bff59afd030de65ea2c5b9172bb951d89?s=96&d=mm&r=g","caption":"Michael"},"sameAs":["https:\/\/www.searchviu.com"],"url":"https:\/\/www.searchviu.com\/en\/author\/michaelsearchviu-com\/"}]}},"modified_by":"Katja","_links":{"self":[{"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/posts\/8947","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/comments?post=8947"}],"version-history":[{"count":10,"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/posts\/8947\/revisions"}],"predecessor-version":[{"id":8961,"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/posts\/8947\/revisions\/8961"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/media\/8950"}],"wp:attachment":[{"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/media?parent=8947"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/categories?post=8947"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.searchviu.com\/en\/wp-json\/wp\/v2\/tags?post=8947"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}