WordPress-Fehler404
WordPress 404 bei Beiträgen und Seiten: Permalinks reparieren
Zeigt WordPress die Startseite, aber jeder Beitrag und jede Unterseite endet mit 404, sind fast immer die Permalinks gestört. Der Server leitet die schönen Adressen nicht mehr an WordPress weiter. Ursachen sind eine fehlende oder falsche .htaccess, ein abgeschaltetes mod_rewrite, eine nginx-Konfiguration ohne try_files oder veraltete Umschreibregeln nach einem Umzug. Meist reicht es, unter Einstellungen → Permalinks einmal zu speichern. Hilft das nicht, prüfst Du .htaccess und Server-Konfiguration.
So sieht die Meldung aus
404 Not FoundNot FoundThe requested URL was not found on this server.HTTP ERROR 404
Woran es liegt.
Veraltete Umschreibregeln
WordPress speichert seine Regeln für schöne Adressen in der Datenbank. Nach einem Umzug, einem neuen Plugin mit eigenen Inhaltstypen oder einer geänderten Struktur passen sie nicht mehr. Dann findet WordPress zu vielen Adressen keinen Inhalt.
.htaccess fehlt oder ist leer
Auf Apache-Servern braucht WordPress den Block „BEGIN WordPress“ in der .htaccess. Fehlt die Datei nach einem Umzug oder kann WordPress sie mangels Schreibrechten nicht anlegen, kennt der Server nur die Startseite.
mod_rewrite aus oder .htaccess wird ignoriert
Auf eigenen Servern ist das Apache-Modul mod_rewrite manchmal nicht aktiv. Oder in der Konfiguration steht „AllowOverride None“, dann liest Apache die .htaccess gar nicht. Die Regeln sind vorhanden, wirken aber nicht.
nginx ohne passende Regel
nginx kennt keine .htaccess. Fehlt im server-Block die Zeile mit try_files, die unbekannte Adressen an index.php weitergibt, liefert nginx für jeden Beitrag direkt 404, ohne WordPress zu fragen.
Unterordner oder geänderte Adresse
Liegt WordPress in einem Unterordner oder wurde die Domain gewechselt, stimmen RewriteBase, WordPress-Adresse (URL) oder Website-Adresse (URL) oft nicht mehr. Die Startseite lädt, die Unterseiten zeigen aber auf einen falschen Pfad.
So behebst Du den Fehler.
Leg vor jeder Änderung eine Sicherung von Dateien und Datenbank an. Geh die Schritte der Reihe nach durch und prüf nach jedem, ob die Seite wieder lädt.
Mit einfachen Permalinks testen
Sichere zuerst die .htaccess und die Datenbank. Stelle dann unter Einstellungen → Permalinks die Struktur kurz auf „Einfach“ und rufe einen Beitrag auf. Lädt er mit einer Adresse wie ?p=123, ist der Inhalt da und nur die Umschreibung defekt. Stell danach Deine bisherige Struktur, etwa „Beitragsname“, wieder ein.
Umschreibregeln neu erzeugen
Geh zurück zu Einstellungen → Permalinks und speichere die Seite, ohne etwas umzustellen. WordPress erzeugt so seine Regeln frisch und schreibt die .htaccess, sofern es darf. Kann es die Datei nicht schreiben, zeigt es unten die Zeilen an, die Du selbst einfügen musst. Per WP-CLI klappt das Neuaufbauen auch ohne Dashboard.
Terminal (WP-CLI) wp rewrite flush.htaccess mit dem Standardblock anlegen
Öffne per FTP die .htaccess im WordPress-Hauptordner oder lege sie an, falls sie fehlt. Der WordPress-Block muss darin stehen. Liegt WordPress in einem Unterordner wie /blog/, passe RewriteBase und die letzte RewriteRule auf diesen Pfad an.
.htaccess # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPressmod_rewrite und AllowOverride prüfen (Apache)
Wirkt die .htaccess nicht, obwohl sie stimmt, fehlt auf dem Server meist mod_rewrite oder die Freigabe für .htaccess-Dateien. Auf einem eigenen Debian- oder Ubuntu-Server erlaubst Du im VirtualHost AllowOverride All und schaltest das Modul ein. Auf Shared Hosting erledigt das der Hoster.
Apache (VirtualHost und Terminal) # 1. im VirtualHost .htaccess erlauben <Directory /var/www/html> AllowOverride All </Directory> # 2. Modul einschalten und Apache neu starten sudo a2enmod rewrite sudo systemctl restart apache2try_files in nginx ergänzen
Läuft Deine Seite auf nginx, gehört in den server-Block eine location-Regel, die alles Unbekannte an index.php gibt. Nach dem Eintragen testest Du die Syntax mit nginx -t. Erst wenn sie stimmt, lädst Du nginx neu. Bei Managed Hosting mit nginx ist diese Regel meist gesetzt, dort hilft der Support.
nginx (server-Block) location / { try_files $uri $uri/ /index.php?$args; }Plugins mit eigenen Adressen prüfen
Kommt der 404 nur bei bestimmten Inhalten wie Produkten, Veranstaltungen oder Portfolio-Einträgen, gehören sie zu einem Plugin mit eigenem Inhaltstyp. Deaktiviere und aktiviere dieses Plugin einmal und speichere danach die Permalinks. Auch Plugins für Weiterleitungen oder Mehrsprachigkeit können Adressen umbiegen.
Einzelne Seiten gezielt prüfen
Fehlt nur eine einzelne Seite, prüfe ihren Status: Entwürfe, private Inhalte und Einträge im Papierkorb liefern für Besucher 404. Hat sich die Adresse geändert, richte eine 301-Weiterleitung von der alten auf die neue Adresse ein, damit Links und Google sie finden.
Den Hoster prüfen lassen
Bleiben alle Unterseiten trotz korrekter .htaccess bei 404, lass den Hoster prüfen, ob mod_rewrite aktiv ist und .htaccess-Dateien gelesen werden. Bei nginx-Hosting fragst Du nach der try_files-Regel für WordPress.
Zuletzt geprüft am 25. September 2026.
So kommt er nicht wieder.
- Nach jedem Umzug und jedem neuen Plugin mit eigenen Inhaltstypen die Permalinks einmal speichern.
- Die Permalink-Struktur einer bestehenden Seite nicht ändern. Wenn doch, alle alten Adressen per 301 weiterleiten.
- Die .htaccess vor Änderungen durch Plugins sichern, damit sich der letzte Stand schnell zurückholen lässt.
- In der Search Console regelmäßig nach neuen 404-Fehlern schauen, dann fallen kaputte Links früh auf.
Fragen zu 404 bei Beiträgen und Seiten
Warum funktioniert nur die Startseite, aber keine Unterseite?
Sind meine Beiträge nach dem 404 noch da?
Welche Permalink-Einstellung ist die richtige?
Wie leite ich alte Adressen weiter, die jetzt 404 liefern?
Verwandte Fehler
- ERR_TOO_MANY_REDIRECTS (zu viele Weiterleitungen)Die Seite leitet im Kreis. Meist widersprechen sich WordPress-Adresse, https-Weiterleitung und Cloudflare.
- 500 Internal Server ErrorDer Server bricht ab, ohne einen Grund zu nennen. Meist .htaccess, ein Plugin oder das PHP-Speicherlimit.
- Änderungen werden nicht angezeigtGespeichert, aber die Seite zeigt den alten Stand. Meist Browser-, Plugin-, Server- oder CDN-Cache.
- 403 ForbiddenDer Server verweigert den Zugriff. Meist Dateirechte, .htaccess, ein Sicherheits-Plugin oder die Firewall des Hosters.
Lieber eine Website, die einfach läuft?
Wir bauen Websites, die schnell laden und ohne Update-Stress laufen. Oder wir übernehmen Deine WordPress-Seite samt Pflege. Erst Dein Paket, dann ein Termin per Video.

Erst Dein Paket, dann der Termin
Im Preisrechner tippst Du an, was Dich bremst. Du siehst sofort Dein Paket mit Preisspanne. Danach wählst Du direkt einen Termin, das Gespräch läuft per Video.
Dein Preis in 2 Minuten