Most advice about landing pages is about wording. We wanted to know what is actually on the page, so we crawled 800 landing pages belonging to YC-backed B2B SaaS companies and scored the 675 that returned readable HTML.
The result was not what we expected. The dominant problem is not weak copy or poor design. It is things that are simply not there — no price, no proof, no ask.
The headline numbers
Every figure below is the share of the 675 scored pages, unless a different n is
given. Two of the metrics we originally planned are missing on purpose; the
What we did not measure section explains why.
| Measure | Result | n |
|---|---|---|
| No call to action anywhere in the page body | 30.7% (207) | 675 |
| Never state a price | 84.6% (571) | 675 |
| No social proof of any kind | 57.8% (390) | 675 |
| No form field at all | 65.8% (444) | 675 |
| One single primary call to action | 40.7% (275) | 675 |
At least one image missing alt text | 70.5% (476) | 675 |
Missing an h1 | 8.1% (55) | 675 |
| Missing a viewport meta tag | 0.1% (1) | 675 |
| Headline longer than ten words | 7.1% (44) | 620 |
And the distributions:
| Measure | p25 | Median | p75 | Max | n |
|---|---|---|---|---|---|
| Word count | 458 | 759 | 1,218 | 12,115 | 675 |
| Words before the first in-body CTA | 21 | 34 | 101 | 7,680 | 464 |
| Distinct CTA labels | 0 | 1 | 2 | 5 | 675 |
| Total CTA elements | 0 | 2 | 3 | 20 | 675 |
| Reading grade (Flesch–Kincaid) | 8.3 | 10.4 | 12.5 | 24.9 | 595 |
| Form fields | 0 | 0 | 1 | 72 | 675 |
Images missing alt | 0 | 6 | 34.5 | 267 | 675 |
Finding 1: nearly a third of pages never ask for anything
207 of 675 pages (30.7%) have no call to action in the body of the page at all.
That number needs a precise definition, because the obvious version of this
measurement is wrong. We excluded nav, header, footer and their ARIA
equivalents before looking for CTAs. Almost every SaaS site has a "Get started"
button pinned in its navigation bar, so counting that measures the existence of a
header, not the intent of the page. When we made that mistake in a pilot run, the
median copy length before the "first CTA" was about 9 words — we were measuring the
navbar on every single site.
With the chrome removed, 30.7% of pages make no ask. A visitor who reads the whole thing and wants to act has nothing to click except the same nav button that was there when they arrived.
Of the 468 pages that do have an in-body CTA, only 275 (58.8%) lead with a single primary action. The rest offer competing options — "Start free trial", "Book a demo", "Talk to sales", "Read the docs" — and the maximum we recorded was five distinct CTA labels on one page.
Finding 2: 84.6% never say what it costs
Only 104 of 675 pages (15.4%) state a price anywhere on the page.
This is the single largest gap in the dataset. It is also the one with the clearest cost: a visitor evaluating three tools cannot compare yours if the number is behind a form. Among pages that had a CTA at all, price disclosure was barely better — 85 of 468, or 18.2%.
We are not claiming every company should publish a price list. Enterprise sales motions have real reasons to qualify first. But 84.6% is far too high to be explained by deliberate strategy across a population of early-stage startups, and "contact us for pricing" on a self-serve product is friction with no upside.
Finding 3: proof exists, but arrives too late
285 pages (42.2%) have some form of social proof — logos, testimonials, customer counts, review scores. Only 78 pages (11.6%) place any of it before the first call to action.
Put differently: of the pages that went to the trouble of collecting proof, 72.6% put it after they had already asked for the click. The visitor is asked to commit, and only then shown the reason to trust the ask.
This is the cheapest fix in the entire dataset. The asset already exists on the page. It is in the wrong order.
Finding 4: two thirds of pages cannot capture a lead
444 pages (65.8%) contain no form field whatsoever. The median form field count across the whole sample is zero.
Some of these legitimately hand off to an app signup on another domain. But combined with Finding 1 — nearly a third have no in-body CTA — the picture is a large population of pages that inform and then stop.
At the other extreme, the longest form we found had 72 fields.
Finding 5: the writing is pitched at college level
Median reading grade 10.4 (Flesch–Kincaid, n=595). The upper quartile sits at 12.5, and 178 of the 595 scored pages read at grade 12 or above — roughly the level of a broadsheet leader column, aimed at buyers skim-reading on a phone between meetings.
The n here is 595 rather than 675 because we only score readability on genuine
prose: at least 100 words, at least 5 sentences, and no more than 40 words per
sentence. Landing pages are full of headings and button labels with no sentence
terminators, and feeding those to Flesch–Kincaid produces impossible grades — an
early version of this scorer reported a median grade of 20.5 and a maximum of 54.7
before we added those guards. Pages that do not clear the bar are reported as
unscored, not as zero.
Finding 6: accessibility is an afterthought
476 pages (70.5%) have at least one image missing alt text. Of the 653 pages
that use images at all, only 177 (27.1%) have alt text on every one. The median
page is missing 6; the worst is missing 267.
By contrast, 99.9% (674 of 675) have a viewport meta tag — the one mobile signal that a framework sets for you by default. Where the tooling handles it, compliance is essentially universal. Where a human has to type something, it is missing on seven pages in ten.
The composite: 2.8%
Take the three basics that almost every conversion guide agrees on — state a price, show proof, lead with one clear action.
19 pages out of 675 do all three. That is 2.8%.
That is the finding we would put in front of a founder. The bar is not high, and almost nobody clears it.
Method
- Sampling frame: the Y Combinator public company directory (via the yc-oss mirror), filtered to companies marked Active with a B2B or SaaS classification.
- Sample: seeded shuffle,
seed = 20260725, so the sample is reproducible. 800 pages attempted, 675 scored. - Collected: 25 July 2026, 09:58–10:01 UTC.
- Crawler:
robots.txthonoured viarobots-parser; identifying user agent (LeadzLanderResearchBot/0.1); bounded concurrency; every failure recorded with a typed reason rather than silently dropped. - Scorer: static HTML only, parsed with
cheerio. Our own rubric, mirroring the conversion heuristics in the LeadzLander generation engine. - Cost: $0 in API spend. This study buys no third-party data.
Both the crawler and the scorer are in the repository, and the summary file containing every aggregate — including the failure ledger — is published alongside the CSV.
Why 125 pages were excluded
Pages that could not be fetched or contained no readable content are reported as disclosed failures. They are never scored as zeros: a scored empty page drags every median in the study toward zero, which would have made our numbers look worse than reality rather than more honest.
| Reason | Pages |
|---|---|
| JavaScript-rendered shell (no server-rendered content) | 83 |
| Network error | 13 |
| HTTP 403 | 8 |
| Body too small to score (under 50 words) | 7 |
| HTTP 429 (rate limited) | 5 |
| HTTP 404 | 4 |
Disallowed by robots.txt | 2 |
| HTTP 402, 503, 526 | 1 each |
| Total excluded | 125 |
The bias this creates
The 83 JavaScript-shell exclusions are not random. They are systematically the most
JavaScript-heavy sites in the frame, so the scored sample skews toward
server-rendered pages. If heavily client-rendered sites differ in their conversion
structure, this study will not detect it. We think this most plausibly understates
problems like missing alt text, since single-page applications tend to be worse on
that dimension, but we have not measured it and we are not claiming it.
What we did not measure
Two metrics we originally planned are absent, and we want to be explicit rather than quietly substitute a proxy:
- Whether the primary CTA sits below the fold. "The fold" is a rendered-viewport fact. Static HTML has no layout engine, so this is not measurable with the tooling used here.
- Whether the page breaks at 390px. Same reason.
We do publish words before the first in-body CTA (median 34). That is document-order copy length, and it is not a claim about the fold — a page with 34 words before its CTA may still render that CTA off-screen depending on type size, hero imagery and viewport. Anyone quoting this dataset should not relabel it as a viewport measurement, and neither will we.
Both metrics need a headless-browser pass at a real viewport size. That is the planned follow-up, and it will be published as a separate, dated study rather than retrofitted into this one.
Get the data
The full per-page dataset is free to download, free to cite, and free to check our work with:
- Download the CSV — 675 rows, 17 columns, one row per page.
- Download the summary JSON — every aggregate in this article, plus the method block and failure ledger, exactly as the tool emitted it.
Every number in this article is reproducible from those two files. If you find an error in our method, we would rather hear about it than not — the point of publishing the raw rows is that you do not have to take our word for any of this.
How to cite
LeadzLander (2026). The State of SaaS Landing Pages: 675 Pages Measured. Sample: 675 YC-backed B2B SaaS landing pages, collected 25 July 2026. https://www.leadzlander.com/research/state-of-saas-landing-pages