Prestashop zmiana domeny

Tworzyłeś sklep internetowy na domenie testowej lub lokalnie?
Pewnie zastanawiasz się teraz jak prawidłowo zmienić domenę, tak by sklep zaczął działać pod prawidłowym adresem.

Zgranie plików z poprzedniego środowiska

Na początku musisz zgrać wszystkie pliki sklepu oraz bazę danych ze starego serwera (poprzedniej lokalizacji).
Możesz spakować pliki z FTP do ZIPa, zgrać je na nowy serwer i wypakować.
Samą bazę zalecamy zapisać do SQL skompresowanego do ZIPa.
Sugerujemy zgrywanie bazy danych oraz bezpośrednio przez SSH, jesli jest to przepięcie na inny serwer, a Ty masz dostęp do SSH.

Jeśli nie wiesz, jak to zrobić, skontaktuj się z administratorem nowego serwera - powinnien Tobie pomóc w tym temacie.

Wypakowanie i przygotowanie plików na nowym hostingu

Zaczynasz od wypakowania plików FTP w nowej lokalizacji (domenie/subdomenie lub folderze).
Musimy odszukać plik konfiguracyjny i zmienić w nim dane (nazwę bazy, użytkownika, hasło) do połączenia z nową bazą danych.

Plik konfiguracyjny dla sklepu PrestaShop w wersjach 1.5 i 1.6 znajduje się w config/settings.inc.php.

'database_host' => 'localhost', //adres bazy danych
'database_port' => '', //port bazy danych
'database_name' => 'baza_nowa', //nazwa bazy danych
'database_user' => 'user_nowy', //użytkownik bazy danych
'database_password' => 'noWWWeTrudne!2#2Haslo', //hasło do bazy danych

Plik konfiguracyjny dla sklepu PrestaShop w wersji 1.7 oraz 8.0 dostępny jest w katalogu app/config/parameters.php.

define('_DB_SERVER_', 'localhost'); //adres bazy danych
define('_DB_NAME_', baz_nowa); //nazwa bazy danych
define('_DB_USER_', user_nowy); //użytkownik bazy danych
define('_DB_PASSWD_', 'noWWWeTrudne!2#2Haslo'); //hasło do bazy danych

Następnie jeśli chcesz możesz usunąć oryginalny plik .htaccess (znajdziesz go w głównym folderze sklepu). Ten krok nie jest wymagany do prawidłowej zmiany domeny.

Gratulacje! Pierwsze działania po stronie plików za nami, teraz czas przejść do bazy danych.

Przechodzimy do utworzonej czystej bazy danych.
Musisz wgrać wcześniej zgraną kopię bazy danych, umieszczając ją na serwerze.

Najłatwiej zrobisz to z poziomu phpmyadmin lub wgrywając ją bezpośrednio z SSH.
W ramach tego przykładu nowa baza otrzyma nazwę i użytkownika baza_nowa.

Zmiana domeny na nowy adres w bazie danych

Jeśli jesteś zalogowany do bazy danych, oraz masz już wczytaną bazę musisz przejść do tabeli PREFIX_shop_url (domyślnie ps_shop_url).
W przypadku gdy posiadasz sklep bez multistore zobaczysz jeden wpis, z ID sklepu 1.

Edytujesz przy nim pole domain oraz domain_ssl w naszym przypadku na nowadomena.pl.
Jeśli Twój sklep znajduje się w folderze zmień physical_uri/ na konkretny folder np. /sklep/.

Zalecamy by nowa domena była wpisana bez przedrostka www.
PrestaShop utworzy automatycznie takie przekierowanie, więc wchodzą na www.nowadomena.pl klient w przeglądarce zostanie automatycznie przekierowany na nowadomena.pl.

Kolejne miejsce, w którym warto zmienić adres domeny jest tabela konfiguracyjna PREFIX_configuration (domyślnie ps_configuration), w niej wyszukujemy według pola name PS_SHOP_DOMAIN oraz PS_SHOP_DOMAIN_SSL oraz uzupełniamy domenę.

Po tej zmianie nie zaszkodzi sprawdzić, czy nazwa Twojego sklepu ustawiona jest poprawnie, znajdziesz ją w PREFIX_shop (domyślnie ps_shop) w kolumnie name możesz edytować nazwę swojego sklepu.

Wyczyszczenie plików cache

Sugerujemy jako kolejny krok w przypadku PrestaShop 8.0 oraz 1.7 ręczne usunięcie plików cache z FTP.
Aby zrobić to w 100% poprawnie przejdź do folderu var/cache następnie zmień folder prod na prod-del oraz jeśli posiadasz folder dev na dev-del.
Następnie usuń folder prod-del oraz dev-del.

Dlaczego tak, a nie po prostu usunąć folder dev i prod?

Jeśli zmienisz nazwę folderu, a następnie go usuniesz masz pewność, że usuniesz 100% plików cache. Gdyby folder nie był zmieniony a Ty lub klient zaczniecie przeglądać sklep w tym momencie utworzą się nowe pliki cache, które trudniej będzie odfiltrować i prawidłowo usunąć.

Zaloguj się do panelu administracyjnego sklepu PrestaShop

Zaloguj się do panelu administracyjnego sklepu, już na nowej domenie np. https://nowadomena.pl/admin_presta/.
Wpisując dane logowania - adres e-mail oraz hasło takie, z jakich korzystałeś przed migracją sklepu.
Jeśli styl panelu sklepu nie wczytał się poprawnie, zacznij od wyczyszczenia pamięci podręcznej przeglądarki.

Generowanie pliku .htaccess

Musisz wygenerować nowy poprawny plik htaccess dla Twojej nowej domeny.
By to zrobić, przejdź to zakładki Konfiguracja > Preference > Ruch i w sekcji Ustaw URL-e klikasz przycisk Zapisz - w tym momencie zostanie utworzony nowy plik .htaccess.

Przedostatnia rzecz którą możesz zrobić to ponowne wyczyszczenie cache sklepu. Po zalogowaniu się panelu należy przejść do zakładki Zaawansowane > Wydajność i kliknij po prawej u góry w przycisk Wyczyść pamięć podręczną.

Testy nowej domeny sklepu

Zmiana domeny nie jest inwazyjną operacją, jednak warto również po niej przetestować czy w Twoim sklepie nie pojawiły się jakieś błędy.

W przypadku gdy sklep był przenoszony i jest na nowym serwerze, wykonaj dokładniejsze testy sprawdź adres sklepu.
Zaczynając od strony głównej, przechodząc przez kategorię, produkt oraz kończąc na procesie zakupowym.

PS jeśli ustawiałeś ręcznie linki w module menu, lub dodawałeś je w opisach produktów, stronach CMS itd. również musisz je zmienić, tak by linki posiadały aktualną domenę.
Możesz zrobić to ręcznie lub wyszukując starą domenę we wszystkich tabelach w bazie danych, następnie podmień ją na nową domenę.
Pamiętaj o wpisywaniu adresu jako https:// jeśli korzystasz z SSLa w swoim sklepie.

Jak widzisz przeniesienie sklepu na inną domenę, nie jest skomplikowanym procesem. Bezproblemowo poradzisz sobie z podpięciem nowej domeny.