Instrukcja jak krok po kroku przenieść WordPress i Woocommerce na inną domenę

28-07-2022 | 23:48
0
Technologie
Sklep komputerowy - gadżety, karty pamięci, kable i przewody, baterie, akumulatorki, myszki, podkładki pod myszkę i wiele innych gadżetów
Sklep komputerowy - gadżety, karty pamięci, kable i przewody, baterie, akumulatorki, myszki, podkładki pod myszkę i wiele innych gadżetów

Najczęściej czytane

To jest najbardziej pełna instrukcja z opisem jak bezpiecznie przenieść sklep internetowy oparty o WooCommerce i WordPress na inną domenę.
Instrukcja jak krok po kroku przenieść WordPress i Woocommerce na inną domenęJak przenieść Woocommerce na inną domenę?

Drogie czytelniczki i drodzy czytelnicy bloga informatycznego, przygotowałem specjalnie dla Was tę instrukcję przeniesienia sklepu internetowego, zbudowanego w oparciu o wtyczkę WooCommerce do systemu WordPress, na nową domenę. Szukałem w internecie pełnej instrukcji żeby nic nie przegapić przy przeniesieniu mojego sklepu na nową domenę, aż w końcu napisałem własną. Tę instrukcję wielokrotnie skrupulatnie poprawiałem, dodawałem nowe punkty, bo podczas przenoszenia mojego sklepu z domeny sklep.sd.info.pl na kompigsm.pl wychodziły nowe "kwiatki".

Spis Treści

W celu przeniesienia sklepu opartego o WooCommerce na inną domenę wykonaj następujące kroki (kliknij aby przejść do wybranego kroku):

Krok 1. Wyłącz reklamy.

Co takiego zrobić w pierwszej kolejności przy przeprowadzce sklepu WooCommerce na inną domenę? Co radzą inne instrukcję ))?

Otóż, w pierwszej kolejności wyłącz wszystkie reklamy sklepu - przynajmniej jeśli korzystasz z przeróżnych Google Ads, Facebook Ads i innych Ads. Chyba że chcesz żeby i stary i nowy sklep działały niezależnie od siebie i równolegle - wtedy zignoruj ten krok. Natomiast, w absolutnej większości wypadków w pierwszej kolejności trzeba wyłączyć reklamy żeby nie przepalać budżetu na przekierowanie odwiedzających do zablokowanego sklepu i dodatkowo nie zarąbać optymalizacji reklam, wyrobionej przez długie miesiące i gruby portfel.

Krok 2. Włącz tryb serwisowy (Under Construction).

Włącz w WordPress’ie tryb Under Construction czyli tryb prac serwisowych. To znaczy przed początkiem prac użytkownikom powinna się wyświetlać tylko strona z informacją o prowadzeniu prac serwisowych. Możliwość składania zamówień powinna zostać wyłączona na czas przeniesienia WooCommerce na nową domenę.

Tryb Under ConstructionTryb Under Construction

W celu włączenia trybu serwisowego w WordPress na czas przeniesienia WordPress i WoCoommerce na inną domenę można użyć dowolnej wtyczki z funkcją Under Construction.

Niestety, te najbardziej wypromowane (które WordPress podświetla na liście wtyczek jako pierwsze) mają gdzieś Twoją prywatność (czyli prywatność Twoich klientów) i chamsko kradną statystyki Twojego sklepu, więc trzeba uważać którą wtyczkę wybrać. Wtyczka nie powinna zaciągać żadnych obrazów, czcionek, plików CSS lub innych z zewnętrznych zasobów. Najlepiej taka wtyczka która nie dokłada nic swojego, tylko pozwala wpisać surowy tekst lub nawet kod HTML i go wyświetla użytkownikom jako wiadomość o trwających pracach serwisowych.

Krok 3. Wyłącz wszystkie automatyczne importy danych.

Jeśli używasz wtyczek lub innych mechanizmów do importu danych z hurtowni - powstrzymaj wszystkie synchronizacje na czas przeniesienia WooCommerce na nową domenę. Chodzi o to żeby uniknąć sytuacji kiedy w trakcie tworzenia kopii zapasowej uruchomi się jakaś synchronizacja. To potrafi rozwalić spójność danych o produktach w sklepie WooCommerce, a odkręcenie tego czasem może być zbyt czasochłonne albo kosztowne (jeśli nie wykonujesz tego sam lub sama).

Jeśli nie masz żadnych automatycznych synchronizacji - pomiń ten krok.

Krok 4. Wyłącz optymalizacje i cache’owanie.

Jeśli masz w swoim WordPressie jakiekolwiek wtyczki do optymalizacji CSS, JavaScript i HTML oraz do cache’owania - wyłącz je zanim zaczniesz przenosić sklep na inną domenę.

Krok 5. Usuń wszystkie stare wersje publikacji (stron i postów) w WordPress.

W pierwszej wersji tej instrukcji nie było tego punktu. Przy przenoszeniu mojego sklepu na WooCommerce na inną domenę, ze trzy dni spędziłem na wykonanie kroku 10 i zrobiłem ze 20% zamian, aż rozkminiłem że coś jest nie tak. Zacząłem zastanawiać się o co chodzi - skąd mam tysiące wystąpień nazwy sklepu? No i okazało się że WordPres który jest, przede wszystkim, platformą blogową, przechowuje wiele wersji każdego postu. Na przykład, u mnie regulamin miał 30 wersji wstecz:

Stare wersje publikacji w WordPressStare wersje publikacji w WordPress

i wszystkie 30 są zapisane w bazie danych, więc jeśli nazwa sklepu w regulaminie jest powtarzana 50 razy, no to mamy 50 x 30 = 1500 powtórzeń w jednym tylko regulaminie. Otóż, wróciłem do tego miejsca (czyli krok 5, którego wcześniej nie było w tej instrukcji) i zrobiłem wszystko od nowa.

W celu usunięcia starych wersji postów w WordPress, można zainstalować wtyczkę która to wykonuje (jest tego sporo - kategoria optymalizacja, cache’owanie itd), a można wykonać następujące zapytanie w bazie danych:

 DELETE FROM wp_posts WHERE post_type = "revision"; 
UWAGA!
Jeśli nie rozumiesz o co chodzi z zapytaniami SQL – lepiej nie ryzykuj, wyczyść stare kopie tekstów za pomocą wtyczki.

Ja wykonałem to zapytanie za pośrednictwem PHPMyAdmin:

PHPMyAdminPHPMyAdmin

Jak widać, u mnie usunęło 285 kopii starych wersji postów.

Po usunięciu, w panelu admina WordPress nie ma już w ogóle informacji o starych wersjach tekstów:

Brak starych kopiiBrak starych kopii

Krok 6. Zrób kopię zapasową plików WordPress i WooCommerce.

Zrób pełny BackUp, czyli kopię zapasową (najpierw wszystkich plików Twojego sklepu). Skopiuj totalnie wszystko co masz na serwerze lub hostingu w folderze ze sklepem. Użyj do tego FTP albo konsoli SSH (albo konsoli SSH i FTP).

A przy okazji, tak szczerze, czy robisz regularne backup’y Twojego sklepu? Masz kopię zapasową z wczoraj, przedwczoraj, z przed tygodnia, miesiąca?.. Jeśli coś pieprznie na serwerze lub na hostingu - będziesz w stanie szybciutko odtworzyć sklep na innym hostingu lub serwerze? Otóż, przy okazji przeniesienia WordPress’a na inną domenę, warto zrobić pełen backup (pliki + baza danych + ustawienia systemowe jeśli to osobny serwer) systemu i zachomikować go w trzech różnych miejscach, żeby w razie czego móc odtworzyć system.

Nawet jeśli sklep dalej będzie na tym samym hostingu lub serwerze - koniecznie skopiuj backup przynajmniej na roboczy komputer i na zewnętrzny nośnik (USB HDD).

Krok 7. Zrób kopię zapasową bazy danych WordPress.

Do zrobienia kopii zapasowej bazy danych przy przenoszeniu sklepu na WooCommerce na inną domenę najlepiej użyć konsoli SSH. Albo, chociażby, PHPMyAdmin. Jeśli masz sklep na hostingu (nie własny serwer dedykowany, nie VPS) to większość hostingodawców udostępnia narzędzia do robienia backup’ów baz danych, można skorzystać z tych, właśnie, narzędzi, bo jest dużo lepsza opcja niż robienie backup’u bazy za pośrednictwem PHPMyAdmin.

Powinno się wyeksportować plik SQL. Jeśli dostaniesz kopię w formacie ZIP - wyeksportuj pliki, w środku powinien być plik (jeden lub kilka) z rozszerzeniem sql. Też skopiuj go razy trzy do trzech różnych miejsc.

Krok 8. Skopiuj backup’y do roboczego foldera.

Teraz jak już masz backup plików i bazy danych sklepu, skopiuj je jeszcze raz do roboczego foldera (w tym celu stwórz dowolny folder na komputerze - to tam będziemy działać). Warto pilnować żeby zawsze pozostawało się kilka niedotkniętych kopii sklepu, żeby móc odtworzyć przynajmniej starą wersję w wypadku jeśli coś pójdzie nie tak.

Krok 9. Zmień wszystkie wystąpienia starej domeny w bazie danych.

UWAGA!
Dalej działamy tylko w roboczym folderze ze świeżo sklonowanym backup’em sklepu.

Jeśli sklep jest stosunkowo nowy, jeśli nie ma w bazie danych jakiejś ważnej historii, to wszystkie tabelki z logami, przeróżnymi dziennikami zdarzeń itd, warto wyczyścić, ponieważ na nowej domenie to i tak nie będzie miało za wiele sensu, a mocno uprości nam zamianę wystąpień domeny w bazie danych.

Do wykonania tego kroku będzie nam potrzebny edytor tekstowy (notatnik komputerowy) który potrafi edytować duże pliki (zakładam że masz dużą bazę danych Twojego sklepu) i nie zniekształca tekstu. Ja używam edytora Geany na Linux’ie. Jeśli masz komputer z Windowsem lub Mac OS - teoretycznie Notepad++ da radę. Ogólnie, i Geany i Notepad++ są i dla Windowsa i dla Mac’a, więc można je wykorzystać. Większość podobnych notatników mają funkcję Replace czyli Zamień.

Po kilkunastu nudnych przeszukiwaniach całego pliku odkryłem dla siebie edytor SciTE - jest dość sprytny, ale nie radzi z UTF-8/UTF-16, przynajmniej u mnie, więc korzystam z Geany.

Skoro piszę tę instrukcję przeniesienia sklepu WooCommerce podczas przenoszenia mojego sklepu (z domeny sklep.sd.info.pl na kompigsm.pl), no to po prostu opisuję każdy wykonany przeze mnie krok, żeby nic nie zapomnieć. Otóż, drogie czytelniczki i drodzy czytelnicy bloga informatycznego, u mnie baza danych sklepu zajmuje 144 MB:

Rozmiar plikuRozmiar pliku

To dość dużo, dzisiejsze notatniki, szczególnie na słabszych komputerach, ciężko sobie z tym radzą.

Otwieramy plik SQL (czyli kopię zapasową bazy danych Twojego sklepu na WooCommerce) w wybranym notatniku i za pomocą funkcji Replace (Zamień) zamieniamy wszystkie nazwy domeny na nowe. Na przykład, jeśli mieliśmy sklep pod adresem starysklep.pl i przenosimy go na domenę nowysklep.pl, no to trzeba w pliku SQL zamienić wszystkie wyrazy starysklep.pl na nowysklep.pl.

UWAGA!
Na tym etapie bardzo łatwo jest zepsuć plik bazy danych (po to mamy kopie w trzech różnych miejscach). Ale jeśli popełnimy błąd to dowiemy się o nim dopiero podczas wykonania kolejnych kroków.
UWAGA!
Nie dotykamy https:// w nazwie domeny, pilnujemy żeby na końcu nie było znaku /. Sama nazwa domeny - zmieniamy starą na nową.
UWAGA!
Jeśli masz prefiks tabel w bazie danych tożsamy z nazwą domeny sklepu - będzie problem, wtedy zmiana w bazie danych nie będzie taka prosta, bo konieczne będzie wyróżnienie prefiksów tabel oraz wystąpienia nazwy domeny w treści tabel, to wymaga bardziej zaawansowanej wiedzy. Ale to są rzadkie wypadki.
Masowa zamiana wyrazówMasowa zamiana wyrazów

Po wykonaniu zmian zapisz plik pod nową nazwą, zachowując rozszerzenie pliku sql:

Nowa nazwa plikuNowa nazwa pliku

Jeśli masz backup bazy danych rozbity na kilka plików - powtórz to samo dla każdego pliku.

Krok 10. Zmień wszystkie wystąpienia starej nazwy sklepu w bazie danych.

Jeśli nazwa sklepu pozostaje bez zmian (na przykład, przenosisz sklep z domeny .pl na .com, albo z com.pl na .pl) - proszę zignorować krok 10. Ale z reguły zmiana domeny sklepu na WooCommerce wiąże się ze zmianą nazwy sklepu (czyli ze zmianą marki, tak zwany rebranding).

Podobnie jak w poprzednim kroku, ten sam plik sql (już po zmianach dokonanych w kroku 9) otwieramy za pomocą tego samego notatnika i, tym razem ręcznie, przeszukujemy cały plik SQL na wystąpienia nazwy sklepu, przy czym we wszystkich możliwych odmianach. Każde wystąpienie zamieniamy ręcznie, ponieważ automatyczna zamiana popsuje nam odmianę przez przepadki, końcówki słów itd. Warto sprawdzić zdanie w którym występuje nazwa. Pilnujemy żeby przepadkiem nie usunąć żadnego cudzysłowu, spacji lub innego znaku. Poprawiamy tylko i wyłącznie nazwę sklepu.

Dobrze zrobione kroki 9 i 10 pozwolą zaoszczędzić mnóstwo czasu przy sprawdzeniu i poprawkach treści na stronach sklepu.

P.S.: to jest, chyba, najnudniejszy i bardzo czasochłonny krok, zwłaszcza jeśli się zapomni o kroku numer 5.

Warto przeszukać nazwę sklepu też z myślnikiem, czyli, na przykład, jeśli w moim wypadku stary sklep miał nazwę SD Sklep, to ja szukam w bazie zarówno jak wyrazów SD Sklep, tak i sd-sklep. Najczęstszej to dotyczy adresów URL. Uważaj żeby nie zmienić tego w nazwach plików (na przykład, wyraz moj_stary_sklep.jpg niech pozostaje się bez zmian w bazie danych, bo inaczej trzeba było by również ręcznie zmienić nazwę pliku). Najwyżej później można usunąć (ale ze zrozumieniem co się robi) pliki ze starą nazwą.

UWAGA!
Warto zapisać na kartce w jaki sposób dokonujemy zamiany, ponieważ przykładowe sd-sklep (w moim przypadku, zamieniam to na komp-i-gsm) warto zamienić dokładnie w ten sam sposób i w bazie danych, i w plikach CSS i w plikach JavaScript i w plikach PHP. Tych wszystkich zmian trzeba dokonać bardzo skrupulatnie i wnikliwie.

Krok 11. Zmień (nie wszystkie) wystąpienia starego adresu email w bazie danych.

UWAGA!
Jeśli używasz wtyczek zapisujących formularze kontaktowe do bazy, albo dziennik wysyłki email, to te stare dane (już wysłane maili, już zapisane formularze, już obsłużone zamówienia) - nie warto zmieniać dane, ponieważ to co już zostało wysłane w świat, albo to co już zostało wypełnione (formularze) przez użytkowników ma pozostać jako historia i ma zachować integralną całość.

W tabeli comments może być lipa. Polecam sprawdzić ją ręcznie. Tak, na przykład, w moim sklepie znalazłem mnóstwo wpisów (w tabeli comments) z adresem email woocommerce@... Pojęcia nie mam co to za syfek. Może nawet klientom coś było wysyłane z tego adresu email, więc w trakcie przeniesienia sklepu WooCommerce na nową domenę można odkryć wiele niespodzianek na temat własnego sklepu. Ja, akurat, odtworzyłem tabelę comments z innej kopii zrobionych wcześniej backup’ów, już się tam namieszało.

Najlepiej po kolei znaleźć wszystkie wystąpienia adresów email w pliku SQL, na każdym się zastanowić - do czego służy, i zamienić te które uznamy za wymagające zamiany. W moim wypadku, znalazłem wszystkie wystąpienia ‘@sd.’, bo takie znaki zawierały stare adresy email w starym sklepie i ręcznie gdzie trzeba zamieniłem na nowy adres email.

Krok 12. Przeszukaj wystąpienie starej domeny w plikach.

Baza danych to jeszcze nie wszystko. Przy przenoszeniu sklepu na inną domenę, przenosimy bazę danych zarówno jak i pliki. Z reguły, w plikach nie powinna występować nazwa domeny, ale w życiu różnie bywa. Warto przeszukać pliki php, css i js.

W roboczym folderze, stworzonym w kroku 8, w folderze z plikami sklepu trzeba przeszukać wystąpienie starej domeny. Operacja ta jest podobna tej którą myśmy przed chwilą wykonali, ale sytuacja komplikuje się o tyle że tutaj mamy mnóstwo plików i nie da się każdego pliku przeszukać ręcznie. Warto wykorzystać program do masowego przeszukania i edycji plików. Ja na Linux’ie używam regexxer:

Masowa zamiana tekstu w regexxerMasowa zamiana tekstu w regexxer

U mnie, akurat, nie znaleziono żadnego wystąpienia domeny w plikach (i tak być powinno), ale to różnie bywa...

Na Windowsa jest niezły program o nazwie AstroGrep (pewnie są inne, również dobre), wykonujący to samo co regexxer.

Po kolei przeszukujemy wszystkie pliki *.php, *.css i *.js na wystąpienie nazwy starej domeny (w moim wypadku to sklep.sd.info.pl) i masowo zamieniamy na nową domenę (u mnie to kompigsm.pl). Nie zapominamy zapisać wszystkie zmienione pliki (nazwy plików nie zmieniamy czyli nadpisujemy stare pliki).

Krok 13. Przeszukaj wystąpienie starej nazwy sklepu w plikach.

Podobnie jak w poprzednim kroku, szukamy wystąpienia nazwy sklepu we wszystkich możliwych wariantach i zamieniamy je na nową (pamiętając o uwagach z kroku 10).

Krok 14. Odtwórz bazę danych.

Dalej zależy czy przenosimy sklep na nowy hosting lub serwer czy zmieniamy tylko nazwę domeny, a hosting lub serwer będzie ten sam.

W każdym razie tworzymy na hostingu lub na serwerze nową bazę danych. Każdy usługodawca ma inne panele administratora, więc tutaj nie ma uniwersalnej instrukcji. Ja u siebie na serwerze robię wszystko przez konsolę SSH (której ze względów bezpieczeństwa tutaj nie pokażę).

Jeśli mamy możliwość wyboru kodowania znaków przy tworzeniu nowej bazy danych, najlepiej wybrać dokładnie takie kodowanie, jak miała poprzednia baza. Ja zawsze wybieram kodowanie utf8_ubicode_ci:

Kodowanie (collate)Kodowanie (collate)

Dalej tworzymy nowe konto użytkownika bazy danych, nowe hasło i nadajemy mu uprawnienia do nowej bazy danych.

Wgrywamy nasz wyedytowany w krokach 9, 10 i 11 plik bazy danych.

UWAGA!
Prosze nie pomylić starego pliku (nie wyedytowanego) i nowego. Wgrywamy nowy plik.

Najlepiej za pomocą FTP przesłać plik na serwer i wgrać go do bazy danych za pośrednictwem konsoli SSH. Można zrobić to samo przez PHPMyAdmin, ale jest duża szansa błędów, bo możemy mieć dość duży plik, którego PHPMyAdmin nie ogarnia ze wzgłędu na ograniczenia na serwerze lub hostingu. A poza tym, nie raz mi się zdarzało że PHPMyAdmin zniekształca kodowanie (z reguły ma być UTF-8). Niektórzy hostingodawcy, o ile mówimy o zwykłym hostingu, udostępniają narzędzia do odtwarzania bazy danych z pliku SQL.

W moim wypadku, bazę danych stworzyłem za pomocą PHPMyAdmin, ale nie udało się stworzyć konto użytkownika i nadać mu uprawnienia do nowej bazy, więc tę czynność musiałem wykonać przez konsolę SSH (a i tak mam duży plik, więc będę musiał przez FTP i SSH wgrywać bazę).

UWAGA!
Jeśli zarządzasz bazą danych na inny sposób, tj nie używasz konsoli SSH - pomiń kroki dotyczące SSH.
UWAGA!
Wychodzę z założenia że Twój sklep WooCommerce jest postawiony w oparciu o bazę danych MySQL (albo jej odmianę - Percona, MariaDB itd). W wypadku innego typu bazy danych, SQL zapytania mogą delikatnie się różnić.

Po zalogowaniu do SSH, logujemy się do bazy danych:

 mysql -u username -p 

(nie zapominając podstawić zamiast username nazwę użytkownika z uprawnieniami administratora w bazie danych)

Dalej już w bazie danych wykonujemy niżej wymienione trzy polecenia (tj zapytania SQL), też nie zapominając podstawić odpowiednio nazwę bazy danych, użytkownika nowej bazy któremu nadajemy uprawnień, i nowe bardzo mocne hasło.

Najpierw tworzymy nowego użytkownika bazy danych:

 CREATE USER 'dobra_nazwa_uzytkownika'@'localhost' IDENTIFIED BY 'bardzo_dobre_haslo'; 

Dalej nadajemy nowemu użytkownikowi bazy danych uprawnień do naszej świeżo upieczonej bazy:

 GRANT ALL PRIVILEGES ON dobra_nazwa_bazy_danych.* TO 'dobra_nazwa_uzytkownika'@'localhost'; 

Dalej musimy rozpropagować zmiany:

 FLUSH PRIVILEGES; 

I opuszczamy konsolę bazy danych:

 Exit 

Aby wgrać zmienioną bazę danych, wykonujemy następujące polecenie w konsoli SSH (po wylogowaniu z konsoli bazy MySQL):

 mysql -u root -p dobra_nazwa_bazy_danych < nowa_baza_danych.sql 

gdzie nowa_baza_danych.sql - to plik z podmienioną nazwą domeny (kroki 9, 10 i 11) i uprzednio wgrany na serwer lub hosting, dostępny w miejscu wykonywania w.w. polecenia.

Krok 15. Zmień parametry połączenia WordPress z bazą danych.

W folderze z plikami jest plik o nazwie wp-config.php. W nim są informacje o połączeniu z bazą danych. Zmieniamy parametry: DB_NAME, DB_USER, DB_PASSWORD i, ewentualnie, DB_HOST, wpisując prawidłowe wartości:

wp-config.phpwp-config.php

DB_HOST z reguły to jest localhost, ale mogą być wyjątki.

Zapisz plik (nadpisz). Pamiętaj: wszystko tylko w roboczym folderze (krok 8).

Krok 16. Skopiuj pliki do nowej lokalizacji.

Przenosząc sklep na WordPress + WooCommerce na inną domenę możemy przełączyć obsługę nowej domeny na stary folder na tym samym serwerze, ale możemy stworzyć nowy folder (nawet na tym samym serwerze) i przekierować na niego obsługę nowej domeny. Owszem, w drugim wypadku mogą pojawić się niespodzianki z uprawnieniami do folderów i plików, ale jeśli przenosimy sklep na nowy serwer no to pozostaje nam tylko to drugie rozwiązanie.

UWAGA!
Jeśli nie mamy pewności co do struktury folderów (jeśli nie rozumiemy jak to działa) na hostingu lub na serwerze - warto odwrócić kolejność kroków 16 i 17.

Jeśli w krokach 12 i 13 okaże się że nazwa starej domeny nie występuje w plikach, a nowy sklep będzie chodził na tym samym serwerze, wtedy możemy pójść na skróty - pozostawiając pliki w starym folderze a przekierowując obsługę nowej domeny na stary folder. To się robi w ustawieniach serwera WWW, zależy jaki to serwer i czy mamy panel admina czy robimy wszystko przez SSH.

Można jeszcze zapisać nazwy plików w których w krokach 12 i 13 znaleziono wystąpienie nazwy starej domeny i w starym folderze podmienić tylko pliki, zmienione w krokach 12 i 13. Podczas przeniesienia mojego sklepu WooCommerce na nową domenę tak, właśnie, się stało - mam do nadpisania tylko dwa pliki: wp-config.php (bo parametry podłączenia do bazy danych inne) i style.css. Ale ktoś z Was może mieć tego dużo więcej.

Jeśli musimy przenieść pliki do innego foldera na tym samym serwerze, to warto skopiować folder przez SSH i podmienić przez FTP + SSH tylko pliki zmienione w krokach 12 i 13. W ten sposób zachowamy stare uprawnienia do plików i folderów.

Jeśli żadna z w.w. opcji nie pasuje, na przykład, jeśli mamy bardzo dużo wystąpień starej domeny w plikach sklepu (chociaż w dobrze postawionym sklepie tak być nie powinno), albo jeśli przenosimy sklep na inny serwer - kopiujemy zmienione pliki sklepu z roboczego foldera (po zmianach dokonanych w krokach 12 i 13) przez FTP. Później będziemy bawić się z uprawnieniami.

Krok 17. Skonfiguruj serwer lub hosting.

Zanim uruchomimy sklep WooCommerce na nowej domenie, trzeba skonfigurować nową domenę i hosting lub serwer WWW jeśli mamy dedykowany serwer lub VPS.

Musimy skonfigurować serwer lub hosting w taki sposób, aby na serwerze WWW skierować nową domenę Twojego sklepu do foldera z nowym sklepem.

W poprzednim kroku wspominałem że w niektórych wypadkach rozsądnym rozwiązaniem będzie wykonanie najpierw kroku 17, a dopiero potem 16. Chodzi o to że na niektórych hostingach podczas podpinania domeny z automatu tworzy się folder dla tej domeny, wtedy pliki nowego sklepu (to znaczy starego sklepu, przenoszonego na nową domenę) musimy skopiować do tego, akurat foldera. Na niektórych hostingach można najpierw stworzyć folder, a dopiero potem ręcznie wskazać (gdzieś w ustawieniach w panelu admina hostingu) folder dla nowej domeny.

Natomiast jeśli Twój sklep WooCommerce jest obsługiwany przez VPS lub serwer dedykowany (tak jak u mnie), to wtedy najczęstszej ręcznie trzeba skonfigurować (czyli w tym wypadku stworzyć pliki konfiguracyjne dla nowej domeny) serwer WWW - na przykład NGINX albo Apache. Czasem nawet na serwerach są panele typu DirectAdmin, Plesk, CPanel lub inne (najgorzej jeśli to jakaś amatorszczyzna, co, niestety, w Polsce jest często spotykanym zjawiskiem). Jeśli nie chcemy grzebać się z SSH (chociaż, jeśli chcemy mieć własny serwer dedykowany lub VPS - koniecznie musimy nabrać biegłości w obsłudze SSH, Must Have) możemy pokonfigurować większość rzeczy za pomocą takiego panelu.

Krok 18. Pamiętaj o ustawieniach DNS.

Jeśli nowy sklep będzie na hostingu, a domena i hosting są kupione u jednego usługodawcy - większość normalnych firm hostingowych mają zintegrowane ustawienia domeny i hostingu, więc kwestia skierowania domeny na konkretny folder na hostingu to kilka kliknięć w panelu admina hostingu. Gorzej jest gdyż domena jest obsługiwana przez jednego domenodawce usługodawce, a pliki sklepu mają być na własnym serwerze, VPS lub na hostingu u innego usługodawcy. Wtedy musimy prawidłowo skonfigurować wpisy DNS (strefa DNS, DNZ Zone - to wszystko jest to samo).

W tej publikacji opisałem jak działają strony internetowe, jak działa internet, co to jest hosting, domena, adres IP, DNS i inne kluczowe pojęcia.

W ustawieniach DNS trzeba ustawić wpis A na odpowiedni adres IP. Odpowiedni to znaczy adres IP serwera WWW, który obsługuje sklep na nowej domenie. Trzeba, oczywiście, pamiętać o wpisach MX, spf itd, ale to inna bajka.

Krok 19. Kup i skonfiguruj nowy certyfikat SSL dla HTTPS.

Przy zmianie domeny sklepu internetowego na WooCommerce konieczne jest zainstalowanie nowego certyfikatu SSL. Certyfikat SSL kupuje się pod konkretną domenę. W praktyce nie ma żadnego znaczenia czy kupimy najdroższy czy najtańszy czy w ogóle użyjemy bezpłatnego let's encrypt. Certyfikat SSL chroni stronę internetową od ... przedszkolaków, no może od uczniów podstawówki, pragnących podsłuchać dane zakupowe Twoich klientów. Owszem, lepiej certyfikat mieć niż go nie mieć, wręcz musimy go mieć jeśli sklep jest zintegrowany z bramkami płatności. Ale uczulam wszystkich na to że rola certyfikatów SSL jest mocno przereklamowana (również tych "podpisów kwalifikowanych" popularnych w Polsce, ale to z innej bajki).

Wgrywanie certyfikatu SSL wygląda inaczej na każdym hostingu. Na serwerach to zależy jaki mamy serwer WWW i czy używamy panelu do konfigurowania serwera, na przykład Plesk, CPanel albo od biedy DirectAdmin. Ja, akurat, na moim serwerze wszystko robię ręcznie czyli przez konsolę SSH. Instrukcji tutaj podawać nie będę, bo i tak już publikacja po woli się przekształca w nudny podręcznik.

Krok 20. Sprawdź czy sklep się uruchamia.

Na tym etapie, ewentualnie po zrestartowaniu serwera WWW, Twój sklep WooCommerce powinien, przynajmniej, uruchamiać się. Oczywiście, mówimy o nowej domenie. Jeśli wszystko zostało dobrze zrobione w poprzednich krokach - teraz pod nową domeną powinna być widoczna strona Under Construction Twojego sklepu internetowego.

UWAGA!
Jeśli coś nie działa, najpierw trzeba usunąć wszystkie usterki. Na tym etapie, z punktu widzenia technicznego, sklep powinien już działać.

Krok 21. Zaloguj się do panelu administratora sklepu.

Również powinno się dać zalogować do panelu admina WordPress na nowej domenie. Jeśli używałeś lub używałaś wtyczki do zmiany adresu panelu admina tj żeby nie było wp-admin, no to mogą być niespodzianki - po przeniesieniu sklepu na nową domenę takie wtyczki mogą nie działać. Jeśli tak się okaże - warto albo ponownie skonfigurować wtyczkę odpowiedzialną za adres panelu admina, albo odinstalować i zainstalować ją ponownie (i wtedy na pewno ponownie skonfigurować).

Krok 22. Sprawdź ustawienia SSL.

Sprawdź czy certyfikat SSL działa poprawnie. W przeglądarce obok adresu URL sklepu musi być widoczna szara lub zielona kłódka:

Certyfikat SSLCertyfikat SSL

Kłódka nie może być przekreślona.

Jeśli kłódka jest widoczna zarówno na stronie głównej (teraz jeszcze powinien być włączony Under Construction) i na stronie panelu admina WordPress - wszystko jest w porządku. Natomiast jeśli coś jest nie tak - trzeba to naprawić. Ewentualnie ktoś używa wtyczki WordPress do zarządzania certyfikatami SSL, ewentualnie coś źle ustawione w konfiguracji serwera WWW. W każdym razie trzeba to znaleźć i koniecznie naprawić.

Krok 23. Sprawdź ustawienia bezpieczeństwa.

Jeśli masz wtyczkę do bezpieczeństwa Twojego WordPressa - sprawdź wszystkie ustawienia tej wtyczki tak jakby dopiero ją zainstalował lub zainstalowała i musisz skonfigurować parametry bezpieczeństwa od nowa.

W niektórych sytuacjach (u mnie, akurat, tak było) trzeba odinstalować i zainstalować odpowiednią wtyczkę ponownie, bo zgubiła wszystkie ustawienia, nawet te domyślne. Albo, przynajmniej, wyłączyć i włączyć z powrotem wtyczkę, a dopiero po zrestartowaniu skonfigurować wszystkie ustawienia bezpieczeństwa od podstaw.

Krok 24. Zadbaj o uprawnienia do plików i katalogów sklepu.

Kolejnym krokiem, dotyczącym bezpieczeństwa, ale też poprawności działania twojego sklepu WooCommerce, jest sprawdzenie poprawności uprawnień nadanych plikom i folderom. Niestety, po przekopiowaniu plików WordPress do nowego foldera, a tym bardziej na nowy hosting lub serwer, mogą się zmienić uprawnienia przypisane plikom i folderom.

Są wtyczki odpowiedzialne za bezpieczeństwo WordPress, które posiadają funkcję sprawdzenia uprawnień plików i folderów:

Uprawnienia do plików i folderówUprawnienia do plików i folderów

Uprawnienia można zmienić (i, najlepiej, tak właśnie robić) w konsoli SSH:

Konsola SSH, mcKonsola SSH, mc

Najlepiej żeby serwer WWW w ogóle nie miał uprawnień do nadpisywania czegokolwiek poza wp-content/uploads, ale to są cienkie materie, to trzeba albo robić ze zrozumieniem albo wcale.

Krok 25. Zadbaj o nową nazwę sklepu.

Jeśli przenosiłeś lub przenosiłaś sklep WooCommerce na nową domenę w związku ze zmianą marki - warto dopilnować żeby nazwa sklepu została wszędzie zmieniona na nową. Warto skrupulatnie sprawdzić wszystkie zakątki sklepu, wszystkie możliwe ustawienia w panelu admina WordPress, wszystkie teksty na stronach, regulamin, politykę prywatności, formularze itd.

Szczególną uwagę proszę zwrócić na rozdział Wygląd→Dostosuj w panelu admina WordPress, ale również treści ręcznie wpisane w widgetach (Wygląd→Widżety), szczególnie jeśli używasz dużo widgetów typu Custom HTML. Teoretycznie, wszystko powinno być już pozamieniane, bo zrobiliśmy to w krokach 9, 10 i 11, ale znając życie...

Jeśli marka i nazwa sklepu się nie zmieniły - ten krok proszę zignorować.

Krok 26. Zadbaj o nowe logo sklepu.

Jeśli marka i nazwa sklepu się nie zmieniły - ten krok proszę zignorować.

Usuń wszystkie obrazki z logotypem starego sklepu z biblioteki Media w panelu admina WordPress. Dodaj obrazki z nowym logo.

Zmień logotyp, przede wszystkim w Wygląd→Dostosuj, ale też wszędzie gdzie on występuje w sklepie i w wysyłanych dokumentach.

Zadbaj o wymiary nowego logotypu - żeby dobrze wyglądało.

Krok 27. Popraw regulamin i politykę prywatności.

Sprawdź czy regulamin nie zawiera starej nazwy i domeny sklepu, czy wszystkie informacje w nim zawarte są spójne. To samo dotyczy polityki prywatności i wszystkich innych stron.

Najlepiej sprawdź wszystkie tekstowe strony Twojego sklepu WooCommerce.

W razie potrzeby - dokonaj poprawek. Po zamianach w bazie danych różnie może być, więc warto dokładnie wszystko sprawdzić.

Ja, akurat, w trakcie poprawki regulaminu po przeniesieniu mojego sklepu na nową domenę znalazłem m.in. kilka głupot prawnych w regulaminie, które poprawiłem. W każdym razie testowania i sprawdzania nigdy za dużo.

Krok 28. Wstępnie przetestuj sklep.

Najpierw wstępnie sprawdź czy działają strony sklepu (nie wyłączając Under Construction), czy wszystko wygląda tak jak powinno, czyli tak jak w Twoim sklepie WooCommerce na starej domenie.

Na moim przykładzie, okazało się że strona logowania do panelu admina nie działa tak jak na starej domenie:

Panel logowaniaPanel logowania

Rozjechały się nagłówek i stopka sklepu:

Rozjechany nagłówekRozjechany nagłówek
Rozjechana stopkaRozjechana stopka

U każdego to będzie inaczej - zależy jakie wtyczki masz w sklepie, jaki motyw, jak dużo przeróbek jest w różnych zakątkach sklepu.

W moim wypadku, w celu naprawy, musiałem porównać i ponownie wyklikać wszystkie ustawienia w Wygląd→Dostosuj, Wygląd→Widżety (niektóre widżety kazały się samousunąć).

Żeby było jeszcze śmieszniej, przy próbie zapisania zmian w ustawieniach niektórych (tylko niektórych) widżetów pojawił się błąd: "An error has occurred. Please reload the page and try again" albo po polsku "Wystąpił błąd. Proszę odświeżyć stronę i spróbować ponownie". Pomaga usunięcie widżetu i ustawienie go na nowo.

Krok 29. Skonfiguruj pocztę (SMTP) i formularze kontaktowe.

Po przeniesieniu Twojego sklepu WooCommerce na nową domenę, najprawdopodobniej, zmienią się adresy poczty elektronicznej sklepu. Pamiętaj o informacjach w kontach, jeśli masz tam informacje o adresie email dla kontaktu - zaktualizuj adres email. Ale najważniejsze - zmień w WordPress ustawienia serwera SMTP. W zależności od tego czy używasz jakiejś wtyczki do zarządzania ustawieniami SMTP czy korzystasz bezpośrednio z mechanizmu pocztowego WordPress - w odpowiednim miejscu (w ustawieniach samego WordPress lub odpowiedniej wtyczki) dokonaj zmian, ustaw dane nowego serwera SMTP.

Jeśli Twój sklep WooCommerce działa na hostingu, z reguły firmy hostingowe udostępniają usługę email. Natomiast jeśli masz sklep na VPS lub na serwerze dedykowanym - to zależy (czy trzeba dokupić osobno usługę email, czy skonfigurować własny serwer pocztowy).

Jeśli korzystasz z wtyczek do formularzy kontaktowych - sprawdź czy we wszystkich formularzach prawidłowo poustawiane adresy email. Sprawdź, przy okazji, wszystkie ustawienia formularzy (kontakt, zgłoszenia, zwroty - wszystkie które masz w sklepie), bo u mnie okazało się że po przeprowadzce na nową domenę ustawienia formularzy kontaktowych (w panelu WordPress) zniknęły, więc musiałem je ponownie poustawiać (nie całe formularze, a tylko w kwestii wysyłki powiadomień do mnie jako do administratora sklepu).

Przy okazji pamiętaj żeby sprawdzić czy na nowej domenie masz dobrze poustawiane wpisy DNS: MX, SPF, ewentualnie DMARC i DKIM.

Krok 30. Sprawdź i popraw ustawienia bramek płatności.

Jeśli korzystasz z bramek płatności (a raczej tak) - skonfiguruj ponownie płatności. Większość bramek płatności (PayPal, Przelewy24, PayU, BlueMedia itd) wymagają konfigurowania płatności w konkretnej domenie sklepu internetowego, tj z ich punktu widzenia nowa domena to nowy sklep. Po przeniesieniu Twojego sklepu WooCommerce na nową domenę, prawdopodobnie, trzeba ponownie skonfigurować płatności zarówno jak od strony panelu klienta bramki płatności tak i od strony panelu administratora WordPress Twojego sklepu.

Krok 31. Włącz z powrotem synchronizacje z hurtowniami.

Jeśli miałeś lub miałaś na starej domenie synchronizację z hurtowniami, wyłączoną w kroku 3, włącz ją z powrotem i sprawdź czy poprawnie działa na nowej domenie.

Pamiętaj że niektóre hurtownie udzielają dostępu do plików XML z danymi o produktach, kategoriach i stanach magazynowych, tylko dla sklepu postawionego na konkretnej domenie, więc ewentualnie trzeba zawiadomić hurtownię o zmianie domeny.

Krok 32. Pamiętaj o CRON.

Jeśli na serwerze (lub hostingu) masz uruchamiany plik wp-cron.php (na przykład poprzez cron.d) - pamiętaj żeby przenieść zadanie CRON na nowym serwerze lub zmienić domenę odpytywanego pliku wp-cron.php jeśli Twój nowy sklep WooCommerce dalej działa na tym samym serwerze lub hostingu.

Krok 33. Wyłącz tryb serwisowy (Under Construction).

Alleluja.

Nastąpił czas wyłączenia trybu serwisowego Twojego sklepu WooCommerce, włączonego w pierwszym kroku. Teoretycznie, sklep powinien już poprawnie działać na nowej domenie.

Krok 34. Wszystko poważnie przetestuj.

Sprawdź wszystko co potrafisz znaleźć i sprawdzić w Twoim starym-nowym sklepie WooCommerce, przeniesionym na nową domenę. Koniecznie zrób testowe zakupy, przetestuj każdą bramkę płatności, przetestuj czy rzeczywiście działają wszystkie integracje (o ile są), synchronizacje danych z hurtowniami itd.

Przetestuj wszystkie formularze kontaktowe (w tym, jeśli masz, formularz zgłaszania reklamacji, zwrotów itd).

Przetestuj realne zakupy, czy realnie przechodzą płatności (kup od siebie najtańszy towar na wszystkie możliwe sposoby płatności). Ja, akurat, mam testowy produkt za 1 zł, w razie konieczności przetestowania prawdziwych płatności "kupuję" go, a po testach wyłączam go z oferty. Przetestuj zakupy z zakładaniem konta, zarówno jak i bez konta.

Wyklikaj kilkanaście kart produktów, zwróć uwagę czy się nie rozjechały zdjęcia, informacje o produktach itd.

Jeśli masz integracje z paczkomatami InPost lub innymi firmami kurierskimi - to też przetestuj. Generalnie, przetestuj wszystko co tylko przyjdzie do głowy.

Sprawdź logi WEB-serwera, czy nie ma jakichś technicznych błędów.

Krok 35. Popraw zbieranie statystyk.

Najprawdopodobniej Twój sklep WooCommerce zbiera statystyki odwiedzin za pomocą jakiegoś zewnętrznego narzędzia (Matomo, Google Analytics lub inne) - popraw odpowiednie ustawienia, i sprawdź czy po przeprowadzce na nową domenę statystyki działają prawidłowo.

Krok 36. Popraw reklamy.

Jeśli promujesz Twój sklep za pomocą płatnych reklam, na przykład, Google Ads, Facebook Ads lub innych podobnych - zadbaj o to aby teraz reklamy kierowały do Twojego nowego sklepu (tj starego na nowej domenie).

Raczej trzeba będzie ponownie podgrać pliki XML (jeśli masz integrację z jakimiś serwisami typu Google Merchants, Ceneo, Facebook itd) i na nowo skonfigurować reklamy. Nie doradzę Ci czy da się przenieść wypracowaną optymalizację reklam na nową domenę, bo aż tak się nie znam na temacie reklam, poza tym nie znam czy i z którego serwisu reklam korzystasz.

Krok 37. Ustaw przekierowanie ze starej domeny.

Jeszcze przez długi czas boty wyszukiwarek i ewentualnie internauci będą wchodziły na stronę Twojego starego sklepu, przy czym na konkretne kartki produktów. Pewnie nie chciałbyś lub nie chciałabyś stracić potencjalnych klientów. W tym wypadku przyda się poustawiać przekierowania ze starej domeny na nową. Można to zrobić na kilka sposobów.

Przy przeniesieniu tego samego sklepu 1:1 na inną domenę wszystkie adresy URL podstron pozostają bez zmian (zmienia się tylko sama domena). Na przykład, jeśli ja miałem jakiś produkt na stronie pod adresem https://sklep.sd.info.pl/produkt/duza-podkladka-pod-mysz-pieniadze-polski-zloty-475-x-380-mm to teraz mam ten produkt pod adresem https://kompigsm.pl/produkt/duza-podkladka-pod-mysz-pieniadze-polski-zloty-475-x-380-mm. Jak widać, zmieniło się tylko sklep.sd.info.pl na kompigsm.pl, a reszta adresu pozostaje bez zmian. To bardzo upraszcza robienie przekierowania, bo wystarczy ustawić takie przekierowanie które tylko podmieni domenę w adresie URL każdej podstrony. Można to zrobić za pomocą pliku .htaccess (jeśli korzystasz z serwera Apache). Zależy od tego jakiego serwera WWW używasz.

Krok 38. Zrób pełen backup nowej wersji sklepu.

Pamiętaj o regularnym robieniu backup’ów czyli kopii zapasowych!

Wkrótce napiszę artykuł o backup’ach, link pojawi się w tym miejscu.

Pytania?

Drogie Czytelniczki i drodzy Czytelnicy Bloga informatycznego! Jeśli macie jakiekolwiek pytania związane z tematem niniejszej publikacji - piszcie w komentarzach pod tym artykułem, a ja będę starał się w miarę możliwości odpowiadać.

Dziękuję że jesteście. Życzę Wam, moi drodzy, wszystkiego najlepszego i dobrze prosperujących sklepów. Zarabiajcie więcej!

Odbierz rabat 20% na prezenty dla informatyków
Odbierz rabat 20% na prezenty dla informatyków

Jeśli znalazłe[-a]ś w tekście, literówkę, błąd stylistyczny albo inny błąd językowy - bardzo proszę o napisanie poprawki w komentarzu pod artykułem albo przez formularz kontaktowy. Dziękuję!

Autor artykułu: Sergiusz Diundyk.

Komentarze

Na razie brak komentarzy. Dodaj pierwszy komentarz do artykułu!
Dodaj nowy komentarz:

 Oświadczam że przeczytałe[-a]m Regulamin i akceptuję go w całości i bezwarunkowo.
 
Imię lub pseudonim
 
Twój komentarz
Wyślij komentarz
Zoom
Ok