Suchmaschinen lesen HTTP-Codes wie Anweisungen. Falsche Codes lassen Linkkraft versickern oder halten tote Seiten im Index.
Dauerhafter Umzug – in next.config.mjs (liefert 308, von Google wie 301 behandelt):
// next.config.mjs
export default {
async redirects() {
return [
{
source: "/old-blog/:slug",
destination: "/blog/:slug",
permanent: true,
},
];
},
};
Weiterleitungen in der Anwendung – wählen Sie die Funktion, die zur Semantik passt:
import { redirect, permanentRedirect, notFound } from "next/navigation";
// 307 — vorübergehend (Login-Schranken, A/B-Routing)
redirect("/login");
// 308 — dauerhaft (Slug hat sich geändert, die alte URL soll Kraft weitergeben)
permanentRedirect(`/blog/${post.newSlug}`);
// Echte 404 mit Ihrer UI aus not-found.tsx
if (!post) notFound();
Regeln für einen sauberen Index:
- Keine Weiterleitungsketten: alt → älter → aktuell verschwendet Crawl-Budget und verwässert Signale. Leiten Sie immer direkt auf die Ziel-URL weiter.
- Fehlender Inhalt liefert 404, nicht eine Seite „nichts gefunden" mit Code 200 (Soft-404 – Google markiert sie in der Search Console).
- Wählen Sie eine URL-Form und erzwingen Sie sie: mit oder ohne abschließenden Schrägstrich (
trailingSlashin der Config), Kleinschreibung, keine Duplikate mit/ohne www (Weiterleitung auf Edge-/DNS-Ebene). - Sie ändern einen Slug – fügen Sie die Weiterleitung im selben PR hinzu. Nachträgliche Archäologie von Weiterleitungen findet nie statt.
Wechseln Sie die Plattform? Das vollständige Playbook – Inventar, Weiterleitungsmap, Paritätsprüfung und Start-Monitoring – steht im Thema Migrations-SEO.
Checkliste:
- Alle alten Adressen leiten per 308/301 direkt auf die Ziele weiter (keine Ketten)
- Eigene
not-found.tsx, die tatsächlich 404 zurückgibt - Eine kanonische URL-Form (Schrägstrich, Groß-/Kleinschreibung, Host) auf der ganzen Website
- Eine Slug-Änderung geht immer zusammen mit ihrer Weiterleitung raus
