Jedna platforma pre 12 európskych trhov
Pre Sharp sme prestavali pomalý produktový web na jednu multisite platformu pre 12 trhov a viac ako 4 000 produktov.
Produktové dáta sa dnes z centrálneho PIM synchronizujú takmer okamžite a vyhľadávanie funguje v milisekundách.
12
európskych trhov
4 000+
produktov v katalógu
5
mesiacov od prevzatia
33
redakčných blokov

Sharp potreboval viac než nový web
Sharp mal existujúci produktový web, ktorý pri veľkom katalógu prestával zvládať svoju úlohu.
Web bol pomalý a produktové dáta sa z PIM systému synchronizovali zložito a s výrazným oneskorením. Nové alebo upravené informácie sa preto na webe mohli objaviť až po niekoľkých dňoch.
Súčasťou zadania bol aj redizajn a vytvorenie platformy, ktorá dokáže obslúžiť viac európskych trhov bez toho, aby každý z nich fungoval ako samostatný web.
PIM
produktové dáta
WordPress databáza
pomalé dotazy pri veľkom katalógu
Zadanie malo tri body
Zrýchliť web a produktový katalóg
Pôvodná implementácia nezvládala výkon pri tisícoch produktov.
Dostať dáta z PIM na web takmer okamžite
Nové informácie sa na webe objavovali až po niekoľkých dňoch.
Postaviť jeden základ pre 12 trhov
Nie dvanásť samostatných webov, ktoré treba udržiavať zvlášť.
Projekt sme prevzali a prebudovali
Projekt sme prevzali od nemeckej agentúry, ktorá pôvodný web vytvorila.
Namiesto postupného opravovania existujúcej architektúry sme prehodnotili spôsob, akým sa produktové dáta dostávajú na web a ako sa nad nimi vykonáva vyhľadávanie.
Cieľom bolo znížiť závislosť od WordPress databázy, zrýchliť prácu s produktovým katalógom a vytvoriť spoľahlivejší dátový tok.
Menej závislosti od WordPress databázy. Viac výkonu a spoľahlivejší dátový tok.
PIM zostal zdrojom pravdy.
WordPress dostal inú úlohu.
Kľúčovým rozhodnutím bolo neukladať produktový katalóg priamo do databázy WordPressu.
PIM
centrálne produktové dáta
Typesense
vyhľadávanie a filtrovanie
WordPress multisite
obsah a prezentácia
12 trhov
lokálne verzie platformy
PIM zostáva centrálnym zdrojom produktových dát. Vlastný konektor reaguje na zmeny cez webhooky a synchronizuje ich do Typesense.
Typesense sa stará o fulltextové vyhľadávanie a filtrovanie nad viac ako 4 000 produktmi. WordPress zostáva redakčným prostredím pre obsah a jednotlivé stránky.
Dáta, vyhľadávanie a obsah sme oddelili tak, aby každý systém robil to, na čo je vhodný.
Z niekoľkých dní
na takmer okamžitú synchronizáciu
Pôvodný sync produktových dát bol pomalý, zložitý a náchylný na chyby.
Ako to funguje dnes
Webhook
Zmena v PIM spustí notifikáciu.
Buffer
Väčšie množstvo zmien sa zhromažďuje.
Dávkové spracovanie
Dáta sa spracúvajú dávkovo.
Opakované pokusy
Pri výpadku sa zápis skúsi znova.
Ochrana zápisov
Kolízne zápisy sa nemôžu prekryť.
Zmena produktu v PIM sa na webe prejaví takmer okamžite namiesto niekoľkých dní.
4 000+ produktov.
Výsledok za milisekundy.
Pri veľkom produktovom katalógu sme fulltextové vyhľadávanie a filtre postavili na Typesense namiesto klasických databázových dotazov.
Používateľ môže okamžite vyhľadávať a filtrovať celý katalóg. Do indexu dostávame aj staršie produkty, ktoré už nie sú súčasťou aktuálnych dát v PIM — katalóg tak zostáva rýchly aj pri tisícoch položiek.

Vyhľadávanie nie je brzdené WordPress databázou.
12 trhov.
Jeden základ.
Sharp dnes funguje na jednej WordPress multisite platforme pre 12 európskych trhov.
Trhy zdieľajú kód, dizajn, komponenty, mediálnu knižnicu, produktové dáta a technickú infraštruktúru. Jednotlivé trhy pritom zostávajú samostatne spravovateľné.
Pridanie ďalšieho trhu preto neznamená vytvárať ďalší web od začiatku. Platforma sa rozšíri konfiguráciou.
Trhy na platforme
Rakúsko
Nemecko
Španielsko
Francúzsko
Írsko
Taliansko
Holandsko
Poľsko
Portugalsko
Srbsko
Veľká Británia
Európa
Jedna platforma, dvanásť trhov — a ďalší je otázka konfigurácie.
Redakcia nemusí čakať na vývojára
Nový WordPress sme postavili ako komponentový redakčný systém s 33 vlastnými blokmi.
Redaktori z nich skladajú produktové a obsahové stránky bez zásahu vývojára.
Produktové sekcie, zoznamy, vyhľadávanie a ďalšie prvky nie sú natvrdo naprogramované do jednotlivých stránok.
To zjednodušuje každodennú správu webu a zároveň drží dizajn a štruktúru jednotlivých trhov pod kontrolou.

Rýchlosť sme neriešili až po spustení
Výkon bol jedno z hlavných architektonických rozhodnutí od začiatku.
Okrem presunu produktových dát mimo databázy WordPressu sme použili viacúrovňové cachovanie, optimalizáciu obrázkov a ďalšie opatrenia zamerané na Core Web Vitals.
Rýchlosť je súčasťou architektúry platformy.
Od prevzatia po spustenie za päť mesiacov
Pracovali sme v dvojtýždňových sprintoch s pravidelnou spätnou väzbou od klienta. Sharp mal počas vývoja priebežný prehľad o stave projektu a mohol meniť priority podľa aktuálnych potrieb.
5 mesiacov
jún – október 2024
agilný vývoj
dvojtýždňové sprinty
Spustením sa projekt neskončil
Po spustení sme zostali partnerom pre ďalšiu prevádzku a rozvoj platformy.
Sharp má jedného partnera pre celý životný cyklus riešenia.
SLA
Monitoring, aktualizácie a garantované reakčné časy.
Údržba
Priebežné ladenie výkonu a technická starostlivosť.
Rozvoj
Nové funkcie, komponenty a trhy podľa potrieb značky.
Nový web nie je hotový v deň spustenia. Odvtedy začína jeho ďalší život.
Z 12 samostatných webov na jednu platformu
Produktové dáta z centrálneho PIM sa synchronizujú takmer okamžite. Vyhľadávanie a filtrovanie zostáva rýchle aj pri katalógu s viac ako 4 000 produktmi.
Redakcia má vlastné komponenty na správu obsahu a ďalší trh je možné pridať bez budovania nového webu od začiatku.

Technológie a architektúra
Technológiu vyberáme podľa projektu, nie projekt podľa technológie. Toto sú rozhodnutia, ktoré Sharpovi dali rýchlosť a jednu platformu namiesto dvanástich.
Základ platformy
WordPress Multisite
Dvanásť trhov beží na jednej inštalácii so zdieľaným kódom, dizajnom a mediálnou knižnicou. Pridanie ďalšieho trhu je konfigurácia, nie nový web.
Bedrock
Projekt má štruktúru moderného PHP repozitára: závislosti cez Composer, konfiguráciu v premenných prostredia a oddelené prostredia pre testovanie a produkciu.
Sage
Šablóny sú oddelené od logiky a skladajú sa z komponentov. To je základ, na ktorom stojí 33 redakčných blokov bez toho, aby sa kód opakoval.
Dáta a vyhľadávanie
Typesense
Produktový katalóg žije v dedikovanom vyhľadávacom engine, nie v databáze WordPressu. Fulltext aj fasetové filtre odpovedajú v milisekundách aj pri 4 000 produktoch.
PIM integrácia
PIM zostáva jediným zdrojom pravdy o produktoch. Web si dáta nedrží po svojom, iba ich zobrazuje — takže nemôžu vzniknúť dva rôzne stavy toho istého produktu.
Webhooky
Zmena v PIM sa ohlási sama, namiesto pravidelného preťahovania celého katalógu. Hromadné zmeny zbiera buffer a spracúvajú sa dávkovo.
Výkon
Viacúrovňové cachovanie
Viac vrstiev cache nad sebou, aby sa k PHP dostal len dotaz, ktorý žiadna z nich nevie obslúžiť.
Core Web Vitals
Rýchlosť meriame metrikami, ktoré hodnotí Google aj používateľ — LCP, CLS a INP. Optimalizácia obrázkov a poradia načítania vychádza z nich.
Vlastný routing produktových stránok
Adresy ako /tv/75jp7265e/ nestoja na žiadnej WordPress stránke — routing ich skladá nad dátami z Typesense.
Ďalšie platformy, ktoré prevádzkujeme
Architektúru sa dá vymeniť aj pod hotovým produktom.
Pozrime sa spolu na to, čo vo vašom riešení treba zmeniť, aby fungovalo rýchlejšie a spoľahlivejšie — a čo sa dá nechať tak.
Ozveme sa do 24 hodín.
Nezáväzne.


