TanStack vs Next.js 2026: 65 % LCP SEO Win on Edge

TanStack vs Next.js 2026: Ich habe 4 SaaS-Apps in 90 Tagen migriert. 65 % LCP-Verbesserung, 85→95 Core Web Vitals, Edge-First. Jetzt die vollständigen Daten.

Huifer
Huifer
10. September 202611 min read
Auch verfügbar auf:English · 中文

Geschrieben von Huifer, Solo-Entwickler und Maintainer von TanStack Ship. TanStack Ship wurde ursprünglich auf Next.js aufgebaut, bevor ich es auf TanStack Start migriert habe. Die Migration dauerte 90 Tage und verbesserte den gemessenen LCP um 65 %, während sich die Core Web Vitals von 85 auf 95 verbesserten. Ich habe beide Frameworks über vier produktive SaaS-Apps mit echten SEO-Daten verglichen. Dieser Beitrag betrachtet ausschließlich die SEO-Perspektive, basierend auf der Migration und der laufenden Produktivnutzung – kein synthetischer Benchmark.

Verifizierte Quellen: TanStack Start Docs · Next.js-Dokumentation · Google Search Central — SEO Starter Guide · web.dev — Core Web Vitals · Schema.org — Document · Cloudflare Workers — Edge Runtime

Letzte Aktualisierung: 2026-09-10 · Changelog


TL;DR

Für ein SEO-kritisches SaaS im Jahr 2026 prägt die Wahl zwischen TanStack und Next.js, wie Googlebot Ihre Seiten sieht. Ich habe dies direkt auf vier produktiven SaaS-Apps gemessen und TanStack Ship in einem 90-Tage-Zeitfenster in 2024–2025 von Next.js auf TanStack Start migriert:

  • Migrationszeitraum: 90 Tage, von Next.js 14 App Router zu TanStack Start.
  • Portfolio-Umfang: vier produktive SaaS-Apps, einschließlich TanStack Ship.
  • Gemessene LCP-Änderung: 65 % Verbesserung nach der Migration.
  • Gemessene Core Web Vitals: 85 davor und 95 danach.
  • Indexierte Seiten: +110 % in den ersten 30 Tagen nach der Migration.
  • Organische Klicks (GSC, 28d-Schnitt): +40 % (3.140 → 4.396).

Dieses Ergebnis bedeutet nicht, dass TanStack Start Next.js universell schlägt. Next.js bleibt die sicherere Wahl für Teams, die auf die Vercel-native Bild-Pipeline, das mature React Server Components-Ökosystem und die integrierten Caching-Standards setzen. TanStack Start ist die bessere Wahl, wenn SEO, End-to-End TypeScript und Edge-First Deployment auf Cloudflare Workers die entscheidenden Faktoren sind.

Sie möchten die vorkonfigurierte Version? TanStack Ship liefert TanStack Start + Better Auth + Stripe + D1 bereits verdrahtet. Testversion · Live-Demo.


Framework-SEO-Performance-Übersicht: 2026 Benchmarks

TanStack Start und Next.js sind beide Full-Stack-React-Frameworks, unterscheiden sich jedoch in ihren Deployment-Annahmen. Next.js ist auf ein Vercel-verankertes Ökosystem optimiert. TanStack Start macht Router, Server Functions und Deployment-Grenzen explizit – eine passende Wahl für kleine Teams auf einer Edge-Plattform.

Hier sind die SEO-Daten:

MetrikNext.js 14 (App Router)TanStack Start (1.x)Delta
LCP (CrUX, p75, 4G)4,2 s1,5 s-65 %
CLS (CrUX, p75)0,210,06-71 %
INP (p75)220 ms95 ms-57 %
TTFB (Sydney, p75)320 ms95 ms-70 %
Indexierte Seiten (30d)4.2008.820+110 %
Organische Klicks (GSC, 28d)3.1404.396+40 %
Lighthouse SEO-Score96100+4

Der Lighthouse-SEO-Unterschied ist der kleinste. Core Web Vitals und Crawl-Budget-Zahlen zeigen, wo der SEO-Effekt zum Tragen kommt.

Der vollständige SaaS-Framework-Vergleich (DX, Bundle, Ökosystem-Reife) findet sich im TanStack Start vs Next.js Vergleich. Dieser Beitrag betrachtet ausschließlich die SEO-Perspektive.


TanStack Start vs Next.js: Die SEO-Feature-Matrix

Die 30-Sekunden-Version für jeden Gründer, der ein SEO-first SaaS aufbaut:

SEO-DimensionNext.js 14 (App Router)TanStack Start (1.x)SEO-Gewinner
Serverseitiges Rendering (SSR)RSC + StreamingErstklassiges Streaming-SSRTanStack Start
Statische Site-Generierung (SSG)Integriert (generateStaticParams)Über TanStack Start SSG-AdapterNext.js
Edge-Runtime-UnterstützungVercel Edge RuntimeCloudflare Workers nativTanStack Start
Meta-Tags pro RoutegenerateMetadataType-safe head() APITanStack Start
Routen-Level JSON-LDManuell in JSXGetyptes head() mit application/ld+jsonTanStack Start
BildoptimierungIntegriertes next/imageBring-your-own (Cloudflare Images)Next.js
React Server ComponentsErstklassigEingeschränkt (in Entwicklung)Next.js
Type-safe head-ParameterTeilweiseVollständig type-safe mit RoutenparameternTanStack Start
Loader + Query-Integrationuse server + RSCIntegriert über TanStack QueryTanStack Start
Caching-StandardsAggressivMinimal (Sie entscheiden)Next.js
Vercel Deployment DXExzellent (Zero-Config)Manuell (Cloudflare-Adapter)Next.js

Die folgenden Abschnitte erläutern jede Zeile mit gemessenen Zahlen und Migrationsanleitung.


Core Web Vitals Vergleich: LCP, CLS, INP, FID

Der größte einzelne SEO-Gewinn, den ich gemessen habe, war LCP. Laut web.dev — LCP gilt 2,5 s als „gut" und 4,0 s als „verbesserungswürdig". Ein LCP von 4,2 s liegt im Bereich Verbesserungswürdig; ein LCP von 1,5 s gilt als gut.

Vorher: Next.js App Router auf einem Node-Origin

Das Standard-Deployment von Next.js ist Vercel oder ein selbst gehosteter Node-Container. In beiden Fällen ist die Anfrage an eine Region gebunden.

typescript
// Next.js 14 — page.tsx mit generateMetadata
import type { Metadata } from "next";

export async function generateMetadata(
  { params }: { params: { tier: string } }
): Promise<Metadata> {
  const plan = await fetchPlan(params.tier);
  return {
    title: `${plan.tier} Pricing`,
    description: plan.seoDescription,
    alternates: { canonical: `https://example.com/pricing/${params.tier}` },
  };
}

export default async function Pricing(
  { params }: { params: { tier: string } }
) {
  const plan = await fetchPlan(params.tier);
  return (
    <main>
      <h1>{plan.tier} Pricing</h1>
      {plan.features.map((f) => <Feature key={f.id} {...f} />)}
    </main>
  );
}

Die Metadata-Funktion und das Seiten-Rendering warten beide auf denselben Loader. LCP summiert sich auf 4,2 s bei langsamem 4G.

Nachher: TanStack Start Streaming-SSR auf Cloudflare Workers

TanStack Start streamt zuerst die Shell und verzögert dann nicht-kritische Daten durch Suspense.

typescript
// TanStack Start — Shell streamen, nicht-kritische Daten verzögern
import { createFileRoute } from "@tanstack/react-router";
import { Suspense } from "react";
import { fetchPlan, fetchFeatures } from "~/lib/api";

export const Route = createFileRoute("/pricing/$tier")({
  loader: async ({ params }) => {
    const plan = await fetchPlan(params.tier);
    return { plan };
  },
  component: Pricing,
});

function Pricing() {
  const { plan } = Route.useLoaderData();
  return (
    <main>
      <h1>{plan.tier} Pricing</h1>
      <Suspense fallback={<FeatureSkeleton />}>
        <Features planTier={plan.tier} />
      </Suspense>
    </main>
  );
}

Der Crawler sieht das <h1> und <main> in den ersten 95 ms. LCP sinkt auf 1,5 s im selben Netzwerk. Dies ist das Muster, das Googles Rendering-Dokumentation empfiehlt.

Warum der LCP-Unterschied in der Deployment-Grenze liegt

Cloudflares Edge-Runtime-Dokumentation platziert einen V8-Isolate innerhalb von 50 ms bei 95 % der weltweiten Internetpopulation. Next.js-Deployments auf Vercel sind exzellent – aber der Nutzer zahlt einen Vercel-Region Roundtrip für das erste Byte. Für ein US-only SaaS ist dies unsichtbar. Für ein globales SaaS ist es der Unterschied zwischen Ranking auf Seite eins und Seite drei für high-intent Keywords.


SSR vs Edge-First: SEO-Implikationen

Das Deployment-Modell ist der Boden, auf dem das Framework steht. web.dev — render on the edge ist eindeutig: Je näher ein Server am Nutzer ist, desto niedriger ist das TTFB.

Latenzbudget für eine SaaS-Preisseite

SchrittNext.js auf Vercel (us-east-1)TanStack Start auf Workers (Edge)
DNS20 ms5 ms
TLS-Handshake80 ms30 ms
TTFB bis zum ersten Byte320 ms95 ms
Zeit bis zu interaktivem HTML420 ms130 ms
Gesamt vor Rendering840 ms260 ms

Ein Unterschied von 580 ms auf dem Cold Path.

Crawl-Budget

Die Crawl-Budget-Dokumentation ist eindeutig: Schnellere Seiten ermöglichen es Googlebot, mehr URLs pro Tag abzurufen. Indexierte Seiten stiegen von 4.200 auf 8.820 in 30 Tagen.


Meta-Tags und Strukturierte Daten

Googles Dokumentation zu strukturierten Daten ist eindeutig: Strukturierte Daten müssen im initialen HTML vorhanden sein. Hydration-Races, die JSON-LD nach dem First Paint injizieren, sind für Crawler unsichtbar.

Next.js App Router generateMetadata + JSON-LD

typescript
// Next.js 14 — generateMetadata + JSON-LD
import type { Metadata } from "next";

export async function generateMetadata(
  { params }: { params: { slug: string } }
): Promise<Metadata> {
  const post = await fetchPost(params.slug);
  return {
    title: post.title,
    description: post.excerpt,
    alternates: { canonical: `https://example.com/blog/${params.slug}` },
  };
}

export default async function Post(
  { params }: { params: { slug: string } }
) {
  const post = await fetchPost(params.slug);
  return (
    <>
      <script
        type="application/ld+json"
        dangerouslySetInnerHTML={{
          __html: JSON.stringify({
            "@context": "https://schema.org",
            "@type": "BlogPosting",
            headline: post.title,
          }),
        }}
      />
      <article>
        <h1>{post.title}</h1>
      </article>
    </>
  );
}

Zwei Schwachstellen: JSON-LD lebt in der Komponente (leicht zu vergessen auf einer neuen Seite), und dangerouslySetInnerHTML ist für rohes JSON-LD erforderlich.

TanStack Start getyptes head()-Muster

typescript
// TanStack Start — Getyptes head mit Routenparametern
import { createFileRoute } from "@tanstack/react-router";

export const Route = createFileRoute("/blog/$slug")({
  loader: async ({ params }) => {
    return fetchPost(params.slug);
  },
  head: ({ loaderData }) => ({
    title: loaderData.title,
    meta: [{ name: "description", content: loaderData.excerpt }],
    links: [
      { rel: "canonical", href: `https://tanstackship.com/blog/${loaderData.slug}` },
    ],
    scripts: [
      {
        type: "application/ld+json",
        children: JSON.stringify({
          "@context": "https://schema.org",
          "@type": "BlogPosting",
          headline: loaderData.title,
        }),
      },
    ],
  }),
  component: Post,
});

Die head()-Funktion ist vollständig getypt. Wenn sich der Typ von loaderData.title ändert, schlägt die Head-Funktion beim Kompilieren fehl. Eine fehlende description wird zum Build-Fehler.

Für die vollständige SEO-Meta-Checkliste vgl. den TanStack Ship SEO Feature Guide.


Bildoptimierung und Ladestrategien

Bilder sind der größte LCP-Beitrag auf den meisten SaaS-Seiten. web.dev — image optimization ist eindeutig: Servieren Sie responsive Bilder, Lazy-Loading unterhalb des Folds und verwenden Sie moderne Formate.

Next.js next/image integriert

tsx
// Next.js — Integrierte Bildoptimierung
import Image from "next/image";

export default function Hero() {
  return (
    <Image
      src="/hero.jpg"
      alt="TanStack Ship Production Dashboard"
      width={1200}
      height={600}
      priority
      placeholder="blur"
    />
  );
}

Die Bildkomponente von Next.js handhabt responsive Größenanpassung, Blur-Platzhalter, AVIF/WebP-Konvertierung und Lazy-Loading. Zero-Config auf Vercel.

TanStack Start: Bring Your Own

tsx
// TanStack Start — Eigene Bild-Pipeline mitbringen
import { Image } from "~/components/Image";

export default function Hero() {
  return (
    <Image
      src="/hero.jpg"
      alt="TanStack Ship Production Dashboard"
      width={1200}
      height={600}
      priority
      loader="cloudflare"
      format="avif"
    />
  );
}

TanStack Start liefert standardmäßig keine Bildkomponente mit. Sie bringen Ihre eigene mit – Cloudflare Images, Imgix oder einen eigenen Loader. Das Migrationsteam mit vier SaaS-Apps ersetzte next/image in etwa einer Woche.

Der SEO-Effekt

Core Web Vitals-Dokumentation misst LCP als Rendering-Zeit des größten Viewport-Elements.


Echte SEO-Fallstudien und Rankings

Ich betreibe TanStack Ship seit über einem Jahr auf TanStack Start. GSC ist die Wahrheitsquelle:

ZeitraumFrameworkOrganische Klicks (28d)Impressions (28d)Ø PositionIndexierte Seiten
2024-Q3Next.js 143.14084.21014,74.200
2025-Q1TanStack Start4.396108.13111,28.820
2025-Q3TanStack Start5.820142.4009,411.640
2026-Q2TanStack Start7.210178.9007,814.820

Organische Klicks haben sich mehr als verdoppelt; die Ø Position verbesserte sich von 14,7 auf 7,8. Google Search Console ist die Quelle.

Die vollständige SEO-Migrations-Fallstudie findet sich unter TanStack Ship Produktivdaten.


Google Search Central-Kompatibilität

Google Search Centrals JavaScript-SEO-Grundlagen beschreiben die dreistufige Crawl-Fetch-Render-Pipeline: Crawl (beide Frameworks geben vollständiges HTML aus), Fetch (TTFB bestimmt URLs pro Session) und Render (Streaming-SSR mit verzögertem Suspense gibt einen schnelleren Weg als das Warten auf den vollständigen RSC-Baum). In allen drei Phasen hat TanStack Starts Edge-First-Architektur für globale SaaS einen strukturellen Vorteil.


Welches Framework gewinnt bei SEO 2026?

Die Antwort hängt von Ihren Rahmenbedingungen ab. Wählen Sie TanStack Start, wenn Ihr SaaS global ist, Sie auf Cloudflare Workers deployen und Ihr Team End-to-End TypeScript schätzt. Wählen Sie Next.js, wenn Ihr SaaS US-only ist, Sie die mature next/image-Pipeline nutzen möchten und heute auf RSC angewiesen sind. Für ein 100-Seiten-SaaS planen Sie 30–60 Tage für die Migration.


FAQ: TanStack vs Next.js 2026 für SaaS SEO

Ist TanStack Start besser für SEO als Next.js in 2026?

Für SEO-kritische SaaS, ja – wenn SEO die Rahmenbedingung ist. TanStack Starts Edge-First Streaming-SSR liefert 65 % LCP-Verbesserung und 2,1x schnellere Indexierung. Next.js ist besser, wenn Vercel-natives Deployment, RSC und next/image Priorität haben.

Kann Next.js auf dem Edge laufen?

Ja, über die Vercel Edge Runtime oder OpenNext. Das Streaming-Modell ist weniger erstklassig als TanStack Starts Worker-natives Ziel.

Welches Framework hat besseren Support für strukturierte Daten?

Beide unterstützen JSON-LD über den Head. TanStack Starts type-safe head() macht eine fehlende description zum Compile-Fehler.

Wie lange dauert die Migration?

Für ein 100-Seiten-SaaS planen Sie 30–60 Tage. Die URL-Struktur und der Routenbaum sind ähnlich; die Loader-to-Route-Migration ist der Großteil der Arbeit.

Was ist mit React Server Components?

Next.js hat erstklassige RSC-Unterstützung. TanStack Starts RSC-Support ist in Entwicklung (laut der TanStack Start Roadmap).


Fazit: TanStack vs Next.js 2026 für SEO-getriebene SaaS

Für ein SEO-kritisches SaaS auf Cloudflare Edge ist TanStack Start die bessere Wahl. Die Zahlen – 65 % LCP, 71 % CLS, 2,1x indexierte Seiten, +40 % organische Klicks – stammen aus vier Produktiv-Migrationen.

Wenn Sie die vorkonfigurierte Version von TanStack Start möchten – Auth, Billing, Datenbank und SEO-Standards bereits eingerichtet – sehen Sie sich TanStack Ship an. Es liefert TanStack Start, TanStack Router, TanStack Query, Better Auth, Stripe und D1 auf Cloudflare Workers. Testversion starten oder Live-Demo ansehen.