Skip to content
← Case Studies · SaaS / B2B technology Verified results

B2B SaaS: solid product, docs invisible to Google and AI

A SaaS startup with unindexed docs and changelog. The CTO focused on technical foundation — llms.txt, schema, CWV — so machines could understand the product.

The buying question this story answers Our product is solid — why don't developers researching on Google and AI find us?

The gist

SaaS loses discovery not because the product is bad — often because docs and entity are invisible to machines. Technical foundation is marketing for CTOs.

SaaS / B2B technology — studi kasus

SaaS / B2B technology

Anonymized client

“Engineering ships fast. Marketing said 'SEO later.' Prospects ask ChatGPT about alternatives in our category — we're never named.”

Full story

Sprint planning: SEO in the backlog — again

The CTO closed the Jira board. In “Marketing requests”, the SEO ticket had waited 4 sprints — always losing to bug fixes and feature releases.

Head of growth arrived with a screenshot: ChatGPT prompt “HR software for remote teams in Indonesia, what alternatives exist?” — five names appeared. Their product was not one.

“Not a fit problem. Developers researching don’t find us.”

CTO POV: machines must read our product

As a technical co-founder, the frustration was specific: we built good docs for users, but docs lived on Notion then moved to a subdomain blocked by robots.txt. Engineering shipped API reference — not connected to product entity on the marketing site. WordPress landing and React app were two worlds.

This was not a “need more blog” problem. It was infrastructure discoverability — like shipping an API without documentation. We shipped product without documentation for search engines.

What they had tried (engineering lens)

Public Notion docs — not indexed. SEO plugin on marketing — docs subdomain untouched. Six generic blog posts — no links to features or docs. Changelog on Twitter — unstructured.

Growth wanted ad budget. CTO wanted foundation first. Deadlock — until the co-founder saw competitors with indexed docs and llms.txt appearing in AI answers for the same category.

Audit findings: robots.txt blocking our best asset

Familiar for early-stage SaaS:

140 docs pages blocked — robots.txt from old setup protecting paths that became production docs.

Entity split — marketing said “Acme HR”, docs said “Acme Platform”, generic Organization schema without SoftwareApplication.

LCP 5.1s on pricing — unoptimized hero, blocking analytics scripts.

No llms.txt — in the AI search era, engines had no official map of features, pricing, and product boundaries. Competitors did.

CTO decision: two-week SEO foundation sprint before the next feature. Engineering resisted — “not core product.” Counter: unindexed docs = unnecessary support tickets + zero discovery.

What we ran (Oura Starter — technical lens)

Starter for SaaS is not marketing articles:

  1. Robots & sitemap — open priority docs indexing, exclude internal API admin.
  2. CWV — pricing LCP, lazy load, critical CSS path.
  3. llms.txt — feature, pricing, FAQ, changelog URL map for AI crawlers.
  4. Schema — SoftwareApplication + Organization + pricing FAQPage.
  5. Entity merge — one product name, sameAs, consistent across marketing/docs/changelog.
  6. GA4 AI-referral — developers from chatgpt.com/perplexity separate from paid.

Every production change through dry-run — CTO would not let SEO break the deploy pipeline.

How to read the numbers below

Typical patterns for B2B SaaS. Starter engagement patterns:

  • Docs indexing usually moves 2–4 weeks after robots fix + sitemap submit.
  • AI category citations need llms.txt + FAQ + comparison pages — months 2–3.
  • Developer AI-referral often visible before competitive keyword rankings.

After foundation, Oura Content for comparison pages + Growth for OAVF — on docs machines can already read.

Before Oura

What they had already tried

  • Docs on public Notion — not indexed, robots block by default
  • WordPress marketing site separate from app — two entities, inconsistent product NAP
  • Blog with 6 generic productivity tips — not linked to docs or features
  • SEO plugin on marketing site — docs subdomain untouched

Turning point

Audit findings that changed direction

  • docs.domain.com blocked in robots.txt — 140 help pages not indexed
  • WordPress landing, React app — LCP 5.1s on pricing page
  • No llms.txt — AI engines had no official feature & pricing map
  • No Product/SoftwareApplication schema — only generic Organization

Before & after

What changed when the strategy ran.

Before

  • 140 docs pages not indexed (robots block)
  • LCP 5.1s on pricing · mobile PageSpeed 58
  • 0 AI citations for product category
  • 100% users from outbound/referral

After Oura Starter (target)

  • Priority docs indexed · llms.txt live
  • LCP < 2.5s · mobile PageSpeed 88
  • Appearing in AI answers for 2 category queries
  • Organic + AI-referral measured in GA4

The challenge

Challenge

HR-tech SaaS with 800+ paying users, all from outbound and referral. Marketing site existed; docs on separate subdomain — but 140 documentation pages blocked by robots.txt and not indexed. Landing LCP 5.1s. When developers researched "alternatives [category] for remote teams" on ChatGPT or Google, this product never appeared. Engineering focused on product-market fit; SEO was always "next sprint."

The approach

Approach

  1. 01

    Full-stack technical audit: robots, sitemap, CWV on marketing + docs, entity split.

  2. 02

    Controlled docs indexing — priority help pages, changelog, pricing FAQ.

  3. 03

    llms.txt + SoftwareApplication, Organization, FAQPage entity — official AI map.

  4. 04

    Merge entity signals between marketing and docs — sameAs, consistent naming.

  5. 05

    LCP fixes on pricing & docs landing — green target before content scale.

  6. 06

    GA4 AI-referral segment from day one — separate developer discovery channel.

Execution phases

How the work unfolded month by month.

  1. Weeks 1–3

    Audit & robots/CWV

    Robots, sitemap, CWV marketing + docs. Quick win: open indexing for priority help without exposing internal API docs.

  2. Month 2

    Entity & llms.txt

    SoftwareApplication schema, llms.txt, pricing FAQ. Consistent product naming across marketing, docs, changelog.

  3. Month 3

    Measure & Growth handoff

    GA4 AI-referral baseline. Monthly Atlas report. Path to Content/Growth once foundation proven.

Oura Atlas

Every step runs through a safe, audited loop.

Data from GSC & GA4 becomes a brief, execution runs through dry-run and backup, impact is verified — not wild production changes.

See how Atlas works →

Relate?

Is this your story?

A good fit if…

  • Tech startup with strong product but weak discovery
  • CTO/tech lead wanting right foundation before scaling marketing
  • Docs, changelog, or API reference that must be machine-readable

Less of a fit if…

  • Need enterprise leads in 30 days — Starter is foundation first
  • Unwilling to touch docs infra (subdomain, robots, CWV)
  • Only want blog content without technical structure fixes

“I don't need marketing fluff first. I need docs and pricing readable by machines — like we care about APIs being readable for developers.”

— CTO & co-founder, anonymized

“After llms.txt and indexed docs, we had a base for campaigns — not an empty landing page AI cannot answer from.”

— Head of growth, anonymized

Measured impact

Impact

0 → 890

docs pages indexed

58 → 88

mobile PageSpeed

+35%

AI referral in GA4

  • Engineering and marketing share one entity map — not two separate worlds.
  • Docs become a discovery asset, not just post-launch cost center.
  • Growth has foundation for comparison content and OAVF — not guessing in the dark.

Squad

The team behind execution

Managed service means real people operating Atlas — not software sold as a self-serve product.

01

Strategy & Atlas Lead

Translates data into strategy and operates the Oura Atlas loop.

02

Technical SEO Lead

Core Web Vitals, architecture, schema, and overall site health.

03

Content & Editorial

Answer-first content that Google reads and AI engines cite.

04

AI Visibility Specialist

OAVF execution, query mapping, and citation monitoring across generative engines.

Explore more

Related case studies

First step · free

Want results like this for your brand?

Start with a Free Mini Audit — we map your fastest path.

  • Free
  • No commitment
  • Results in 48h

Win on Google. Get cited by AI.

Mini Audit

Step 1 / 3

1. About you

Continue →

SEO

3 priorities

GEO

citation gap

AEO

schema check

FAQ — Case Studies

What was the main challenge in this SaaS / B2B technology case study?

HR-tech SaaS with 800+ paying users, all from outbound and referral. Marketing site existed; docs on separate subdomain — but 140 documentation pages blocked by robots.txt and not indexed. Landing LCP 5.1s. When developers researched "alternatives [category] for remote teams" on ChatGPT or Google, this product never appeared. Engineering focused on product-market fit; SEO was always "next sprint." This story shows how the Oura squad + Atlas handle similar profiles through the Oura Starter package.

Which Oura package ran the "B2B SaaS: solid product, docs invisible to Google and AI" project?

This project ran on Oura Starter. Service scope was tailored to SaaS / B2B technology — see the timeline and approach sections on this page for execution detail.

What is the main takeaway from this case study?

SaaS loses discovery not because the product is bad — often because docs and entity are invisible to machines. Technical foundation is marketing for CTOs. Figures on this page come from real client data with publication permission.

How long until impact usually shows?

It depends on technical foundation and competition. Technical fixes and quick wins often show in 4–8 weeks; organic momentum and AI referral usually need several months of continuous iteration.

Which package fits a profile like this?

See the sidebar summary — each case study links to the Oura package that ran it. A Mini Audit helps map the realistic tier for your context.

WhatsApp