{"target":"https://substack.com/","display_target":"substack.com","report_url":"https://waymark.genedai.me/score/substack.com","score":45.5,"score_label":"Major gaps","scanned_at":"2026-09-13T12:18:04.642Z","eligible_checks":55,"score_breakdown":{"discovery":{"earned":8.8,"available":20,"passing":6,"total":17},"access":{"earned":13.4,"available":30,"passing":15,"total":29},"usability":{"earned":18.8,"available":40,"passing":4,"total":9},"payments":{"earned":0,"available":0,"passing":0,"total":0}},"issues":[{"id":"llms-txt","name":"llms.txt","result":"failed","layer":"discovery","details":"llms.txt status 404.","recommendation":"Add /llms.txt describing the site for language models."},{"id":"agents-md","name":"AGENTS.md","result":"failed","layer":"discovery","details":"agents.md status 404.","recommendation":"Publish /agents.md with agent-oriented usage notes."},{"id":"well-known-ai-catalog","name":"Well-known AI catalog","result":"failed","layer":"discovery","details":"No ai-plugin.json or ai-catalog.json.","recommendation":"Add /.well-known/ai-plugin.json or /.well-known/ai-catalog.json."},{"id":"json-ld","name":"JSON-LD structured data","result":"failed","layer":"access","details":"No JSON-LD on the homepage.","recommendation":"Add JSON-LD (Organization, WebSite, or SoftwareApplication)."},{"id":"feed-or-rss","name":"RSS or Atom feed","result":"failed","layer":"access","details":"No RSS/Atom link.","recommendation":"Expose an RSS or Atom feed for machine subscribers."},{"id":"cors-on-api-hint","name":"CORS / API hint","result":"partial","layer":"access","details":"No CORS header or obvious API path.","recommendation":"If you expose an API, send Access-Control-Allow-Origin for intended clients."},{"id":"login-or-docs-link","name":"Login or docs link","result":"failed","layer":"access","details":"No login/docs/developers link.","recommendation":"Link to login and developer documentation from the homepage."},{"id":"mcp-well-known","name":"MCP well-known card","result":"failed","layer":"usability","details":"MCP mentioned without a well-known card.","recommendation":"Publish /.well-known/mcp.json describing your MCP server."},{"id":"webhook-or-api-docs","name":"Webhook or API docs","result":"failed","layer":"usability","details":"No webhook/API docs mention.","recommendation":"Document webhooks and REST/RPC APIs for agents."},{"id":"wm-robots-ai-policy","name":"robots.txt AI policy","result":"partial","layer":"discovery","details":"robots.txt present but no named AI crawlers.","recommendation":"Name GPTBot, ClaudeBot, Google-Extended, PerplexityBot and state allow or deny."},{"id":"wm-llms-txt","name":"llms.txt index","result":"failed","layer":"discovery","details":"Missing /llms.txt.","recommendation":"Add a markdown index at /llms.txt."},{"id":"wm-llms-full-txt","name":"llms-full.txt","result":"failed","layer":"discovery","details":"llms-full.txt status 404.","recommendation":"Optionally publish /llms-full.txt for one-shot ingest."},{"id":"wm-http-link-header","name":"HTTP Link header","result":"failed","layer":"discovery","details":"No rel=sitemap|describedby|api-catalog|alternate on homepage.","recommendation":"Send RFC 8288 Link headers for related machine resources."},{"id":"wm-json-ld","name":"JSON-LD entities","result":"failed","layer":"access","details":"No JSON-LD.","recommendation":"Embed Organization, Product, Offer, SoftwareApplication, or FAQPage."},{"id":"wm-mcp-card","name":"MCP server card","result":"partial","layer":"usability","details":"MCP mentioned without a card.","recommendation":"Publish /.well-known/mcp.json or mcp/server-card.json."},{"id":"wm-ai-plugin","name":"ai-plugin.json","result":"failed","layer":"discovery","details":"No /.well-known/ai-plugin.json.","recommendation":"Optionally publish a plugin-style capability manifest."},{"id":"wm-oauth-resource","name":"OAuth protected resource","result":"failed","layer":"access","details":"AS present but no resource metadata.","recommendation":"Publish RFC 9728 oauth-protected-resource if APIs are OAuth-gated."},{"id":"wm-security-txt","name":"security.txt","result":"failed","layer":"access","details":"No /.well-known/security.txt Contact.","recommendation":"Publish /.well-known/security.txt with a Contact field."},{"id":"wm-change-password","name":"change-password well-known","result":"failed","layer":"access","details":"Login surface without /.well-known/change-password.","recommendation":"If users have passwords, serve /.well-known/change-password."},{"id":"wm-llms-txt-quality","name":"llms.txt size and links","result":"failed","layer":"discovery","details":"No llms.txt to score.","recommendation":"Keep /llms.txt over ~200 characters with absolute URLs to docs."},{"id":"wm-public-api","name":"Public API surface","result":"failed","layer":"access","details":"No public API or docs surface.","recommendation":"Document a public API at /docs or /developers."},{"id":"wm-pricing-page","name":"Pricing page","result":"failed","layer":"access","details":"No pricing page.","recommendation":"Publish /pricing."},{"id":"wm-scopes","name":"Scoped permissions","result":"failed","layer":"access","details":"No named OAuth scopes.","recommendation":"Declare OAuth scopes in a spec."},{"id":"wm-mcp","name":"MCP server","result":"partial","layer":"usability","details":"MCP mentioned without a documented initialize.","recommendation":"Publish an MCP card or document the MCP URL in llms.txt, then answer initialize."},{"id":"wm-trust-pages","name":"Trust pages","result":"failed","layer":"access","details":"No about/privacy/contact link.","recommendation":"Link about or privacy from the homepage."},{"id":"wm-sitemap-lastmod","name":"Sitemap lastmod","result":"failed","layer":"discovery","details":"Sitemap without lastmod.","recommendation":"Add lastmod dates to sitemap entries."},{"id":"wm-pkg-home","name":"Package homepage match","result":"failed","layer":"discovery","details":"No npm package homepage matching substack.com.","recommendation":"Publish an official package whose homepage is this domain."},{"id":"wm-content-no-js","name":"Content without JavaScript","result":"partial","layer":"access","details":"Raw HTML has 2107 characters but no H1.","recommendation":"Server-side render your homepage so AI crawlers see meaningful content without JavaScript. Ensure an H1 and 500+ chars of text in raw HTML."},{"id":"wm-ax-document-structure","name":"Accessible document structure","result":"partial","layer":"usability","details":"Incomplete document structure (main=true nav=true h1=false).","recommendation":"Give the homepage a main region, nav, H1, and a heading order that does not skip levels."},{"id":"wm-agent-ua-markdown","name":"Agent-UA markdown docs","result":"failed","layer":"access","details":"Docs host did not serve markdown to GPTBot (HTTP 200, text/html; charset=utf-8).","recommendation":"Serve text/markdown to GPTBot (and similar agent UAs) on your docs host."}]}