WordPress Urls in mySQL mit phpMyAdmin ändern

Wenn es darum geht, WordPress auf eine neue Domain umzuziehen oder das Installationsverzeichnis anzupassen, können unerwartete Probleme auftreten. Möglicherweise sind Bilder, CSS-Dateien oder JavaScript-Ressourcen betroffen, die plötzlich nicht mehr an den richtigen Stellen erscheinen. Gerade bei komplexen Themes kommt es vor, dass Bildpfade als absolute Pfade gespeichert sind – inklusive der Domain (z.B. www.domain.tld/wp-content/uploads/2023/04/image.jpg), anstatt sich auf relative Pfade zu stützen (z.B. „/wp-content/uploads/2023/04/image.jpg“).

In Situationen, in denen die Domain geändert wird – sei es von einer Test- oder Subdomain auf die Hauptdomain – kann dies zu einem zerbrochenen Design oder fehlenden Schlüsselelementen führen. Sicherlich gibt es WordPress-Plugins, die versprechen, solche Umstellungen zu erleichtern. Doch aus unserer Erfahrung heraus ist die Wirksamkeit dieser Plugins oft zweifelhaft.

In diesem Artikel werden wir Schritt für Schritt erklären, wie du mit Hilfe von phpMyAdmin, einem Tool zur Verwaltung von MySQL-Datenbanken, die URLs in deiner WordPress-Datenbank anpassen kannst.

Warum muss man die Urls in WordPress ändern?

Es gibt Situationen, in denen die Anpassung von URLs in WordPress unumgänglich ist. Dies tritt ein, wenn sich das Installationsverzeichnis deiner Website aufgrund eines Umzugs oder einer Anpassung ändert. Ebenso ist eine URL-Änderung notwendig, wenn du deine Domain aktualisierst oder modifizierst. Die Gründe für solche Änderungen können vielfältig sein – sei es, um eine bessere Domain auszuwählen, die Website auf einen neuen Server umzuziehen oder aus Sicherheitsgründen die Verzeichnisstruktur anzupassen.

Jedoch birgt diese Maßnahme eine gewisse Herausforderung. Das liegt daran, dass nicht immer klar ist, ob Themes und Plugins relative Pfade verwenden, wie es empfohlen wird, oder ob sie unglücklicherweise absolute Pfade nutzen. Dies kann zu Inkompatibilitäten und Anzeigeproblemen führen, wenn die URLs nicht korrekt angepasst werden. In diesem Artikel werden wir dir zeigen, wie du diese Hürden überwinden kannst, selbst wenn du nicht über tiefgehende technische Kenntnisse verfügst. Unser Ziel ist es, dir Schritt für Schritt zu erklären, wie du mithilfe von phpMyAdmin die URLs sicher ändern kannst, um deine Website reibungslos und fehlerfrei zu halten.

Was ist phpMyAdmin?

phpMyAdmin ist ein leistungsstolles Werkzeug, das es dir ermöglicht, auf die MySQL-Datenbank deiner WordPress-Installation zuzugreifen. Innerhalb dieser Datenbank werden sämtliche Tabellen und Einträge verwaltet, die letztendlich den Inhalt und das Erscheinungsbild deiner WordPress-Website bestimmen. Es ist wichtig zu verstehen, dass alle Aktionen, die du in phpMyAdmin durchführst, sofort und unmittelbar Auswirkungen auf deine Website haben. Jede Veränderung, die du hier vornimmst, kann sich direkt auf deine Website auswirken – sei es positiv oder negativ.

Es ist ratsam, stets bedacht und vorsichtig vorzugehen. Bevor du Änderungen durchführst, solltest du unbedingt ein Backup deiner Datenbank erstellen. Dies dient als Sicherheitsnetz, falls etwas schiefgehen sollte. Denke daran, dass die Datenbank das Herzstück deiner Website ist, und daher ist eine sorgfältige Herangehensweise von größter Bedeutung.

Das Finden und Ersetzen von Pfaden

Innerhalb von phpMyAdmin steht dir eine Suchfunktion zur Verfügung, die sowohl für die gesamte Datenbank als auch für einzelne Tabellen genutzt werden kann. Der Vorteil dieser Funktion ist, dass du durch eine Suche keine unbeabsichtigten Schäden anrichten kannst. Allerdings erfordert sie, dass du weißt, wie du in einer Datenbank gezielt suchen kannst.

In unserem Fall suchen wir nach einem bestimmten Pfad, den wir ändern möchten. Hierbei geht es jedoch nicht darum, den gesamten Pfad zu ersetzen, sondern nur einen spezifischen Teil, der modifiziert werden soll. Ein Beispiel wäre die Änderung von „www.domain.tld/wordpress“ zu „www.domain.tld“. Es ist wichtig zu beachten, dass präzise Kenntnisse über den zu suchenden Pfad vonnöten sind. Ein unsachgemäßes Vorgehen kann zu unerwünschten Ergebnissen führen.

Ändern von Pfaden mittels mySQL Statement

Wenn Du nun herausgefunden hast, dass Deine WordPress Installation mehr als 10 oder 500 oder 6.000 Einträge aufweist, die sich an dem alten Pfad bedienen, dann wird es Zeit die betroffenen Tabellen zu eruieren. Denn diese Tabellennamen benötigen wir nun in unserer mySQL Abfrage, die den Pfad von alt auf neu ändert:

In dem unten beigefügten Skript wird folgendes geändert:

  • Datenbank: In der Datenbank, in der Du Dich befindest
  • Betroffene Tabelle: wp_options (ist 2x im Script hinterlegt und muss nur auf deine Tabelle gändert werden)
  • Alte Url: http://www.domain.tld/wordpress/
  • Neue Url: http://www.domain.tld/
CREATE PROCEDURE ReplaceInAllColumns()
BEGIN
    DECLARE done INT DEFAULT 0;
    DECLARE colname CHAR(255);
    DECLARE cur CURSOR FOR 
        SELECT COLUMN_NAME 
        FROM INFORMATION_SCHEMA.COLUMNS 
        WHERE TABLE_NAME = 'wp_options' 
        AND TABLE_SCHEMA = DATABASE() 
        AND DATA_TYPE IN ('varchar', 'text', 'char', 'mediumtext', 'longtext');
        
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

    OPEN cur;

    REPEAT
        FETCH cur INTO colname;

        IF NOT done THEN
            SET @s = CONCAT('UPDATE wp_options SET ', colname, ' = REPLACE(', colname, ', "http://www.domain.tld/wordpress/", "http://www.domain.tld/");');
            PREPARE stmt FROM @s;
            EXECUTE stmt;
            DEALLOCATE PREPARE stmt;
        END IF;
    UNTIL done END REPEAT;

    CLOSE cur;
END;