Jak przenieść stronę WordPress na nowy hosting bez przestojów
Aktualizacja: 6 min czytaniaZespół DNSPeek
Aby przenieść WordPress bez przestojów, pozostaw stary hosting włączony, gdy kopiujesz pliki i bazę danych na nowy, i przetestuj kopię na nowym serwerze przed zmianą DNS. Obniż TTL w DNS dzień wcześniej, zamroź treści na czas końcowej synchronizacji, a potem skieruj rekord A na nowy IP. W każdej chwili odwiedzających obsługuje jeden lub drugi serwer, więc nikt nie widzi awarii.
Skąd naprawdę biorą się przestoje WordPressa
Skopiowanie strony WordPress rzadko jest najtrudniejsze. Przestój zwykle pojawia się w chwili przełączenia: DNS wskazuje serwer, który nie jest gotowy, nie działa połączenie z bazą danych, brakuje certyfikatu albo reguła wymuszająca HTTPS tworzy pętlę. Każdy z tych problemów można wykryć przed przełączeniem, jeśli otworzysz stronę na nowym serwerze, gdy świat nadal widzi stary.
Podejście z tego poradnika jest proste: stary serwer obsługuje odwiedzających, dopóki nowy nie zostanie sprawdzony strona po stronie. DNS zmieniasz tylko raz, przy krótkim TTL, więc zmiana rozchodzi się w ciągu minut, a nie godzin.
Zanim zaczniesz
- Dostęp do starego hostingu (pliki i baza danych lub panel sterowania), nowego hostingu i dostawcy DNS domeny. Dostawca DNS to miejsce, na które wskazują serwery nazw: często rejestrator, czasem Cloudflare lub stary hosting.
- Pełna kopia zapasowa obecnej strony pobrana na Twój dysk, a nie taka, która istnieje tylko na starym serwerze.
- Publiczny adres IP nowego serwera. Jeśli nie wiesz, który to, zob. Jak znaleźć IP serwera.
- Wersje PHP i bazy danych starej strony. Odtwórz je na nowym serwerze lub sprawdź, czy motyw i wtyczki obsługują nowsze wersje.
- Lista ważnych stron: strona główna, wpis, kategoria, wyszukiwarka, formularz kontaktowy, koszyk i zamówienie, jeśli używasz WooCommerce, oraz wp-admin.
Już teraz sprawdź obecny TTL rekordu A domeny za pomocą narzędzia sprawdzanie TTL. Będzie potrzebny do ustalenia czasu w kroku 1.
Krok po kroku
Krok 1: Obniż TTL dzień wcześniej
W panelu DNS ustaw TTL rekordu A (i AAAA, jeśli istnieje) na 300 sekund, nadal wskazując stary serwer. Przed przełączeniem odczekaj co najmniej tyle, ile wynosił stary TTL. Zob. Obniż TTL przed migracją.
Krok 2: Zrób kopię zapasową starej strony
Wykonaj pełną kopię zapasową plików i bazy danych i pobierz ją. To Twój plan wycofania, jeśli coś pójdzie nie tak.
Krok 3: Skopiuj pliki i bazę danych na nowy hosting
Użyj wtyczki do migracji, narzędzia do przenoszenia od hostingu lub kopiowania ręcznego przez WP-CLI. Pozostaw
homeisiteurlustawione na domenę produkcyjną.Krok 4: Otwórz stronę na nowym serwerze
Utwórz link do podglądu ze swoją domeną i nowym IP. Przeklikaj kluczowe strony, zaloguj się do wp-admin i prześlij obraz, aby sprawdzić uprawnienia plików.
Krok 5: Uruchom skanowanie QA
Uruchom raport QA dla podglądu, aby wychwycić niedziałające strony, brakujące pliki, pętle przekierowań, treść mieszaną i adresy URL zapisane na sztywno. Popraw i uruchom ponownie.
Krok 6: Zamroź treści i wykonaj końcową synchronizację
Na kilka minut wstrzymaj nowe zamówienia, komentarze i wpisy na starej stronie, a potem jeszcze raz skopiuj bazę danych, aby nie stracić niczego, co zapisano po pierwszej kopii.
Krok 7: Przełącz DNS
Skieruj rekordy A domeny i
wwwna nowy IP. Zaktualizuj lub usuń stary rekord AAAA, aby odwiedzający przez IPv6 nie trafiali nadal na stary hosting.Krok 8: Obserwuj propagację i zachowaj stary hosting
Śledź zmianę za pomocą narzędzia sprawdzanie propagacji DNS. Zachowaj stary hosting jeszcze przez kilka dni, dopóki jego logi dostępu nie przestaną pokazywać prawdziwych odwiedzających.
Wtyczka czy kopiowanie ręczne?
Obie metody działają. Wybierz w zależności od rozmiaru strony i zakresu dostępu, jaki masz po obu stronach.
| Metoda | Sprawdza się przy | Na co uważać |
|---|---|---|
| Wtyczka do migracji (eksport i import archiwum) | Małych i średnich stronach, hostingu współdzielonym bez SSH | Limity rozmiaru przesyłanych plików na nowym hostingu, przekroczenia czasu przy dużych archiwach, darmowe wersje ograniczające rozmiar archiwum |
| Usługa migracji hostingu lub transfer przez panel | Przeprowadzkach z cPanel na cPanel, zarządzanym hostingu WordPress | Co jest objęte: poczta i zadania cron są często pomijane |
| Ręcznie: pliki plus zrzut bazy danych | Dużych stronach, VPS, każdym, kto ma SSH | Dane serializowane: zawsze zamieniaj adresy URL przez WP-CLI, nigdy w zwykłym edytorze tekstu |
Przy kopiowaniu ręcznym polecenia wyglądają tak. Eksport uruchom na starym serwerze, a import na nowym:
# Old server: export the database and pack the files
wp db export site.sql
tar -czf site-files.tar.gz --exclude=wp-content/cache .
# New server: unpack, import, check the site URL
tar -xzf site-files.tar.gz
wp db import site.sql
wp option get home
wp option get siteurlJeśli nowy hosting podał inne dane dostępowe do bazy danych, przed testami zaktualizuj DB_NAME, DB_USER, DB_PASSWORD i DB_HOST w wp-config.php.
Zachowaj prawdziwy adres URL strony
WordPress przechowuje własny adres w bazie danych (home i siteurl) i na jego podstawie buduje większość linków. Częsty błąd to zmiana tych wartości na IP serwera lub tymczasową nazwę hosta, aby przetestować nowy serwer. Działa to do przełączenia, a potem każdy zapisany na sztywno link wskazuje tymczasowy adres.
Pozostaw obie wartości ustawione na domenę produkcyjną, np. https://example.com, i testuj stronę pod tą nazwą. Link do podglądu DNSPeek robi dokładnie to: łączy się z nowym IP i prosi o Twoją prawdziwą domenę, więc WordPress zachowuje się tak, jakby DNS był już przełączony. Linki, przekierowania i pliki cookie logowania są przepisywane na adres podglądu, więc możesz zalogować się do wp-admin i przeklikać stronę. Więcej w dokumentacji: Podgląd strony WordPress na nowym hostingu.
Strona odtworzona pod tymczasowym adresem?
Jeśli strona została zbudowana lub odtworzona pod tymczasową nazwą hosta, znajdź ją i zamień za pomocą wp search-replace (najpierw próbne uruchomienie, wcześniej kopia zapasowa). Raport QA wymienia pozostałe linki do hostów staging lub gołych adresów IP w sekcji adresów URL zapisanych na sztywno.
HTTPS przed przełączeniem i po nim
Wiele hostingów wystawia darmowy certyfikat dopiero wtedy, gdy domena na nie wskazuje, ponieważ weryfikacja domeny odbywa się przez HTTP w samej domenie. Przed przełączeniem nowy serwer może przedstawiać certyfikat samopodpisany lub domyślny. To normalne i nie jest powodem do zwłoki.
W podglądzie DNSPeek, dopóki brakuje certyfikatu, ustaw tryb SSL linku na Pomiń weryfikację. W przeciwnym razie wtyczka lub reguła wymuszająca HTTPS może przekierowywać w pętli, gdy podgląd przechodzi na HTTP. Po przełączeniu potwierdź prawdziwy certyfikat za pomocą narzędzia sprawdzanie SSL. Szczegóły: Tryby SSL.
WooCommerce, członkostwa i ruchliwe strony
W sklepie lub na stronie z logowaniem nowe dane trafiają na stary serwer aż do przełączenia. Zamówienia, komentarze i nowe konta utworzone po wykonaniu kopii zostałyby utracone. Zaplanuj krótkie zamrożenie treści: ogłoś okno serwisowe dla nowych zamówień albo włącz na starej stronie tryb konserwacji tylko na minuty końcowej synchronizacji bazy danych. Czytelnicy i tak nadal mogą wczytywać strony.
Bramki płatności i dostawcy logowania znają tylko Twoją prawdziwą domenę, więc odsyłają klientów na serwer, który wskazuje publiczny DNS. Przetestuj zamówienie z bramką testową w podglądzie, a zaraz po przełączeniu złóż jedno prawdziwe lub testowe (sandbox) zamówienie. Zobacz, czego podglądy nie potrafią.
Checklista migracji WordPress
Przed przełączeniem i po nim
- TTL obniżony do 300 sekund co najmniej jeden stary TTL przed przełączeniem
- Pełna kopia zapasowa pobrana i przechowywana poza starym serwerem
- Wersja PHP i rozszerzenia na nowym serwerze odpowiadają potrzebom strony
homeisiteurlnadal ustawione na domenę produkcyjną- Strona główna, wpisy, wyszukiwarka, formularze i wp-admin sprawdzone na nowym serwerze
- Przesyłanie multimediów działa (uprawnienia plików)
- Raport QA: brak krytycznych uwag
- Plan dla certyfikatu: wystawienie zaraz po przełączeniu lub już ważny
- Zamrożenie treści i końcowa synchronizacja bazy danych wykonane
- Rekordy A domeny i www zaktualizowane, AAAA zaktualizowany lub usunięty
- Zamówienie lub logowanie przetestowane ponownie po przełączeniu
- Stary hosting zachowany do czasu ustania ruchu
Najczęstsze pytania
Czy moja strona WordPress przestanie działać podczas migracji?
Nie, jeśli stary hosting działa, dopóki DNS nie zostanie przełączony. Odwiedzający, których resolver wciąż ma stary adres, trafiają na stary serwer, pozostali na nowy, a oba serwują tę samą stronę. Przestój zdarza się tylko wtedy, gdy DNS wskazuje serwer, który nie jest gotowy, a testy przed przełączeniem temu zapobiegają.
Czy na czas testów zmienić adres WordPressa na IP nowego serwera?
Nie. Pozostaw adres WordPressa i adres witryny ustawione na domenę produkcyjną. Zmiana na IP lub tymczasową nazwę hosta zostawia po przełączeniu linki zapisane na sztywno. Zamiast tego testuj nowy serwer pod prawdziwą domeną, za pomocą linku do podglądu lub wpisu w pliku hosts.
Ile trwa migracja WordPressa?
Skopiowanie małej strony zajmuje minuty; duża biblioteka multimediów lub baza danych może zająć godziny. Doliczy się czas oczekiwania na DNS: przy TTL obniżonym wcześniej do 300 sekund większość odwiedzających trafi na nowy serwer w ciągu kilku minut od przełączenia.
Co stanie się z moją pocztą przy przenoszeniu WordPressa?
To zależy od rekordów MX. Jeśli poczta jest hostowana przez tę samą firmę co stara strona, przeniesienie DNS lub rezygnacja ze starego hostingu może zepsuć pocztę. Sprawdź rekordy MX przed rozpoczęciem i odtwórz je u nowego dostawcy DNS, jeśli przenosisz też DNS.
Czy potrzebuję nowego certyfikatu SSL?
Zwykle tak, wystawionego przez nowy hosting. Wiele hostingów może go wystawić dopiero wtedy, gdy domena na nie wskazuje, więc licz się z kilkoma minutami bez ważnego certyfikatu na nowym serwerze albo poproś hosting o zainstalowanie istniejącego certyfikatu przed przełączeniem.