Karty teaser z poradników na karcie produktu w Shoperze - jak je wpiąłem
Klient na karcie produktu nie wie, że sklep ma poradnik o tej kategorii. Pokazuję, jak wpiąłem karty teaser w kartę produktu Shopera: server-side, zero JS, z linkiem dla SEO.
Sklep ma poradniki, a karta produktu o nich nie wie. To bardzo częsta sytuacja w polskim e-commerce: redakcja albo sam właściciel pisze porządne, segmentacyjne treści - „jaki kabel do telefonu”, „jak dobrać ładowarkę”, „które etui realnie chroni” - i lądują one w osobnej zakładce bloga, do której prawie nikt nie trafia. Klient w tym samym czasie stoi na karcie produktu, w fazie decyzyjnej, i nie ma pojęcia, że ktoś napisał dla niego dokładnie to, czego szuka.
To jest strata na dwóch poziomach naraz. Po pierwsze biznesowa: ekspertyza, która mogłaby domknąć zakup, leży kilka kliknięć dalej i klient nigdy do niej nie dojdzie. Po drugie SEO-wa: treści żyją w izolacji, bez linków z autorytatywnych, zaindeksowanych stron sklepu, więc Google długo ich nie zauważa.
Zbudowałem na to mostek - element frontu Shoper Storefront, który wstawia w kartę produktu kartę teaser prowadzącą do powiązanego poradnika. Cała robota po stronie motywu, bez dotykania silnika sklepu, w całości server-side. Opiszę, jak to działa i dlaczego akurat tak, a nie „wtyczką z popupem”.
Czym jest karta teaser
Karta teaser to mały blok redakcyjny doklejony do karty produktu - typowo w prawej kolumnie, obok ceny i przycisku. Nie krzyczy, nie miga, nie zasłania zakupu. Ma jeden cel: w fazie decyzyjnej podsunąć kontekst eksperta i dać klientowi jasny powód, żeby zaufać sklepowi bardziej niż konkurencji obok.
Zawartość jest celowo oszczędna:
- Nagłówek sekcji w stylu „Z redakcji / Warto wiedzieć przed zakupem” - sygnał, że to nie reklama, tylko porada.
- Jedno zdanie wprowadzające (lead), wyciągnięte z treści poradnika - konkret, nie ogólnik.
- Tytuł poradnika jako link do pełnego artykułu.
- Stopka zaufania: autor, czas czytania, etykieta „poradnik”.
- Wezwanie „Przeczytaj poradnik ->”.
Najważniejsza zasada jest taka, że teaser pojawia się warunkowo - tylko na tych produktach, które ktoś świadomie powiązał z konkretnym poradnikiem. Żadnego automatu doklejającego losowy artykuł „bo pasuje kategoria”. Jak nie ma sensownego dopasowania, karta produktu wygląda normalnie. To celowe: jeden trafny teaser robi więcej niż dziesięć przypadkowych.
Dlaczego server-side i zero JavaScriptu
Najważniejsza decyzja w całym module: render w stu procentach po stronie serwera, bez ani jednej linijki JavaScriptu doczytywanej w przeglądarce klienta. To nie jest dogmatyzm, tylko wprost konsekwencja głównego celu.
Cel jest SEO-wy. Mostek ma przyspieszyć indeksację poradników, a żeby to zadziałało, Googlebot musi zobaczyć link w surowym HTML karty produktu - bez wykonywania skryptów, bez czekania na hydration. Stąd trzy twarde zasady:
- Link jest zwykłym
<a href>w kodzie, który przychodzi z serwera gotowy. - Bez
rel="nofollow"- chcemy, żeby autorytet zaindeksowanej karty produktu realnie przepływał do poradnika. - Bez
target="_blank"- to ma być naturalne przejście w obrębie serwisu, nie wyrwanie klienta do nowej karty.
W praktyce to internal linking robiony porządnie: autorytatywna, od dawna zaindeksowana karta produktu podaje rękę nowej treści i przyspiesza jej naliczanie w wyszukiwarce. Ten sam mechanizm, który opisywałem przy budowie własnej wyszukiwarki i przebudowie kart produktów: platforma daje ramy, a różnicę robi to, co się w nich poskłada. Karta teaser działa tu identycznie jak moja przerobiona karta produktu - przychodzi z serwera kompletna, więc widzi ją tak samo użytkownik, jak i robot.
Treść osadzona w module, nie doczytywana w locie
Druga decyzja, mniej oczywista, a moim zdaniem ważniejsza dla stabilności sklepu: dane teaserów są wbudowane w sam moduł, nie pobierane w czasie renderu z zewnętrznego serwisu.
Kuszące byłoby zrobić to „na żywo”: karta produktu odpytuje API serwisu z poradnikami i pokazuje, co przyjdzie. Tylko że wtedy najczęściej odwiedzana, najbardziej dochodowa strona w sklepie - karta produktu - zaczyna zależeć od sprawności zupełnie innego systemu. Jeśli ten drugi serwis zwróci błąd 5xx albo po prostu zamuli, problem przelewa się na kartę produktu w głównym sklepie. Tego ryzyka nie wolno wkładać na ścieżkę krytyczną zakupu.
Dlatego zrobiłem to odwrotnie. Z poradników generowany jest zwarty manifest - mapa „który produkt dostaje który teaser” wraz z gotowymi treściami - i ten manifest jest wstrzykiwany prosto do szablonu modułu. Efekt:
- Zero zewnętrznych requestów podczas renderu karty produktu. Strona nie czeka na nikogo.
- Zero ryzyka, że problem serwisu z treścią położy stronę produktu. Najgorsze, co się stanie, to lekko nieaktualny teaser do następnego wgrania paczki.
- Parsowanie w ułamku milisekundy - to kilkanaście kilobajtów tekstu w szablonie, nie kolejne połączenie sieciowe.
To jest dokładnie ta sama dyscyplina, którą opisywałem przy naprawianiu zamulającego mega-menu: nowy element frontu nie ma prawa spowolnić ani zdestabilizować tego, co już działa. Dokładasz wartość, nie dokładasz ryzyka.
Kto decyduje, gdzie teaser się pojawia
Żeby to się nie rozjechało po trzech miesiącach, źródło prawdy musi być jedno. U mnie tym źródłem jest sam poradnik. Autor przy treści wskazuje, do których produktów (po ich identyfikatorach w sklepie) artykuł ma być podpięty, i zaznacza jedno zdanie, które ma pojechać jako lead w teaserze.
Cała reszta dzieje się automatycznie: przy każdej publikacji treści przebudowuje się manifest, a moduł na sklepie dostaje świeżą wersję. Nikt nie edytuje teaserów ręcznie w panelu Shopera, nie ma więc dwóch rozjeżdżających się wersji tej samej treści. Zmieniasz zdanie w poradniku - zmienia się w sklepie. To samo podejście, którym kieruję się wszędzie na froncie: jedno miejsce prawdy, reszta z niego wynika, zero łatania w dziesięciu plikach naraz.
Architektura od początku zakłada, że ten sam mechanizm obejmie też karty kategorii, nie tylko pojedyncze produkty - z osobnym, szerszym leadem dopasowanym do całej kategorii. Karta produktu była pierwszym krokiem, bo to tam decyzja zapada najbliżej przycisku.
Content commerce po polsku, bez wielkich słów
Można to nazwać modnie „content commerce”, ale chodzi o rzecz prostą: treść i sklep przestają być dwoma osobnymi światami. Klient dostaje ekspertyzę dokładnie tam, gdzie się waha, a nie w zakładce, do której nigdy nie wejdzie.
Korzyść jest podwójna i obie strony się wzmacniają:
- Sprzedażowo - teaser buduje zaufanie w najtrudniejszym momencie. Ktoś niezdecydowany między dwoma modelami dostaje porównanie od „redakcji”, a nie kolejny baner promocyjny. To obniża próg decyzji, choć nigdy nie pojawi się w raporcie jako „przyczyna”.
- SEO-wo - rosnący graf linków wewnętrznych z mocnych stron produktowych do treści realnie przyspiesza indeksację i podbija widoczność poradników. A lepiej widoczne poradniki ściągają nowy ruch, który znów trafia na karty produktu. Pętla się domyka.
To nie jest funkcja „na pokaz”. To cichy element, który pracuje na konwersję i na widoczność jednocześnie, a klient nawet nie zauważa, że ktoś go tu poprowadził za rękę.
Co to daje komuś, kto liczy konwersje
Tu domyka się to, czym zajmuję się na co dzień. Pomiar, tagowanie i Google Ads precyzyjnie pokażą, gdzie klienci odpadają i które ścieżki dowożą sprzedaż. Ale jeśli klient odpada na karcie produktu, bo brakuje mu kontekstu i pewności, żaden najlepszy tracking sam tego nie naprawi. Dane mówią, gdzie jest dziura. Front decyduje, czy ją załatasz.
Karta teaser jest właśnie takim załatywaniem dziury w fazie decyzyjnej - tanim, lekkim i mierzalnym. Bo skoro przejście „Przeczytaj poradnik” to zwykły link, to z tej samej warstwy pomiarowej, którą wpinam przy server-side trackingu na Shoperze, widać dokładnie, ilu klientów z niego korzysta i jak zachowują się po powrocie. Ten sam porządek, który robię w danych, opłaca się na froncie sklepu.
Podsumowanie
Sklep i jego treści nie muszą być dwoma osobnymi światami. Da się je połączyć kartą teaser na karcie produktu - server-side, bez JavaScriptu, z prawdziwym linkiem, który widzi Googlebot, i z danymi wbudowanymi w moduł, żeby nie obciążać ani nie destabilizować najważniejszej strony w sklepie. Wszystko po stronie frontu Shoper Storefront, bez ruszania silnika i bez kompromisu na szybkości czy SEO.
Coraz mocniej wchodzę w przebudowę frontu Shoper Storefront właśnie dlatego: na tej platformie da się zbudować sklep, który nie tylko wygląda nowocześnie, ale i mądrze prowadzi klienta między treścią a zakupem. Karty teaser i inne elementy frontu przebudowuję też na zlecenie - wycena zależy od zakresu.
Najlepszy content marketing w sklepie to nie osobna zakładka, do której nikt nie wchodzi. To jedno trafne zdanie podsunięte dokładnie tam, gdzie klient się waha.