Przygotowanie przed zmianą hostingu WooCommerce
Sprawdzenie nowego serwera i integracji
Zanim skopiujesz sklep, upewnij się, że nowy serwer spełnia wymagania WooCommerce opisane w dokumentacji i ma tę samą lub nowszą wersję PHP niż obecny, sprawdzoną z Twoimi wtyczkami. Porównaj limity pamięci i czasu wykonania, bo import dużej bazy potrafi trwać. Spisz też integracje, które łączą się ze sklepem z zewnątrz: bramki płatności, systemy magazynowe, hurtownie, kurierów, Base. Jeśli któraś z nich wpuszcza połączenia tylko z określonych adresów IP, nowy adres serwera trzeba dopisać przed przełączeniem.
Obniżenie TTL rekordów DNS
TTL to czas, przez jaki serwery DNS na świecie przechowują informację o adresie Twojej domeny. Jeśli wynosi wiele godzin, część klientów jeszcze długo po zmianie trafia na stary serwer. Dokumentacja WooCommerce dotycząca migracji zaleca ustawienie niskiego TTL, np. 300 sekund, czyli 5 minut, żeby zmiany w DNS szybciej zaczęły działać. Zrób to z wyprzedzeniem, co najmniej o tyle, ile wynosi obecny TTL, bo stara wartość musi najpierw wygasnąć.
Kopia zapasowa poza starym serwerem
Pełna kopia plików i bazy danych to punkt wyjścia i plan awaryjny. Dokumentacja WooCommerce o eksporcie bazy danych przypomina, że eksport bazy nie obejmuje przesłanych plików, motywów ani wtyczek, więc trzeba je skopiować osobno. Zaleca też sprawdzenie kopii przez import do osobnej bazy i kontrolę, czy dane są kompletne. Sam wpis o zakończeniu w pliku SQL nie dowodzi, że kopię da się przywrócić. Więcej o kopiach i zabezpieczeniach sklepu piszemy w liście kontrolnej, jak zabezpieczyć sklep WooCommerce.
Poczta e-mail i pozostałe rekordy domeny
Przy zmianie hostingu łatwo skupić się na stronie i zapomnieć o poczcie. Jeśli skrzynki firmowe działają u dotychczasowego dostawcy, a domena korzysta z jego serwerów DNS, przeniesienie strefy DNS bez rekordów MX może wyłączyć pocztę. Zanim cokolwiek zmienisz, zrób listę wszystkich rekordów domeny: A, CNAME, MX oraz rekordów tekstowych, w tym tych, które potwierdzają domenę w narzędziach Google czy u operatorów wysyłki e-maili. Jeśli zmieniasz tylko rekord A, a reszta zostaje bez zmian, ryzyko jest znacznie mniejsze.
Gdy razem z hostingiem zmieniasz domenę
Ten plan zakłada, że domena zostaje ta sama. Jeśli przy okazji zmieniasz adres sklepu, dokumentacja WordPressa opisuje osobną procedurę: zmianę adresów w ustawieniach ogólnych, ponowny eksport bazy i plików oraz zamianę adresów narzędziem, które nie psuje danych serializowanych. Przy sklepie dochodzą przekierowania 301 ze starej domeny i aktualizacja adresów w integracjach. Dokumentacja WooCommerce Subscriptions przypomina też, że zmiana adresu przełącza wtyczkę w tryb testowy, w którym odnowienia są ręczne, dopóki nie włączysz ponownie automatycznych płatności.
Test sklepu na nowym serwerze przed przełączeniem DNS
Kopię sklepu na nowym serwerze trzeba sprawdzić, zanim zobaczą ją klienci. Najprościej zrobić to bez zmiany adresów w bazie: na swoim komputerze tymczasowo kierujesz domenę na nowy adres IP, np. przez plik hosts, i przeglądasz sklep tak, jakby już działał na nowym serwerze. Dokumentacja WordPressa opisuje też tymczasową zmianę adresów witryny w ustawieniach bazy na czas testów.
Jeśli jednak musisz zmienić adresy w bazie, np. na adres tymczasowy, rób to ostrożnie. Dokumentacja WordPressa ostrzega, że zamiana tekstu w całej bazie może uszkodzić dane serializowane, w których zapisana jest długość tekstu. Zaleca narzędzia, które to uwzględniają, np. wtyczkę Better Search Replace albo polecenie search-replace w WP-CLI, i przestrzega przed zmianą kolumny GUID we wpisach. Co sprawdzić w testach:
| Obszar | Co sprawdzić | Na co uważać |
|---|
| Koszyk i zamówienie | Dodanie do koszyka, kupon, wybór dostawy, złożenie zamówienia | Pamięć podręczna nie może obejmować koszyka, zamówienia i konta klienta |
| Płatności | Płatność w trybie testowym i powrót do sklepu | Na kopii nie przyjmuj prawdziwych płatności |
| E-maile | Potwierdzenie zamówienia i e-maile do sklepu | Kopia nie powinna wysyłać wiadomości do prawdziwych klientów |
| Integracje | Połączenie z Base, Allegro, kurierami i księgowością | Na kopii wyłącz synchronizacje, żeby nie dublować zamówień i stanów |
| Zadania w tle | Lista zaplanowanych akcji (Scheduled Actions) w WooCommerce | Zadania, które stoją lub kończą się błędami |
| Wydajność | Czas ładowania kategorii, produktu i zamówienia | Porównaj z obecnym serwerem w podobnych godzinach |
[#uwaga] Kopia sklepu z tą samą domeną to pełnoprawny sklep: może wysyłać e-maile, synchronizować stany i pobierać płatności. Dokumentacja WooCommerce Subscriptions ostrzega, że po przeniesieniu bazy na nowy serwer z tą samą domeną wtyczka nie przechodzi w tryb testowy (staging), więc odnowienia mogą zostać obciążone podwójnie. Zaleca wtedy zmianę adresu kopii albo wyłączenie domyślnego mechanizmu uruchamiania kolejki Action Scheduler na czas testów.
Przełączenie DNS bez utraty zamówień
Okno migracji wybierz na godziny najmniejszego ruchu, które znasz z raportów sprzedaży, i nie planuj go na dni promocji. Uprzedź klientów komunikatem na stronie, a zespół o tym, że przez chwilę nie będzie nowych zamówień. Kolejność w samym oknie:
wstrzymaj przyjmowanie zamówień, np. trybem serwisowym albo ustawieniem widoczności sklepu WooCommerce „Coming soon” z ograniczeniem do stron sklepu,
wstrzymaj synchronizacje z Base, Allegro i hurtowniami, żeby nie zmieniały stanów w trakcie przenosin,
wyeksportuj aktualną bazę danych ze starego serwera i zaimportuj ją na nowy, razem z plikami dodanymi od pierwszej kopii,
zmień rekord A domeny na adres IP nowego serwera i sprawdź rekord www,
sprawdź na nowym serwerze koszyk, zamówienie testowe i certyfikat SSL,
włącz z powrotem zamówienia i synchronizacje, a na starym serwerze zostaw wstrzymany sklep.
Jeśli coś pójdzie nie tak, plan awaryjny jest prosty: przywracasz poprzedni rekord A, a sklep na starym serwerze włączasz z powrotem. Dlatego do czasu zakończenia kontroli nie usuwaj niczego na starym hostingu i nie zmieniaj tam bazy danych. Decyzję o powrocie podejmij szybko, zanim nowy serwer zbierze zamówienia, które trzeba by przenosić z powrotem.
Jak długo trwa przerwa, zależy głównie od wielkości bazy danych i przygotowania. Większość czasu przy migracji bez planu idzie na rzeczy, które można zrobić wcześniej, np. kopiowanie zdjęć i konfigurację serwera. Pokazuje to poniższy przykład:
[#chart:woo73b]
Kontrola po migracji sklepu WooCommerce
Przez pierwsze dni po przełączeniu część klientów może jeszcze trafiać na stary serwer, bo ich dostawca internetu przechowuje stary adres. Dlatego na starym hostingu nie wyłączaj od razu wszystkiego, ale zostaw sklep wstrzymany, tak żeby nie dało się tam złożyć zamówienia. Codziennie sprawdzaj, czy nie pojawiło się tam nic nowego. Dopiero gdy masz pewność, że cały ruch idzie na nowy serwer, wyłącz stary hosting i usuń z niego dane klientów. Najczęstsze problemy po migracji i ich poprawki:
[#chart:woo73c]
Przez pierwszy tydzień porównuj też liczbę zamówień, ruch i czas ładowania stron z danymi sprzed migracji. Nagły spadek zamówień przy podobnym ruchu zwykle oznacza problem w koszyku, płatnościach lub pamięci podręcznej, a nie gorszy dzień sprzedaży. Lepiej wyłapać go w pierwszej dobie niż po tygodniu.
Po migracji sprawdź też zadania w tle i cron. Jeśli na starym serwerze WP-Cron był uruchamiany przez cron systemowy, ustaw to samo na nowym, bo inaczej e-maile, synchronizacje i porządkowanie danych mogą czekać na ruch na stronie. Jak dobrać serwer, który udźwignie sklep, opisujemy w tekście hosting dla WooCommerce - współdzielony, VPS czy managed.
Jak Vinson pomaga przenieść sklep WooCommerce na nowy hosting
W Vinson budujemy i rozwijamy sklepy na WooCommerce oraz integrujemy je z Allegro i Base. Przy zmianie hostingu najważniejsze są dla nas zamówienia i integracje, bo to one decydują, czy sklep po migracji sprzedaje tak jak wcześniej. W praktyce:
sprawdzamy nowy serwer pod kątem wymagań WooCommerce i wtyczek sklepu,
przygotowujemy kopię sklepu na nowym hostingu i testujemy ją bez wpływu na klientów,
planujemy okno migracji, przenosimy aktualne dane i przełączamy DNS,
kontrolujemy płatności, e-maile, zadania w tle i synchronizacje z Base i Allegro po migracji.
Więcej o naszej pracy przeczytasz na stronie sklepy na WooCommerce z Vinson.
Najczęściej zadawane pytania
Jak przenieść sklep WooCommerce na inny hosting?
Skopiuj pliki WordPressa i bazę danych na nowy serwer, uruchom tam sklep i przetestuj go, zanim zmienisz DNS. W oknie małego ruchu wstrzymaj zamówienia, przenieś aktualną bazę, zmień rekord A domeny i sprawdź zamówienie testowe, płatności oraz integracje.
Czy przy zmianie hostingu trzeba instalować WordPressa od nowa?
Nie. Dokumentacja WordPressa opisuje przeniesienie witryny przez skopiowanie plików i bazy danych. Gdy na nowym serwerze baza ma inną nazwę lub użytkownika, zmieniasz dane dostępu w pliku wp-config.php.
Jak nie stracić zamówień przy migracji sklepu?
Na czas przeniesienia aktualnej bazy danych wstrzymaj przyjmowanie zamówień i synchronizacje. Po przełączeniu DNS zostaw sklep na starym serwerze wstrzymany i przez kilka dni sprawdzaj, czy nie trafiły tam nowe zamówienia.
Ile trwa zmiana DNS przy przenosinach sklepu?
Zależy to od wartości TTL rekordów domeny. Dokumentacja WooCommerce zaleca ustawienie niskiego TTL, np. 300 sekund, żeby zmiana szybciej zaczęła działać. Obniż TTL z wyprzedzeniem, bo poprzednia wartość musi najpierw wygasnąć.
Czy zmiana hostingu wpływa na pozycje sklepu w Google?
Jeśli domena i adresy URL zostają takie same, migracja nie zmienia adresów stron sklepu. Ważne jest, by sklep nie był długo niedostępny, miał działający certyfikat SSL i nie zwalniał na nowym serwerze. Po migracji sprawdź w Google Search Console, czy nie pojawiły się nowe błędy.
Dobrze zaplanowane przeniesienie sklepu WooCommerce na nowy hosting to kilka spokojnych dni przygotowań i krótkie okno przełączenia, a nie nerwowa noc i zgubione zamówienia. Jeśli chcesz zmienić serwer sklepu bez ryzyka dla sprzedaży i integracji, sprawdź sklep na WooCommerce z Vinson.