# Comfy: Organic growth, and the analytics foundation underneath it.

**Client:** Comfy  
**Industry:** Open-source AI · Developer tools  
**Engagement:** Growth lead: SEO, analytics, lifecycle  
**Period:** 2026 to present  
**Author:** Nav Singh, n+α Ventures

Comfy builds ComfyUI, one of the largest open-source generative AI projects, plus the cloud platform around it. Huge audience, huge traffic, and very little of it captured on purpose. I lead growth there. This is the organic engine and the measurement layer we built underneath it. The program is early and still compounding, so what follows is the approach and the direction of travel.

## At a glance

- **0 → 1** Growth analytics foundation
- **3 lanes** SEO, product-led and sales-led demand
- **48 hrs** Model release SEO playbook
- **Daily** Automated growth pre-read

## What I walked into

Open source hands you distribution most companies would pay millions for. It does not hand you a growth engine, and Comfy had two problems feeding each other.

The first was concentration. The overwhelming majority of organic traffic arrived on brand searches and landed on two pages. Rankings were fine, and that was the trap: the head term held its position all year while click-through on it kept sliding, because AI Overviews had started answering in the results page. Search demand for the term was growing and clicks were falling at the same time. Everything non-branded, the searches where someone describes what they want to make rather than the tool they want to use, was going to venture-funded competitors with a fraction of the community.

The second was measurement. The same question produced different answers depending on who ran it. Activation, signup and ARR had no agreed definition, dashboards were reading tables that had quietly gone stale, and identity was split across the desktop app, the cloud product and the website. Nobody could say which channel produced paying customers.

## Getting the index back

Before any of the growth work, the site had to be crawlable again. An indexation incident in the spring knocked out a large share of indexed pages and, with them, most of a quarter of organic clicks.

The causes were mundane and stacked on each other. Both www and apex served 200s with conflicting sitemaps. There was no canonical URL form, so every page existed twice. The robots.txt had grown a set of per-bot override groups, which under the robots standard cancel the disallow rules above them, because crawlers obey the most specific matching group and ignore the rest. And a batch of the heaviest pages exceeded the crawler fetch limit, which turns a page into a soft 404 without anyone being told.

We picked apex as canonical, picked one trailing-slash convention and enforced it, collapsed robots.txt into a single stacked user-agent group, and rebuilt the sitemap so it agreed with the canonical form. Then the localization layer, where the Chinese-language marketing pages had no hreflang and no internal links from the English site, while a fifth of organic visitors were browsing in Chinese.

- **One host, one URL form:** Apex canonical, one trailing-slash convention, sitemaps that match it. Index signals stop splitting across duplicates.
- **A robots.txt that does what it reads like:** Per-bot groups collapsed into one stacked user-agent group, so the disallow rules apply to the bots they were written for.
- **Locales that resolve:** Hreflang and crawlable internal links across locales, so non-English visitors stop landing on English pages.

## Getting off brand traffic

Brand traffic has a ceiling you do not control. It grows when the product gets famous and shrinks when an assistant absorbs the click.

So we built the demand map first. Every use case and model people search for, scored on volume, difficulty, commercial value and fit with the customers sales was actually closing, each one carrying an estimated traffic value at position one. That is what let us argue about priority with numbers, not opinions.

The finding that changed the roadmap: SEO demand and enterprise demand only partly overlap. That splits the work into three lanes rather than one ranked list. Pages that are high intent and high fit get built first. Pure traffic pages get built for volume and judged on volume. And the demand with real revenue behind it and no search volume at all, things like on-prem deployment and custom model training, belongs to sales, not to SEO. Writing that down stopped a quarter of arguing.

Each page in the network is backed by one of the hundreds of real workflow templates. A thin generated page ranks for a week. A page with a working demo behind it earns links. The model release playbook does the same job on a clock: when a major model ships, the docs page, the template, the landing page and the announcement go out interlinked inside 48 hours, while the interest spike is still live.

- **Scored, not guessed:** Every opportunity priced in estimated traffic value and ranked against ideal customer fit before anything gets built.
- **Backed by working product:** Each landing page maps to a runnable workflow, so the page demonstrates the claim instead of describing it.
- **Brand safety as a gate:** Face-swap, deepfake and clothes-remover categories stay excluded even where volume is large. We wrote the conditions down so the question stops getting re-litigated.

## Writing for the answer engines

A growing share of buyers never reach the site. They ask an assistant, and the assistant summarizes whatever it can parse. Comfy was thin here, cited on only a small fraction of the pages you would expect for a project that size.

We treated it as a channel with its own work. A maintained llms.txt describing the whole product surface in plain language. Structured data on the page types that matter. Titles and descriptions written to be quoted, not tuned for density. And a pile of small repairs, including a routing bug in the static build that was collapsing both slash forms of the model URLs and quietly serving 404s to crawlers following dozens of internal links.

The pattern worth stealing: the pages with the largest gap between impressions and clicks are almost never ranking problems. They are title and description problems, and they are the cheapest fix on any site.

## The analytics foundation

None of it is worth much if you cannot tell whether it worked, so the other half of this job was building the measurement layer the growth team now runs on.

We agreed the definitions and wrote them down. What counts as a signup, sourced from one canonical table after we measured every candidate event against ground truth and found the obvious one missing a large share of real signups. What counts as activation, inside what window. Which revenue basis a number is quoted on, since recognized and bookings differ enough to start an argument in a board meeting.

Then identity, so a person is the same person across the open-source desktop app, the cloud product and the website. That is the piece that makes channel attribution possible at all, and it paid for itself the moment it worked: organic signups convert at a meaningfully higher rate than direct, and referrals from AI assistants convert higher still. Before this work nobody could produce that comparison, which meant nobody could justify the SEO investment.

Then we made it self-serve. Dashboards rebuilt on live models, a glossary so every chart has a definition behind it, an event catalog and an enablement guide, and a scheduled agent that pulls the funnel from the warehouse every weekday morning and drafts the standup read before anyone opens a dashboard.

- **Canonical definitions:** Signup, activation and ARR defined once, documented, and reused. No more re-deriving them per dashboard.
- **Identity resolution:** One person across desktop, cloud and web, which is what turns channel attribution from a guess into a number.
- **Self-serve by default:** Event catalog, glossary, enablement guide, and an agent that assembles the daily growth read automatically.

## Where it stands

This is early. The page network is still being built out, and the compounding part of SEO is the part that takes quarters rather than weeks. What has changed already is the shape of the thing: the site is crawlable again, the organic program has a scored roadmap instead of a brand term propping it up, the release playbook fires on every model launch, and the pages are written so machines can read them.

The measurement side moved faster, because that work lands the day it ships. The growth team stopped arguing about whose number was right. One definition, one dashboard, and a daily read that arrives before standup. That is the boring half of growth work, and it is why everything after it moves faster.

## FAQ

### How is SEO different for an open-source project?

The user and the buyer are often different people, and most of your authority lives where you have limited control: GitHub, docs, forums, community content. The work is connecting that authority to commercial pages, serving the non-branded searches your community already runs, and treating documentation as a ranking asset, not an afterthought. At Comfy the non-branded wins were all living in docs before we built anything on the marketing site.

### What is answer-engine optimization, and does it replace SEO?

It sits on top of SEO. It does not replace it. Answer engines still crawl and parse pages, they just reward clarity and structure over keyword tuning. In practice: a machine-readable summary of your product surface, clean structured data, titles and descriptions written to be quoted, and internal links that let a model follow a question to a working answer. It matters most where brand click-through is already being eaten by AI Overviews, which shows up in Search Console long before it shows up in revenue.

### What does a growth analytics foundation include?

Canonical metric definitions, an event taxonomy and catalog, identity resolution across products, the warehouse and transformation layer feeding the dashboards, the dashboards, and the enablement material that lets the team self-serve. The test is simple: any growth question has one correct answer, and anyone can find it without asking the data team.

---

Source: https://nplusalpha.com/case-studies/comfy
