Get the working resource ↓
SaaS SEO Template 6 min read

SaaS comparison page template

A copy ready comparison page structure: verdict block, feature table, pricing honesty, migration CTA, schema and the legal wording that keeps the claims defensible.

On this page 11 sections
  1. The block order, and why the verdict goes above the table
  2. Block 1 and 2: the H1 pattern and the verdict
  3. Block 3: who each product is best for
  4. Block 4: the feature table with a date column
  5. Block 5: pricing, handled carefully
  6. Block 6: switching and migration
  7. Block 7 and 8: third party proof, FAQ and CTA
  8. The JSON-LD to attach
  9. The claims log
  10. Legal wording that keeps the page defensible
  11. What to do next
  12. Frequently asked questions

The short answer

A SaaS comparison page needs eight blocks in this order: an H1 matching the query pattern, a 60 to 80 word verdict, a best for split, a sourced feature table with a check date column, a pricing comparison, a migration path, third party proof, and an FAQ. Put the verdict above the table and concede at least one category to the competitor. Log every competitor claim with its source URL and check date.

Key points before you start

Most SaaS comparison pages fail in the first 80 words. They open with a paragraph about how choosing the right tool is a big decision, bury the verdict below a 24 row feature table, and win every single row. Nobody believes that page, including the buyer who already uses the competitor and came to see if switching is worth the pain.

Below is the structure we use, block by block, with example copy at two honesty levels so you can see the difference in tone. Copy the blocks, fill them, and keep the claims log.

The block order, and why the verdict goes above the table

Eight blocks. The order is not negotiable, because it maps to how both buyers and answer engines read the page.

#BlockPurposeWord count
1H1 and subheadMatch the query pattern exactly12 to 20
2Verdict paragraphThe extractable answer60 to 80
3Best for splitRoute the reader to the honest fit80 to 120
4Feature tableEvidence, with source and date per rowTable
5Pricing comparisonThe question everyone actually has150 to 250
6Switching and migrationRemove the real objection200 to 300
7Third party proofBorrowed credibility from G2100 to 150
8FAQ and CTALong tail capture and conversion300 to 400

The verdict goes above the table because that is the block an AI answer engine lifts. A model summarising “Product A vs Product B” pulls a self contained paragraph that names both products and states a conclusion. A feature table gives it nothing quotable. This is the same logic driving every other bottom of funnel page you ship.

Block 1 and 2: the H1 pattern and the verdict

The H1 takes one of three patterns and nothing else: {Us} vs {Them}, {Us} vs {Them}: Which {Category} Fits {Segment}, or {Them} vs {Us} ({Year} Comparison). Do not get creative. The query is the query.

Then the verdict, written to stand alone if someone reads only that paragraph.

Verdict block, two honesty levels

Level one, the version everyone writes: “Acme and Beta both offer project management for growing teams, but Acme delivers a more powerful platform with better automation, richer reporting and superior support. Teams that want to scale choose Acme.”

Level two, the version that gets cited: “Beta is the better choice for teams under 20 people who want to be running in an afternoon, and its free tier is genuinely usable. Acme costs more and takes about two weeks to configure, but it handles cross project dependencies and custom approval workflows that Beta does not offer at any tier. If you have more than three teams sharing a delivery schedule, Acme. Otherwise, Beta.”

Level two names a segment, concedes onboarding speed and free tier, gives a numeric threshold and still closes. It is also the only version that survives a competitor reading it with a lawyer.

Block 3: who each product is best for

Two short columns, four bullets each, written in the buyer’s language rather than yours. This block does most of the qualification work on the page.

Pick real differentiators. Team size, deployment model, compliance requirements, technical skill of the admin, budget band, integration dependencies. Avoid anything that reads as a slur dressed as a fit statement, because buyers notice and it undermines the concession you just made.

Editable working copy

Download this template

Save an editable working copy of the framework on this page. Add your own owners, evidence and decisions.

We never sell your data. Your resource opens here after submission.

Block 4: the feature table with a date column

This is the block that keeps you out of trouble. Four columns minimum, and the fourth one is what almost nobody ships.

CapabilityAcmeBetaSource and check date
Cross project dependenciesYes, all plansNoBeta docs, checked 2026 08 30
SSO with SAMLBusiness plan and aboveEnterprise plan onlyBeta pricing page, checked 2026 08 30
Native Slack integrationYesYesBoth vendor directories, checked 2026 08 30
Public API rate limit1,000 req/min120 req/minBeta API docs, checked 2026 08 30
Audit log retention24 months6 monthsBeta security page, checked 2026 08 30

The date column does three jobs. It signals maintenance to readers, it gives you a defensible position if the competitor changed something after your check, and it forces your own team to actually look before publishing. Keep the rows to eight or twelve. A 30 row table is where credibility goes to die, and it is also where the reader stops scrolling.

Block 5: pricing, handled carefully

State published list prices only, name the plan tier, and add the date. Never publish a competitor’s negotiated or rumoured pricing, and never publish a number a customer told you in a sales call.

Add one sentence naming what is not included in the headline price on each side, because that is the comparison buyers actually want and almost nobody provides. Seat minimums, annual commitment discounts, overage charges, the cost of the SSO tier. If your own pricing looks worse in that light, say so and explain what the extra buys. A page that hides your weakness on price gets caught in the first sales call anyway.

Block 6: switching and migration

On a vs page the reader is frequently a current customer of the competitor. Feature parity is not their objection. Losing three years of history is.

The migration block, four parts

  1. Name the data that moves

    List exactly what imports: projects, comments, attachments, custom fields, users and permissions. Name what does not move, which is usually attachment version history and archived items.

  2. State the time cost

    Give a real number for a stated team size. For example, two hours of admin time for under 50 seats, one working week for 200 plus with custom fields. Vague reassurance reads as evasion.

  3. Show the tool

    Link the actual importer page or the CSV spec. If migration is manual, say so. Buyers punish the discovery far harder than the disclosure.

  4. Offer the assisted path

    A migration CTA converts better than a generic trial CTA on this page type, because it answers the objection the reader already has.

The comparison pages playbook covers how to staff and route those migration requests once they start arriving.

Block 7 and 8: third party proof, FAQ and CTA

Pull two or three verbatim review quotes from G2 or Capterra, one of which should be mildly critical of you. Include the reviewer role and the review date. Never edit a review quote beyond trimming, and never quote a review that names a competitor unfavourably without linking the original.

The FAQ block carries the long tail queries the main body does not answer: migration timelines, contract length, data residency, what happens to your data if you cancel. Five to seven questions, 40 to 70 word answers, each one written to work as a standalone snippet. Real examples of all of this working live are collected in the comparison page examples library.

Editable working copy

Get this checklist as a working file

Save the checks on this page as a working copy and assign an owner, status and evidence for each action.

We never sell your data. Your resource opens here after submission.

The JSON-LD to attach

Keep it narrow. FAQPage on the FAQ block, Organization and WebPage on the document, BreadcrumbList for the path.

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "Can I migrate my Beta data to Acme?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "Yes. Projects, comments, attachments and custom fields import through the native importer. Attachment version history does not transfer."
    }
  }]
}

What to avoid: Review or AggregateRating schema describing a competitor. You are an interested party, the ratings are not user generated, and Google’s structured data guidelines treat self serving review markup as a violation. Product schema stays on your own product page with your own real prices.

The claims log

One row per competitor statement anywhere on the page. This lives in a sheet next to the page, not in someone’s head.

Claims log columns

0 of 7 done

Superlative claims (best, fastest, most secure) need either a named third party source or removal. Comparative claims (faster than, cheaper than) need a measurement method stated somewhere on the page. Factual claims (supports SAML on the Business plan) need the source URL and nothing more.

This is general practitioner guidance, not legal advice, and your counsel gets the final read.

In the United States, nominative fair use permits naming a competitor’s trademark to refer to that competitor, provided you use no more of the mark than necessary, avoid their logo and styling, and do nothing suggesting sponsorship or endorsement. False or misleading comparative claims create Lanham Act exposure, so truth and substantiation are the whole defence. In the EU, Directive 2006/114/EC permits comparative advertising where it compares goods meeting the same needs, compares verifiable and material features objectively, and does not discredit the competitor’s marks.

Three wording habits that reduce risk: attribute every comparative statement to a dated source in the visible copy, use “as of” phrasing on anything time sensitive, and add a standing line near the table reading “All competitor information sourced from publicly available documentation on the dates shown. Trademarks are the property of their respective owners.”

Keep a takedown response ready. If a competitor emails, the reply is a link to your claims log entry with the source URL and screenshot, plus a correction within five business days if they are right. Teams with a claims log resolve these in one exchange. Teams without one usually pull the page.

What to do next

Build one page with this structure against your single highest intent competitor query, then measure it for 60 days before templating the rest. Once the structure proves out, the same block order carries into your alternatives pages and your integration pages, and if you are generating dozens of comparison URLs from a data source, the field mapping belongs in a programmatic page brief instead of this template.

To decide which competitor to build first, check where you already appear against them using the share of voice calculator, and read the strategy behind page selection in the SaaS comparison pages guide and the wider SaaS SEO pillar.

Editable working copy

Download this template

Save an editable working copy of the framework on this page. Add your own owners, evidence and decisions.

We never sell your data. Your resource opens here after submission.

Frequently asked questions

How do you write a SaaS comparison page that ranks?

Match the query pattern exactly in the H1, answer the comparison in a 60 to 80 word verdict above the fold, then support it with a feature table carrying a source and check date per row. Add pricing, a migration path and an FAQ. Pages that concede a category to the competitor earn links and citations that one sided pages never do.

Should a comparison page admit where the competitor is better?

Yes, and pick a real category, not a token one. A page claiming to win on every dimension reads as marketing and gets ignored by buyers already using the competitor. Conceding one genuine strength buys credibility for the four claims you actually need believed, and it is the single fastest way to make the page quotable by an answer engine.

Is it legal to use a competitor name on a comparison page?

In most markets yes, under nominative fair use in the US and the comparative advertising rules in EU Directive 2006/114/EC, provided your claims are truthful, verifiable and not misleading, and you do not imply endorsement. Use the plain word mark in text, avoid their logo, and keep evidence for every claim. This is general guidance and not legal advice.

What schema should a comparison page use?

FAQPage schema on the FAQ block, plus Organization and WebPage basics. Do not use Review or AggregateRating schema for your own verdict on a competitor, because you are the interested party and the ratings are not from users. Product schema belongs on your own product, with real pricing, not on the comparison table.

How often should you update a SaaS comparison page?

Quarterly at minimum, and immediately when the competitor ships a pricing change. Run the claims log, open every source URL, confirm the statement still holds, and update the check date. Teams that skip this end up with a page claiming a competitor lacks a feature it launched eight months ago, which is the exact scenario that triggers takedown requests.

What is the difference between a vs page and an alternatives page?

A vs page targets a buyer choosing between two named products and needs depth on both. An alternatives page targets someone already unhappy with one product and needs breadth across five to eight options including competitors you do not beat. They use different templates, different CTAs, and they should not be merged into one URL.

Where should the CTA go on a comparison page?

Three places: a soft trial link immediately after the verdict, a migration focused CTA after the switching section, and a final block after the FAQ. The migration CTA converts best on vs pages because the reader is already using the competitor and their real objection is switching cost, not feature parity.

The saas-marketing.net editorial team Research and editorial

We research, write and maintain every page on this site. The library explains marketing decisions through practical frameworks, explicit assumptions and references. Corrections can be requested through the contact page.

Published September 11, 2026. Last updated .