Jak przenieść sklep PrestaShop na inny serwer?
Przenoszenie całego środowiska PrestaShop na nowy serwer wymaga dbałości o szczegóły i odpowiednie przygotowanie. Możesz to zrobić samodzielnie, jeśli zwrócisz uwagę na pliki konfiguracyjne, strukturę katalogów oraz bazę danych. Często okazuje się, że niedokładne wykonanie transferu prowadzi do nieoczekiwanych błędów, takich jak brak połączenia z bazą danych czy problemy z działaniem modułów. Warto pamiętać o zapisaniu aktualnych danych, zarówno plików, jak i bazy, zanim rozpocznie się cała procedura. Przed przystąpieniem do właściwego działania przygotuj niezbędne informacje: dane do logowania do nowego hostingu, dostęp do FTP oraz dane logowania do Panelu Administracyjnego. Sprawdź również, czy nie istnieją jakieś ograniczenia na nowym serwerze – dotyczy to wersji PHP, limitu pamięci, a także uprawnień do plików i folderów. Upewnij się, że serwer spełnia wymogi PrestaShop co do konfiguracji i że nowa domena została odpowiednio skierowana w DNS. W dalszej części poznasz główne etapy przeprowadzania migracji, a także dowiesz się, co warto zrobić, by cały proces był sprawny i nie narażał Twojego sklepu na przestoje. Zdecydowanie trzymaj się planu krok po kroku, aby uniknąć przypadkowych komplikacji.
Wykonanie kopii zapasowej i przygotowanie środowiska
Wykonanie kopii zapasowej stanowi nieodłączny element każdego przeniesienia sklepu PrestaShop. Nie można pominąć tego etapu, ponieważ wszystko, co dzieje się później, bazuje właśnie na stabilnej kopii danych. Pierwszym krokiem jest pobranie całości plików sklepu przez FTP. Wykorzystaj do tego dowolny klient FTP, np. FileZilla. Zaloguj się za pomocą danych do starego serwera, a następnie skopiuj całą zawartość katalogu, w którym zainstalowałeś swój sklep. Zwróć uwagę, czy pobierasz wszystkie pliki ukryte, w tym plik .htaccess (o ile występuje), ponieważ konfiguracja przekierowań i reguł jest istotna dla działania witryny.
Po pobraniu plików musisz jeszcze zabezpieczyć bazę danych. Zaloguj się do panelu administracyjnego hostingu albo użyj narzędzi typu phpMyAdmin. Wybierz bazę, którą wykorzystuje PrestaShop, i wyeksportuj ją w formacie SQL. Ustaw kodowanie na UTF-8, jeśli taka opcja jest dostępna. Pozwoli to uniknąć problemów z polskimi znakami oraz z danymi w różnych tabelach. Zapamiętaj nazwę tej bazy i ewentualnie prefix tabel (np. ps_), ponieważ przydadzą się przy importowaniu na nowy serwer.
W międzyczasie przygotuj środowisko na nowym hostingu. Upewnij się, że wykupiłeś odpowiedni pakiet z wystarczającą ilością miejsca na pliki i bazy, a także zgodny z wersją PHP wymaganą przez Twoją wersję PrestaShop. Stwórz nową bazę danych, przydziel do niej poprawnego użytkownika z pełnymi uprawnieniami (SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER itp.). Zanotuj dane do bazy: nazwę, login i hasło – posłużą do skonfigurowania pliku settings.inc.php czy app/config/parameters.php (w zależności od wersji PrestaShop).
Warto zwrócić uwagę na pliki konfiguracyjne. Czasem w przypadku niestandardowych motywów lub wtyczek pojawiają się dodatkowe katalogi konfiguracyjne, które mogą zawierać wrażliwe dane. Sprawdź, czy w strukturze sklepu nie istnieją pliki z rozszerzeniem .ini, .env lub .yaml. Zrób ich kopię zapasową, aby w razie potrzeby odtworzyć poprzednie ustawienia. Następnie przeanalizuj, czy Twoja nowa domena została już odpowiednio skierowana. Jeśli kupiłeś nowy adres lub korzystasz z innego, upewnij się, że właściwie zaktualizowałeś DNS. To bardzo istotne, ponieważ bez poprawnego adresu docelowego zewnętrzni użytkownicy mogą wchodzić nadal na stary serwer, co będzie dezorientujące i dla Ciebie, i dla Twoich klientów.
Czasem pojawia się konieczność zmiany wersji PHP lub wyłączenia modułów typu mod_security, które bywają problematyczne przy instalacjach PrestaShop. Jeśli hosting daje taką możliwość, dostosuj konfigurację tuż przed importem bazy i przeniesieniem plików. Dzięki temu unikniesz przykrych niespodzianek związanych z niezgodnością bibliotek. Zobacz także, czy musisz skonfigurować certyfikat SSL na nowym serwerze. Sklep PrestaShop działa korzystnie z szyfrowaniem, więc certyfikat SSL przyda się do zachowania wysokiego poziomu zaufania klientów i bezpieczeństwa danych.
Przenoszenie plików sklepu i wgrywanie bazy danych
Po przygotowaniu nowej przestrzeni i stworzeniu kopii zapasowej możesz rozpocząć właściwy transfer. Zacznij od wrzucenia plików na nowy serwer. Zaloguj się do nowego hostingu poprzez FTP i załaduj wszystkie pliki sklepu, które pobrałeś ze starego środowiska. Zwróć uwagę na odpowiednie miejsca docelowe: jeśli chcesz, by strona główna Twojej domeny otwierała od razu sklep PrestaShop, skopiuj pliki do głównego katalogu public_html (lub innego wskazanego przez hostingodawcę). Przestrzegaj struktury katalogów – nie zmieniaj nazw i nie usuwaj niczego, co należy do oryginalnej paczki PrestaShop.
Po zakończeniu przesyłania plików przejdź do importowania bazy danych. Skorzystaj z narzędzia phpMyAdmin (lub innego udostępnionego przez hosting). Wybierz bazę, którą wcześniej utworzyłeś. Kliknij „Import”, a następnie wgraj plik SQL wyeksportowany ze starego serwera. Upewnij się, że wybrałeś poprawne kodowanie i że rozmiar pliku nie przekracza limitów narzuconych przez serwer. Jeśli przesyłany plik jest duży, włącz możliwość importu częściowego lub skorzystaj z narzędzi konsolowych, np. ssh, które pozwalają na szybsze przesyłanie danych.
Następnie otwórz odpowiedni plik konfiguracyjny PrestaShop. W wersjach 1.6 i niższych jest to często config/settings.inc.php. W nowszych wydaniach (1.7) zagląda się do app/config/parameters.php. Zaktualizuj tam dane dotyczące nowej bazy: nazwę bazy, użytkownika, hasło oraz adres hosta. Upewnij się, że wartości odpowiadają tym, które ustawiłeś na nowym serwerze. Sprawdź dodatkowo w panelu admina hostingu, czy do bazy można się dostać z poziomu localhost lub innego adresu – niektóre hostingi mają indywidualne ustawienia.
Po pomyślnym imporcie bazy i korekcie plików konfiguracyjnych odwiedź swoją nową domenę w przeglądarce. W pierwszej kolejności sprawdź, czy sklep wczytuje się poprawnie, a także czy wszelkie grafiki i moduły działają tak, jak powinny. Zwróć uwagę na linki wewnętrzne. Jeżeli korzystasz z przyjaznych adresów URL, czasem trzeba przejść do panelu administracyjnego i zapisać ponownie ustawienia dla linków. Pozwoli to PrestaShop zaktualizować plik .htaccess i dopasować reguły przekierowań do nowego środowiska.
Jeśli używasz motywu niestandardowego, sprawdź, czy wgrywa się on prawidłowo. Obejrzyj stronę główną, karty produktów oraz stronę koszyka. Zobacz, czy nie występują błędy 404 przy przejściach między kategoriami. W razie kłopotów przeanalizuj wpisy w pliku logów (PrestaShop lub hosting) – tam często znajdują się wskazówki, jak zaradzić problemom typu brak uprawnień do katalogu, niezgodna wersja PHP czy błędne wpisy w tabelach.
Gdy wszystko działa prawidłowo, możesz przejść do kolejnych etapów. Pamiętaj, by nie usuwać starej kopii zapasowej zbyt szybko. Przez jakiś czas trzymaj ją na dysku, aby w razie nagłej potrzeby błyskawicznie przywrócić poprzedni stan. PrestaShop bywa rozbudowanym systemem, a jego poprawne funkcjonowanie zależy od wielu czynników, które dopiero w praktyce wychodzą na jaw.
Konfiguracja domeny i sprawdzenie ustawień DNS
Domena stanowi ważny element dostępności sklepu, więc dopilnuj, by na nowym serwerze była dobrze skonfigurowana. W ustawieniach w panelu administracyjnym PrestaShop możesz zdefiniować główny adres URL oraz ewentualne dodatkowe adresy (jeśli prowadzisz multisklep). Jeżeli wcześniej korzystałeś z certyfikatu SSL, ponownie skonfiguruj HTTPS. W większości wypadków wystarczy włączyć SSL w parametrach hostingu i zaznaczyć opcję szyfrowania w panelu PrestaShop.
Zadbaj również o aktualizację rekordów DNS. Przejdź do panelu zarządzania domeną i ustaw rekord A, który będzie kierował na IP nowego hostingu. Jeśli korzystasz z subdomen (np. sklep.twojadomena.pl), też zaktualizuj ich rekordy. Warto przejrzeć ustawienia TTL (Time To Live), bo to wpływa na czas propagacji nowego adresu w sieci. Po tej operacji może minąć kilka godzin albo nawet do 48 godzin, aż zmiana w pełni się rozpropaguje. Staraj się jednak działać w taki sposób, by minimalizować ryzyko niedostępności sklepu w trakcie tej fazy.
Sprawdź także, czy adres e-mail powiązany ze sklepem działa poprawnie na nowym serwerze. Niektórzy hostingodawcy wymagają dodatkowej konfiguracji rekordów MX lub SPF, żeby wysyłane wiadomości (np. potwierdzenia zamówień) trafiały do skrzynek klientów i nie lądowały w spamie. Przyjrzyj się też ustawieniom skrzynek w panelu PrestaShop. Dzięki temu unikniesz sytuacji, w której klienci nie otrzymują ważnych powiadomień z Twojego sklepu.
W razie potrzeby przeanalizuj, czy Twoja nazwa domeny jest spójna z zawartością pliku .htaccess. Niektóre reguły w tym pliku zawierają wskazówki dotyczące przekierowań 301, a także reguły bezpieczeństwa. Weryfikacja tych wpisów może zapobiec niespodziewanym błędom wczytywania witryny lub problemom z linkowaniem wewnętrznym. Jeśli spotkasz się z kłopotami, usuń aktualny plik .htaccess i wygeneruj go ponownie z poziomu panelu administracyjnego. W sekcji „Preferencje -> SEO i adresy URL” w PrestaShop znajdziesz możliwość ponownego zapisu przyjaznych adresów URL.
Warto też porównać funkcjonalność starego i nowego środowiska, aby upewnić się, że niczego nie pominąłeś. Jeżeli sklep działał wcześniej w katalogu /shop, a teraz chcesz go uruchomić bezpośrednio w folderze głównym, to także dopilnuj, by wszystkie wewnętrzne ścieżki i linki zostały prawidłowo zaktualizowane. W panelu PrestaShop można niekiedy automatycznie wprowadzić zmiany, choć czasem wymaga to dodatkowej edycji w bazie danych (np. w tabelach ps_configuration, jeśli tam zapisano ścieżki do zasobów).
Jeżeli wszystko wygląda dobrze, zrób krótki test finalny. Przejrzyj proces rejestracji konta klienta, złóż testowe zamówienie, sprawdź, czy potwierdzenie zamówienia dociera na Twój adres e-mail. Możesz także ocenić szybkość ładowania strony na nowym hostingu. Zdarza się, że nowy serwer jest szybszy, co przekłada się na wyższy komfort zakupów. Jeżeli zauważysz, że pewne moduły nie działają, sprawdź, czy wymagają dodatkowych bibliotek lub specjalnej wersji PHP.
Aktualizacja ustawień w panelu administracyjnym i testy działania
Wiele osób zapomina o ustawieniach, które znajdują się bezpośrednio w panelu administracyjnym PrestaShop. Wejdź do konfiguracji sklepu i przejrzyj podstawowe sekcje: „Preferencje”, „SEO i Adresy URL”, „Zaawansowane” oraz „Ustawienia Motywu”. Zmień stary adres URL na nowy, jeśli to konieczne. Upewnij się, że protokół HTTPS jest włączony, gdy posiadasz certyfikat na nowym serwerze. W sekcji dot. SEO sprawdź, czy wszystkie dane się zgadzają z nową lokalizacją, a linki do ważnych stron (np. regulamin, polityka prywatności) funkcjonują bez zarzutu.
Przestaw się na wyświetlanie błędów w trybie developerskim, gdy zauważysz, że sklep nie działa poprawnie. Edytuj plik config/defines.inc.php (w PrestaShop 1.6) lub zmień ustawienia w parameters.php (w PrestaShop 1.7), żeby włączyć tryb debug. Dzięki temu zobaczysz, czy pojawiają się jakieś ostrzeżenia lub błędy wewnętrzne. Takie informacje pozwalają szybko zlokalizować źródło problemu, np. niezgodność wersji modułu z obecną wersją PrestaShop lub brak pewnych rozszerzeń PHP na nowym serwerze.
Po weryfikacji panelu i ogólnych ustawień uruchom kilka testowych scenariuszy. Zachęć znajomego, by odwiedził sklep z innej sieci, sprawdził szybkość wczytywania i funkcjonalność koszyka. Czasem drobne detale, jak błąd w pliku cookies lub niewłaściwa konfiguracja SSL, wychodzą na jaw dopiero na urządzeniach innych użytkowników. Zbierz informacje zwrotne, żeby wiedzieć, czy coś wymaga poprawek.
Przeanalizuj również wtyczki integrujące Twój sklep z zewnętrznymi usługami. Płatności internetowe, bramki SMS czy systemy do mailingu – wszystko to musi być właściwie skonfigurowane w nowym środowisku. Sprawdź, czy parametry w panelu administracyjnym PrestaShop w sekcjach związanych z płatnościami lub wysyłkami są zaktualizowane. Czasem trzeba zmienić klucze API lub adresy IP, z którymi aplikacje się komunikują. Bez tych zmian zamówienia mogą nie przechodzić, a klienci będą sfrustrowani brakiem możliwości opłacenia koszyka.
Przekonaj się także, że nie przeoczyłeś wymogów licencyjnych niektórych modułów. Istnieją wtyczki, które muszą być przypisane do konkretnej domeny. Jeżeli użyłeś nowego adresu, może zajść potrzeba przeprowadzenia procedury ponownego przypisania licencji w panelu dewelopera danego modułu. Sprawdź, czy tak nie jest w Twoim przypadku, ponieważ brak licencji zwykle blokuje funkcjonalność danego rozszerzenia albo powoduje niechciane komunikaty o błędach.
Rozważ też zrobienie dodatkowej kopii sklepu już w nowym środowisku, szczególnie gdy zauważasz, że wszystko działa prawidłowo. W razie nieprzewidzianych okoliczności będziesz mógł wrócić do punktu wyjścia, nie przechodząc ponownie przez cały proces migracji i konfiguracji. Taki backup zrobisz w podobny sposób: eksport bazy danych i skopiowanie plików na dysk lokalny lub inny serwer zewnętrzny. Lepiej zawsze mieć pewność, że w razie awarii szybko przywrócisz działający wariant sklepu.
Dodatkowe wskazówki dotyczące stabilności i optymalizacji
Niektórzy chcą nie tylko przenieść PrestaShop, ale też zoptymalizować sklep w trakcie zmiany hostingu. To dobre podejście, bo można jednocześnie zadbać o lepszą strukturę adresów URL, poprawić szybkość wczytywania i zwiększyć bezpieczeństwo. Zacznij od przejrzenia modułów zainstalowanych w sklepie. Usuń te, których nie używasz, bo niepotrzebnie obciążają serwer i mogą generować luki w zabezpieczeniach. Następnie skontroluj, czy używasz w miarę świeżej wersji PrestaShop. Jeżeli to możliwe, rozważ aktualizację do nowszej edycji, zwłaszcza jeśli na starym serwerze tkwiła od dawna przestarzała wersja. Pamiętaj tylko, aby przygotować kopię przed każdą aktualizacją, ponieważ zmiany w strukturze bazy i plikach mogą wymagać poprawek w motywach i modułach.
Skup się także na pamięci podręcznej. PrestaShop oferuje narzędzia do cache’owania. W sekcji „Zaawansowane -> Wydajność” masz możliwość włączenia lub wyłączenia różnych opcji, takich jak CCC (Combine, Compress and Cache) czy Memcached (jeśli serwer go obsługuje). Odpowiednia konfiguracja tych funkcji przyspieszy działanie sklepu, zwłaszcza przy większym ruchu. Równocześnie pamiętaj o mechanizmach bezpieczeństwa, takich jak włączone https i blokada katalogu /admin przed niepożądanymi osobami (np. limit dostępu poprzez adresy IP).
Zwróć uwagę na plik robots.txt, który definiuje zasady indeksowania sklepu przez wyszukiwarki. Przekonaj się, że nie blokuje on dostępu do stron produktowych i kategorii, chyba że świadomie chcesz to zrobić. Wywołaj w przeglądarce adres nowej domeny z dopiskiem /robots.txt, by sprawdzić jego zawartość. Czasem przy migracji występują sytuacje, w których stary plik robots.txt zawiera reguły nieprzystające do nowej lokalizacji. Wówczas warto go odświeżyć albo wygenerować na nowo w panelu PrestaShop.
Jeśli sklep działa w kilku wersjach językowych, upewnij się, że każda wersja wyświetla się poprawnie. Sprawdź, czy linki do poszczególnych tłumaczeń nie prowadzą do stron błędu. Upewnij się też, że meta dane (tytuły, opisy, tagi) zostały poprawnie zachowane po migracji. Wspomaga to pozycjonowanie i utrzymuje spójność wizerunku sklepu w wyszukiwarkach.
Przemyśl, czy możesz skorzystać z usług CDN (Content Delivery Network). Bywa bardzo pomocny, jeśli zamierzasz obsługiwać ruch od klientów z różnych krajów. Wówczas serwery CDN przyspieszają ładowanie stron, udostępniając statyczne pliki (zdjęcia produktów, arkusze stylów, skrypty) z lokalizacji bliższych geograficznie odwiedzającym. W PrestaShop znajduje się konfiguracja CDN w panelu admina, choć czasem wymaga to też drobnych modyfikacji w plikach .htaccess i strefach DNS.
Na koniec miej na uwadze, że hostingi różnią się pomiędzy sobą obsługą parametru max_execution_time czy memory_limit. Dostosuj te wartości tak, żeby import plików i wykonywanie większych operacji w panelu (np. generowanie miniatur zdjęć) nie przerywały się w połowie. Im większa baza i liczba produktów, tym ważniejsze jest wybranie usług o odpowiednich zasobach. W innym razie PrestaShop może zgłaszać błędy przy niektórych działaniach, co utrudni zarządzanie sklepem. Pamiętaj: lepiej zapobiegać problemom, niż reagować na nie w ostatniej chwili, gdy klienci czekają na normalne działanie witryny.