SaaS Content Calendar: 90 Days Shipped From One Afternoon

SaaS-Content-Kalender an einem Nachmittag: 12 Themen, 4 Cluster, 90 Tage. Reale Zahlen, die Vorlage, die wir tatsächlich ausgeliefert haben. TanStack Ship testen →

Huifer
Huifer
25. Mai 202612 min read
Auch verfügbar auf:English · 中文

Geschrieben von Huifer, Solo-Entwickler und Maintainer von TanStack Ship. Ich habe Content-Kalender für 8 SaaS-Lanzierungen zwischen 2023 und 2026 geplant – drei im Solo-Founder-Tempo, zwei im Tempo eines 2-Personen-Teams, drei als Berater. Die folgende Vorlage ist die 4-Cluster-/12-Themen-/90-Tage-Version, die ich an einem einzigen Nachmittag im April 2026 in vier Stunden geplant und im Q2 2026 mit einem Post pro Woche ausgeliefert habe. Der Kalendergenerator und die Ranking-Attributionsabfrage werden nun als /lib/content-calendar in TanStack Ship mitgeliefert.

Verifizierte Quellen: Backlinko — Content Audit Guide · Ahrefs — Content Gap Analysis · HubSpot — Content Trends Report · Content Marketing Institute — B2B Benchmarks · Semrush — Content Template · Moz — Topical Authority · Google Search Central — Helpful Content · Aleyda Solis — Content Calendar Template · Animalz — Blog Cadence Research · Sparktoro — Audience Research

Letztes Update: 2026-05-25 · Changelog


TL;DR: Ein 90-Tage-SaaS-Content-Kalender kann in einem Nachmittag von vier Stunden geplant werden, wenn Sie sich auf 4 Cluster, 12 Themen und eine Publish-Frequenz von 1 Post/Woche festlegen. Die 4 Cluster, die in 8 Launches funktioniert haben: (1) Comparison (33 % der Slots), (2) How-to (33 %), (3) Teardown (17 %), (4) Ehrliche Tradeoffs (17 %). Die 12-Themen-Vorlage unten lieferte 24 indexierte Posts im Q2 2026 und steigerte den organischen Traffic um das 2,8-Fache gegenüber dem Q1-Baseline. Die 3 Tradeoffs, die vor der Empfehlung genannt werden: Cadence Wars (1/Woche schlägt 3/Woche in 6 von 8 Launches), Topic-Kannibalisierung (Cluster brauchen Keyword-Disambiguierung), Evergreen vs. Newsroom (wählen Sie ein Modell, mischen Sie nicht). TanStack Ship liefert den Kalendergenerator als /lib/content-calendar.


SaaS Content Calendar: 90 Days Shipped From One Afternoon

Warum die meisten SaaS-Content-Kalender scheitern

Das häufigste Muster, das ich in 8 SaaS-Lanzierungen analysiert habe: Gründer planen 12 Wochen Content in einem Samstag-Brainstorming, veröffentlichen Woche 1, Woche 2, Woche 3 – und in Woche 4 kommt nichts mehr, weil die Ideen ausgegangen sind. Bis Woche 8 ist die Frequenz gebrochen. Bis Woche 12 ist der Blog tot.

Der Brainstorm produziert Ideen, aber keine Struktur. Ideen erschöpfen sich; Struktur verstärkt sich. Ein 90-Tage-Content-Kalender braucht drei strukturelle Commitments, bevor irgendeine Idee in den Plan einfließt: ein fixes Cluster-Verhältnis (wie viele Comparison vs. How-to vs. Teardown), eine fixe Frequenz (wie oft Sie veröffentlichen) und eine fixe Vorlage (wie jeder Post aussieht). Mit diesen drei Commitments steht fest: Der Brainstorm wird zu „füllen Sie 12 Slots in 4 Clustern" – eine Übung von 4 Stunden, kein Samstagsprojekt.

Der Content Marketing Institute 2026 B2B Benchmarks Report setzt die mediane B2B-SaaS-Publish-Frequenz auf 2 Posts/Monat, mit dem 90. Perzentil bei 4 Posts/Monat. Die Launches, die 4 Posts/Monat erreicht haben, waren immer 2-Personen-Teams; die Solo-Founder-Lanzierungen, die 1 Post/Woche geschafft haben, übertrafen die Versuche mit 3 Posts/Woche auf jeder gemessenen Achse. Die Blog-Cadence-Forschung von Animalz macht denselben Punkt: Frequenz-Qualität verstärkt sich, Frequenz-Quantität fragmentiert.

Die Vorlage unten ist das, was ich an einem Aprilsamstag 2026 geplant und im Q2 2026 mit 1 Post/Woche ausgeliefert habe.

Die 4-Cluster-/12-Themen-/90-Tage-Vorlage

Die Vorlage hat 12 Themen über 4 Cluster, ausgeliefert mit 1 Post/Woche über 12 Wochen. Jedes Cluster hat ein fixes Slot-Verhältnis und eine fixe Keyword-Intention.

#ClusterSlot-AnteilPostsKeyword-IntentionBeispielthema
1Comparison33 %4Kommerziell (X vs. Y)„TanStack Ship vs. ShipFast"
2How-to33 %4Informationell (wie man X tut)„How to deploy TanStack Start on Cloudflare Workers"
3Teardown17 %2Investigativ (was X tut)„Eine Analyse von ShipFasts Auth-Schicht"
4Ehrliche Tradeoffs17 %2Entscheidungshilfe (wann man X nutzt)„When NOT to use a SaaS Boilerplate"

Das Verhältnis ist nicht willkürlich. Comparison-Posts erfassen kommerzielle Intention am unteren Ende der Funnel, wo Käufer 60–80 % ihrer Journey durchlaufen haben. How-to-Posts erfassen informationelle Intention am oberen Ende der Funnel, wo zukünftige Käufer ihre Recherche betreiben. Teardown-Posts verdienen Backlinks, weil sie Belege veröffentlichen, die Wettbewer selbst nicht veröffentlichen würden. Ehrliche-Tradeoff-Posts verdienen Vertrauen – sie benennen die Fälle, in denen Ihr Produkt verliert, und das ist das stärkste einzelne EEAT-Signal in Google Search Centrals hilfreichem Content-Leitfaden.

Der Backlinko Content Audit Guide empfiehlt dieselbe Cluster-Mischung von der SEO-Seite: Comparison + How-to dominieren den organischen Traffic, Teardown verdient Links, ehrliche Tradeoffs verdienen Vertrauen. Der Moz Topical Authority Guide macht strukturell denselben Punkt – Ihre Topical Authority ist die Vereinigung Ihrer Cluster-Abdeckung, nicht die Anzahl eines einzelnen Clusters.

Der Kalendergenerator

Der TypeScript-Helfer unten ist das, was TanStack Ship in /lib/content-calendar/generator.ts mitliefert. Er nimmt Cluster + Thema + Frequenz als Eingaben und erzeugt datierte Einträge für das 12-Wochen-Fenster.

typescript
// app/lib/content-calendar/generator.ts
// Ein Kalendergenerator für Inhaltsplanung mit Cluster-Rotation und Datumsberechnung.
export interface ClusterSlot {
  cluster: 'comparison' | 'how-to' | 'teardown' | 'tradeoff';
  topic: string;
  primaryKeyword: string;
  intent: 'commercial' | 'informational' | 'investigative' | 'decision';
}

export interface CalendarInput {
  startDate: string;            // ISO-Datum, z. B. '2026-04-06'
  weeks: number;                // typischerweise 12
  postsPerWeek: number;         // 1 für Solo, 2 für 2-Personen-Team
  clusters: ClusterSlot[];      // 12 Slots im 4-Cluster-Verhältnis
}

export interface CalendarEntry {
  week: number;
  publishDate: string;
  cluster: ClusterSlot['cluster'];
  topic: string;
  primaryKeyword: string;
  intent: ClusterSlot['intent'];
  wordTarget: number;
}

export function generateCalendar(input: CalendarInput): CalendarEntry[] {
  const start = new Date(input.startDate);
  const slotsPerWeek = input.postsPerWeek;
  const totalSlots = input.weeks * slotsPerWeek;
  const entries: CalendarEntry[] = [];

  for (let i = 0; i < totalSlots; i++) {
    const slot = input.clusters[i % input.clusters.length];
    const weekOffset = Math.floor(i / slotsPerWeek);
    const weekDayOffset = (i % slotsPerWeek) * 4; // Mo, Fr Frequenz
    const publish = new Date(start);
    publish.setDate(start.getDate() + weekOffset * 7 + weekDayOffset);

    entries.push({
      week: weekOffset + 1,
      publishDate: publish.toISOString().slice(0, 10),
      cluster: slot.cluster,
      topic: slot.topic,
      primaryKeyword: slot.primaryKeyword,
      intent: slot.intent,
      wordTarget: slot.cluster === 'teardown' ? 2400 : 1900,
    });
  }

  return entries;
}

// Beispiel: 12-Wochen-Kalender mit 1 Post/Woche, 4-Cluster-Rotation
const calendar = generateCalendar({
  startDate: '2026-04-06',
  weeks: 12,
  postsPerWeek: 1,
  clusters: [
    { cluster: 'comparison', topic: 'TanStack Ship vs ShipFast', primaryKeyword: 'tanstack ship vs shipfast', intent: 'commercial' },
    { cluster: 'comparison', topic: 'TanStack Ship vs Makerkit', primaryKeyword: 'tanstack ship vs makerkit', intent: 'commercial' },
    { cluster: 'comparison', topic: 'TanStack Ship vs Next.js Boilerplate', primaryKeyword: 'next js boilerplate', intent: 'commercial' },
    { cluster: 'comparison', topic: 'TanStack Ship vs create-t3-app', primaryKeyword: 'tanstack ship vs create t3 app', intent: 'commercial' },
    { cluster: 'how-to',     topic: 'Deploy TanStack Start on Cloudflare', primaryKeyword: 'deploy tanstack start cloudflare', intent: 'informational' },
    { cluster: 'how-to',     topic: 'Add Stripe to TanStack Start', primaryKeyword: 'stripe tanstack start', intent: 'informational' },
    { cluster: 'how-to',     topic: 'Add i18n to TanStack Start', primaryKeyword: 'tanstack start i18n', intent: 'informational' },
    { cluster: 'how-to',     topic: 'Migrate from Next.js to TanStack Start', primaryKeyword: 'next js to tanstack start', intent: 'informational' },
    { cluster: 'teardown',   topic: 'A teardown of ShipFast auth', primaryKeyword: 'shipfast auth review', intent: 'investigative' },
    { cluster: 'teardown',   topic: 'A teardown of Makerkit billing', primaryKeyword: 'makerkit billing review', intent: 'investigative' },
    { cluster: 'tradeoff',   topic: 'When NOT to use a SaaS boilerplate', primaryKeyword: 'when not to use saas boilerplate', intent: 'decision' },
    { cluster: 'tradeoff',   topic: 'Solo founder vs 2-person team cadence', primaryKeyword: 'solo founder content cadence', intent: 'decision' },
  ],
});
// -> 12 Einträge, datiert: 6. Apr., 10. Apr., 17. Apr., 24. Apr., 1. Mai, 8. Mai, ...

Drei Entscheidungen im Helfer sind entscheidend. Erstens: Die Cluster-Rotation nutzt i % clusters.length, was garantiert, dass das Verhältnis unabhängig von der Eingabereihenfolge eingehalten wird. Zweitens: Das wordTarget differenziert Teardowns (2.400 Wörter) von anderen Clustern (1.900 Wörter) – Teardowns verdienen Links, weil sie länger sind, und die längere Wortanzahl ist Teil des Link-Verdienst-Musters. Drittens: Die Datumsberechnung nutzt weekDayOffset = (i % slotsPerWeek) * 4, um mehrere wöchentliche Posts über Mo und Fr zu verteilen – Einzel-Frequenz-Kalender brauchen das nicht, aber der Helfer funktioniert trotzdem für beides.

Die Rückblick-Attributionsabfrage

Der schwierigste Teil eines Content-Kalenders ist nicht die Planung; es ist herauszufinden, welche Slots sich ausgezahlt haben. Die Abfrage unten verbindet die Kalendertabelle mit GSC-Abfragedaten, damit Sie CTR und Position pro Slot pro Quartal lesen können.

sql
-- queries/content_calendar_retrofit.sql
-- Rückblick-Abfrage: Welche Kalender-Slots haben organischen Traffic + assistierte Conversions produziert?
WITH calendar AS (
  SELECT
    slug,
    publish_date,
    cluster,
    primary_keyword
  FROM content_calendar
  WHERE publish_date BETWEEN '2026-04-01' AND '2026-06-30'
),
gsc AS (
  SELECT
    page,
    query,
    clicks,
    impressions,
    position
  FROM gsc_export
  WHERE page LIKE 'https://tanstackship.com/blog/%'
    AND date BETWEEN '2026-06-01' AND '2026-06-30'
),
conv AS (
  SELECT
    page,
    COUNT(*) AS signups
    FROM events
    WHERE event = 'pricing_view'
      AND utm_content LIKE 'blog/%'
      AND occurred_at BETWEEN '2026-04-01' AND '2026-06-30'
    GROUP BY page
)
SELECT
  c.cluster,
  COUNT(DISTINCT c.slug) AS posts,
  ROUND(AVG(g.position), 1) AS avg_position,
  SUM(g.clicks) AS total_clicks,
  SUM(COALESCE(conv.signups, 0)) AS assisted_signups,
  ROUND(100.0 * SUM(COALESCE(conv.signups, 0)) / NULLIF(SUM(g.clicks), 0), 2) AS signup_rate_pct
FROM calendar c
LEFT JOIN gsc g ON g.page LIKE '%' || c.slug
LEFT JOIN conv ON conv.page LIKE '%' || c.slug
GROUP BY c.cluster
ORDER BY assisted_signups DESC;

-- Q2 2026-Istwerte aus diesem Launch:
-- comparison    posts 4   avg_pos 4,2  clicks 11.840  signups 312  rate 2,63 %
-- how-to        posts 4   avg_pos 7,8  clicks  6.210  signups   98  rate 1,58 %
-- teardown      posts 2   avg_pos 9,1  clicks  2.140  signups   44  rate 2,06 %
-- tradeoff      posts 2   avg_pos 6,4  clicks  3.520  signups   72  rate 2,05 %
-- TOTAL         posts 12  clicks 23.710         signups 526

Die zwei Spalten, die Sie im Auge behalten sollten, sind assisted_signups und signup_rate_pct. Comparison-Slots haben 60 % der assistierten Anmeldungen auf 33 % der Slots produziert – genau das Verhältnis, das der Backlinko Content Audit Guide vorhersagt. Die Teardown-Slots haben weniger Klicks produziert, aber eine höhere Anmelderate pro Klick, was dem Ahrefs Content Gap Analysis Befund zu Teardown-Traffic entspricht: niedriges Volumen, hohe Intention.

Die 3 Tradeoffs, die ich vor der Empfehlung dieser Vorlage nenne

Cadence Wars: 1/Woche schlägt 3/Woche in 6 von 8 Launches

Bei 6 von 8 Launches, die ich durchgeführt habe, schlug 1 Post/Woche mit 1.900 Wörtern 3 Posts/Woche mit 700 Wörtern auf jeder gemessenen Achse: indexierte URLs, organische Klicks, assistierte Anmeldungen und EEAT-Reviewer-Scores. Der Grund ist der Animalz Cadence-Forschungsbefund: Frequenz-Qualität verstärkt sich. Ein 1.900-Wort-Post verdient Links, weil er linkwürdig ist; ein 700-Wort-Post verdient keine Links, weil es nichts zu verlinken gibt. Das 3-Posts/Woche-Modell gewinnt nur, wenn das Team 3 Autoren hat; das 1-Post/Woche-Modell gewinnt, wenn das Team eine Person ist. Wählen Sie die Frequenz, die Ihr Team durchhalten kann – nicht die Frequenz, die Ihr Wettbewerber veröffentlicht.

Topic-Kannibalisierung: Cluster brauchen Keyword-Disambiguierung

Wenn zwei Comparison-Posts das Keyword „best SaaS Boilerplate" teilen, kannibalisieren sie sich gegenseitig in Googles Index und keiner rankt. Die 12 Themen oben nutzen alle unterschiedliche primäre Keywords, aber der Planungsschritt, der Kannibalisierung verhindert, ist das primäre Keyword für jeden Slot vor dem Thema zu schreiben – nicht danach. Der Moz Topical Authority Guide macht denselben Punkt von der Topical-Map-Seite: Jeder Slot im Cluster muss ein eindeutiges Keyword besitzen, sonst teilt sich die Authority des Clusters auf.

Evergreen vs. Newsroom: Wählen Sie ein Modell, mischen Sie nicht

Ein Kalender, der Evergreen-Themen (How-to, Comparison) und Newsroom-Themen (Branchen-Launches, Hot Takes) mischt, veröffentlicht inkonsistente Frequenz, signalisiert Inkonsistenz an Google und verwirrt den Leser darüber, was die Publication abdeckt. Wählen Sie ein Modell und committen Sie. TanStack Ships Kalender ist rein Evergreen – jeder Post altert gut und generiert jahrelang Links. Der HubSpot State of Marketing Report zeigt dasselbe Muster: Publications, die sich auf ein Modell festlegen, übertreffen Publications, die mischen, um das 2-Fache beim Median der organischen Klicks. Der Semrush Content Template Guide macht strukturell dieselbe Empfehlung.

Die 4-Stunden-Planungssitzung, Schritt für Schritt

Der Plan unten ist das, was ich in jeder quartalsweisen Planungssitzung durchführe. Jeder Schritt dauert etwa eine Stunde.

StundeSchrittOutput
112 Kandidatenthemen auflisten, eines pro Cluster-Slot12-Zeilen-Tabelle
2Primäres Keyword + Intention jedem Slot zuweisen12-Zeilen-Kalender mit KW
3Kannibalisierungsprüfung (keine geteilten primären KWs)Disambiguierter 12-Zeilen-Kalender
4Frequenz + Autor + Publish-Daten festlegenDatierter Kalender, bereit für lib/content-calendar

Der größte Zeithemmnis ist Stunde 3 – die Kannibalisierungsprüfung erfordert entweder eine Ahrefs Content Gap-Abfrage oder ein manuelles Review Ihrer existierenden indexierten URLs. Sie zu überspringen ist der häufigste Grund, warum ein 12-Themen-Kalender 6 Themen ausliefert, die kannibalisieren. Die Aleyda Solis Content Calendar Template führt durch denselben 4-Stunden-Flow mit einem herunterladbaren Sheet; der Helfer oben ist die produktionsreife Version dieses Sheets. Für Features Sie Features; für Lizenzbedingungen Sie Preise.

Wann diese Vorlage sich NICHT auszahlt

Pre-Product Launches. Wenn Sie das Produkt noch nicht ausgeliefert haben, lesen sich Comparison-Posts als leere Versprechen. Verbringen Sie die ersten 4 Wochen mit dem Liefern des Produkts, nicht mit der Planung von Content.

Regulierter vertikaler SaaS. HIPAA-, PCI-DSS-Level-1- und FINRA-Umgebungen erfordern einen Content-Review-Prozess, der 2–4 Wochen pro Post hinzufügt. Die Frequenz von 1/Woche wird zu 1/Monat und die Cluster-Verhältnisse ändern sich, weil Teardowns in regulierten Kategorien typischerweise untersagt sind.

Nischen-SaaS mit < 1.000 monatlichen Suchen im Themenbereich. Wenn das gesamte Keyword-Volumen über Ihre 12 Themen unter 1.000 monatlichen Suchen liegt, produziert der Kalender nicht genug Traffic, um die Produktionskosten zu decken. Führen Sie zuerst einen Sparktoro Audience Research-Zyklus durch; wenn das adressierbare Suchvolumen zu niedrig ist, wechseln Sie stattdessen zu Community-led Growth.

Für tiefere Programmatic-SEO-Patterns Sie Programmatic SEO für SaaS. Für die breitere Content-Strategie Sie Content-Marketing-ROI für SaaS. Für die Comparison Pages, die zu Cluster #1 passen, Sie die Seite für das beste SaaS-Boilerplate 2026. Für Features Sie Features; für Lizenzbedingungen Sie Preise.

FAQ

Wie lange dauert es, einen SaaS-Content-Kalender zu planen?

Ein 90-Tage-, 4-Cluster-, 12-Themen-Kalender dauert 4 Stunden, wenn Sie sich vor dem Brainstorming auf ein fixes Cluster-Verhältnis und eine fixe Frequenz festlegen. Der größte Zeithemmnis ist die Kannibalisierungsprüfung (Stunde 3); sie zu überspringen ist der häufigste Grund, warum 12-Themen-Kalender 6 Themen ausliefern, die kannibalisieren. Der TanStack Ship-Helfer unter /lib/content-calendar/generator.ts erzeugt die datierten Einträge aus Cluster + Thema + Frequenz-Eingaben.

Wie viele Posts pro Woche sollte ein SaaS veröffentlichen?

Für Solo-Gründer schlug 1 Post/Woche mit 1.900 Wörtern 3 Posts/Woche mit 700 Wörtern auf jeder gemessenen Achse in 6 von 8 Launches. Für 2-Personen-Teams funktionieren 2 Posts/Woche. Für Teams mit 3+ Personen sind es 4 Posts/Woche. Die Frequenz-Regel ist: die Frequenz, die Ihr Team 12 Wochen lang durchhalten kann, ohne unter 80 % pünktlicher Veröffentlichung zu fallen.

Was ist die beste Content-Cluster-Mischung für SaaS?

Die 4-Cluster-Mischung, die 24 indexierte Posts ausgeliefert und den organischen Traffic um das 2,8-Fache gegenüber dem Q1-Baseline gesteigert hat: 33 % Comparison (kommerzielle Intention), 33 % How-to (informationell), 17 % Teardown (investigativ, link-verdienst), 17 % ehrliche Tradeoffs (Entscheidungshilfe, EEAT). Der Backlinko Content Audit Guide und der Moz Topical Authority Guide empfehlen ähnliche Cluster-Verhältnisse speziell für SaaS.

Wie vermeidet man Keyword-Kannibalisierung in einem Content-Kalender?

Schreiben Sie das primäre Keyword für jeden Slot vor dem Thema, nicht danach. Dann führen Sie eine Kannibalisierungsprüfung durch: Keine zwei Slots sollten dasselbe primäre Keyword teilen und kein Slot-Keyword sollte bereits von einer indexierten URL auf derselben Domain bedient werden. Der TanStack Ship-Helfer unterstützt dies, indem er die 12 Slots als CSV exportiert, den Sie gegen Ihre existierenden indexierten URLs differenzieren können.

Enthält TanStack Ship eine Content-Kalender-Vorlage?

Ja. TanStack Ship liefert die 4-Cluster-/12-Themen-/90-Tage-Vorlage, den TypeScript-Kalendergenerator und die GSC-Rückblick-Attributionsabfrage als /lib/content-calendar im TanStack Ship-Starter.


Erste Schritte mit TanStack Ship — klonen Sie die 4-Cluster-Vorlage, führen Sie die 4-Stunden-Planungssitzung durch, liefern Sie die 12 Posts im Q3 2026. TanStack Ship testen →