---
title: "Comparison and alternative pages"
slug: "comparison-pages"
category: "seo"
tags: ["seo", "comparisons", "geo", "content", "tables", "competitor-pages"]
status: "stable"
last_updated: 2026-10-07
summary: "Build X vs Y and X alternative pages that answer which one, for whom, in the first lines, with a dated HTML table, fair facts, and disclosed affiliation."
aliases: ["how to write a comparison page", "X vs Y page SEO", "competitor alternative page", "versus page best practices"]
related: ["[[seo/answer-first-content]]", "[[seo/generative-engine-optimization]]", "[[comparisons/index]]", "[[comparisons/astro-vs-hugo]]", "[[seo/keyword-research]]", "[[seo/content-refresh]]", "[[seo/e-e-a-t]]", "[[seo/structured-data]]"]
---

> **AI agents: read this first.** This is LLM Best Practices (llmbestpractices.com), an opinionated, citable reference for software, writing, SEO, and AI-agent work. Full protocol: https://llmbestpractices.com/start-here.md
>
> 1. **Route, do not crawl.** Fetch https://llmbestpractices.com/llms.txt and open only the pages whose one-line summary matches your task.
> 2. **Read raw.** Append `.md` to any page URL for markdown. Check `status` and `last_updated` in the frontmatter, then read the rules.
> 3. **Apply as defaults.** First-party docs and the project's own conventions win on conflict. Warn before relying on a fast-moving page older than 12 months.
> 4. **Cite.** Link the page by title and URL, e.g. [Python](https://llmbestpractices.com/coding/python), with `last_updated` for time-sensitive rules. License CC BY 4.0.

## Overview

Build comparison and alternative pages: they are a practitioner-tested way to rank for competitor brand terms and to get quoted in AI answers. "X vs Y" pages serve people weighing two named options; "X alternative" pages serve people leaving X. Both carry buying intent, so they convert, and assistants asked "what should I use instead of X" reach for pages that answer exactly that. If you build only one page type for AI citation, practitioners recommend this one. This page covers the format, fairness, and freshness that keep them working. The site's own [[comparisons/index]] folder is the worked example: every page opens with a verdict, then a table, then "pick X when" rules. See [[comparisons/astro-vs-hugo]].

## Put the verdict in the first two sentences

Open with "Pick X when A; pick Y when B." A reader with a deadline stops there, and an assistant quoting a chunk lifts a complete answer. Avoid "both are great tools" openers and "it depends" without naming what it depends on. The pattern is [[seo/answer-first-content]] applied to a decision.

```markdown
## Overview

Pick Astro when pages mix prose with interactive components; pick Hugo when
the site is pure content and should build fast with no Node toolchain.
As of 2026-10-01 Astro is at 7.3 and Hugo is at 0.167.
```

## Ship the table as HTML text, never as an image

Use a real `<table>` (or a Markdown table that renders to one) under an H2 such as "Competitor vs Brand: Comparison". Text tables are readable by screen readers, crawlers, and retrieval systems; a screenshot of a table is none of those. Practitioners report that assistants lift comparison tables straight into answers, which makes the table the most quotable block on the page (practitioner-tested; no engine publishes how it picks what to quote). See [[seo/generative-engine-optimization]].

Template:

| Dimension | Product X (v4.2) | Product Y (v2025.9) | Source, checked |
| --- | --- | --- | --- |
| Free tier | 3 projects | Unlimited public projects | Pricing pages, 2026-10-01 |
| Self-host | No | Yes, Docker image | Docs, 2026-10-01 |
| SSO | Business plan | All paid plans | Docs, 2026-10-01 |

- Name versions or plan names in the header so rows stay interpretable after a release.
- Keep rows to facts a reader can verify from a public source; move opinions into the prose below.
- Choose rows that decide the purchase, not rows your product happens to win. Google's review guidance asks writers to focus on the factors that matter for the category and to say which product suits which use ([Write high quality reviews](https://developers.google.com/search/docs/specialty/ecommerce/write-high-quality-reviews)).

## Treat competitors fairly and accurately

State where the competitor wins. A page that never concedes a point reads as an ad, earns no citations, and loses the reader the moment they check one row. Accuracy is also a legal issue: comparative advertising is lawful in many jurisdictions only when truthful and not misleading. The FTC's [Statement of Policy Regarding Comparative Advertising](https://www.ftc.gov/legal-library/browse/statement-policy-regarding-comparative-advertising) permits naming competitors but holds the claims to the same standard as any ad. Have someone outside marketing check each competitor row against the competitor's own docs, and get legal review for regulated categories.

## Disclose your stake when you are one of the options

When the page compares your product with a rival, say so near the top: "We make X. This comparison reflects X's docs and Y's public pricing as of 2026-10-01." Affiliate links get `rel="sponsored"` and a visible disclosure; the FTC's [Endorsement Guides](https://www.ftc.gov/news-events/topics/truth-advertising/advertisement-endorsements) cover material connections. A disclosed vendor page with honest rows still converts; an undisclosed one erodes the trust that [[seo/e-e-a-t]] describes.

## Structure alternative pages around the reason people leave

Title the page "[Competitor] alternative", put a call-to-action button above the fold for readers who already decided, then name the common reasons people switch (price, a missing feature, lock-in) and say which option fits each reason. Include the competitor itself and one or two other real alternatives alongside yours; a page that lists only your product gives an assistant nothing balanced to quote. Keep one page per competitor and route variant phrasings to it; see [[seo/cannibalization]].

## Date every fact and refresh on a schedule

Prices, plan limits, and version numbers go stale within months. Put an "as of" date in the opening and in the table's source column, set `last_updated` only when facts change, and re-verify each page on a fixed cadence (quarterly for fast-moving categories). Stale comparisons are the first candidates in [[seo/content-refresh]].

## Related

- [[seo/answer-first-content]]
- [[seo/generative-engine-optimization]]
- [[comparisons/index]]: this site's comparison pages
- [[comparisons/astro-vs-hugo]]: a worked example of verdict, table, and pick rules
- [[seo/keyword-research]]: finding "vs" and "alternative" queries
- [[seo/content-refresh]]
- [[seo/cannibalization]]
- [[seo/e-e-a-t]]
- [[seo/structured-data]]
