GenerateSaaS

Writing comparison pages

The editorial rules behind a compare or alternatives page - what a claim has to be sourced against, which pages are worth existing, the shape that earns citations, and the effort that does not pay.

The fact sheets and the derived tables handle the mechanics. These are the judgements they cannot make for you, and each one exists so the page stays quotable by a reader, by the vendor it describes, and by an answer engine at the same time.

Truth rules

RuleIn practice
Verify against the vendor's own documentationDocs, licence and pricing page beat their marketing copy. Read the page before you cite it
Read their page in a browser, not a raw fetchMost pricing pages render client-side. Fetching the HTML got us a stale tier ladder and a "pricing needs a sign-in" claim that was disprovable in ten seconds - and cite the address that renders for a logged-out visitor, not one that redirects to a sign-in
A feature you cannot find is a cross, never a guessLeave the row out and their column crosses it; the method line is what says a cross means their docs do not show it. unknown is for stating outright that nothing is evidenced
Never mark your own shipped feature partialFalse modesty reads as a fault in the one column a buyer can check. A genuinely tier-gated row is partial on every sheet, yours included
A rival's strength or refund terms need a sourceIf you have not read it on their site today, it does not go in a cell
Promise no refund on these pagesA money-back line a screen above a cell reading "All sales final" is the contradiction readers notice first
One vocabularyThe same fact in the same words on every page. Two spellings of one row compare nothing
Write a year, never a month"in 2026", not "in August 2026". A month in prose ages the page the week after you write it, and a test fails on any that reaches a reader

Which pages should exist

Your own vs {rival} pages always exist. Each is a decision a prospect is already making, so the page is a conversion surface before it is anything else.

A rival-vs-rival pair or an {rival} alternatives roundup has to pass all three:

TestPasses when
A real buying decisionSomebody genuinely chooses between those two, or genuinely leaves that product
A citation surfaceThe question shows search volume, or dedicated pages already compete for it
A verdict you will writeYou are ready to hand-author it now, not one day
  • Zero measured volume blocks nothing - most assistant sub-queries have none, and keyword tools suppress low counts - but it is not a free pass either. Both other tests still apply.
  • Never auto-generate a page set. The hand-written verdict is the doorway defence, not a formality.
  • The shipped demo publishes every page its fact sheets can support, because a demo exists to show the machinery. Your own set is the pages that pass the three tests, however few that is.

The shape that gets cited

Verdict first. One sentence above the table saying what the choice turns on, before either case.
Short section rulings that name a product. Retrieval quotes a self-contained block, not a page - and a ruling written by position ("the first is cheaper") inverts the day a pair flips.
FAQs as visible text. Question-shaped body copy is cited roughly twice as often; the schema on its own moves nothing.
Re-check inside 180 days. Freshness is what assistants weigh, and a pair whose lastVerified ages out stops publishing rather than going stale in place.
Concede honestly. Naming who should buy the rival instead is what separates a comparison from a rebuttal - pages conceding nothing read as adverts, to people and to models.
Let links derive. Sibling and pair links come from what actually publishes, so a hand-listed link can never outlive the page it names.

Drafting the judgment layer with an agent

The verdicts, the rulings and the better-buy lines are the one part no code can derive, which makes them worth drafting with your coding agent and reading yourself before they ship. Point it at the two fact sheets and at this page, check every line against the cells it claims to be reading, and keep only what you would have written. The gate is your read, not the draft.

Read packages/content/en/compare/{ours}.md and {rival}.md, plus
docs/(platform)/content/writing-comparison-pages.mdx. Draft the versus entry for {rival} on the
lower-ordered sheet: tldr, 3 chooseA, 3 chooseB, one ruling per shared group, each naming a
product. Use only facts those two files already state.

Not worth the effort

SkipWhy
Extra schema hoping for AI citationsThe one matched-control test measured -4.6% on AI Overviews. Keep what ships for rich results and add nothing
Counting on llms.txt or .md renditions for citationsBoth ship and both serve agent readers, but neither moved citation rates in testing - 97% of published llms.txt files are never fetched
Rewriting titles into questionsAround 2%, which is noise
A page per keyword wordingSplit on the job, never on the wording. A new adjective for the same job is an H2 or an FAQ on the page you already have

Page count is not the risk - similarity is

No search-engine policy names a page-count threshold, and product comparison is published as an example of added value. The policy that does reach a set like this is doorway abuse, whose test is substantially similar pages - and hand-authoring alone is not a defence. The verdict every pair must clear is what keeps these pages dissimilar and independently useful. Relaxing that gate is the actual risk.

On this page