Beherrschen des Befehls Suchen-Ersetzen mit WP CLI

Müssen Sie URLs auf Ihrer WordPress-Website aktualisieren? Es ist mühsam, dies manuell zu tun. Der WordPress-CLI-Befehl search-replace macht dies viel einfacher. Ein einfacher Befehl, und Sie können den Text überall in Ihrer Datenbank ändern - ohne sich durch die Seiten zu klicken oder Datenbankfehler zu riskieren.
In diesem Artikel besprechen wir die Suchen- und Ersetzen-Funktion von WordPress CLI und wie Sie diese Funktion nutzen können.
Was ist WP CLI?

Mit WP CLI können Sie WordPress über die Kommandozeile verwalten, anstatt sich durch das Admin-Dashboard zu klicken. Mit einfachen Befehlen können Sie Ihre Website aktualisieren, eine Sicherungskopie Ihrer Datenbank erstellen oder Beiträge veröffentlichen. Es ist besonders nützlich für sich wiederholende Aufgaben und die Verwaltung mehrerer Websites. Was im Dashboard mehrere Klicks erfordert, kann mit einem einzigen Befehl erledigt werden.
Was ist die Funktion "Suchen und Ersetzen"?
Der Befehl WP search-replace ist eine der nützlichsten Funktionen von WP CLI. Er sucht in allen Zeilen einer ausgewählten Datenbanktabelle nach einer Zeichenkette und ersetzt sie massenhaft durch eine andere Zeichenkette. Ein bemerkenswertes Merkmal des WP search-replace-Befehls ist seine Fähigkeit, JSON-Payloads zu entpacken und mit serialisierten PHP-Daten umzugehen.
Wann sollten Sie die Funktion "Suchen und Ersetzen" verwenden?
Es gibt viele Situationen, in denen der Befehl "Suchen-Ersetzen" ein Lebensretter sein kann:
- Behebung von Kodierungsfehlern: Korrigieren beschädigter Zeichen aufgrund von Kodierungsfehlern, um die richtige Textformatierung wiederherzustellen.
- Website-Migrationen: Wenn Sie Ihre Website oder die Ihres Kunden auf einen neuen Hoster verlegen.
- Starten einer Staging-Site: Wenn Sie eine Entwicklungs- oder Staging-Site live schalten.
- Massenhafte URL-Aktualisierungen: Aktualisierung von Links auf Ihrer gesamten Website, wenn sich URL-Strukturen aufgrund von Rebranding oder Systemaktualisierungen ändern.
So verwenden Sie die Suchen-Ersetzen-Funktion von WP-CLI
Im Folgenden finden Sie einige einfache Schritte, die Ihnen den Einstieg in die Nutzung der Funktion "Suchen-Ersetzen" erleichtern.
Voraussetzungen:
- Eine SSH-Anwendung.
- Ihre FTP-Details, wie FTP-Host, Benutzername und Passwort
- Verwenden Sie entweder Ihren Domänennamen oder Ihre IP-Adresse für den FTP-Host.
- Ihren FTP-Benutzernamen und Ihr Passwort finden Sie in Ihrem Hosting-Account.
- Installieren Sie WP-CLI, wenn Sie VPS oder einen dedizierten Server verwenden.
Hinweis: Sichern Sie Ihre Website immer, bevor Sie Änderungen an der Datenbank vornehmen. Auf diese Weise können Sie sie im Falle eines Fehlers jederzeit wiederherstellen.
Schritt #1: Verwenden Sie SSH, um Ihr Hosting-Konto zu verbinden
Verwenden Sie ein Terminal, um sich mit Ihrem Server zu verbinden.
ssh username@your-server-ip
Schritt #2: Suchen Sie das Verzeichnis in Ihren WordPress-Dateien
Mit dem Bash-Befehl lskönnen Sie Dateien und Ordner auflisten. Verwenden Sie den cd und ../ , um zu dem Verzeichnis zu navigieren, in dem sich Ihre WordPress-Dateien befinden.
Schritt #3: Führen Sie den Befehl Suchen und Ersetzen aus
Verwenden Sie diesen Befehl, um Text in Ihrer Datenbank zu suchen und zu ersetzen. Hier ist ein Beispiel
wp search-replace ‘old-string’ ‘new-string’.
Hier ist ein Beispiel für das Suchen und Ersetzen einer URL:
wp search-replace 'https://domainname.com' 'https://newdomainname.com'
(Optional) Verwenden Sie den folgenden Befehl, um eine Vorschau der Ersetzungen anzuzeigen:
wp search-replace 'https://domainname.com' 'https://newdomainname.com' --dry-run
Sobald dies geschehen ist, erscheint eine Erfolgsmeldung, die die Datenersetzung bestätigt.
Schritt #4: Überprüfen Sie die Änderungen
Überprüfen Sie Ihre Website, um sicherzustellen, dass die Änderungen korrekt übernommen wurden.
Hier sind einige Parameter, die Sie mit der Funktion Suchen/Ersetzen verwenden können:
Befehl | Beschreibung |
<old> | Eine Zeichenfolge, nach der in der Datenbank gesucht werden soll. |
<new> | Ersetzt die Instanzen der ersten Zeichenfolge durch diese neue Zeichenfolge. |
<table>… | Liste der Datenbanktabellen, auf die die Ersetzung beschränkt werden soll. Wildcards werden unterstützt, z. B. wp_*options oder wp_post*. |
-Trockenlauf | Eine Zeichenfolge, die die URL der Website des Benutzers enthält. |
-Netzes | Durchsuchen/Ersetzen aller in $wpdb registrierten Tabellen in einer Multisite-Installation. |
-all-tables-with-prefix | Aktiviert die Ersetzung für alle Tabellen, die mit dem Tabellenpräfix übereinstimmen, auch wenn sie nicht in $wpdb registriert sind. |
-alle-Tabellen | Aktiviert die Ersetzung für ALLE Tabellen in der Datenbank, unabhängig vom Präfix und selbst wenn sie nicht in $wpdb registriert sind. Hat Vorrang vor -network und -all-tables-with-prefix. |
Die vollständige Liste finden Sie hier.
Bonus: Verwenden Sie reguläre Ausdrücke (RegEx) in WP search-replace, um Text schnell und präzise zu finden und zu aktualisieren. Symbole wie ^ (Anfang einer Zeile) und $ (Ende einer Zeile) helfen bei komplexen Suchen. Platzhalter wie . passen zu jedem Zeichen, während * null oder mehr Wiederholungen zulässt. Modifikatoren wie i machen die Suche unabhängig von der Groß- und Kleinschreibung.
wp search-replace "(?<!@)olddomain\.com" "test.com" --regex --precise --skip-plugins --skip-themes --allow-root
Abschließende Überlegungen
Die Verwaltung von WordPress-Datenbanken muss nicht kompliziert sein. Mit dem search-replace-Befehl von WP CLI können Sie Massenänderungen sicher und schnell durchführen.
Wenn Sie mehrere Websites verwalten und ein Website-Überwachungstool benötigen, sollten Sie WP Umbrella. Es bietet Massenaktionen (sichere Updates, Datenbankoptimierung), automatische Backups, Überwachung der Betriebszeit, Sicherheitschecks und detaillierte Berichte - alles an einem Ort. Starten Sie noch heute Ihre 14-tägige kostenlose Testversion; keine Kreditkarte erforderlich.
Häufig gestellte Fragen
Sie benötigen grundlegende Kenntnisse der Befehlszeile und SSH-Zugang zu Ihrem Server. Die Befehle sind zwar einfach, aber Sie sollten mit dem Terminal vertraut sein, SQL kennen und die Grundlagen von WordPress-Datenbanken verstehen. Stellen Sie sicher, dass Sie WP CLI installiert haben und einen Texteditor bereithalten.
Da search-replace-Befehle direkte Datenbankänderungen vornehmen, müssen Sie bei ihrer Verwendung vorsichtig sein. Beginnen Sie immer mit der Option -dry-run, um zu sehen, was sich ändern würde, ohne Änderungen vorzunehmen. Dies hilft Ihnen, die Ergebnisse zu überprüfen, bevor Sie Ihre Datenbank anfassen. Fügen Sie -report-changed-only hinzu, um die Ausgabe sauber und lesbar zu halten. Sie können beide Optionen zusammen verwenden, um ein klares Bild davon zu erhalten, was sich ändern wird.
Sie können Änderungen nur rückgängig machen, indem Sie eine Sicherungskopie wiederherstellen. Deshalb ist es wichtig, Ihre Datenbank zu sichern, bevor Sie Befehle zum Suchen und Ersetzen ausführen.
WP CLI hat drei Hauptattribute: Befehle, Parameter und Flaggen. Befehle wie "wp core update" oder "wp plugin install" teilen WP CLI mit, was zu tun ist. Parameter sind Name-Wert-Paare, die in CLI eingebaut oder als Variablen definiert werden können. Flags sind zusätzliche Optionen, die Sie hinzufügen können, um die Ausführung eines Befehls anzupassen. Wenn Sie diese verstehen, können Sie die Funktionen von WP CLI optimal nutzen.