LeaderboardDeep reportAbout

AI readiness leaderboard · Email marketing

AI readiness of substack.com: 65/100

65/100

We checked substack.com on 2026-10-18 with our free checker: six scored tests plus evidence for each finding. The score reflects the site on that date. The site may have changed after that date.

TestResultPoints
llms.txtNo0 of 15
JSON-LD schema on the homepageNo0 of 20
Meta descriptionYes10 of 10
Text readable without JavaScriptYes20 of 20
SitemapYes10 of 10
AI crawlers allowed in robots.txt8 of 825 of 25

Compared with Email marketing

substack.com ranks 21 of 21 email marketing sites in this scan (ties share the order by domain name). The median score in this group is 100. 15 of 21 have an llms.txt file.

Findings with evidence

FixHomepage serves a bot challenge page to automated clients

Our checker got a challenge page instead of your content: Substack. Findings below describe that page, not your real homepage.

Fix: AI crawlers get the same challenge and cannot read your site. In your CDN or firewall (Cloudflare, Akamai, Imperva), allow verified AI search bots, or lower the bot protection level on public pages.

FixNo llms.txt

GET /llms.txt returned 404.

Fix: Create /llms.txt: a # title, a > one-line summary, then ## sections that list key pages as [name](url). Draft one free at checkaiready.com/llms-txt-generator.

FixNo JSON-LD structured data on the homepage

No <script type="application/ld+json"> block in the HTML we received.

Fix: Add an Organization (or LocalBusiness) JSON-LD block to the homepage with name, url, logo, and sameAs links. The $19 report includes a ready-to-paste block for your site.

ImproveTitle, 8 characters

<title>Substack</title>

Fix: Expand it to say what the page offers, about 50 to 60 characters.

ImproveMeta description, 30 characters

content="The app for independent voices"

Fix: Expand to 120 to 160 characters.

Improve0 H1 headings

No <h1> in the HTML we received.

Fix: Use one <h1> that states the main topic of the page.

ImproveServer responded in 1635 ms

Time to response headers from our checker. Final URL: https://substack.com/

Fix: Slow responses can make crawlers give up. Add page caching or a CDN in front of the homepage.

14 checks passed or noted

PassGPTBot (OpenAI, training): allowed on /

User-agent: *
Disallow: /action/
Disallow: /publish
Disallow: /sign-in
Disallow: /channel-frame
Disallow: /session-attribution-frame
(9 more lines)
Group "*" has no rule for /.

PassOAI-SearchBot (OpenAI, ChatGPT search): allowed on /

User-agent: *
Disallow: /action/
Disallow: /publish
Disallow: /sign-in
Disallow: /channel-frame
Disallow: /session-attribution-frame
(9 more lines)
Group "*" has no rule for /.

PassChatGPT-User (OpenAI, live fetch for users): allowed on /

User-agent: *
Disallow: /action/
Disallow: /publish
Disallow: /sign-in
Disallow: /channel-frame
Disallow: /session-attribution-frame
(9 more lines)
Group "*" has no rule for /.

PassClaudeBot (Anthropic, training): allowed on /

User-agent: *
Disallow: /action/
Disallow: /publish
Disallow: /sign-in
Disallow: /channel-frame
Disallow: /session-attribution-frame
(9 more lines)
Group "*" has no rule for /.

PassClaude-SearchBot (Anthropic, Claude search): allowed on /

User-agent: *
Disallow: /action/
Disallow: /publish
Disallow: /sign-in
Disallow: /channel-frame
Disallow: /session-attribution-frame
(9 more lines)
Group "*" has no rule for /.

PassPerplexityBot (Perplexity, search index): allowed on /

User-agent: *
Disallow: /action/
Disallow: /publish
Disallow: /sign-in
Disallow: /channel-frame
Disallow: /session-attribution-frame
(9 more lines)
Group "*" has no rule for /.

PassGoogle-Extended (Google, Gemini training control): allowed on /

User-agent: *
Disallow: /action/
Disallow: /publish
Disallow: /sign-in
Disallow: /channel-frame
Disallow: /session-attribution-frame
(9 more lines)
Group "*" has no rule for /.

PassCCBot (Common Crawl, open dataset): allowed on /

User-agent: *
Disallow: /action/
Disallow: /publish
Disallow: /sign-in
Disallow: /channel-frame
Disallow: /session-attribution-frame
(9 more lines)
Group "*" has no rule for /.

PassOpen Graph tags present

og:title: Substack
og:description: The app for independent voices
og:image: https://substackcdn.com/image/fetch/$s_!Xim-!,w_400,c_limit,f_auto,q_auto:good,fl_progres…

PassCanonical link set

<link rel="canonical" href="https://substack.com/">

PassLanguage declared: en

<html lang="en">

Pass1,581 characters of text without JavaScript

Text starts: "Substack Home Subscriptions Chat Activity Explore Profile Create Make money doing the work you believe in Start your Substack Learn more For you Jett Franzen 2…"

PassSitemap found, 51 child sitemaps

robots.txt: Sitemap: https://substack.com/sitemap.xml
GET https://substack.com/sitemap.xml returned 200.

PassHTML size 229 KB, 100 script tags

0 render-blocking scripts in <head>

Is this your site? Run a fresh free check. Get the $19 deep report (up to 25 pages, 18 AI agents per path), or add an AI-ready badge after your check.

Scoring: llms.txt 15, JSON-LD 20, meta description 10, readable text 20, sitemap 10, AI crawler access 25. Want this page changed or removed? Email [email protected].

AI crawler and llms.txt updates

Get an email when AI crawlers, robots.txt rules, or llms.txt practice change. At most twice a month.

We send a confirmation link first. See the privacy policy.