Jaki hosting dla sklepu internetowego wybrać (PrestaShop / WooCommerce)?

Na wstępie podsumowanie. Poruszyliśmy ten temat na grupach Polska PrestaShop i po głębszej analizie zaproponowanych rozwiązań zdecydowaliśmy się zarekomendować Państwu rozwiązanie od dostawcy hostingu MyDevil.net. Nasz wybór postaramy się uzasadnić w niniejszym wpisie.

MyDevil.net
MyDevil.net (pakiety przeniesione z 2ap.pl)
Administracja i Zlecenia indywidualne
MyDevil.net VPN
dhosting (hosting elastyczny) *hosting, który zawsze daje radę.

Jakie rozwiązanie hostingowe wybrać dla sklepu internetowego?

Ważnym czynnikiem jest niewątpliwie szybkość odpowiedzi serwera oraz ilość miejsca na dysku i jego rodzaj (SSD vs HDD) jak również limity plików i transferu w pakiecie hostingowym. To właśnie na te elementy najczęściej zwracamy uwagę. Są jednak również inne istotne aspekty na które warto zerknąć przed podjęciem decyzji. Przy wyborze hostingu dla sklepu internetowego należy spojrzeć również na możliwości konfiguracji ustawień php.ini.

Inne isotone czynniki to oferta generowanych przez serwer automatycznych darmowych certyfikatów SSL (zaleca się zakupienie SSL od dostawcy zewnętrznego – zwiększa wiarygodność strony) oraz stałe IP, dzięki czemu nasze wiadomości wysyłane ze sklepu nie będzie trafiać do folderu spamu.

Dodatkowo należy zwrócić uwagę na wspierane technologie. Miłym zaskoczeniem w usługach MyDevil.net. jest to, że wspierają node.js. Co jest rzadkością wśród innych dostawców usług hostingowych (Standardowo GIT, SSH i wiele więcej).

* Jeśli chcesz dowiedzieć się więcej na temat technologii jakie wpiera hosting MyDevil.net kliknij w link i rozwiń listę wszystkich dostępnych usług.

Dlaczego wybór hostingu pod sklep internetowy jest bardzo istotny i jak ta decyzja może mieć potem wpływ na funkcjonowanie twojego sklepu?

Dla przykładu nie wymieniając nazwy jednego z dostawców usług hostingowych z którego korzystaliśmy przez długi czas i byliśmy zadowoleni do momentu, kiedy to nasi klienci nie wymagali uruchamiania skryptów do importu produktów z hurtowni na sklep internetowy. Mówimy tu o liczbie koło 10 tysięcy produktów. Okazuje się, że nasz ówczesny dostawca nie pozwalał na zmianę parametru określającego czas wykonywania się zadania do jego zerwania. W efekcie plik, który potrzebował około 60s na wykonanie nie mógł się wykonać i był przerywany. Mowa o kontach hostingowych współdzielonych, które w większości przypadków wystarczyły do utrzymania sklepu ale nie potrafiły poradzić sobie z importem dużych zestawień produktów.

Dla klientów korzystających z droższych rozwiązań VPS problem nie występował. Tam zakres ustawiania parametrów php.ini jest nieograniczony. Jedyne ograniczenia to moc procesora, RAM przypisany do danego pakietu VPS. Pakiety VPS choć często wydajniejsze to są również droższe i wymagają specjalisty do ich administracji. Utrzymanie takiego rozwiązania staje się więc sporo droższe.

Jeśli mamy nielimitowane środki i zależy nam na wydajności to mamy również do wyboru rozwiązania dedykowane. Tu jednak koszty zaczynają znacząco rosnąć i na początek warto rozpocząć od czegoś tańszego. Skalowanie biznesu może odbywać się w czasie. Na strat wydaj tylko tyle i musisz by sklep był fikcjonalny i widoczny.

Według nas pakiet ofertowany przez MyDevil.net gwarantuje złoty środek zarówno w cenie jak i funkcjonalności między rozwiązaniami współdzielonymi a niezależnością konfiguracji w usługach VPS. Pakiety MD1-5 pozwalają na dość dowolną konfigurację ustawień środowiskowych silnika PHP pozwalając na swobodny import produktów do sklepu bez zmartwień o przerwanie pracy skryptu przed wykonaniem przez niego zadania. Pakiety hostingowe MyDevil.net są również szybkie i wyposażone w dyski SSD co zwiększa szybkość obsługi żądania a więc krótszy czas ładowania się strony potencjalnemu klientowi.

Szybkość ładowania strony ma ogromny wpływ na konwersję w sklepie oraz na pozycjonowanie sklepu w wyszukiwarce Google.

Dobry i tani hosting dla sklepu internetowego

To naszym zdaniem pakiet usług MyDevil.net spełnia większość wymagań każdego sklepu internetowego.
MyDevil.net (pakiety przeniesione z 2ap.pl)
Administracja i Zlecenia indywidualne
MyDevil.net VPN
dhosting (hosting elastyczny)


PrestaShop zmiana kategorii produktów MySQL

nr 1 backup

Przykładowy skrypt testowy. Jeśli w zapytaniu nie pominiemy START TRANSACTION i ROLLBACK; będziemy mogli zobaczyć co zrobi nasze zapytanie a wszystkie zmiany zostaną przywrócone do stanu z przed zapytania. Zanim dokonasz zmiany w bazie upewnij się, że zapytanie zrobiło dokładnie to czego chciałeś.

SELECT * FROM `ps_product`

Jakie tabele nas interesują? Tabela ps_product

SELECT c.id_category, cl.name
FROM `ps_category` c
LEFT JOIN `ps_category_lang` cl
ON c.id_category = cl.id_category WHERE cl.id_lang = 1;

START TRANSACTION;
UPDATE `ps_product` SET `id_category_default` = '6' ; #zmienia kategorię wszystkich produktów
UPDATE `ps_product` SET `id_category_default` = '6' WHERE `ps_product`.`id_category_default` = 2; #zmienia kategorię produktów o danej kategorii.
UPDATE `ps_product` SET `id_category_default` = '6' WHERE `ps_product`.`id_product` = 1858; #zmienia kategorię konkretnego produktu

SELECT * FROM ps_product;
ROLLBACK;

Jeśli interesuje cię bardziej zaawansowane zapytania, które są uodpornione na obecność jednego produktu w wielu kategoriach przy i ch przenoszeniu oraz usuwanie produktu z przenoszonej kategorii gdy już istnieje w bazie można znaleźć na tej stronie:
https://devwl.pl/prestashop-how-to-reassign-products-from-one-category-to-another/

PrestaShop 1.7 database schema

Niestety nie ma jeszcze przygotowanej dokumentacji dla PrestaShop 1.7. Możemy jednak podejrzeć budowę bazy analizując plik dostępny na repozytorium GitHub presty:
https://github.com/PrestaShop/PrestaShop/blob/1.7.7.x/install-dev/data/db_structure.sql

Narzędzia:
https://dev.mysql.com/downloads/workbench/

Przydatne źródła:
https://devdocs.prestashop.com/1.7/development/database/structure/

Możemy jednak posiłkować się strukturą opisaną w basie 1.6. Większość tabel oraz relacji pozostaje nienaruszona.

Forum:
https://www.prestashop.com/forums/topic/372412-list-of-all-table-referencing-by-foreign-key-ps_productid_product/

Hurtownia + PrestaShop + BaseLinker +[ Allegro, Inpost, Integracja Księgowa ]

Czyli jak zintegrować sklep z hurtowniami, systemem BaseLinker oraz Allegro.

Integracja z hurtowaniami odbywa się za pośrednictwem modułów integrujących. Na rynku mamy w tym zakresie kilka rozwiązań. Osobiście omówię jedynie kilka z nich.

anymag.pl – To obecnie nowa aplikacja i choć ich oferta jest obiecująca to nie zapewnia jeszcze kompletnej integracji produktów i kategorii. Być może w chili kiedy czytasz ten artykuł kilka miesięcy lub lat później tego problemu już nie ma. Warto zatem zadzwonić do obsługi i dopytać o listę możliwości ich rozwiązania.

presta-mod.pl – Oferuje integrację pod daną hurtownię. Wysłaliśmy do nich zapytanie i oczekujemy na odpowiedź. Ich moduł wydaje się wyglądać troszkę lepiej do tego prezentowanego przez x13 z którego mieliśmy już przyjemność korzystać integrując jedną z hurtowni.
Link do modułu: https://presta-mod.pl/pl/moduly-prestashop/114-prestashop-import-produktow-xml-xml-new.html.

prestadev.pl – Prezentuje podobne rozwiązanie jak presta-mod.pl. W naszym przypadku pisząc wiadomość e-mail otrzymaliśmy odpowiedź kilka sekund później więc można założyć, że firma jest bardzo aktywna. Rozwiązanie wygląda podobnie do tego prezentowanego przez x13 oraz presta-mod.pl.
Link do modułu: https://prestadev.pl/pl/60-import-xml-hurtowania-prestashop.html#pd_aap_send_custommer_form

https://prestadev.pl/

x13.pl – Ich moduły integracyjne są na rynku od dawna i wielu użytkowników ceni sobie ich rozwiązania. Nie ma jednak rozwiązań bez wad. W przypadku usługi od x13 kupujemy sztywną integrację pod określony format pliku. Jeśli kluczowa struktura pliku zmieni się integracja będzie wymagała wprowadzenia zmian. Jesteśmy więc narażeni na przerwę techniczną i choć takie przypadki nie są najczęstsze to jednak zdążają się i trzeba mieć je na uwadze. W naszym przypadku jedna z integracji była wyceniona na kilka tyś zł netto choć na swojej stronie sprzedają moduł za około 500 zł netto. Kolejna hurtownia miała zwyczajnie nie zostać zintegrowana. Być może firma 13 miała swoje powody, to z perspektywy konsumenta nie mają one wielkiego znaczenia. Nie da się znaczy, że się nie da.

prestashow.pl – Kolejny polski moduł pozwalający nam na przeprowadzenie integracji samodzielnie. Po zainstalowaniu wtyczki pliki XML muszą zostać zmapowane we własnym zakresie. Takie rozwiązanie daje nam więcej możliwości integracyjnych i choć droższe na początku to z perspektywy czasu przy integracji kilku hurtowni pozwala zaoszczędzić pare zł.

prestashopmanager.com – Na uwagę może zasłużyć również. Jest to nieco bardziej rozbudowany produkt i jego funkcjonalność nie kończy się na integracji hurtowni XML z naszym sklepem PrestaShop. Częściowo prestashopmanager spełnia funkcje integracyjne z marketplace na podobieństwo Baselinkera, jednakże jest to rozwiązanie zagraniczne i o ile może doskonale spełnić się na rynku zagranicznym tak już nie możemy liczyć na integracje do najpopularniejszych na polskim rynku rozwiązań jak np. Allegro czy Olx.

Module; https://www.prestashopmanager.com/order/

Integracja PrestaShop z BaseLinker

Base linker to produkt oferujący wiele integracji pod jednym systemem w module subskrypcyjnym. Bardzo popularny na polskim rynku. Pozwala on na wiele rodzajów integracji kurierskich, księgowych jak również zarządzanie sprzedażą z poziomu panelu Baselinkera. To naprawdę fajne narzędzie i potrzebuje wiele fajnego
http://pomoc.baselinker.com/pomoc/integracja-sklepu-przez-plik/

BaseLinker jest systemem do usprawniania i zarządzania procesem sprzedaży w Internecie oraz integracji z zewnętrznymi marketplace takimi jak Allegro, Ebay, OLX czy Amazon. Nie jest to jednak rozwiązanie idealne. Importując produkty do allegro na dzień dzisiejszy BaseLinker nie daje nam możliwości ustawiania osobnej marży dla poszczególnej kategorii. Jak wiemy Allegro opiera swój sposób naliczania prowizji na różnych stawkach prowizji podzielonej względem różnych kategorii. Aby więc osiągnąć ceny idealne musielibyśmy ustalać ceny indywidualnie dla każdego produktu co jest niemożliwe przy dużej ilości asortymentu lub modyfikować nasze ceny w sklepie (który jest magazynem głównym przy imporcie produktów z hurtowni jeśli nasze rozwiązanie importujące na to pozwala) w celu ustawienia preferowanej marży dla produktów wystawionych na allegro. Zgłosiliśmy ten problem do Baselinkera i otrzymaliśmy odpowiedź, że ta funkcjonalność jest obecnie testowana i niebawem powinna zostać wdrożona. Na dzień dzisiejszy jednak ta funkcjonalność jest niedostępna i może sprawić sporo kłopotów przy ustalaniu cen produktów.

Jedyne rozwiązanie jaki widzimy to posiadać dwa zewnętrzne magazyny i ustalać na nich ceny niezależnie. Czyli np. katalog produktów na PrestaShop oraz oddzielny magazyn / sklep PrestaShop do handlu detalicznego.

Z poziomu Baselinkera można również przeprowadzać integracje bezpośrednio do magazynu Baselinkera pomijając sklep. Nie jest to jednak rozwiązanie idealne. Posiadając własny sklep możemy oferować klientom lepsze ceny niż te wystawiane na allegro.

Czy są jakieś alternatywy dla BaseLinkera? Na rynku istnieją jeszcze takie rozwiązania jak https://sellasist.pl/, https://www.erpbox.pl/. Być może w przyszłości napiszemy o nich wpis porównawczy.

Po integracji Baselinkera z Allegro Baselinker uzyska dostęp do następujących funkcji:

Zarządzanie ofertami
Odczyt danych o ofertach. Tworzenie, edycja, łączenie i zamykanie ofert.

Ustawienia sprzedaży
Odczyt ustawień sprzedaży. Zarządzanie ustawieniami sprzedaży.

Promowanie ofert
Zarządzanie kampaniami Allegro Ads. Zgłaszanie ofert do oznaczeń i programów specjalnych.

Zamówienia i obsługa posprzedażowa
Odczyt informacji o zamówieniach. Zarządzanie zamówieniami. Obsługa ocen i komentarzy. Obsługa sporów transakcyjnych.

Finanse i płatności
Odczyt salda i opłat na koncie. Odczyt historii płatności. Obsługa zwrotów wpłat.

Dane osobowe
Odczyt danych osobowych z konta. Edycja danych osobowych na koncie.

Licytacje i zakupy
Składanie ofert kupna w licytacjach.