如何撰写不会像牛奶一样变质的对比内容
How to write comparison content that doesn't age like milk

原始链接: https://posthog.com/blog/comparison-content-guide

对比内容可能非常有效,但难以维护,写起来也不舒服,因为营销人员担心推广竞争对手,以及在产品变化时保持页面准确。PostHog 的做法是诚实和公平:承认竞争对手的优势,承认自己的不足,加入“谁应该选择他们”部分,并欢迎更正——甚至通过拉取请求。这能与读者建立信任,并帮助 LLM 将页面视为平衡的信息来源。 为维护约 90 个对比页面,PostHog 将每个竞争对手的声明存储在一个集中式数据文件中,因此一次更新会传播到所有相关页面。他们还使用“Scouts”监控竞争对手和自身产品是否发生偏移,标记证据和建议编辑,并交由人工决定和发布修复。结果是,相比其他博客内容,它带来更强的注册转化。结论:公平、准确,并通过自动化维护而不是回避对比内容。

Hacker News 链接到 Posthog 的一篇文章,标题为《如何撰写不会像牛奶一样变质的对比内容》,获得 25 点和 5 条评论。评论中有人争论该网站的 Cookie 横幅是否法律必需,并赞扬其怀旧的桌面风格 UI。
相关文章

原文

Every marketing lead I talk with sees potential of comparison content, but also see it as a double-edged sword they're not comfortable investing in.

The hesitation usually comes from some mix of (1) it feels unnatural to give your competitors their flowers on your own website, and (2) comparison pages come with maintenance overhead nobody wants to deal with.

Competitors ship things, change their pricing, get acquired (or acquire others), and all of a sudden the article you wrote in March is outdated in June.

So how do you walk the line between being fair (complimentary, even) to your competitors while still capturing demand & showing off your product's strengths? And how do you keep the content accurate once it's out in the world to avoid spreading misinformation?

Both are worth figuring out if you want to write comparison content that doesn't get dunked on. And both are things I'm here to give some answers to based on our experience writing comparison content at PostHog.

Why bother with comparison content?

Because it works.

Since 2021, over 25k people have signed up for PostHog after reading a comparison. Almost 50% did it within 24 hours of reading; ~75% within 30 days.

Comparison content by yearBe the comparison page you'd want to read

PostHog doesn't have every feature every competitor has (yet), and we're fine admitting it. Our credibility with the reader is worth more than whatever we'd "win" by fudging the truth.

We're not the solution for everyone. We are the best solution for someone (a lot of someones, actually), and the job is capturing their attention. Which means you will, occasionally, lose a deal on your own website: someone reads PostHog vs Competitor, concludes Competitor is the better fit, and goes and buys Competitor. We wish them godspeed and focus on our ICP anyway.

In practice, this means picking up a few uncomfortable habits:

Acknowledge your gaps and credit their wins.

"If you need X, they do it better than we do today" is a sentence you'll find on our pages. Softening it with what's coming is fine (a roadmap link, a "we're working on it"), as long as you're clear about where you are right now for the readers deciding today.

For example, earlier this year our articles admitted we were weaker on APM because we hadn't shipped distributed tracing or metrics yet. True at the time. We've since shipped a full APM suite, and the articles now say that instead. Our content matches our shipping, not just our ambitions.

Readers don't think less of you for crediting a competitor; they think more. It's the cheapest trust signal in content marketing, and almost nobody uses it. And as AI eats everything else about content, trust is one of the few things left you can't generate. Say the nice thing.

There's another reader to keep in mind, too: LLMs. When someone asks Claude "PostHog vs Sentry for a Next.js app," we assume the model pulls from sources it judges to be balanced. So be balanced. You want to read as a source, not an ad.

Being honest used to be a brand decision (one we've proudly stood behind), but now it might be a distribution decision too.

Write a "who should pick them" section.

If you can't write a fair paragraph about where your competitor wins and who they might work better for, you don't understand them well enough to compare. Go read their docs.

It's also the place to be honest about who you are and aren't building for: plenty of our competitors are openly built for marketers for example, and while lots of marketers run all their reporting on PostHog (yours truly included), we're still building for AI-pilled engineers first, and we say so.

The reader who isn't a fit should leave feeling helped, not hustled. Honest pages also don't make enemies: the fastest way to go viral for the wrong reasons is a dodgy comparison, and if you'd rather not be bashed on Hacker News or Twitter for being slimy, be fair.

Take corrections from competitors.

We've shipped edits because someone at a competitor emailed us, DMed us, or better yet, opened a PR directly against our blog. We welcome it and encourage it. (Yes, if you're a competitor reading this, this is an invitation.)

Here's an example from today:

Lucas Harras, a Senior Customer Success Architect at Amplitude, read our PostHog vs Amplitude page, found four features we'd marked as missing that Amplitude actually has, and opened a PR.

We merged it the same day, and because every comparison table renders from that file (more on that below), every page that mentions any of these features was corrected by the next deploy.

Example PRHow to maintain comparison pages

Staying accurate across ~90 comparison and roundup pages for years is an engineering problem, and we started treating it like one.

1. Every competitor is a centralized data file.

In the posthog.com repo there's a folder with one file per competitor: sentry.tsx, amplitude.tsx, hotjar.tsx, and so on. Each file holds everything we claim about that company, in one place; here's a simplified version of what that looks like:

Feature keys come from a shared dictionary, so "session replay with network payloads" means the same thing on the Hotjar page as the LogRocket page.

Most of our comparison tables render from these files through one component. When a competitor ships a feature, someone changes one line in one file and every page that mentions them updates on the next deploy. The repo is public, so competitors can see exactly what we say about them and open a pull request if we're wrong.

2. Scouts checks our homework

Data files solve "update once, publish everywhere", but they don't solve for "notice that something changed" – that's what we've used Scouts for.

We run two. The first watches our competitors: it reads the competitor files I mentioned above, visits each competitor's pricing and docs pages, and reports back when what they say and what we say have drifted apart.

The second watches us. It turns out a very embarrassing way to get a comparison wrong isn't overstating a competitor, but understating yourself. (I learned this the hard way… occupational hazard of shipping as fast as we do. *wink*)

So the second scout reads our comparison pages against our own changelog, docs, open PRs, and Slack threads, and flags anywhere we might be underselling ourselves.

A few things make both of them better than a script that pings you every time a page changes:

  1. It has memory between runs, so it doesn't re-flag the same thing every week, and it learns what "normal" looks like for each site.
  2. It's selective by design. Most runs end with nothing to report, and that's it working. It ignores changes that don't affect the overall comparison.
  3. It shows its evidence: what their page says now, what our file says, and a suggested edit, with sources.
  4. A human ships the fix. The scout posts a digest to Slack with a link to open a PR. A person decides whether the change is necessary, opens the PR, and merges it.

Here's an example of what this looks like in practice. First, the Slack digest:

Scout Digest Example

联系我们 contact @ memedata.com