Es kommt vor, dass bei einer WordPress-Seite die Domain oder das Protokoll (http/https) geändert werden muss. Dies geschieht dann, wenn man die Domain austauscht, von einer Testumgebung auf eine Liveumgebung wechselt oder die SSL-Verschlüsselung verwendet.
Zunächst fügen wir immer folgenden Schnipsel ein, damit eine WordPress-Instanz immer von der aufgerufenen Url erreichbar ist und nicht auf die alte Url weiterleitet.
/* Custom WordPress-Urls */ define( 'SP_REQUEST_URL', ( $_SERVER['HTTPS'] ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] ); define( 'WP_SITEURL', SP_REQUEST_URL ); define( 'WP_HOME', SP_REQUEST_URL ); define( 'SP_PATH', dirname( __FILE__ ) . '/' );
Hiermit wird immer in die beiden Einstellungsfelder automatisch die Url eingesetzt mit der WordPress aufgerufen wird. Da dies aus SEO-Sicht zu Problemen führen kann, da die Webseite über mehrere Urls erreichbar ist, sollte man immer die Weiterleitung in der htaccess dementsprechend setzen.
<IfModule mod_rewrite.c> RewriteEngine On # RewriteBase / # Check protokoll RewriteCond %{HTTPS} =on RewriteRule ^ - [env=proto:https] RewriteCond %{HTTPS} !=on RewriteRule ^ - [env=proto:http] # Rewrite to SSL and www at once # RewriteCond %{HTTPS} off [OR] # RewriteCond %{HTTP_HOST} !^www\. [NC] # RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] # RewriteRule ^ https://www.%1%{REQUEST_URI} [L,NE,R=301] # Rewrite to SSL and without www at once RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^www\. [NC] RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301] </If>
Je nachdem, ob „www.“ vor der Domain verwendet wird oder nicht muss eine Version auskommentiert werden (# am Zeilenanfang). In dieser Version wird davon ausgegangen dass SSL-Verschlüsselung verwendet wird.
Hat man dies geschafft, muss man nur noch in der gesamten Datenbank alle URL-Vorkomnisse suchen und ersetzen. Dies macht man am Besten mit einem Plugin wie Better Search Replace. Hier ist es wichtig, dass man die gesamte Url sucht und ersetzt: https://www.domain.de und darauf achtet, dass man bei beiden den gleichen Teil sucht und ersetzt, also beide mal ohne schließenden /.
Außerdem sollte der installierte Pagebuilder ebenfalls eine Tool zum Suchen und Ersetzten haben, wie z.B. Elementor, muss dieses zusätzlich ausgeführt werden.