Przekierowanie starej domeny WordPress na nową wymaga nie tylko zmiany adresu w panelu. Trzeba skonfigurować DNS, zaktualizować adresy zapisane w bazie danych, włączyć SSL oraz ustawić przekierowanie 301, które poinformuje użytkowników i wyszukiwarki o trwałej zmianie adresu.
Co przygotować przed zmianą domeny?
Nowa domena powinna wskazywać na ten sam serwer i katalog, w którym działa WordPress. Sposób konfiguracji DNS zależy od operatora domeny i hostingu. Po zmianie ustawień trzeba zaczekać na propagację DNS. Może ona potrwać do 24 godzin, choć często przebiega szybciej.
Przed rozpoczęciem włącz certyfikat SSL dla nowej domeny. Jeżeli dotychczasowa strona działała pod adresem HTTPS, nowy adres również powinien używać tego protokołu. Brak certyfikatu może powodować ostrzeżenia w przeglądarce i problemy z przekierowaniem.
Wykonaj pełną kopię zapasową bazy danych i plików WordPressa przed każdą zmianą. Backup pozwoli przywrócić stronę, jeśli błędny adres, problem z wtyczką lub zmiana konfiguracji spowodują awarię.
Do przeprowadzenia migracji potrzebujesz:
- Dostępu do FTP lub menedżera plików na serwerze.
- Dostępu do panelu hostingowego i ustawień DNS.
- Dostępu do panelu administracyjnego WordPress.
- Wtyczki Better Search Replace do aktualizacji adresów w bazie.
Jak zmienić adres WordPressa i zaktualizować bazę?
Wykonuj poniższe czynności dopiero po wskazaniu nowej domeny na właściwy katalog oraz potwierdzeniu, że strona jest dostępna pod nowym adresem.
- Zmień adres w ustawieniach WordPressa – przejdź do Ustawienia → Ogólne. W polach „Adres WordPressa (URL)” oraz „Adres witryny (URL)” wpisz nowy adres, na przykład https://nowa-domena.pl. Zwróć uwagę na właściwy protokół, czyli HTTPS, jeśli domena ma aktywny certyfikat SSL. Zapisz zmiany.
- Zainstaluj Better Search Replace – w panelu WordPressa otwórz Wtyczki → Dodaj nową, wyszukaj wtyczkę i aktywuj ją. Jej zadaniem będzie znalezienie starego adresu we wszystkich tabelach bazy oraz zastąpienie go nowym.
- Wprowadź adresy w narzędziu Search/Replace – w menu Narzędzia → Better Search Replace wpisz pełny stary adres w polu „Search for”, a nowy adres w polu „Replace with”. Uwzględnij przedrostek http:// lub https:// oraz ewentualny wariant z „www”.
- Wybierz wszystkie tabele – zaznacz tabele związane z instalacją WordPressa. Przed uruchomieniem możesz użyć opcji „Run as dry run?”, aby sprawdzić zakres znalezionych zmian bez modyfikowania danych.
- Uruchom zamianę – po sprawdzeniu adresów wyłącz tryb testowy i kliknij „Run Search/Replace”. Wtyczka zaktualizuje zapisane adresy w treści, ustawieniach, menu i innych elementach bazy.
- Sprawdź kreator stron – jeżeli strona korzysta z Elementora lub podobnego narzędzia, użyj jego funkcji zastępowania adresu. Kreatory mogą przechowywać ścieżki do obrazów i elementów w sposób wymagający dodatkowej aktualizacji.
Nie edytuj masowo bazy ręcznie w phpMyAdmin. WordPress przechowuje część danych w formacie serializowanym. Prosta zamiana tekstu może uszkodzić zapisane struktury i doprowadzić do błędów w ustawieniach lub treści. Narzędzia przeznaczone do wyszukiwania i zamiany adresów uwzględniają ten problem lepiej niż ręczna edycja SQL.
Po zakończeniu operacji sprawdź stronę, a następnie wyłącz i usuń wtyczkę, jeśli nie jest już potrzebna. Jeżeli panel WordPressa nie działa po zmianie adresu, można tymczasowo zdefiniować adresy w pliku wp-config.php, ale tę czynność najlepiej wykonać po przywróceniu pliku z kopii i zgodnie z dokumentacją hostingu lub WordPressa.
Jak ustawić przekierowanie 301 w pliku .htaccess?
Sama zmiana adresu w WordPressie nie przekieruje użytkowników ze starej domeny. Do tego potrzebne jest przekierowanie 301 na poziomie serwera. Informuje ono przeglądarki i roboty wyszukiwarek, że stary adres został trwale zastąpiony nowym. Przekierowanie powinno zachowywać także ścieżkę podstrony, aby wejście na stary artykuł prowadziło do jego nowego odpowiednika.
Pobierz kopię pliku .htaccess przez FTP lub panel hostingu. Nie usuwaj istniejących reguł WordPressa. Na końcu pliku, za sekcją obsługi WordPressa, możesz umieścić reguły:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^stara-domena\.pl$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www\.stara-domena\.pl$ [NC]
RewriteRule ^(.*)$ https://nowa-domena.pl/$1 [R=301,L]
Zastąp domeny własnymi adresami. Jeśli w pliku znajduje się już RewriteEngine On, nie dodawaj drugiej identycznej dyrektywy. Reguły warunkowe ograniczają przekierowanie do starej domeny, dzięki czemu nowy adres nie zostanie przekierowany ponownie i nie powstanie pętla.
Błąd składni w pliku .htaccess może wywołać błąd 500 na całej stronie. Dlatego przed zapisaniem zachowaj kopię oryginału. Jeśli po wgraniu pliku strona przestanie działać, przywróć poprzednią wersję albo poproś administratora hostingu o pomoc. Starą domenę warto utrzymywać aktywną przez dłuższy czas, ponieważ to na niej musi działać przekierowanie.
Jak zaktualizować usługi zewnętrzne?
Po zmianie adresu popraw także konfigurację narzędzi używanych do indeksowania i analityki:
- Google Search Console – dodaj i zweryfikuj nową domenę, a następnie użyj funkcji „Zmiana adresu”, jeśli jest dostępna dla danej konfiguracji usługi.
- Google Analytics – zaktualizuj adres witryny w ustawieniach usługi oraz sprawdź, czy kod pomiarowy nadal działa na nowej domenie.
- Elementor i inne kreatory – wykonaj zastępowanie starego adresu w narzędziach kreatora, jeśli po migracji brakuje obrazów, stylów lub odnośników.
Co sprawdzić po migracji?
Końcowa kontrola powinna obejmować zarówno stronę główną, jak i kilka istniejących podstron. Sprawdź:
- Strona otwiera się pod nową domeną i korzysta z protokołu HTTPS.
- Certyfikat SSL jest aktywny i nie pojawia się ostrzeżenie o niezabezpieczonym połączeniu.
- Adresy wpisów, kategorii, obrazów i plików działają poprawnie.
- Wejście na starą domenę przekierowuje kodem 301 do odpowiadającej podstrony nowej domeny.
- Google Search Console zawiera nową usługę i rejestruje dane po zmianie.
- Google Analytics oraz inne narzędzia analityczne otrzymują nowe wizyty.
Prawidłowo wykonana zmiana obejmuje więc trzy warstwy: DNS, dane zapisane w WordPressie oraz przekierowanie 301 na serwerze. Nawet przy poprawnej konfiguracji może wystąpić przejściowa zmiana widoczności w wyszukiwarce, dlatego nie wyłączaj starej domeny od razu.