<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Research Foundation — GEO Optimizer</title>
<meta name="description" content="GEO Optimizer is built on peer-reviewed academic research. Princeton KDD 2024, AutoGEO ICLR 2026, and more.">
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<style>
:root{--bg:#06080f;--bg-card:#0d1117;--border:#1b2332;--text:#e2e8f0;--text-dim:#64748b;--text-muted:#475569;
--accent:#3b82f6;--accent2:#8b5cf6;--green:#22c55e;--red:#ef4444;
--font:'DM Sans',system-ui,sans-serif;--mono:'JetBrains Mono',monospace;--radius:12px}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.03;
background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
a{color:var(--accent);text-decoration:none;transition:color .2s}a:hover{color:var(--accent2)}
.wrapper{position:relative;z-index:1;max-width:720px;margin:0 auto;padding:2rem 1.5rem}
nav{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.65rem 1rem;margin-bottom:2.5rem;background:rgba(6,8,15,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);border-radius:0 0 12px 12px}
.nav-logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:.95rem;color:var(--text);white-space:nowrap;text-decoration:none}
.nav-logo .dot{width:8px;height:8px;border-radius:50%;background:#22c55e;flex-shrink:0;box-shadow:0 0 6px #22c55e}
.nav-logo .ver{font-family:var(--mono);font-size:.65rem;color:var(--accent);background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.2);padding:.1rem .4rem;border-radius:20px;margin-left:.25rem}
.nav-links{display:flex;align-items:center;gap:1.25rem}
.nav-links a{color:var(--text-dim);font-size:.82rem;font-weight:500;letter-spacing:.02em;transition:color .2s;white-space:nowrap}
.nav-links a:hover,.nav-links a.active{color:var(--text)}
.nav-cta{display:flex;align-items:center;gap:.4rem;color:var(--text-dim);font-size:.82rem;font-weight:500;border:1px solid var(--border);padding:.3rem .7rem;border-radius:20px;transition:all .2s;white-space:nowrap}
.nav-cta:hover{color:var(--text)}
.nav-cta svg{width:14px;height:14px;fill:currentColor;flex-shrink:0}
.nav-cta .star-count{font-family:var(--mono);font-size:.75rem}
.nav-hamburger{display:none;background:none;border:1px solid var(--border);color:var(--text-dim);padding:.3rem .5rem;border-radius:6px;cursor:pointer;font-size:1.1rem;line-height:1;transition:all .2s}
.nav-hamburger:hover{border-color:var(--border-hover);color:var(--text)}
@media(max-width:768px){
  nav{flex-wrap:wrap;gap:.5rem;padding:.6rem .75rem}
  .nav-links{display:none;width:100%;flex-direction:column;gap:0;border-top:1px solid var(--border);padding-top:.5rem;margin-top:.25rem}
  .nav-links.open{display:flex}
  .nav-links a{padding:.55rem .25rem;border-bottom:1px solid var(--border);font-size:.9rem}
  .nav-links a:last-child{border-bottom:none}
  .nav-hamburger{display:block}
  .nav-logo .ver{display:none}
  .nav-cta .star-count{display:none}
}
@media(max-width:480px){
  .nav-cta span:not(.star-count){font-size:.8rem}
}
.hero{text-align:center;margin-bottom:2.5rem}
.hero h1{font-size:2.4rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
.hero p{color:var(--text-dim);margin-top:.4rem}
.paper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.25rem;transition:border-color .2s}
.paper:hover{border-color:var(--border)}
.paper h2{font-size:1.1rem;margin-bottom:.35rem;color:#f8fafc}
.paper .venue{font-family:var(--mono);font-size:.75rem;color:var(--accent2);margin-bottom:.75rem}
.paper .finding{color:var(--text-dim);font-size:.9rem;line-height:1.6;margin-bottom:.75rem}
.paper .impact{background:rgba(59,130,246,.05);border:1px solid rgba(59,130,246,.1);padding:.75rem;border-radius:8px;font-size:.85rem;color:var(--text-dim)}
.paper .impact strong{color:var(--accent)}
.paper .link{font-size:.82rem;margin-top:.75rem;display:inline-block}
.methods{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:.75rem 0}
.method{background:rgba(255,255,255,.03);padding:.4rem .65rem;border-radius:6px;font-size:.8rem;display:flex;justify-content:space-between}
.method .pct{color:var(--green);font-weight:600;font-family:var(--mono);font-size:.75rem}
.method .neg{color:var(--red);font-weight:600;font-family:var(--mono);font-size:.75rem}
.disclaimer{text-align:center;color:var(--text-muted);font-size:.82rem;margin-top:2rem;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}
.disclaimer strong{color:var(--text-dim)}
footer{text-align:center;padding:2rem 0 1rem;border-top:1px solid var(--border);margin-top:2rem;color:var(--text-muted);font-size:.8rem}
footer a{color:var(--text-muted)}
@media(max-width:600px){.methods{grid-template-columns:1fr}.hero h1{font-size:1.8rem}}
</style>
</head>
<body>
<div class="wrapper">
  <nav>
    <div class="nav-logo">
      <span class="dot"></span>
      <span>GEO Optimizer</span>
      <span class="ver">v3.18.5</span>
    </div>
    <button class="nav-hamburger" id="nav-ham" aria-label="Menu">&#9776;</button>
    <div class="nav-links">
      <a href="/">Audit</a>
      <a href="/compare">Compare</a>
      <a href="/research" class="active">Research</a>
      <a href="/roadmap">Roadmap</a>
      <a href="https://auriti-labs.github.io/geo-optimizer-skill/">Docs</a>
      <a href="/manifesto">Manifesto</a>
    </div>
    <a class="nav-cta" href="https://github.com/Auriti-Labs/geo-optimizer-skill" target="_blank" rel="noopener">
      <svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M8 .25a7.75 7.75 0 1 0 0 15.5A7.75 7.75 0 0 0 8 .25Zm3.89 4.74-1.67 7.9c-.12.54-.44.67-.9.42L7.9 11.84l-1.16 1.12c-.13.13-.24.24-.49.24l.18-2.5 4.56-4.12c.2-.17-.04-.27-.3-.1L3.43 11.1 1.13 10.4c-.53-.16-.54-.53.11-.78l10.57-4.08c.44-.16.83.11.08.4Z"/></svg>
      GitHub
      <span class="star-count" id="nav-stars"></span>
    </a>
  </nav>
  <div class="hero"><h1>Research Foundation</h1><p>Built on peer-reviewed science, not marketing claims.</p></div>

  <div class="paper">
    <h2>GEO: Generative Engine Optimization</h2>
    <div class="venue">KDD 2024 &mdash; Princeton, Georgia Tech, AI2, IIT Delhi</div>
    <div class="finding">Tested 9 optimization strategies across 10,000 queries on GEO-bench. Validated on real Perplexity.ai with 22-37% improvements.</div>
    <div class="impact"><strong>Key:</strong> Citations increase AI visibility up to +115%. Statistics add +40%. Keyword stuffing has ~0% effect.</div>
    <div class="methods">
      <div class="method">Cite Sources <span class="pct">+27-115%</span></div>
      <div class="method">Quotations <span class="pct">+41%</span></div>
      <div class="method">Statistics <span class="pct">+33%</span></div>
      <div class="method">Fluency <span class="pct">+29%</span></div>
      <div class="method">Technical Terms <span class="pct">+18%</span></div>
      <div class="method">Authority <span class="pct">+16%</span></div>
      <div class="method">Readability <span class="pct">+14%</span></div>
      <div class="method">Unique Words <span class="pct">+7%</span></div>
      <div class="method">Keyword Stuffing <span class="neg">~0%</span></div>
    </div>
    <a class="link" href="https://arxiv.org/abs/2311.09735">Read paper &rarr;</a>
  </div>

  <div class="paper">
    <h2>AutoGEO: Automatic Generative Engine Optimization</h2>
    <div class="venue">ICLR 2026 &mdash; Carnegie Mellon University</div>
    <div class="finding">Automatic rule extraction from generative engines via LLMs + reinforcement learning. +50.99% over Princeton baseline. Introduces GEU (utility) metric.</div>
    <div class="impact"><strong>How we use it:</strong> Informs scoring weight updates. Answer-first structure and passage density checks are based on AutoGEO findings.</div>
    <a class="link" href="https://arxiv.org/abs/2510.11438">Read paper &rarr;</a>
  </div>

  <div class="paper">
    <h2>C-SEO Bench: Conversational SEO Methods</h2>
    <div class="venue">2025 &mdash; Puerto et al.</div>
    <div class="finding">Most conversational SEO methods are ineffective and often negative. Gains decrease as adoption increases &mdash; zero-sum competitive dynamic.</div>
    <div class="impact"><strong>How we use it:</strong> Validates our focus on infrastructure over content manipulation. We build white-hat GEO tools.</div>
    <a class="link" href="https://arxiv.org/abs/2506.11097">Read paper &rarr;</a>
  </div>

  <div class="paper">
    <h2>Schema Markup &amp; AI Citations</h2>
    <div class="venue">Growth Marshal, Feb 2026 &mdash; 730 pages</div>
    <div class="finding">Rich schema (5+ attributes): 61.7% citation rate. Generic schema: 41.6%. Generic actually underperforms no schema.</div>
    <div class="impact"><strong>How we use it:</strong> Schema richness check differentiates rich vs generic. Generic gets zero bonus.</div>
  </div>

  <div class="paper">
    <h2>AI Citations Report 2026</h2>
    <div class="venue">OtterlyAI &mdash; 1M+ citations analyzed</div>
    <div class="finding">73% of sites have technical barriers blocking AI crawlers. Reference-grade content gets 3-5x more citations.</div>
    <div class="impact"><strong>How we use it:</strong> robots.txt, CDN, and JS rendering checks address the 73% barrier problem.</div>
  </div>

  <div class="paper">
    <h2>AI Mode Citation Factors</h2>
    <div class="venue">SE Ranking, 2025 &mdash; 2.3M pages</div>
    <div class="finding">Flesch-Kincaid Grade 6-8 is the sweet spot. Sections of 100-150 words are optimal. FAQ schema has zero impact &mdash; only real FAQ content matters.</div>
    <div class="impact"><strong>How we use it:</strong> Readability, passage density, FAQ-in-content, and section length checks.</div>
  </div>

  <div class="disclaimer">GEO Optimizer focuses on <strong>infrastructure optimization</strong> (robots.txt, llms.txt, schema, meta, content structure) &mdash; not content manipulation. The adversarial research confirms that manipulative techniques degrade the ecosystem.</div>

  <footer><a href="https://github.com/auriti-labs/geo-optimizer-skill">GitHub</a> &middot; <a href="https://auriti-labs.github.io/geo-optimizer-skill/">Docs</a> &middot; <a href="https://pypi.org/project/geo-optimizer-skill/">PyPI</a></footer>
</div>
<script__NONCE_ATTR__>
fetch('/api/stats').then(function(r){return r.json()}).then(function(d){var ns=document.getElementById('nav-stars');if(ns&&d.github_stars)ns.textContent='★ '+d.github_stars}).catch(function(){});
document.getElementById('nav-ham').addEventListener('click',function(){
  document.querySelector('.nav-links').classList.toggle('open');
  this.textContent=this.textContent==='☰'?'✕':'☰';
});
</script>
</body>
</html>
