惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园_首页
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog
B
Blog RSS Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
P
Proofpoint News Feed
MyScale Blog
MyScale Blog
Engineering at Meta
Engineering at Meta
量子位
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
Tailwind CSS Blog
Stack Overflow Blog
Stack Overflow Blog
N
Netflix TechBlog - Medium
T
The Blog of Author Tim Ferriss
U
Unit 42
aimingoo的专栏
aimingoo的专栏
博客园 - 叶小钗
博客园 - 【当耐特】
云风的 BLOG
云风的 BLOG
博客园 - Franky
博客园 - 聂微东

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Made my site AI-citable in one day — the .well-known + JS...
The Data Ner · 2026-05-06 · via DEV Community

The Data Nerd

Yesterday I ran a 5-pass AEO/SEO/GEO/AIO audit on the same site, fixed 64 surfaces in one sitting, and watched the composite probe score climb from 70 to 94. This is the dev-tactical playbook of what actually moved the needle, with the exact files and probes.

The premise: traditional SEO (links, meta tags, sitemaps) is necessary but no longer sufficient. AI Overview, ChatGPT, Perplexity, and Claude pull from a different surface area — /.well-known/, llms.txt, agent-card.json, openapi.json, and structured schema.org JSON-LD with Speakable + QAPage + Service types.

If your tool isn't shipping these, you're invisible to half the LLMs that ought to be citing you.

The 5-pass audit loop

I ran a single-day chain of:

  1. Probe — a checklist of "if I were an LLM scraping for an answer to X, what file would I open?" — across 7 categories: discovery, schema, content, well-known, structured-Q&A, citations, and identity.
  2. Score each category 0–100.
  3. Diff the lowest-scoring against the spec.
  4. Ship the fixes (mostly small JSON files + JSON-LD blocks + 308→200 redirect cleanups).
  5. Re-probe.

Each pass took ~90 minutes. The composite went 70 → 81 → 89 → 92 → 94.

What actually moved the score

Pass 1 (70 → 81): the obvious gaps.

  • /sitemap.xml was 1,060 URLs but 8% of them 404'd. Fix: regenerate from build manifest, ban orphans.
  • /robots.txt allowed everything; LLMs got noise. Fix: explicit User-agent: GPTBot / ClaudeBot / PerplexityBot allow blocks for the high-signal paths only.
  • Speakable JSON-LD was missing on every Q&A page. Fix: add cssSelector: ['h1','.tldr'] to every answer page.

Pass 2 (81 → 89): structured Q&A.

  • Built 3 new /answers/{slug} pages with QAPage + Question + acceptedAnswer JSON-LD, evidence-anchored to a public dataset.
  • Added agent-card.json to /.well-known/ describing every machine-readable endpoint.
  • openapi.json exposed: 4 paths → 21 paths. LLMs read this and start citing your API examples in answers.

Pass 3 (89 → 92): the well-known explosion.

  • Shipped: /.well-known/openapi.json, /.well-known/agent-card.json, /.well-known/agents.json, /.well-known/llms.txt, /.well-known/ai-policy.json, /.well-known/ai.txt, /.well-known/ai.json, /.well-known/sitemap.xml, /.well-known/security-policy.json, /.well-known/did-configuration.json, /.well-known/humans.txt, /.well-known/freshness.json (a DataFeed schema for "what changed this week").
  • Pattern: every .well-known should also have a root alias (/agent-card.json → 200, not 308). LLM crawlers don't follow redirects on machine-readable endpoints.

Pass 4 (92 → 94): glossary + FAQ + methodology as APIs.

  • /api/v1/glossary (18 terms), /api/v1/faq (101 entries), /api/v1/methodology (HowTo schema, 6 steps). LLMs cite glossary endpoints when asked "what is X" — they treat your API as canonical for terms you coined.

The smoking-gun probe

The single highest-signal probe is:

curl -A "GPTBot/1.0" https://yourdomain.com/.well-known/llms.txt

Enter fullscreen mode Exit fullscreen mode

If this returns a 200 with directive-rich content (not a 308 redirect, not HTML, not a 404), and your llms.txt lists every QAPage + every API + every dataset, you are now in a tiny minority of sites. Most still don't have one.

Bonus probe — site:yourdomain.com in Google. If it returns 0 results despite all the schema, your noindex is wrong somewhere. We caught this in pass 4 — /predicted/{week}/ was blocked by a stale robots.txt rule.

The cost

I'm a one-person side project. Total claude-code time across all 5 passes: ~7.5 hours. Total new files: 22. Total edits: 64. Zero external dependencies, zero paid tools, zero outbound links.

For comparison: the equivalent agency engagement runs $15k–$30k for "AI search optimization" and ships maybe a third of this surface area.

The receipts

Everything is open. The site is signals.gitdealflow.com, the dataset is huggingface.co/datasets/gitdealflow/vc-deal-flow-signal, the methodology is signals.gitdealflow.com/research, the SSRN paper is at ssrn.com/abstract=6606558, and the MCP server that lets any LLM (Claude, Cursor, Cline, Goose) query the dataset live is at signals.gitdealflow.com/mcp — six tools, no auth, never paywalled.

If you run a SaaS with public data and want to audit your own surface, the probe checklist is in our /llms-full.txt. Steal it.


Building GitDealFlow — open-source GitHub-signal layer for early-stage VC. SSRN paper, free MCP server, dataset on Hugging Face.