Nach dem Umzug deiner WordPress-Website auf eine andere Domain werden keine Bilder angezeigt oder befinden sich in den Beiträgen und Seiten noch alte Links? Okay. Ich erkläre dir, wie du alle URLs mit wenigen Code-Zeilen in der WordPress-Datenbank selber ändern kannst – ohne Plugin. Geeignet für die schnelle Aktualisierung großer Datenmengen (zum Beispiel hunderte Medien).
Für die Umsetzung der nachfolgenden Anleitungen ist WordPress.org (nicht WordPress.com) erforderlich und ein Eingriff in die phpMyAdmin-Datenbank (MySQL oder MariaDB). Keine Bange, traue dich ruhig ran! Ich erkläre dir Schritt für Schritt, wie es geht, und was du dabei beachten solltest.
Kaputte Bilder und Verlinkungen nach WordPress-Umzug
Nach dem Umzug einer WordPress-Website auf eine andere Internetadresse besteht oft das Problem, dass die Bilder nicht richtig angezeigt werden und interne Verlinkungen in Beiträgen und Seiten noch auf die alte Domain verweisen.
Der Grund, warum das Problem auftritt: Beim Umzug der Website wurden nicht alle URLs automatisch geändert.
Das mag im ersten Moment einen Schrecken auslösen, ist aber nicht so dramatisch wie es scheint. 🙂
Gleich vorweg: Nein, du brauchst nicht jeden Link einzeln von Hand ändern und kein weiteres Plugin installieren.
Wichtig ist nur: Erledige diese Aufgabe möglichst bald. Denn jeder defekte Link löst einen HTTP-Fehler 404 auf deiner Website aus. Was heißt: Besucher:innen, die auf ein „kaputtes“ Bild oder einen solchen Link klicken, bekommen entweder eine Fehlerseite zu sehen mit dem Hinweis „Die Seite wurde nicht gefunden“ (oder auf Englisch: „Error. Not Found.“) oder anstatt deiner Bilder nur graue Kästen mit einem „gebrochenen-Bild“-Symbol.
Was sich wiederum auf Suchmaschinen-Einträge bei Google und Co. auswirken und so aussehen kann:
Insbesondere, wenn deine WordPress-Website sehr viele Bilder und andere Medien beinhaltet, die nach dem Umzug alle noch mit der alten Domain-Adresse verknüpft sind, empfehle ich dir, die Änderungen wie von mir beschrieben direkt in der Datenbank vorzunehmen. Das erspart dir eine Menge Arbeit. (Erst neulich habe ich einen umgezogenen WordPress-Blog mit über 16.000 Bildern und zahlreichen internen Verlinkungen auf diese Weise innerhalb kürzester Zeit aktualisieren können).
Meine nachfolgenden Anleitungen und Ausführungen werden dir helfen, alle defekten Links zu reparieren und damit deine Website-Inhalte unter der neuen Domain möglichst vollständig wiederherzustellen – ohne Datenverlust. Von mir wie immer praxiserprobt.
Schritt 1: Sichern der WordPress-Datenbank
Bevor es an die Umsetzung geht, mache auf jeden Fall ein vollständiges Backup der WordPress-Datenbank deiner neuen WordPress-Website! Zusätzlich sichere alle einzelnen Datenbanktabellen!
Denn die nachfolgenden Schritte werden tiefgreifende Veränderungen in der Datenbank bewirken.
Sollte etwas schiefgehen, kannst du mit den Backup-Dateien entweder die Datenbank im Ganzen wiederherstellen oder nur die Datenbanktabelle, wo du falsche Eingaben getätigt hast (indem du die falsch konfigurierte Datenbanktabelle löscht und die gesicherte importierst).
Kennst du dich bereits mit WordPress-Datenbank-Backups über phpMyAdmin (MySQL oder MariaDB) aus, gehe wie gewohnt vor und vergesse nicht, auch alle einzelnen Datenbanktabellen zu exportieren.
Machst du das zum ersten Mal, nehme dir bitte die Zeit und gehe die Schritte 1 bis 3 in meinem Artikel WordPress Backup manuell machen ohne Plugin in Ruhe durch und komme wieder.
Alles gesichert? Hervorragend! Logge dich aus der Datenbank aus und gehe zum nächsten Schritt über.
Schritt 2: Alte und neue Domain-Adresse ermitteln
Bevor du die Code-Eingaben in der Datenbank gemäß nachfolgendem Schritt 4 ausführst, solltest du die Domain-Adressen deiner alten und neuen Domain kennen. (Kennst du dich mit URL-Pfaden und Domain-Adressen aus, kannst du die Schritte 2 und 3 überspringen und gleich zu Schritt 4 übergehen).
HINWEIS: Mit „URL“ oder „URL-Pfad“ ist der vollständige Link gemeint, der direkt zu einem Beitrag oder einer Seite führt oder mit einem Bild oder einer anderen Medien-Datei (PDF, Audio, Video o.a.) auf deiner Website verknüpft ist. Mit „Domain“ oder „Domain-Adresse“ ist die Internetadresse ohne http(s) sowie mit oder ohne www gemeint, unter der deine Website zu finden ist. Mit „Internetadresse“ meine ich die Domain mit der Angabe http(s) sowie mit oder ohne www.
Anhand eines Beispiels erkläre ich dir, wie du die Domain-Adressen ermitteln kannst und was du dabei beachten solltest.
BEISPIEL:
- Du hast eine WordPress-Website von einer Sub-Domain zu einer echten Domain umgezogen.
Die alte Sub-Domain lautet: example-alt.com (Internetadresse in WordPress: http://example-alt.com).
Die neue Domain lautet: www.example-neu.com (Internetadresse in WordPress: https://www.example-neu.com).
Die alte (Sub-) Domain-Adresse kannst du ermitteln, indem du in WordPress in der Beitrags- oder Seitenübersicht unter „Bearbeiten / Permalink“ den Link des Beitrags oder der Seite anschaust, der noch zur alten Internetadresse führt. Alternativ findest du die alte Domain in der Medienübersicht unter „Bearbeiten / Datei-URL“.
Die neue (Sub-) Domain-Adresse kannst du ermitteln, indem du in WordPress zu „Einstellungen / Allgemein / Website-Adresse (URL)“ navigierst (vorausgesetzt, du hast sie bereits eingetragen).
Hast du deine neue Internetadresse dort noch nicht eingetragen, solltest du das unbedingt zuerst nachholen: Trage unter den besagten Einstellungen die neue Internetadresse (zwei Mal) ein. Anschließend navigiere zu „Einstellungen / Permalinks“ und klicke (ein Mal) auf den Button „Änderungen speichern“. Daraufhin sichere (nochmals) die WordPress-Datenbank wie in Schritt 1 beschrieben. Erst im Anschluss führe die Änderungen in der Datenbank gemäß Schritt 4 durch.
Zur Information:
Standardmäßig wird unter WordPress-Adresse (URL) und Website-Adresse (URL) die gleiche Internetadresse eingetragen (entweder in dem Format https://www.example.com oder https://example.com). Solltest du im WordPress-Verzeichnis die Ordner, wo deine Bilder, Plugins, Themes usw. gespeichert werden, an eine andere Stelle verschoben haben, wird unter Website-Adresse (URL) die Internetadresse eingetragen, die zu diesen WordPress-Dateien führt (zum Beispiel: https://www.example.com/uploads).
Hast du beide (alte und neue) Domain-Adressen parat? Sehr gut! Im nächsten Schritt erkläre ich dir, was du bei Eingabe des Codes in der Datenbank noch beachten solltest, dann geht’s an die Praxis.
Schritt 3: Infos zur Code-Eingabe bezüglich URLs
Wenn Bilder nach dem Umzug einer WordPress-Website auf eine andere Domain nicht richtig angezeigt werden und interne Links in Beiträgen oder Seiten noch zur alten Internetadresse führen, liegt das wie gesagt daran, dass beim Umzugsvorgang nicht alle URLs automatisch geändert wurden.
Damit du nicht jeden einzelnen Link von Hand ändern musst, besteht die Möglichkeit, alle URLs in etwa drei Vorgängen mithilfe von SQL-Code-Eingaben in der WordPress-Datenbank (über den phpMyAdmin-Zugang) zu erneuern.
Dabei wird lediglich die Domain-Adresse in den URLs automatisch geändert. Der Rest der URL-Pfade bleibt bestehen.
BEISPIEL:
- Eine der alten URLs der Bilddateien lautet: https://example-alt.com/1234_bild/
Die neue Internetadresse lautet: https://www.example-neu.com
Nach Eingabe des Codes sieht die neue URL der Bilddatei dann so aus:
https://www.example-neu.com/1234_bild/
Was du bei der in Schritt 4 beschriebenen Code-Eingabe bezüglich Domain-Adressen beachten musst:
- Wenn die neue Domain-Adresse (im Gegensatz zur alten) die Angabe www beinhaltet, muss in dem jeweiligen Code die neue Domain-Adresse ebenfalls mit der Angabe www eingetragen werden.
- Beinhaltet die neue Domain-Adresse kein www, musst du auch im Code die Angabe www weglassen.
- In den Codes werden alle Domain-Adressen ohne die Angabe http(s):// eingetragen.
- Ebenso werden bei Eintrag aller Domain-Adressen in den Codes sämtliche Ergänzungen wie Schrägstriche, Punkte oder Ähnliches am Ende weggelassen.
So, genug der Theorie. Gönne dir ruhig eine Verschnaufpause, denn im nächsten Schritt wird’s ernst.
Schritt 4: URLs mittels Code in WordPress-Datenbank ändern
Hier kommt die Anleitung zur Code-Eingabe:
- Halte deine alte und neue Domain-Adresse bereit (wie in Schritt 2 und 3 beschrieben, in meinem Beispiel example-alt.com und www.example-neu.com).
- Logge dich in die WordPress-Datenbank ein.
Am schnellsten und einfachsten gelangst du zum phpMyAdmin-Zugang, wenn du in die Adresszeile deines Browsers deine neue Internetadresse gefolgt von „/mysqladmin/“ eingibst, zum Beispiel: https://www.example-neu.com/mysqladmin/. Im Feld „Version“ wählst du die neueste Version, im Feld „Login“ gibst du die Datenbankbezeichnung ein, die du vom Provider erhalten hast (zum Beispiel „db1234567“), im Feld „Password“ das Passwort zur Datenbank, das du selber festgelegt hast. - Nach dem Login gelangst du zur Startseite von phpMyAdmin, die in etwa so aussieht:
- Im Folgenden geht es darum, in bestimmten Datenbank-Tabellen Änderungen durchzuführen, und zwar in:
- wp_posts / guid
- wp_posts / post_content
- wp_postmeta / meta_value
Bei der ersten Angabe handelt es sich um die Tabellen-Zeile (zum Beispiel: wp_posts), bei der zweiten Angabe um die Tabellen-Spalte (zum Beispiel: guid).
BEACHTE: Die Bezeichnung „wp“ könnte in deiner Datenbank durch ein anderes Präfix ersetzt worden sein, beispielsweise „1234m“. Ist das der Fall, könnte die Tabellen-Zeile anstatt „wp_posts“ nun „1234m_posts“ lauten (wie man Datenbanken verschlüsselt, siehe meine Anleitung WordPress Sicherheitsschlüssel nachträglich anlegen). Das heißt, du musst dann ab Punkt 9. in allen Codes „wp“ durch deinen Präfix ersetzen! - Navigiere jetzt in der linken Spalte zur Datenbankbezeichnung (in meinem obigen Vorschau-Beispiel: db1234567).
- Tätige einen einfachen Klick auf die Datenbankbezeichnung (klicke einmal kurz mit der linken Maustaste drauf).
- Navigiere nun ganz oben in der rechten Spalte zur Registerkarte „SQL“ und klicke (mit der linken Maustaste) drauf.
Jetzt erscheint das SQL-Befehls-Eingabefenster:
- Zur Information: Die angegebenen SQL-Befehlszeilen ab Punkt 9. werden Code für Code in das leere Feld (unter der Zeile „SQL-Befehle in Datenbank XX ausführen:“) eingetragen und beruhen alle auf demselben folgenden Schema (die Bezeichnungen sind angelehnt an meine obigen Beispiele und Ausführungen):
UPDATE tabellenzeile SET tabellenspalte =REPLACE( wiederhole_tabellenspalte, "example-alt.com", "www.example-neu.com" );
Möchtest du also weitere Datenbank-Einträge ändern als die von mir empfohlenen (inspiriert durch einen Blogartikel aus dem Jahr 2013 von André Rinas), kannst du dich an das o.g. Schema halten.
- Kopiere nun den folgenden ersten Code …
UPDATE wp_posts SET guid =REPLACE( guid, "example-alt.com", "www.example-neu.com" );
und füge ihn in das o.g. leere Feld deiner Datenbank ein.
Sodann ersetze die hier pink-farbig fettgedruckten Stellen mit deinen Daten (wie in Schritt 2 und 3 sowie unter Punkt 4. „BEACHTE“ erklärt).
Anschließend speichere deine Eingabe mit Klick auf den blauen Button „OK“!
Hier ein Vorschau-Bild: - Hast du alles richtig gemacht, erscheint nach Klick auf den Button OK die Erfolgsmeldung „XX Datensätze betroffen. (Die Abfrage dauerte XX Sekunden)“ und darunter eine Zeile mit dem Code, den du soeben eingetragen hast. Daran erkennst du, in wie vielen URLs die alte durch die neue Domain-Adresse erfolgreich ersetzt wurde (in diesem Fall die der Datenbank-Tabelle „wp_posts“ in der Spalte „guid“, die unter anderem Datensätze deiner WordPress-Menüs beinhaltet).
Hier wieder ein beispielhaftes Vorschau-Bild:
- Als Nächstes wiederhole die Schritte unter Punkt 5. bis 10. mit folgendem zweiten Code …
UPDATE wp_posts SET post_content =REPLACE( post_content, "example-alt.com", "www.example-neu.com" );
und denke daran, die pink-farbigen Stellen mit deinen Daten zu ersetzen! Beachte, dass sich in diesem Code auch die Angaben in der zweiten und dritten Zeile geändert haben. Nach Eingabe dieses Codes wird die alte durch die neue Domain-Adresse in den URLs in der Datenbank-Tabelle „wp_posts“ in der Spalte „post_content“ ersetzt (die vor allem Datensätze deiner WordPress-Beiträge und -Seiten beinhaltet).
- Jetzt wiederhole die Schritte unter Punkt 5. bis 10. mit folgendem dritten Code …
UPDATE wp_postmeta SET meta_value =REPLACE( meta_value, "example-alt.com", "www.example-neu.com" );
und denke wieder daran, die pink-farbigen Stellen mit deinen Daten zu ersetzen! Beachte, dass sich in diesem Code auch die Angaben in der ersten, zweiten und dritten Zeile geändert haben. Nach Eingabe dieses Codes wird die alte durch die neue Domain-Adresse in den URLs in der Datenbank-Tabelle „wp_postmeta“ in der Spalte „meta_value“ ersetzt (die unter anderem Datensätze von WordPress-Plugins beinhaltet).
- Fertig! Du kannst dich jetzt aus der Datenbank ausloggen (klicke oben links auf das kleine grüne Kästchen „Exit“).
Gratulation! Du hast es geschafft, die wichtigsten (wenn nicht sogar hunderte) Links in einem Ruck in der WordPress-Datenbank zu aktualisieren. Große Anerkennung von mir. Hat alles geklappt, müssten nun sämtliche Medien (Bilder, Videos, PDFs etc.) auf deiner WordPress-Website unter der neuen Domain-Adresse normal angezeigt werden und alle internen Verlinkungen auf deine aktuelle Website verweisen.
Überprüfen kannst du das, indem du deine WordPress-Website unter der neuen Domain-Adresse im Browser aufrufst. Gegebenenfalls musst du die Ansicht im Browser aktualisieren (mithilfe des Menü-Symbols ) und den Browser-Cache löschen (über Einstellungen / Datenschutz / Browserdaten löschen). Unter Umständen ist es auch erforderlich, nach dem Schließen des Browsers ein Reinigungsprogramm (engl.: Cleaner) durchlaufen zu lassen, damit wirklich alle Browserdaten gelöscht werden, und erst dann die WordPress-Website aufzurufen, um die aktuelle Version der Website sehen zu können.
Zuguterletzt empfehle ich dir, deine überarbeitete WordPress-Datenbank wie in Schritt 1 beschrieben zu sichern, damit die neuesten Einstellungen nicht verloren gehen.
Fragen hinterlasse gerne als Kommentar. Möchtest du die Änderungen an deiner Datenbank lieber mir überlassen, stehe ich dir gern mit meinem kostengünstigen WordPress-Service zur Verfügung. Alternativ finde regionale Experten auf Fiverr, die deine WP-Website in Form bringen. Damit würdest du auch meine Blog-Arbeit unterstützen.