AI Site Grade

koho.ca — AI Site Grade

KOHO's blog index is a JavaScript shell invisible to AI crawlers, and cold LLM knowledge critically misrepresents the product's core value proposition.

KOHO has exemplary AI crawler access and a standout llms.txt, but its blog index is a JS shell invisible to crawlers and cold LLM knowledge is critically outdated.

Findings
7
Evidence checks
26
Completed
30 May 2026

Analysis

KOHO has an exemplary llms.txt and zero AI-bot blocking, but its blog index — a core educational asset — is a JavaScript shell invisible to crawlers, and cold LLM knowledge is critically outdated on the product's core value proposition.

Crawler Access

All 11 AI bots tested (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, OAI-SearchBot, ChatGPT-User, Bytespider, Applebot-Extended, anthropic-ai, Perplexity-User) receive a 200 with identical byte-size content as a browser on the homepage. The robots.txt is a bare Allow: / with no AI-bot-specific rules — no blocking, no rate-limiting, no preferential treatment. The site runs on Cloudflare with AWS DNS. The llms.txt at /llms.txt is a standout: a comprehensive, 11KB file listing every product page in English and French with descriptions, making KOHO one of the best-prepared Canadian fintech sites for AI discovery.

The Learn Index: A JS Shell

The /learn/ blog index page returns zero words of visible text from a plain GET. All three fetches (Browser, GPTBot, ClaudeBot) return a 1.1MB HTML payload that is entirely a JavaScript shell — the actual article listing is rendered client-side. Individual blog articles (e.g., /learn/what-are-interest-rates/) serve full server-rendered HTML with Article schema and are fully crawlable. This means the blog's entry point is invisible to AI crawlers, even though the 100+ individual articles behind it are well-structured. Individual articles also contain a dateModified of 2026 — a future date — which may confuse freshness signals.

Cold-Knowledge Gap

A frontier LLM queried cold about KOHO stated that "KOHO does not offer interest on cash back or savings accounts" and that "their cash back is earned as a percentage of spending, not as interest." This is directly contradicted by the live site, which prominently advertises "up to 3.5% interest" (Essential plan) and "up to 4% interest" (referenced in the llms.txt). The model also described KOHO as a "prepaid Mastercard" focused on cash back, missing the current positioning as a full financial platform offering credit building, rent reporting, cash advances (Cover), Pay Later, international transfers, travel insurance, eSIM, and joint accounts. The model's knowledge appears frozen at a pre-2023 product state.

Schema Posture

The homepage carries a rich FinancialService schema with founder, address, aggregate rating (4.8 from 192,748 ratings), and an OfferCatalog of plans. The /accounts/ page adds FAQPage, BreadcrumbList, and FinancialProduct schema. The /credit-building/ page uses Product schema with a price of $10/month. However, the /save/ page has no schema at all — a missed opportunity for a page promoting a core interest-bearing product. The /reviews/ page also lacks schema, despite being an obvious candidate for AggregateRating or Review markup.

External Signals

The DNS TXT records reveal integrations with Stripe, Mailgun, Google Workspace, Amazon SES, Mailchimp, SparkPost, Intercom, LaunchDarkly, Sentry, Algolia, and HackerOne — a sophisticated tech stack. The anthropic-domain-verification TXT record confirms KOHO has explicitly verified its domain with Anthropic for Claude crawler access. The site references a 4.8 App Store rating and 2.5M+ happy customers consistently across pages, but the /reviews/ page contains only 4 curated testimonials with no third-party review widget or embedded Trustpilot (despite the Trustpilot JS being loaded on every page).

Findings

  1. Blog index page renders as a JavaScript shell High

    The /learn/ page returns zero visible text from a plain GET; all content is rendered client-side. AI crawlers cannot discover the article listing, even though individual articles are server-rendered and crawlable.

    What to change: Server-render the blog index page so that article links are present in the initial HTML, or implement dynamic rendering for AI crawlers.

  2. Cold LLM knowledge misrepresents KOHO's product High

    A frontier LLM queried cold stated KOHO does not offer interest on savings accounts and described it as a prepaid Mastercard focused on cash back, contradicting the live site which advertises up to 4% interest and positions itself as a full financial platform.

    What to change: Publish structured data (FAQPage, Product) on key pages and ensure llms.txt and sitemap are up-to-date to help LLMs refresh knowledge.

  3. Individual blog articles have a future dateModified Medium

    Blog articles contain a dateModified of 2026, which may confuse AI crawlers and degrade freshness signals.

    What to change: Update dateModified to the actual last-modified date or remove it if not maintained.

  4. High Interest Savings Account page lacks schema markup Medium

    The /save/ page, which promotes a core interest-bearing product, has no structured data, missing an opportunity for rich results.

    What to change: Add FinancialProduct or Product schema with interest rate and account details.

  5. Reviews page lacks schema markup Medium

    The /reviews/ page has no AggregateRating or Review schema, despite being an obvious candidate for rich snippets.

    What to change: Add AggregateRating schema referencing the 4.8 App Store rating and 2.5M+ customers.

  6. No XML sitemap available Medium

    The sitemap at /sitemap-0.xml returns 200 but contains zero URLs, and the main sitemap endpoint returns 404. This hinders crawler discovery of all pages.

    What to change: Generate and submit a proper XML sitemap listing all important pages.

  7. Reviews page contains only curated testimonials Low

    The /reviews/ page displays only 4 curated testimonials with no third-party review widget or embedded Trustpilot, despite Trustpilot JS being loaded site-wide.

    What to change: Embed a live Trustpilot widget or aggregate third-party reviews to increase authenticity.

What's working

  • Comprehensive llms.txt file — KOHO publishes an 11KB llms.txt listing every product page in English and French with descriptions, making it one of the best-prepared Canadian fintech sites for AI discovery.
  • All AI bots allowed with identical content — Robots.txt has a bare Allow: / with no AI-bot-specific rules, and all 11 tested AI bots receive the same content as a browser on the homepage.
  • Domain verified with Anthropic for Claude access — DNS TXT records include an anthropic-domain-verification record, confirming explicit verification for Claude crawler access.
  • Homepage has rich FinancialService schema — The homepage includes FinancialService schema with founder, address, aggregate rating (4.8 from 192,748 ratings), and OfferCatalog of plans.
  • Individual blog articles are server-rendered with Article schema — Individual blog articles like /learn/what-are-interest-rates/ serve full server-rendered HTML with Article schema and are fully crawlable.
  • Sophisticated tech stack with security integrations — DNS TXT records reveal integrations with Stripe, Mailgun, Google Workspace, Amazon SES, Mailchimp, SparkPost, Intercom, LaunchDarkly, Sentry, Algolia, and HackerOne, indicating a mature infrastructure.

Track koho.ca 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