Przeniesienie strony na nowy hosting brzmi ryzykownie, ale z jasnym planem to spokojne i przewidywalne zadanie. Sztuka polega na tym, by zbudować i przetestować nową kopię, gdy stara nadal obsługuje odwiedzających, a dopiero potem skierować na nią domenę. Ten poradnik prowadzi przez cały proces na przykładzie typowej małej strony. Głównym przykładem jest WordPress, a strony statyczne i własne strony w PHP omawiamy ogólnie.
Zdecyduj, kiedy się przenieść, i sprawdź, co masz
Dobre powody do zmiany hostingu to powtarzające się wolne ładowanie lub awarie, plan, który nie pasuje już do ruchu na stronie, brak potrzebnych funkcji, takich jak aktualna wersja PHP czy środowisko testowe, słaba pomoc techniczna albo cena przedłużenia, która wzrosła ponad wartość usługi. Złe powody to jedno nieudane popołudnie albo efektowna oferta, której nie porównałeś dokładnie z innymi. Jeśli nadal rozważasz opcje, nasz poradnik jak wybrać hosting podpowiada, na co zwracać uwagę, a poradnik o cenach przedłużenia hostingu wyjaśnia, dlaczego koszt po pierwszym okresie często się zmienia.
Wybierz spokojny moment na przenosiny. W przypadku większości stron to wieczór w tygodniu albo weekend z małym ruchem, a na pewno nie tydzień dużej wyprzedaży, premiery czy kampanii. Zostaw sobie kilka dni zapasu, nawet jeśli sama praca zajmie tylko kilka godzin.
Zanim czegokolwiek dotkniesz, zapisz wszystko, co robi dla ciebie obecny hosting. Strony często zależą od rzeczy, których nikt już nie pamięta, że skonfigurował. Oto prosta lista do uzupełnienia.
| Element | Co zanotować |
|---|---|
| Pliki | Główny folder strony, przesłane pliki, motywy, wtyczki, wszelkie pliki poza katalogiem głównym serwera |
| Bazy danych | Nazwy, użytkownicy, rozmiary i aplikacja, która korzysta z każdej z nich |
| Poczta | Skrzynki, przekierowania, aliasy, autorespondery i miejsce, w którym faktycznie jest hostowana poczta |
| Zadania cron | Zaplanowane zadania, ich harmonogram i uruchamiane skrypty |
| Rekordy DNS | A, AAAA, CNAME, MX, TXT (w tym SPF i inne rekordy weryfikacyjne) oraz wszelkie pozostałe |
| SSL | Rodzaj certyfikatu, objęte nazwy hostów i sposób odnawiania |
| Ustawienia serwera | Wersja PHP, limity pamięci, reguły przekierowań, własne pliki konfiguracyjne |
Wyeksportuj obecną strefę DNS jako tekst albo zrób zrzuty ekranu wszystkich rekordów. Ten jeden krok oszczędza po przeprowadzce więcej paniki niż jakikolwiek inny. Sprawdź też, czy rejestracja domeny i hosting są w tej samej firmie. Jeśli nie masz pewności, jak te dwie rzeczy się łączą, wyjaśnia to artykuł nazwy domen i hosting.
Zrób kopię zapasową, zbuduj nową stronę i przetestuj ją prywatnie
Wykonaj pełną kopię zapasową plików i baz danych i zapisz ją gdzie indziej niż na starym hostingu, na przykład na własnym komputerze i w drugim miejscu. Nie polegaj wyłącznie na automatycznych kopiach hostingu, bo po zamknięciu konta możesz stracić do nich dostęp. Sprawdź, czy kopia faktycznie się otwiera. Kopia, której nigdy nie przywracałeś, jest tylko nadzieją.
Skonfiguruj nowy hosting
Załóż konto lub wykup plan, dodaj swoją domenę jako stronę lub domenę dodatkową i wybierz tę samą główną wersję PHP, na której strona działa dziś, albo nowszą, co do której masz pewność, że twój kod ją obsługuje. Utwórz pustą bazę danych i użytkownika bazy z silnym hasłem. Nie zmieniaj jeszcze DNS. Na tym etapie nowy hosting to po prostu pusty pokój czekający na twoje meble.
Skopiuj pliki i bazę danych
Wgraj pliki przez SFTP albo menedżer plików w panelu. SFTP jest lepszy niż zwykły FTP, bo szyfruje dane logowania. W przypadku dużej strony spakuj folder do jednego archiwum, wgraj je i rozpakuj na serwerze. Jest to znacznie szybsze niż wysyłanie tysięcy małych plików.
Następnie wyeksportuj bazę danych ze starego hostingu i zaimportuj ją na nowy. W WordPressie są dwie popularne drogi. Możesz użyć wtyczki do migracji, która pakuje razem pliki i bazę, albo zrobić to ręcznie: skopiować pliki, zaimportować bazę, a potem edytować plik wp-config.php, wpisując nową nazwę bazy, użytkownika i hasło. Strona statyczna wymaga tylko plików. Własna strona w PHP wymaga plików, bazy danych i uważnego przejrzenia każdego pliku konfiguracyjnego, w którym zapisane są ścieżki, dane dostępowe lub klucze API.
Przetestuj przed przełączeniem
Teraz sprawdź nową kopię, podczas gdy publicznie nadal widoczna jest stara. Są dwa niezawodne sposoby.
- Edytuj plik hosts. Na własnym komputerze dodaj linię, która przypisuje nazwę twojej domeny do adresu IP nowego serwera. Przeglądarka załaduje wtedy nową kopię, a wszyscy inni nadal zobaczą starą. Po zakończeniu usuń tę linię.
- Użyj tymczasowego adresu URL. Wielu dostawców hostingu udostępnia adres podglądu dla nowych kont. To łatwiejsze, choć niektóre aplikacje, w tym WordPress, mogą przekierowywać z powrotem na prawdziwą domenę, dlatego metoda z plikiem hosts jest zwykle czystsza.
Podczas testów przejdź przez stronę główną, kilka podstron, wyszukiwarkę, formularze, logowania, zamówienie w sklepie (jeśli go masz) i galerie obrazów. Wyślij testowy formularz kontaktowy i sprawdź, czy wiadomość dotarła. Szukaj uszkodzonych obrazów, ostrzeżeń o mieszanej zawartości i stron z błędami. Porównaj nową kopię ze starą obok siebie.
Obniż TTL, wstrzymaj zmiany i przełącz DNS
DNS to system, który zamienia nazwę domeny na adres serwera. Każdy rekord DNS ma TTL, czyli czas życia, który mówi innym sieciom, jak długo mogą pamiętać odpowiedź, zanim zapytają ponownie. Jeśli twój TTL wynosi dobę, część odwiedzających może trafiać na stary serwer nawet do doby po przełączeniu.
Co najmniej dwa dni przed przeprowadzką obniż TTL najważniejszych rekordów do krótkiej wartości, na przykład pięciu minut. Trzeba to zrobić odpowiednio wcześnie, bo stary, długi TTL musi najpierw wygasnąć wszędzie. Obniżenie go godzinę przed przełączeniem niewiele daje.
Wstrzymaj zmiany treści
Gdy twoja ostateczna kopia jest gotowa, przestań wprowadzać zmiany na starej stronie. Na blogu wystarczy wstrzymać publikowanie. Sklep jest trudniejszy, bo zamówienia złożone na starym serwerze po wykonaniu ostatniej kopii bazy nie pojawią się na nowym. W przypadku sklepów, serwisów z członkostwem i forów zaplanuj krótkie okno serwisowe, zrób ostateczną kopię bazy na jego początku i unikaj zamówień w tym czasie. Potem wykonaj końcową synchronizację plików i bazy na nowym hostingu i zrób ostatni szybki test.
Przełącz rekordy
Masz dwa sposoby, by skierować domenę na nowy hosting.
- Zmień rekord A (oraz AAAA, jeśli jest używany) u obecnego dostawcy DNS, aby wskazywał na adres IP nowego serwera. Reszta twojego DNS, w tym poczta, pozostaje bez zmian. Dla większości osób to bezpieczniejsza opcja.
- Zmień serwery nazw u rejestratora, aby cały DNS przejął nowy hosting. To rozwiązanie jest uporządkowane, ale zrób to dopiero po odtworzeniu na nowym hostingu każdego rekordu z twojej listy, zwłaszcza rekordów MX i TXT. Brakujące rekordy to zwykła przyczyna utraty poczty po przeprowadzce.
Ile naprawdę trwa propagacja
Często mówi się, że DNS potrzebuje do 48 godzin, ale to raczej nawyk oparty na najgorszym scenariuszu niż reguła. Nic tak naprawdę nie rozchodzi się od twojego dostawcy DNS. Tysiące resolverów na świecie przechowuje własną odpowiedź w pamięci podręcznej i odświeża ją dopiero po upływie swojego czasu. Przy krótkim TTL ustawionym z wyprzedzeniem większość odwiedzających trafia na nowy serwer w ciągu kilku minut do kilku godzin. Zmiany serwerów nazw mogą trwać dłużej, bo na poziomie rejestru działa własna pamięć podręczna, a niektórzy dostawcy internetu trzymają odpowiedzi dłużej, niż powinni. Dlatego stary hosting musi działać przez cały okres przejściowy. Jedni zobaczą starą stronę, inni nową, i obie muszą działać.
Postęp możesz sprawdzać publicznymi narzędziami do sprawdzania DNS, które pytają wiele lokalizacji, albo poleceniem w wierszu poleceń na własnym komputerze. Pamiętaj, że twój komputer i router też zapamiętują odpowiedzi, więc test z telefonu na danych mobilnych może dać przydatną drugą opinię.
Zadbaj o pocztę, SSL i adresy URL
Poczta i rekordy MX
Poczta to część najczęściej zapominana. Najpierw ustal, gdzie jest twoja poczta. Jeśli jest hostowana u obecnego dostawcy strony, musisz przenieść także skrzynki, razem z zapisanymi wiadomościami. Utwórz te same skrzynki na nowym hostingu, a potem skopiuj starą pocztę narzędziem do transferu IMAP albo dodając oba konta do programu pocztowego i przeciągając foldery. Wysyłaj i odbieraj pocztę na starym serwerze, dopóki kopiowanie się nie zakończy.
Rekordy MX mówią światu, gdzie dostarczać twoją pocztę. Jeśli zmienisz tylko rekord A, MX pozostaje nietknięty, a poczta nadal trafia tam, gdzie dziś. Jeśli zmieniasz serwery nazw, skopiuj dokładnie rekordy MX oraz rekordy TXT SPF, DKIM i DMARC, które pomagają twoim wiadomościom omijać foldery ze spamem. Jeśli twoja poczta jest u osobnego dostawcy, nie ruszaj jego rekordów w ogóle. W razie wątpliwości wyślij wiadomości testowe w obu kierunkach tego samego dnia.
Certyfikaty SSL
Bezpieczna kłódka wymaga ważnego certyfikatu na nowym serwerze. Większość hostingów może wystawić bezpłatny certyfikat automatycznie, ale zwykle potrzebuje, by domena już na nie wskazywała, więc wystawienie może się udać dopiero po przełączeniu DNS. Zaplanuj krótkie okno i wyślij żądanie, gdy tylko rekordy się zmienią. Niektórzy dostawcy pozwalają zainstalować certyfikat wcześniej, co pozwala uniknąć luki. Po jego aktywacji sprawdź, czy każda strona ładuje się przez HTTPS bez ostrzeżeń o mieszanej zawartości i czy adresy HTTP przekierowują na HTTPS.
Przekierowania i adresy URL
Staraj się, by adresy URL pozostały takie same. Jeśli adres jakiejś strony się zmienia, dodaj stałe przekierowanie ze starego adresu na nowy, aby odwiedzający i wyszukiwarki za nim podążyli. Przenieś swoje reguły przekierowań, które często znajdują się w ukrytym pliku .htaccess albo w konfiguracji serwera. Sprawdź też, czy preferowana wersja domeny, z www lub bez, zachowuje się tak jak wcześniej. Jeśli zmieniasz także samą nazwę domeny, to osobny projekt, który zasługuje na własny plan.
Obserwuj stronę po przełączeniu i miej plan awaryjnego powrotu
Przez pierwsze kilka dni uważnie obserwuj stronę. Regularnie ładuj kluczowe podstrony, testuj formularze i zamówienia oraz przeglądaj dzienniki błędów serwera. Jeśli jeszcze go nie masz, ustaw bezpłatny monitoring dostępności. Sprawdź, czy zaplanowane zadania działają, bo o cronach łatwo zapomnieć. W WordPressie upewnij się, że zaplanowane wpisy się publikują, a wtyczki kopii zapasowych działają. Utwórz kopie zapasowe na nowym hostingu i sprawdź, czy narzędzia analityczne i Search Console nadal pokazują dane.
Twój plan awaryjnego powrotu jest prosty, bo się do niego przygotowałeś. Stara strona nadal działa, a oryginalne rekordy DNS są zapisane. Jeśli coś poważnego się zepsuje i nie da się tego szybko naprawić, zmień rekordy z powrotem na stare wartości. Dzięki krótkiemu TTL odwrócenie zmiany również rozchodzi się szybko. Ustal z góry, co uznajesz za poważny problem, na przykład niedziałające zamówienia albo niedochodzącą pocztę, żeby nie debatować o tym w stresie.
Zachowaj stary plan na krótki okres równoległy, zwykle od jednego do dwóch tygodni, a dłużej, jeśli nie masz pewności co do poczty albo masz miesięczny cykl rozliczeniowy. Nie rezygnuj z niego tego samego dnia. Zanim to zrobisz, wykonaj ostatnią kopię zapasową, upewnij się, że nie została na nim żadna poczta, i sprawdź, czy nic, na przykład subdomena albo mały projekt poboczny, nadal od niego nie zależy. Sprawdź też, czy rejestracja domeny nie była dołączona do starego planu, żeby jej przypadkiem nie stracić.
Częste błędy i kiedy poprosić o pomoc
- Zapomnienie o poczcie. Poczta przestaje działać, bo nie skopiowano rekordów MX lub TXT.
- Pozostawienie wysokiego TTL. Przełączenie ciągnie się wtedy godzinami lub dniami.
- Pominięcie testów. Problemy wychodzą na jaw przed klientami, a nie prywatnie.
- Zbyt wczesna rezygnacja ze starego planu. Tracisz siatkę bezpieczeństwa, gdy DNS się jeszcze ustala.
- Edytowanie obu kopii. Treści dodane na starej stronie podczas przenosin przepadają.
- Brak zapisanych rekordów DNS. Nie odtworzysz tego, czego nie zapisałeś.
- Ignorowanie wersji PHP i oprogramowania. Stara wtyczka może nie działać na nowszej wersji serwera.
Wielu dostawców hostingu oferuje bezpłatną usługę migracji, zwykle dla nowych klientów przenoszących standardową stronę. Warto z niej skorzystać przy prostych stronach WordPress, bo oszczędza czas, a specjaliści robili to już wiele razy. Najpierw zadaj kilka pytań. Czy obejmuje pliki, bazy danych i pocztę? Ile stron lub skrzynek jest w cenie? Czy przetestują stronę przed przełączeniem i czy dostaniesz podgląd? Czy stara strona zostanie nietknięta? Kto zajmuje się DNS i co się stanie, jeśli coś pójdzie nie tak? Czy są limity rozmiaru, własnego kodu lub konkretnych aplikacji? Odpowiedzi uzyskaj na piśmie, jeśli to możliwe.
Rozważ płatną pomoc profesjonalisty, jeśli prowadzisz sklep z bieżącymi zamówieniami, system członkostwa lub rezerwacji, dużą bazę danych, własny kod, którego nikt w twoim zespole nie pisał, albo skomplikowaną konfigurację poczty. Freelancer lub agencja mogą być też rozsądnym wyborem, gdy przestój kosztowałby cię więcej niż ich honorarium. Nawet jeśli kogoś zatrudnisz, zachowaj własną listę i kopie zapasowe oraz kontrolę nad kontem domeny.
Przykładowy harmonogram migracji
- Tydzień wcześniej: Zdecyduj o przeprowadzce, wybierz nowy hosting i uzupełnij listę plików, baz danych, poczty, zadań cron, DNS i SSL.
- Trzy do pięciu dni wcześniej: Wyeksportuj strefę DNS, wykonaj pełne kopie zapasowe i sprawdź, czy da się je przywrócić.
- Trzy dni wcześniej: Obniż TTL najważniejszych rekordów DNS do kilku minut.
- Dwa dni wcześniej: Skonfiguruj nowy hosting, skopiuj pliki i bazę danych oraz zaktualizuj konfigurację.
- Dzień wcześniej: Przetestuj stronę przez plik hosts lub tymczasowy adres URL i napraw problemy.
- Dzień przełączenia, początek: Wstrzymaj zmiany treści, wykonaj końcową synchronizację plików i bazy oraz zrób szybki test.
- Dzień przełączenia, środek: Zaktualizuj rekord A lub serwery nazw, a potem zamów certyfikat SSL.
- Tego samego dnia: Sprawdź, czy poczta nadal działa w obu kierunkach, oraz potwierdź działanie HTTPS i przekierowań.
- Dni od pierwszego do trzeciego: Monitoruj dostępność, dzienniki, formularze, zadania cron i analitykę. Odblokuj zmiany treści, gdy nabierzesz pewności.
- Dni od siódmego do czternastego: Wykonaj ostatnią kopię ze starego planu, upewnij się, że nic od niego nie zależy, i zrezygnuj z niego. Przywróć TTL do normalnej wartości.
Lista kontrolna przed i po przełączeniu
Przed przełączeniem
- Spisana lista: pliki, bazy danych, poczta, zadania cron, rekordy DNS, SSL.
- Strefa DNS wyeksportowana i zapisana poza starym hostingiem.
- Pełne kopie zapasowe wykonane, zapisane w dwóch miejscach i przetestowane przez przywrócenie.
- TTL obniżony co najmniej dwa dni przed przełączeniem.
- Nowy hosting skonfigurowany z taką samą lub zgodną wersją PHP.
- Pliki i baza danych skopiowane, konfiguracja zaktualizowana.
- Strona przetestowana przez plik hosts lub tymczasowy adres URL, w tym formularze i logowania.
- Plan dla poczty ustalony, skrzynki utworzone, stare wiadomości skopiowane.
- Wstrzymanie zmian treści zaplanowane i zakomunikowane wszystkim, którzy edytują stronę.
- Plan awaryjnego powrotu spisany, z oryginalnymi wartościami DNS pod ręką.
Po przełączeniu
- Domena ładuje się z nowego serwera w kilku sieciach i na kilku urządzeniach.
- HTTPS działa na każdej stronie, a HTTP przekierowuje na HTTPS.
- Poczta wysyła i odbiera, a rekordy SPF, DKIM i DMARC są na miejscu.
- Formularze, zamówienia, wyszukiwarka i logowania działają.
- Przekierowania i preferencja www lub bez www zachowują się jak wcześniej.
- Zadania cron i zaplanowane zadania działają.
- Monitoring dostępności i kopie zapasowe są aktywne na nowym hostingu.
- TTL ponownie podniesiony, gdy wszystko jest stabilne.
- Stary plan zachowany na jeden do dwóch tygodni, a potem anulowany po ostatniej kopii zapasowej.
Uwaga w kwestii przejrzystości: DealPortal może otrzymać prowizję, jeśli dokonasz zakupu przez niektóre linki na naszej stronie, a to nie zmienia ceny, którą płacisz, ani porad, których udzielamy.
Najważniejsze wnioski
- Najpierw zbuduj i przetestuj nową kopię prywatnie, używając pliku hosts lub tymczasowego adresu URL, podczas gdy stara strona nadal działa.
- Obniż TTL w DNS co najmniej dwa dni wcześniej i zapisz kopię każdego rekordu DNS, zanim cokolwiek zmienisz.
- Traktuj pocztę jako osobne zadanie: przenieś skrzynki, skopiuj rekordy MX, SPF, DKIM i DMARC oraz przetestuj w obu kierunkach.
- Propagacja jest zwykle szybka przy krótkim TTL, ale część odwiedzających przez jakiś czas zobaczy starą stronę, więc nigdy nie wyłączaj starej zbyt wcześnie.
- Zachowaj stary plan na jeden do dwóch tygodni i miej gotowy spisany plan awaryjnego powrotu.
- Skorzystaj z bezpłatnej usługi migracji przy prostych stronach, a profesjonalistę zatrudnij do sklepów, własnego kodu lub wszystkiego, gdzie przestój jest kosztowny.