AI Site Grade

stash.com — AI Site Grade

Stash's homepage canonical points to a 403-blocked subdomain, and AI crawlers get 83KB of JS shell while the browser gets 187KB of fully rendered content.

Stash has a strong llms.txt but suffers from a broken canonical URL, JS-rendered content invisible to AI crawlers, zero schema on key pages, and a cold-knowledge gap around user count and legal settlements.

Findings
8
Evidence checks
25
Completed
30 May 2026

Analysis

I have a thorough picture now. Let me compile the audit.

Stash's llms.txt is a rare bright spot in an otherwise schema-poor, JS-heavy site — but the homepage canonical points to a 403-blocked subdomain, and AI crawlers get 83KB of JS shell while the browser gets 187KB of fully rendered content.

Crawler Access

All major AI bots — GPTBot, ClaudeBot, PerplexityBot, Google-Extended, OAI-SearchBot, ChatGPT-User, anthropic-ai, Applebot-Extended, Bytespider — receive HTTP 200 from www.stash.com with no UA-based blocking. However, every bot receives ~83KB of HTML versus the browser's 187KB, indicating bots get a partial Next.js server-rendered shell while the browser gets the full client-hydrated payload. The robots.txt is minimal (109 bytes) with no AI-bot-specific rules — only a wildcard Disallow: /learn/page/* and /investing-app/*. The llms.txt exists and is well-structured, listing core products, education guides, and legal pages — a strong signal for AI discoverability that most fintech competitors lack.

Canonical and Infrastructure Anomaly

The homepage declares <link rel="canonical" href="https://www-edge.stash.com/"> — a subdomain that returns HTTP 403 (Cloudflare block) to browser requests. This means any AI engine that respects canonical tags over the actual URL will attempt to index a blocked page. The site runs on Cloudflare behind AWS DNS, with Next.js server-side rendering (x-powered-by: Next.js). The www-edge subdomain appears in canonical tags across the learn section as well (e.g., https://www-edge.stash.com/learn/how-to-start-investing/), creating a systematic canonical-to-dead-end mapping.

Cold-Knowledge Gap

The LLM knows Stash as a micro-investing app founded in 2015 by Brandon Krieg and Ed Robinson, with over $300M raised, ~2M users, fractional shares, themed portfolios, and a 2023 class-action settlement over "free" stock rewards. The actual site claims "over 6 million" people helped and "over 1 million customers" — a significant discrepancy from the model's ~2M figure. The model also recalls a 30% staff layoff in 2023 and a $1.5M settlement — neither of which appears anywhere on the site's marketing pages, about page, or disclosures. The site heavily promotes "Stock-Back" rewards and "Smart Portfolio" but the model's prior knowledge of the settlement creates a trust liability that the site does not address.

Schema and Content Posture

The homepage and key marketing pages (/invest, /pricing, /about, /security) contain zero JSON-LD schema — no Organization, WebSite, Product, or FAQPage markup despite the pricing page having an FAQ section with 6 questions. The learn section does use BreadcrumbList and FAQPage schema on individual articles (e.g., /learn/how-to-start-investing/), but the learn pages return 0 words of visible text to a plain GET — they are entirely JS-rendered. AI crawlers that do not execute JavaScript will see empty shells. The llms.txt helpfully lists these learn URLs, but the actual pages serve no content to non-JS agents.

Findings

  1. Homepage canonical points to www-edge.stash.com which returns HTTP 403 High

    The homepage declares a canonical URL of https://www-edge.stash.com/, a subdomain that returns HTTP 403 (Cloudflare block) to browser requests. This causes AI engines that respect canonical tags to attempt indexing a blocked page.

    What to change: Change the canonical URL on the homepage and all pages to the correct www.stash.com domain, and ensure the www-edge subdomain is either removed or serves content properly.

  2. AI crawlers receive partial JS shell instead of full rendered content High

    All major AI bots receive approximately 83KB of HTML versus the browser's 187KB, indicating bots get a partial Next.js server-rendered shell while the browser gets the full client-hydrated payload. This limits the content available to AI crawlers that do not execute JavaScript.

    What to change: Implement server-side rendering (SSR) or static generation for all pages to ensure AI crawlers receive the full content without JavaScript execution.

  3. Learn pages return 0 words of visible text to plain GET requests High

    Pages in the /learn/ section, such as /learn/how-to-start-investing/ and /learn/retirement-planning/, return 0 words of visible text when fetched without JavaScript. They are entirely JS-rendered, making them invisible to AI crawlers that do not execute JavaScript.

    What to change: Ensure learn pages are server-side rendered or statically generated so that content is available in the initial HTML response.

  4. Homepage and key marketing pages lack any JSON-LD schema markup High

    The homepage, /invest, /pricing, /about, and /security pages contain zero JSON-LD schema — no Organization, WebSite, Product, or FAQPage markup, despite the pricing page having an FAQ section with 6 questions.

    What to change: Add Organization, WebSite, and Product schema to the homepage and relevant marketing pages, and FAQPage schema to the pricing page.

  5. LLM knowledge of user count (2M) differs from site claims (6M helped, 1M customers) Medium

    The LLM recalls Stash having approximately 2 million users, while the site claims 'over 6 million' people helped and 'over 1 million customers'. This discrepancy may reduce trust in AI-generated summaries.

    What to change: Publish an updated 'About' page or press release with current user metrics and ensure schema markup reflects accurate numbers.

  6. Site does not address known 2023 class-action settlement Medium

    The LLM recalls a $1.5M class-action settlement over 'free' stock rewards, but the site's marketing pages, about page, and disclosures do not mention it. This creates a trust liability for AI-generated content.

    What to change: Add a disclosure or FAQ entry addressing the settlement to provide context and maintain transparency.

  7. robots.txt is minimal with no AI-bot-specific rules Low

    The robots.txt file is only 109 bytes and contains no directives for AI bots like GPTBot or ClaudeBot. It only disallows /learn/page/* and /investing-app/* for all user-agents.

    What to change: Consider adding explicit rules for AI bots to control access to specific sections if needed.

  8. Canonical URLs across learn section also point to www-edge subdomain High

    Learn pages such as /learn/how-to-start-investing/ have canonical URLs pointing to www-edge.stash.com, which returns 403. This systematically maps content to a blocked page.

    What to change: Update canonical URLs across all pages to use the correct www.stash.com domain.

What's working

  • llms.txt exists and is well-structured — Stash provides a comprehensive llms.txt file listing core products, education guides, and legal pages, which is a strong signal for AI discoverability that most fintech competitors lack.
  • All major AI bots receive HTTP 200 with no UA-based blocking — GPTBot, ClaudeBot, PerplexityBot, Google-Extended, and others are not blocked by robots.txt or server rules, ensuring basic access.
  • Learn articles use BreadcrumbList and FAQPage schema — Individual learn articles like /learn/how-to-start-investing/ include BreadcrumbList and FAQPage JSON-LD schema, which helps AI understand content structure.
  • Sitemap is present and contains 80 URLs — The sitemap at /sitemap.xml returns 200 and lists 80 URLs, with an index sitemap structure, aiding crawler discovery.

Track stash.com across AI search

This is one snapshot. Open the interactive report to inspect evidence, or grade another site free.

Open this AI Site Grade Grade another site Track your brand