Migracja strony WordPress polega na przeniesieniu plików witryny i bazy danych na nowy serwer, a następnie podłączeniu domeny do nowej lokalizacji. Najbezpieczniej zacząć od pełnej kopii zapasowej i przetestować stronę przed zmianą DNS.
Możesz wykonać migrację automatycznie, korzystając z wtyczki, albo ręcznie przez FTP i phpMyAdmin. Pierwsza metoda jest prostsza, druga daje większą kontrolę i lepiej sprawdza się przy dużych stronach. Jeśli nie masz pewności co do swoich umiejętności, sprawdź też, czy nowy dostawca hostingu oferuje migrację w ramach usługi.
Przygotowanie do migracji WordPressa
Zanim rozpoczniesz przenoszenie, wykonaj kopię całej witryny. Backup powinien obejmować pliki WordPressa, katalog wp-content oraz bazę danych MySQL. Zachowaj kopie lokalnie, a najlepiej także w drugim, niezależnym miejscu. Nie usuwaj danych ze starego serwera, dopóki nowa instalacja nie przejdzie testów.
Przygotuj także dostęp do następujących elementów:
- Dane FTP do starego i nowego serwera oraz klient FTP, na przykład FileZilla.
- Dostęp do phpMyAdmin lub innego narzędzia do eksportu i importu bazy danych.
- Dane nowej bazy danych, czyli jej nazwę, użytkownika, hasło i adres serwera.
- Dostęp do panelu domeny, w którym można zmienić rekord A albo serwery DNS.
- Dostęp administracyjny do WordPressa, potrzebny między innymi do instalacji wtyczki i odświeżenia bezpośrednich odnośników.
Wybór metody zależy głównie od wielkości strony, dostępu do serwera i Twojego doświadczenia:
| Cecha | Wtyczka, na przykład All-in-One WP Migration | Metoda ręczna FTP i SQL |
|---|---|---|
| Poziom trudności | Niski, większość operacji wykonuje kreator | Wyższy, wymaga pracy z plikami i bazą danych |
| Dla kogo | Dla małych i średnich stron oraz mniej technicznych użytkowników | Dla administratorów i dużych lub niestandardowych witryn |
| Ograniczenia | Limity rozmiaru paczki, PHP i importu w darmowej wersji | Ryzyko błędu przy konfiguracji lub imporcie danych |
| Kontrola nad procesem | Mniejsza, ale migracja jest szybsza | Duża, można osobno przenieść pliki i bazę |
Metoda automatyczna – migracja za pomocą wtyczki
Do automatycznej migracji możesz użyć między innymi All-in-One WP Migration lub Duplicator. Nazwy opcji mogą się różnić zależnie od wersji wtyczki, ale schemat działania pozostaje podobny.
Uwaga: darmowe wersje wtyczek często mają ograniczenia wielkości importowanego pliku. Problem mogą też powodować limity czasu wykonywania skryptów PHP na serwerze. Nie zwiększaj limitów ani nie instaluj dodatków z niepewnych źródeł bez sprawdzenia ich pochodzenia.
Migrację wykonaj w następującej kolejności:
- Zainstaluj i aktywuj tę samą wtyczkę na starej witrynie oraz na przygotowanej instalacji WordPressa na nowym serwerze.
- Na starej stronie wybierz funkcję eksportu i utwórz paczkę zawierającą pliki oraz bazę danych. W przypadku All-in-One WP Migration paczka ma zwykle rozszerzenie
.wpress. - Pobierz plik eksportu na komputer i zachowaj go razem z niezależnym backupem wykonanym przed migracją.
- Na nowym serwerze otwórz funkcję importu i wskaż pobraną paczkę. Import może nadpisać zawartość docelowej instalacji, dlatego sprawdź, czy wybrałeś właściwą stronę.
- Po zakończeniu importu zaloguj się ponownie do kokpitu, przejdź do ustawień bezpośrednich odnośników i kliknij „Zapisz zmiany”, nawet jeśli struktura odnośników się nie zmieniła.
Jeżeli przy migracji zmienia się domena, sprawdź, czy wtyczka poprawnie podmieniła adresy. Linki zapisane na stałe w bazie danych, tak zwane hardcoded links, mogą nadal wskazywać starą domenę. Do ich zamiany użyj narzędzia typu Search and Replace, które obsługuje dane serializowane. Ręczna edycja takich rekordów w SQL może uszkodzić ustawienia WordPressa.
Metoda ręczna – FTP i phpMyAdmin
Ręczna migracja wymaga przeniesienia plików, eksportu bazy danych, utworzenia nowej bazy i zmiany konfiguracji WordPressa. Przed rozpoczęciem sprawdź, czy nowy serwer korzysta z kompatybilnej wersji PHP i ma wymagane rozszerzenia.
Wykonaj kolejne czynności:
- Wyeksportuj bazę danych. Zaloguj się do phpMyAdmin na starym serwerze, wybierz bazę używaną przez WordPress i uruchom eksport w formacie SQL. Jeśli nie znasz jej nazwy, użytkownika lub hasła, sprawdź plik
wp-config.php. Zwróć też uwagę na prefiks tabel, który nie zawsze ma postaćwp_. - Pobierz pliki przez FTP. Skopiuj cały katalog instalacji WordPressa, a nie tylko wybrane motywy lub wtyczki. Szczególne znaczenie ma katalog
wp-content, ponieważ zawiera media, motywy i dodatki. Przy dużej stronie spakowane archiwum może skrócić transfer, jeśli hosting pozwala je bezpiecznie utworzyć i rozpakować. - Utwórz bazę na nowym serwerze. Zapisz jej nazwę, nazwę użytkownika, hasło i adres hosta. Następnie otwórz ją w phpMyAdmin i zaimportuj plik SQL. Przy bardzo dużych bazach limit importu może wymagać użycia narzędzia dostawcy, SSH albo podziału pliku.
- Edytuj plik
wp-config.php. W kopii plików znajdź definicjeDB_NAME,DB_USER,DB_PASSWORDiDB_HOST. Wprowadź dane nowej bazy, zachowując składnię PHP i pojedyncze znaki cudzysłowu. Błąd w tym pliku może wywołać komunikat o braku połączenia z bazą. - Prześlij pliki na nowy serwer. Umieść je w katalogu przypisanym do domeny, na przykład
public_htmllub innym wskazanym przez hosting. Nie twórz dodatkowego poziomu katalogów, jeśli domena ma otwierać stronę bezpośrednio z katalogu głównego. - Sprawdź adresy zapisane w bazie. Gdy zmieniasz domenę, użyj narzędzia Search and Replace. Nie podmieniaj tekstu bezpośrednio w pliku SQL, ponieważ WordPress i wtyczki przechowują także dane serializowane.
Plik wp-config.php zawiera dane dostępowe do bazy, dlatego nie udostępniaj go publicznie i nie zapisuj haseł w niezabezpieczonych miejscach. Po udanym teście usuń lokalne kopie zawierające hasła albo przechowuj je w bezpiecznym menedżerze haseł.
Finalizacja i testy przed zmianą DNS
Nie zmieniaj od razu domeny na nowy serwer. Najpierw sprawdź stronę pod tymczasowym adresem albo przez plik hosts na swoim komputerze. Dzięki temu możesz zweryfikować nową instalację, gdy domena nadal prowadzi do starego hostingu.
Przed przełączeniem domeny wykonaj następujące testy:
- Otwórz stronę główną, podstrony, wpisy i archiwum, a następnie sprawdź, czy nie pojawiają się błędy 404.
- Zweryfikuj obrazy, pliki do pobrania, galerie, osadzone materiały i adresy zapisane w treści.
- Wyślij formularze kontaktowe i sprawdź, czy wiadomości docierają do właściwych skrzynek.
- Zaloguj się do kokpitu, otwórz kilka ekranów administracyjnych i sprawdź działanie najważniejszych wtyczek.
- Odśwież ustawienia bezpośrednich odnośników, sprawdź przekierowania oraz działanie certyfikatu SSL.
- Zweryfikuj sklep, płatności, koszyk i zamówienia, jeśli witryna korzysta z WooCommerce.
Rekord A i delegacja DNS to dwa różne sposoby kierowania domeny. Zmiana rekordu A polega na wskazaniu adresu IP nowego serwera w istniejącej strefie DNS. Zmiana delegacji polega na zastąpieniu serwerów nazw, na przykład serwerów DNS dotychczasowego operatora, serwerami nowego dostawcy. Transfer domeny do innego rejestratora jest jeszcze inną operacją i zwykle wymaga kodu Authinfo. Nie jest potrzebny, jeśli tylko zmieniasz miejsce hostingu.
Po zmianie rekordu A lub delegacji DNS część użytkowników może przez pewien czas trafiać na stary serwer. Czas propagacji zależy między innymi od wartości TTL i ustawień resolverów DNS. Często trwa od kilku godzin do około 24 godzin, ale w niektórych przypadkach może potrwać dłużej. Starego hostingu nie wyłączaj do czasu zakończenia testów i ustabilizowania ruchu.
Migracja strony WordPress będzie bezpieczna, jeśli zachowasz kolejność: backup, pliki, baza danych, konfiguracja, testy i dopiero na końcu DNS. Przy dużym sklepie, multisite, intensywnym ruchu lub braku dostępu do bazy lepiej zaplanować przeniesienie z administratorem serwera.