Paul Graham
← board · paulgraham.com · #32 of 33
Invisible right now. That is fixable.
- F
- Grade
- 24
- Agent readiness
- Board average 73
Scanned 2 hours ago
Every outstanding fix in one prompt for your coding agent. Rescan →
Task
What does paulgraham.com do and how do I use it? A fetch-only agent finds out.
12 fetches3 found9 missing
- /robots.txt⋯/sitemap.xml
- /llms.txt⋯/llms-full.txt
- /pricing
- /docs
- /openapi.json
- mcp.json⋯MCP initialize
- /privacy · /terms
every path the scanner fetched · replayed deterministically, no LLM
Evaluator notes
A fetch-only agent reached paulgraham.com over HTTPS in 958 ms and identified it from its title as “Paul Graham”. The copy is readable without JavaScript (755 chars of visible text, 14.1% of HTML). It looked for pricing, docs, an OpenAPI spec and an MCP server and found none.
Critical access needs attention
Whether an ordinary agent can enter, read, and operate the public site.
- ✓4 / 4 passedAgents can reach the site
Crawler access and bot defenses.
- ~1 / 2 passedCore content is available
Useful content remains accessible without a fragile browser-only path.
- ~1 / 2 passedNavigation fails safely
Redirects and missing pages give agents a recoverable path.
- ~1 / 2 passedControls are understandable
Forms and interactive controls expose usable names and structure.
Fix these gaps first
Critical access gaps come first, then the biggest remaining points.
- 01Open Graph title, description and imageShareable
Add og:title, og:description and a 1200×630 og:image so shares render a card.
+8 pts - 02Clear call to actionConverts
Put one primary CTA (Get started, Start free, Book a demo) above the fold.
+8 pts - 03OpenAPI spec discoverableAgent-ready
Publish your OpenAPI spec at /.well-known/openapi.json so agents can call you without reading docs.
+7 pts - 04Pricing page linkedConverts
Link a pricing page from the homepage; buyers look for it first.
+6 pts - 05Analytics installedMeasured
Install analytics (PostHog, Plausible, GA4) before spending on traffic.
+6 pts
Audit the checks behind the score
Grouped by what they measure. Not-applicable checks are excluded from scoring.
Crawlable4 of 5 passed · 17/19 pts›
- ✓Served over HTTPS5/5
https://paulgraham.com/
- ✓Responds in under 1.5s5/5
958 ms to first byte
- ✓robots.txt present2/2
User-agent: * Disallow: /cgi-bin/ Disallow: /RT/ Disallow: /TG/ Disallow: /QS/ D…
- ✕sitemap.xml present0/2
no /sitemap.xml
→ Generate a sitemap and reference it from robots.txt.
- ✓Homepage is indexable5/5
HTTP 200
Metadata2 of 7 passed · 7/24 pts›
- ✓Title tag 10–70 characters5/5
"Paul Graham" (11)
- ✕Meta description 50–160 characters0/5
no meta description
→ Add a meta description between 50 and 160 characters.
- ✕Canonical URL set0/3
no <link rel="canonical">
→ Add a canonical link so www/non-www and query variants consolidate.
- ✕Exactly one H10/4
no <h1>
→ Use one H1 that states the value proposition.
- ✕Mobile viewport set0/3
no viewport meta
→ Add <meta name="viewport" content="width=device-width, initial-scale=1">.
- ✕Language declared0/2
no lang attribute
→ Set lang on the <html> element.
- ✓Favicon declared2/2
http://ycombinator.com/arc/arc.png
Shareable0 of 3 passed · 0/14 pts›
- ✕Open Graph title, description and image0/8
no og:* tags
→ Add og:title, og:description and a 1200×630 og:image so shares render a card.
- ✕Twitter/X card type set0/3
no twitter:card
→ Add <meta name="twitter:card" content="summary_large_image">.
- ✕Links to X or LinkedIn0/3
no X / LinkedIn links found
→ Link your X and LinkedIn so visitors can follow and verify you.
Converts1 of 3 passed · 3/17 pts›
- ✕Clear call to action0/8
no sign-up / get-started / demo CTA found
→ Put one primary CTA (Get started, Start free, Book a demo) above the fold.
- ✕Pricing page linked0/6
no /pricing link
→ Link a pricing page from the homepage; buyers look for it first.
- ✓HTML under 2 MB3/3
5 KB of HTML
Measured0 of 1 passed · 0/6 pts›
- ✕Analytics installed0/6
no analytics tag detected
→ Install analytics (PostHog, Plausible, GA4) before spending on traffic.
Agent-ready5 of 19 passed · 11/46 pts›
- ✕Structured data (JSON-LD)0/4
no JSON-LD
→ Add SoftwareApplication or Organization JSON-LD so search engines and agents can read what you are.
- ✕Machine-readable pricing0/3
no /pricing page and no Offer JSON-LD
→ Publish prices as text on /pricing (not in images) and add an Offer to your JSON-LD.
- ✕llms.txt present0/1
no /llms.txt
→ Publish /llms.txt: a short markdown summary of the product, pricing and docs links for AI agents.
- ✕llms-full.txt present0/1
no /llms-full.txt
→ Publish /llms-full.txt with the full docs inlined, so agents can read everything in one fetch.
- ✓AI crawlers allowed in robots.txt2/2
none of 9 known AI crawlers blocked
- ✓No noai / TDM reservation2/2
no opt-out signals
- ✕Serves markdown on request0/1
Accept: text/markdown → text/html
→ Return text/markdown when the Accept header asks for it; agents skip the HTML entirely.
- ✕OpenAPI spec discoverable0/7
no /openapi.json or /.well-known/openapi.json
→ Publish your OpenAPI spec at /.well-known/openapi.json so agents can call you without reading docs.
- ✕Agent manifest (MCP, A2A or ai-plugin)0/2
no manifest at /.well-known/{mcp,agent,ai-plugin}.json
→ Publish an MCP server manifest or A2A agent card under /.well-known/ so agents can find your tools.
- ✕Docs or API link from the homepage0/3
no docs / API link and no /docs
→ Link Docs or API from the homepage nav; it is the first thing an integrating agent looks for.
- ✓Content readable without JavaScript3/3
755 chars of visible text, 14.1% of HTML
- ✕Semantic landmarks (main, single H1)0/3
no <main>, 0 × <h1>
→ Wrap the content in <main> and keep one H1 so agents can find the primary content.
- ✕Images have alt text0/2
0/8 images have alt
→ Add alt text to images; it is the only thing a text agent can read from them.
- —Form fields are labelledn/a
- ✓Descriptive link text2/2
0/2 links say "click here" / "learn more"
- ✓Agent-friendly 404s2/2
nonexistent path → HTTP 404
- ✕Trust pages (privacy, terms, security)0/2
none of /privacy, /terms, /security respond
→ Serve /privacy and /terms at those paths; agents deciding whether to use you look for them.
- ✕Organization schema complete0/2
no Organization in JSON-LD
→ Give the Organization JSON-LD a name, url, logo, description and sameAs links.
- ✕llms.txt says what you are and links out0/2
no /llms.txt
→ Start llms.txt with an H1 and one-paragraph summary, then link docs, pricing and API.
- ✕Contact route discoverable0/2
no contact link or email on the homepage
→ Link /contact or a mailto: so an agent (or a human it hands off to) can reach you.
APIn/a›
- —Spec parses and declares a versionn/a
- —Operations have summaries and operationIdsn/a
- —Error responses documentedn/a
- —Auth scheme declaredn/a
- —Versioned paths or serversn/a
- —Spec within a model context budgetn/a
MCPn/a›
- —Server answers initializen/a
- —Tools listedn/a
- —Tools carry descriptionsn/a
- —Tool parameters have schemasn/a
AI visibility
Do AI assistants actually recommend Paul Graham? Grounded LLM checks plus ecosystem presence, folded into the score.
- ✕Category share of voice0/6
not in the shortlist; assistants name: Here, Grammarly, An, Hemingway, Editor, This
Publish comparison and use-case content so AI assistants have grounds to recommend paulgraham.com for its category.
- ✕Brand name discoverability0/3
Paul Graham (paulgraham.com) is an English-American computer scientist, writer, essayist, entrepreneur, and investor whose website serves as
Make Paul Graham findable: consistent naming across site, socials, and directories so assistants can identify it.
- ✓Wikipedia / Wikidata presence2/2
article: Paul Graham
- ✕SDK package on npm0/1
no package found
Ship an npm/PyPI SDK so agents can integrate without scraping.
- ✕Listed in the MCP registry0/1
not listed
Publish your MCP server to registry.modelcontextprotocol.io so agents can find it.
Paul Graham (paulgraham.com) shows low visibility to AI assistants, failing in category share of voice, brand discoverability, SDK presence, and MCP registry listing. His Wikipedia/Wikidata presence is the only pass.
AI-analyzed 2 hours ago · cached 7 days · grounded via web search
The report is free. Visibility is the bid.
Paul Graham sits at #32 of 33. $1 moves it above Carrd.
Fixed something? Scan again.
One scan per site every 10 minutes. Snapshot 2026-08-25T11:39:42.946Z.