Przejdź do treści

Ustawienia cookies

Poniżej wypisujemy nazwa po nazwie, co ta strona zapisuje w Twojej przeglądarce. Możesz tu wrócić w każdej chwili; odnośnik „Ustawienia cookies” stoi w stopce każdej strony.

Polityka prywatności §7
isbre
Blog

Migracja WordPressa na nowy hosting bez przerwy w działaniu: kolejność kroków, TTL, test przed DNS

Kopia, test pod prawdziwą domeną przez plik hosts, synchronizacja, dopiero potem DNS. Co z TTL, certyfikatem i pocztą, kiedy wyłączyć stary hosting.

· Zespół Isbre

  • WordPress
  • migracja
  • DNS
  • WooCommerce

Przeniesienie WordPressa psuje się prawie zawsze w tym samym miejscu: ktoś zmienia DNS, zanim nowa kopia została sprawdzona, i przez kilka godzin część odwiedzających widzi starą stronę, część nową, a sklep przyjmuje zamówienia w dwóch bazach naraz. Da się tego uniknąć jedną zasadą: DNS przełączasz na końcu, po teście, a nie na początku. Reszta tego wpisu to ta zasada rozpisana na kroki, razem z tym, co robimy za Ciebie, gdy zaznaczysz migrację w zamówieniu.

Zasada: kopia, test, synchronizacja, DNS

Kolejność, która działa dla wizytówki, bloga i sklepu:

  1. kopia plików i bazy, gdy stara strona normalnie działa,
  2. uruchomienie kopii na nowym serwerze i test pod prawdziwą domeną, bez ruszania DNS,
  3. krótszy czas życia rekordów DNS, jeśli masz na to wpływ,
  4. uzupełnienie tego, co zmieniło się od pierwszej kopii (zamówienia, komentarze, media),
  5. przełączenie DNS,
  6. certyfikat, sprawdzenie strony i poczty, dopiero potem wyłączenie starego hostingu.

Każdy z tych kroków da się wykonać samodzielnie na dowolnym hostingu. U nas kroki 1, 2, 4 i 6 wykonujemy za Ciebie w cenie pakietu; krok 3 i 5 zależą od tego, kto prowadzi DNS Twojej domeny, i o tym jest osobna sekcja.

Krok 1: kopia plików i bazy, gdy stara strona działa

WordPress to trzy rzeczy: katalog z plikami (rdzeń, motyw, wtyczki, wp-content/uploads), baza danych i plik wp-config.php, który je łączy. Kopię wszystkich trzech robisz z działającej strony, bez przerwy dla odwiedzających. Pliki idą przez SFTP albo rsync, baza przez zrzut:

# na starym hostingu (albo przez WP-CLI, jeśli jest)
wp db export kopia.sql
# bez WP-CLI: mysqldump z danymi z wp-config.php
mysqldump -u UZYTKOWNIK -p NAZWA_BAZY > kopia.sql

Jedna rzecz, o której zapomina się najczęściej: wp-content/uploads bywa większe niż cała reszta razem wzięta. Kilka lat zdjęć w sklepie to gigabajty. Sprawdź rozmiar, zanim wybierzesz pakiet. Start ma 10 GB dysku i przy stronie z historią to bywa za mało; przy migracji naturalnym wyborem jest Standard (25 GB) albo wyżej. Nie wiesz, ile zajmujesz? Napisz przed zamówieniem, policzymy to razem.

Gdy zaznaczysz migrację w koszyku, ten krok robimy my. Potrzebujemy dostępu do obecnego hostingu (FTP, SFTP albo panel) i adresu strony; danych do logowania nie podajesz w formularzu, poprosimy o nie osobno.

Krok 2: uruchomienie kopii u nas i test pod prawdziwą domeną

Kopia wstaje na Twoim kontenerze: pliki w katalogu strony, baza odtworzona z zrzutu, nowe dane dostępowe podmienione w wp-config.php. Wersję PHP dobieramy do tej, na której strona działała u poprzedniego dostawcy, a podnosisz ją potem sam, osobno dla każdej domeny.

Adresu w bazie nie zmieniamy, bo domena zostaje ta sama. WordPress trzyma siteurl i home w bazie i przekierowuje na nie każde wejście, więc testowanie kopii pod innym adresem kończy się przekierowaniem na starą stronę. Test robi się inaczej: mówisz własnemu komputerowi, że domena wskazuje już na nowy serwer, a reszta świata nadal widzi starą. Służy do tego plik hosts:

# macOS i Linux: /etc/hosts, Windows: C:\Windows\System32\drivers\etc\hosts
# ADRES_IP to adres serwera, który dostaniesz od nas razem z potwierdzeniem kopii
ADRES_IP  twoja-domena.pl www.twoja-domena.pl

Po zapisaniu przeglądarka na Twoim komputerze otwiera twoja-domena.pl po HTTPS z naszego serwera. Przeklikaj to, co ważne: stronę główną, wpis z galerią, formularz kontaktowy, w sklepie koszyk i checkout w trybie testowym płatności. Przeglądarka pokaże w tym czasie ostrzeżenie o certyfikacie, bo prawdziwy certyfikat da się wystawić dopiero, gdy domena naprawdę wskazuje na nas; na czas testu to ostrzeżenie zaakceptuj. Po teście usuń wpis z hosts, inaczej będziesz oglądać nową stronę także wtedy, gdy DNS jeszcze prowadzi do starej.

My sprawdzamy kopię po swojej stronie tak samo, zanim cokolwiek się przełączy.

Krok 3: TTL, czyli ile internet pamięta stary adres

Każdy rekord DNS ma czas życia (TTL). Serwery nazw na świecie trzymają stary adres tak długo, jak mówi TTL, więc przy typowej godzinie część odwiedzających trafia na stary serwer jeszcze długo po przełączeniu. Krótszy TTL ustawiony na dobę przed zmianą sprawia, że zmiana adresu rozchodzi się szybciej. Kto może go zmienić, zależy od tego, kto prowadzi strefę DNS domeny.

Jeżeli DNS Twojej domeny prowadzimy my (domena kupiona u nas albo już wskazana na Twoją parę serwerów nazw z panelu), na dobę przed przełączeniem włącz w panelu tryb przeprowadzki: czas życia rekordów A schodzi do 300 sekund na 48 godzin, a po 48 godzinach wartość wraca do poprzedniej sama. Znajdziesz go w kafelku Domeny, przy DNS domeny.

Jeżeli strefa została u poprzedniego dostawcy, czas życia rekordów ustawia on. Nie skrócimy go za niego i nie znamy jego wartości, więc czasu przepięcia nie obiecujemy. Zajrzyj do jego panelu DNS: zwykle da się ustawić TTL rekordu A samodzielnie, i zrób to dzień przed planowanym przełączeniem.

Część resolwerów trzyma stary adres dłużej, niż mówi TTL. To nie jest powód do paniki, tylko powód, żeby stary hosting został włączony jeszcze przez czas obserwacji (krok 6).

Krok 4: uzupełnienie zmian od pierwszej kopii

Między pierwszą kopią a przełączeniem strona żyje dalej: przychodzą zamówienia, komentarze, nowe zdjęcia. Pierwsza kopia ich nie ma. Przed przełączeniem trzeba je uzupełnić, i tu wizytówka różni się od sklepu.

  • Wizytówka, blog: wystarczy druga kopia bazy i katalogu uploads tuż przed przełączeniem, w oknie, gdy nie publikujesz nowych treści.
  • Sklep, forum, serwis z rejestracją: dane zmieniają się bez Twojego udziału. Masz dwa wyjścia: zatrzymać zapisy na czas synchronizacji (w WooCommerce tryb „sklep w przebudowie” albo zamknięcie checkoutu na kilkanaście minut) albo przenieść zmiany sprawdzonym sposobem, na przykład osobnym zrzutem tabel zamówień. Które wyjście wybrać, uzgadniamy przed pracą, bo zależy od tego, ile zamówień dziennie przyjmujesz.

Przenoszenie zamówień jest osobną czynnością od zmiany adresu w DNS. Kolejność jest zawsze taka sama: najpierw dane, potem DNS, nigdy odwrotnie.

Krok 5: przełączenie DNS

Dopiero teraz. Są dwie drogi i obie prowadzisz sam, w panelu rejestratora domeny.

DNS zostaje u dotychczasowego dostawcy. Zmieniasz rekord A (i AAAA, jeśli jest) na adres naszego serwera. Domenę potwierdzasz u nas jednorazowym rekordem TXT, który panel pokazuje na ekranie „Podepnij domenę”:

_isbre-verify.twoja-domena.pl   TXT   "isbre-verify=<żeton z panelu>"

Żeton jest ważny 30 dni, a raz zużyty nie wygasa.

DNS przechodzi do nas. Najpierw dodajesz domenę w panelu, potem u rejestratora wskazujesz obie nazwy z pary serwerów nazw, którą widzisz w panelu (k….ns1.isbre.pl i k….ns2.isbre.pl). Panel sprawdza delegację co 10 minut (możesz też kliknąć „Sprawdź teraz”), a gdy dowód jest, strefa startuje od naszego szablonu i dostajesz mail, że domena jest gotowa. Wpisy dla poczty z tej domeny są wtedy nasze, więc pocztę przenosisz razem ze stroną albo wcześniej, nigdy później.

Certyfikat Let’s Encrypt wystawiamy zaraz po przełączeniu: sprawdzenie idzie przez domenę, więc musi ona wskazywać już na nas. Do czasu wydania przeglądarka może pokazać ostrzeżenie o certyfikacie, a my przez pierwszą godzinę sprawdzamy co pięć minut, czy domena jest już u nas.

Krok 6: sprawdzenie, poczta i wyłączenie starego hostingu

Po zmianie DNS sprawdzamy HTTPS, stronę i pocztę. Stary hosting nie wyłączaj tego samego dnia. Dwa powody:

  • resolwery, które trzymają stary adres dłużej, niż mówi TTL, kierują część ruchu na stary serwer jeszcze przez jakiś czas;
  • poczta: część wiadomości może nadal trafiać do poprzedniego dostawcy. Ustalamy okres obserwacji i końcowe przeniesienie tych wiadomości. Skrzynki kopiujemy, jeśli zaznaczysz to w koszyku; potrzebujemy do nich haseł, bo bez dostępu do skrzynki jej zawartości nie da się skopiować, i nikt tego nie obejdzie.

Stary hosting i skrzynki wyłączasz po naszym potwierdzeniu odbioru danych, HTTPS oraz działania nowej usługi.

Co jest w cenie, a co wyceniamy osobno

Bezpłatnie przenosimy jedną stronę na standardowym WordPressie albo PHP wraz z pocztą z tej domeny. Rzeczy nietypowe (własna aplikacja, wiele serwisów, bardzo duże bazy) wyceniamy indywidualnie i ustalamy z Tobą przed pracą. W zamówieniu migracja widnieje jako osobna pozycja na 0,00 zł, bez opłaty aktywacyjnej.

Terminu w godzinach nie podajemy, bo nie mamy jednej liczby, która pasuje do każdej strony. Termin startu i okno przełączenia ustalamy z Tobą, gdy wiemy, co przenosimy. Migrację prowadzi człowiek po ustaleniu terminu, a nie kreator uruchamiany kliknięciem, dlatego w panelu nie ma przycisku „przenieś teraz”.

Lista kontrolna

  • rozmiar wp-content/uploads i bazy sprawdzony, pakiet dobrany do niego,
  • dostęp do starego hostingu (FTP, SFTP albo panel) przygotowany,
  • kopia przetestowana pod prawdziwą domeną przez plik hosts, wpis z hosts usunięty,
  • TTL rekordu A obniżony dzień wcześniej tam, gdzie masz na to wpływ,
  • dla sklepu: uzgodnione okno bez zamówień albo sposób przeniesienia zamówień,
  • DNS przełączony na końcu, po synchronizacji,
  • stary hosting i skrzynki włączone do końca okresu obserwacji.

Pełny opis tego, co obejmuje darmowa migracja, kolejność kroków i to, czego nie obiecujemy, stoi na stronie o migracji. Pytania przed zamówieniem: bok@isbre.pl.

Pytania do tego wpisu? Napisz na bok@isbre.pl. Wszystkie wpisy: blog.