Klaviyo

← board · klaviyo.com · #69 of 80

Usable, with real friction

69/ 100
C
Grade
52
Agent readiness
Board average 77
Scanned 14 hours ago

Every outstanding fix in one prompt for your coding agent. Rescan →

Task

What does klaviyo.com do and how do I use it? A fetch-only agent finds out.

12 fetches7 found5 missing

home
  • /robots.txt/sitemap.xml
  • /llms.txt/llms-full.txt
  • /pricing
  • /docs
  • /openapi.json
  • mcp.jsonMCP initialize
  • /privacy · /terms
404 probe

every path the scanner fetched · replayed deterministically, no LLM

Evaluator notes

A fetch-only agent reached klaviyo.com over HTTPS in 782 ms and identified it from its title as “Klaviyo AU: AI Marketing Platform & B2C CRM | Email, SMS & WhatsApp”. Little of the page survives without JavaScript, so a fetch-only agent sees mostly an empty shell. It found pricing and docs. It looked for 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.

  • Agents can reach the site

    Crawler access and bot defenses.

    4 / 4 passed
  • ~
    Core content is available

    Useful content remains accessible without a fragile browser-only path.

    0 / 2 passed
  • Navigation fails safely

    Redirects and missing pages give agents a recoverable path.

    2 / 2 passed
  • ~
    Controls are understandable

    Forms and interactive controls expose usable names and structure.

    2 / 3 passed

Fix these gaps first

Critical access gaps come first, then the biggest remaining points.

  1. 01
    Open Graph title, description and imageShareable

    Add og:title, og:description and a 1200×630 og:image so shares render a card.

    +8 pts
  2. 02
    OpenAPI spec discoverableAgent-ready

    Publish your OpenAPI spec at /.well-known/openapi.json so agents can call you without reading docs.

    +7 pts
  3. 03
    Meta description 50–160 charactersMetadata

    Add a meta description between 50 and 160 characters.

    +5 pts
  4. 04
    Exactly one H1Metadata

    Use one H1 that states the value proposition.

    +4 pts
  5. 05
    Machine-readable pricingAgent-ready

    Publish prices as text on /pricing (not in images) and add an Offer to your JSON-LD.

    +3 pts

Audit the checks behind the score

Grouped by what they measure. Not-applicable checks are excluded from scoring.

Crawlable5 of 5 passed · 19/19 pts
  • Served over HTTPS5/5

    https://www.klaviyo.com/au/

  • Responds in under 1.5s5/5

    782 ms to first byte

  • robots.txt present2/2

    # ============================================================ # klaviyo.com rob…

  • sitemap.xml present2/2

    /sitemap.xml → 200

  • Homepage is indexable5/5

    HTTP 200

Metadata5 of 7 passed · 15/24 pts
  • Title tag 10–70 characters5/5

    "Klaviyo AU: AI Marketing Platform & B2C CRM | Email, SMS & WhatsApp" (67)

  • Meta description 50–160 characters0/5

    "Klaviyo unifies marketing and service with its AI-first B2C CRM. Try out our omnichannel marketing s…" (211)

    Add a meta description between 50 and 160 characters.

  • Canonical URL set3/3

    https://www.klaviyo.com/au/

  • Exactly one H10/4

    no <h1>

    Use one H1 that states the value proposition.

  • Mobile viewport set3/3

    width=device-width, initial-scale=1, shrink-to-fit=no

  • Language declared2/2

    <html lang="en-AU">

  • Favicon declared2/2

    https://www.klaviyo.com/icons/icon-32x32.png

Shareable2 of 3 passed · 6/14 pts
  • Open Graph title, description and image0/8

    title, image

    Add og:title, og:description and a 1200×630 og:image so shares render a card.

  • Twitter/X card type set3/3

    twitter:card = summary_large_image

  • Links to X or LinkedIn3/3

    2 social link(s)

Converts3 of 3 passed · 17/17 pts
  • Clear call to action8/8

    3 CTA(s), e.g. "Sign up"

  • Pricing page linked6/6

    → https://www.klaviyo.com/au/pricing

  • HTML under 2 MB3/3

    497 KB of HTML

Measured1 of 1 passed · 6/6 pts
  • Analytics installed6/6

    detected: googletagmanager.com

Agent-ready10 of 20 passed · 25/48 pts
  • Structured data (JSON-LD)4/4

    @type: WebSite, WebSite, Organization, ImageObject

  • Machine-readable pricing0/3

    /pricing exists but no price found in its HTML

    Publish prices as text on /pricing (not in images) and add an Offer to your JSON-LD.

  • llms.txt present1/1

    /llms.txt → 200, 4000+ chars

  • 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; charset=UTF-8

    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 homepage3/3

    homepage links to docs / API

  • Content readable without JavaScript0/3

    21,471 chars of visible text, 4.2% of HTML

    Server-render the key copy; a fetch-only agent sees none of what JavaScript paints later.

  • Semantic landmarks (main, single H1)0/3

    <main> present, 0 × <h1>

    Wrap the content in <main> and keep one H1 so agents can find the primary content.

  • Images have alt text1/2

    93/127 images have alt

    Add alt text to images; it is the only thing a text agent can read from them.

  • Form fields are labelled2/2

    1/1 fields have a label, name or aria-label

  • Descriptive link text2/2

    0/336 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 complete2/2

    Organization has name, url, logo, sameAs

    Give the Organization JSON-LD a name, url, logo, description and sameAs links.

  • llms.txt says what you are and links out2/2

    4000+ chars, has H1, has links

  • Contact route discoverable2/2

    mailto:, /contact or /support link found

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

Fixed something? Scan again.

One scan per site every 10 minutes. Snapshot 2026-08-24T13:48:35.430Z.

← Back to the board