Google Search Console und Next.js-IndexierungSSR, SSG und Sitemap 2026

google search console5 Min. Lesezeit20. Juli 2026

Autor: DevStudio.it

TL;DR

Die Next.js-Seite sieht im Browser gut aus, aber Google indexiert Unterseiten nicht — 2026 sind fehlende Sitemap, noindex in Metadata, rein clientseitiges Rendering ohne HTML in der ersten Antwort und falsche Canonicals zwischen Locales die häufigsten Ursachen. GSC-Setup, URL Inspection Schritt für Schritt, sitemap.ts im App Router, SSR/SSG-Checkliste und typische Fehler nach Deploy auf DevStudioIT Cloud folgen.

Für wen

  • Marketing mit „Discovered – currently not indexed“ in Search Console
  • Next.js-Entwickler (App Router) für technisches SEO
  • Unternehmen nach Migration oder Redesign mit organischem Traffic-Rückgang
  • Mehrsprachige Sites mit hreflang-Problemen

Keyword (SEO)

google search console indexierung nextjs, url inspection sitemap, nextjs ssg ssr seo 2026, website wird nicht indexiert

GSC — erste Schritte nach Deploy

  1. Property hinzufügen (Domain example.com oder URL-Präfix)
  2. DNS TXT oder HTML-Datei verifizieren — Eintrag dauerhaft
  3. /sitemap.xml unter Sitemaps einreichen
  4. Pages → Indexed vs Not indexed (nach Grund filtern)
  5. Für Kern-URLs: URL Inspection → „Live-URL testen“ → „Indexierung beantragen“

Nicht hunderte URLs mit „Indexierung beantragen“ spammen — Google hat Tageslimits. Priorität: Startseite, Leistungen, Top-Blog, Kampagnen-Landings.

URL Inspection — Ergebnisse lesen

Status Bedeutung Typische Aktion
URL is on Google OK CTR in Performance monitoren
Crawled – currently not indexed Qualität / Duplikat / Thin Content stärken, Canonical
Discovered – not indexed Crawl Budget / interne Links Menü-Links, Sitemap
Excluded by ‘noindex’ Tag im HTML robots: { index: false } entfernen
Soft 404 Leere Seite für Google Content + 200
Redirect error Redirect-Kette Max 1 Hop 301

„View crawled page“ → HTML-Tab: sieht Google H1 und Absätze oder nur leeres <div id="root">?

Next.js App Router — Metadata und Indexierbarkeit

Server Components rendern standardmäßig serverseitig — gut für SEO. Probleme bei 'use client' auf der ganzen Seite ohne SSR-Fallback.

// app/de/leistungen/page.tsx
import type { Metadata } from 'next';

export const metadata: Metadata = {
  title: 'Leistungen — DevStudio.it',
  description: 'Firmenwebsites und Next.js-Apps für Unternehmen.',
  alternates: {
    canonical: 'https://www.example.com/de/leistungen',
    languages: {
      pl: 'https://www.example.com/pl/oferta',
      en: 'https://www.example.com/en/services',
      de: 'https://www.example.com/de/leistungen',
    },
  },
  robots: { index: true, follow: true },
};

export default function LeistungenPage() {
  return (/* server-rendered content */);
}

Kein globales noindex auf Staging — Env-Leak auf Produktion ist ein Klassiker. Auf DevStudioIT Cloud (devstudioit.cloud) hat Staging eigene Domain mit robots.txt Disallow all.

SSR vs SSG vs ISR — was Google bevorzugt

Strategie Next.js Indexierung Wann
SSG generateStaticParams Schnellster Crawl, stabiles HTML Blog, Leistungen, FAQ
SSR dynamic = 'force-dynamic' OK, langsamerer Crawl Dashboard, Personalisierung
ISR revalidate: 3600 OK, Cache + Frische Case-Study-Listing
Nur CSR ganze Page client Risiko leeres HTML Auf SEO-URLs vermeiden

Firmensites und Blogs: SSG/ISR für 95 % der URLs. SSR nur bei sessionabhängigem Content.

Sitemap im App Router

// app/sitemap.ts
import { MetadataRoute } from 'next';
import { getBlogPosts } from '@/lib/content';
import { locales } from '@/i18n';

export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
  const base = 'https://www.example.com';
  const staticPaths = ['', '/leistungen', '/kontakt'];

  const entries: MetadataRoute.Sitemap = [];

  for (const locale of locales) {
    for (const path of staticPaths) {
      entries.push({
        url: `${base}/${locale}${path}`,
        lastModified: new Date(),
        changeFrequency: path === '' ? 'weekly' : 'monthly',
        priority: path === '' ? 1 : 0.8,
      });
    }
  }

  const posts = await getBlogPosts();
  for (const post of posts) {
    entries.push({
      url: `${base}/${post.locale}/blog/${post.slug}`,
      lastModified: post.updated,
    });
  }

  return entries;
}

In GSC einreichen: https://www.example.com/sitemap.xml. Mit ISR aktualisiert sich die Sitemap beim Build — kein manueller Eintrag pro Post.

robots.txt

// app/robots.ts
import { MetadataRoute } from 'next';

export default function robots(): MetadataRoute.Robots {
  return {
    rules: { userAgent: '*', allow: '/', disallow: ['/api/', '/admin/'] },
    sitemap: 'https://www.example.com/sitemap.xml',
  };
}

GSC → Settings → robots.txt-Tester. /api/ blockieren OK; /_next/ nur bei Bewusstsein (Google braucht JS/CSS).

Mehrsprachigkeit und hreflang

Gleiche translationId im Blog-Frontmatter (z. B. google-search-console-indexing-nextjs-2026) plus alternates.languages in Metadata = konsistentes hreflang. Fehler: DE-Seite canonical auf EN — Google indexiert eine Version, Rest „Duplicate without user-selected canonical“.

Dynamische Daten (Formulare) in Branchly (branchly.cloud) beeinflussen Crawl nicht — öffentliche Seiten dürfen kein Login verlangen.

Core Web Vitals und Indexierung

CWV ist kein direkter „Index-Schalter“, aber langsames Mobile-LCP senkt Crawl-Effizienz. Nach Deploy auf DevStudioIT Cloud:

  • next/image mit priority auf LCP
  • Font display: swap
  • Layout Shift unter Cookie-Banner vermeiden

GSC → Experience → Core Web Vitals — „Poor“-URLs vor Massen-Indexierung beheben.

Diagnose — 10 Punkte wenn „nichts indexiert wird“

  1. curl -I URL — 200, nicht 403/401
  2. Seitenquelltext — H1 im HTML (nicht nur nach Hydration)
  3. Suche site:example.com — wie viele Seiten indexiert
  4. GSC Coverage — dominierender Ausschlussgrund
  5. noindex / X-Robots-Tag in Headers
  6. Canonical zeigt auf andere Domain (Staging-Leak)
  7. Sitemap mit 404-URLs
  8. Redirect-Loop www/apex
  9. Content <300 Wörter auf Kern-Landings
  10. Keine internen Links zu neuen Unterseiten

FAQ

Wie lange nach Indexierungsanfrage?

Stunden bis 2 Wochen — abhängig von Domain-Autorität. Neue Domain langsamer als Update auf etablierter.

Indexiert Google Next.js-JavaScript?

Ja — Rendering-Queue. SSR/SSG liefert schnelleres, zuverlässigeres Ergebnis als reines CSR.

Separate Sitemap pro Locale?

Eine Sitemap mit allen URLs + hreflang in Metadata reicht für die meisten Projekte.

/api/ in Sitemap?

Nein — API nicht indexieren. Nur öffentliche HTML-Seiten.

Staging auf DevStudioIT Cloud — nicht indexieren?

Basic Auth, noindex in Metadata, Subdomain + Disallow in robots. Nie derselbe Canonical wie Produktion.

CTA

Next.js-Site fehlt in Google oder GSC zeigt hunderte Fehler?

Ähnliche Beiträge

Sitemap.xml und RSS-Feed in Next.js App Router — Technisches SEO 2026
3 Min. Lesezeit
JSON-LD und Schema.org — SEO für Unternehmenswebsites in Next.js (Leitfaden 2026)
9 Min. Lesezeit
Stripe Customer Portal — Abos, Webhooks und Next.js 2026
5 Min. Lesezeit

Über den Autor

Wir bauen schnelle Websites, Web/Mobile-Apps, KI-Chatbots und Hosting — mit Fokus auf SEO und Conversion.

Empfohlene Links

Von Theorie zu Produktion — Branchly, Hosting-Stack und Referenzen.

Gefällt euch unser Ansatz? Lasst uns gemeinsam bauen.

Projektkonfiguration starten