Modelowane listy odbiorców nie zawierają konkretnych osób, tylko prawdopodobieństwa. Wyjaśniam, jak powstają, gdzie ich szukać w panelu i jak czytać ich raporty.
Sklepy B2B mają jeden wspólny problem, który wraca u mnie w prawie każdej rozmowie o pozycjonowaniu hurtu: cena nie może być publiczna. Czasem to decyzja handlowa, czasem wymóg umowy z producentem, czasem po prostu logika rynku, w którym każdy klient ma inny rabat.
Skutek jest zawsze podobny. Karta produktu zostaje z nazwą, jednym zdjęciem od dostawcy, opisem przeklejonym z katalogu producenta i przyciskiem „Zapytaj o cenę”. Trzy czwarte tego, co w sklepie detalicznym stanowi treść karty, tu po prostu nie istnieje.
Widzę na takich wdrożeniach dwa błędy naprzemiennie: albo próbę oszukania wyszukiwarki fikcyjną ceną, albo całkowitą rezygnację z optymalizacji kart i pozycjonowanie wyłącznie kategorii. Oba kończą się źle. Poniżej opisuję, co realnie da się zrobić z kartą produktu, która nigdy nie pokaże kwoty.
Cena w sklepie detalicznym pełni w tle kilka funkcji, o których nikt nie myśli, dopóki ich nie zabraknie.
Po pierwsze, jest treścią unikalną. Nawet jeśli opis pochodzi z katalogu producenta i jest identyczny u dwudziestu dystrybutorów, cena, dostępność i czas dostawy różnicują strony. Bez tego zostaje sam skopiowany opis — a wtedy nie ma powodu, dla którego wyszukiwarka miałaby wybrać właśnie Twoją kartę spośród dwudziestu bliźniaczych.
Po trzecie, cena jest wymagana w danych strukturalnych produktu, jeśli chcesz liczyć na wzbogacone wyniki z ceną i dostępnością. Bez niej ta ścieżka jest zamknięta i trzeba szukać innych sposobów na wyróżnienie się w wynikach.
Zamiast pustego przycisku warto dać użytkownikowi tyle informacji handlowej, ile pozwala polityka firmy. Zwykle pozwala na więcej, niż zakłada dział sprzedaży.
W B2B specyfikacja jest tym, czym w detalu jest opis marketingowy. Ludzie kupujący łożyska, zawory czy profile aluminiowe nie czytają o „najwyższej jakości” — szukają wymiaru, normy, klasy szczelności i tego, czy dana część pasuje do maszyny, którą mają.
Dlatego tabelę parametrów traktuję jako główną treść karty, nie jako sekcję pod opisem. Uzupełniam ją tym, czego katalog producenta nie zawiera: zastosowaniami, zamiennikami, kompatybilnością z konkretnymi modelami urządzeń, ostrzeżeniami montażowymi. To najprostszy sposób na zbudowanie treści, której nie ma żadna inna karta z tym samym numerem katalogowym.
Dokumenty również mają znaczenie, ale nie same z siebie. Karta katalogowa w PDF, deklaracja zgodności, rysunek techniczny czy atest to sygnały wiarygodności, jednak tylko wtedy, gdy najważniejsze dane z tych dokumentów są także w treści HTML. Sam link do pliku nie zbuduje pozycji strony, a zdarza mi się widzieć karty, na których cała specyfikacja jest zamknięta w załączniku.
Znaczniki produktu bez ceny nie dają wyniku wzbogaconego z kwotą i dostępnością — tu nie ma obejścia i nie warto go szukać. Wpisywanie ceny zerowej albo symbolicznej złotówki to droga do ostrzeżeń w raportach i do niczego więcej.
Co zostaje. Znacznik produktu dalej ma sens jako opis obiektu: nazwa, marka, numer katalogowy, kod GTIN, jeśli istnieje, oraz identyfikator producenta. Te dane pomagają dopasować kartę do zapytań opartych na symbolach. Do tego dochodzi ścieżka nawigacyjna, która porządkuje strukturę serwisu, i znacznik organizacji na poziomie całej witryny.
Ostrożnie podchodziłbym do liczenia na sekcje z pytaniami i odpowiedziami. Odkąd Google w drugiej połowie 2023 roku mocno ograniczył wyświetlanie takich wyników do wąskiej grupy serwisów, traktuję je jako element użyteczny dla czytelnika, a nie jako sposób na powiększenie wyniku w wyszukiwarce.
Najczęstszy błąd techniczny w sklepach hurtowych: cały katalog za panelem klienta. Treść, której robot nie widzi, nie istnieje w indeksie — to banał, a mimo to trafiam na sklepy B2B, które od lat są niewidoczne w wyszukiwarce dokładnie z tego powodu.
Podział, który zwykle proponuję, jest prosty. Otwarte zostaje wszystko, co opisuje produkt: nazwa, zdjęcia, specyfikacja, zastosowania, dokumentacja, informacja o dostępności w formie ogólnej. Za logowaniem zostaje to, co jest indywidualne: cena kontrahenta, rabaty, stany magazynowe co do sztuki, historia zamówień, możliwość złożenia zamówienia.
Frazy w B2B wyglądają inaczej niż w detalu i planowanie treści pod nie wymaga innego podejścia.
Duża część ruchu przychodzi z zapytań o konkretny symbol lub numer katalogowy. Takie zapytania mają niski wolumen, nie pokażą się w narzędziach do badania słów kluczowych, a konwertują lepiej niż cokolwiek innego. Dlatego numer katalogowy musi być w tytule strony, w widocznej treści i w adresie, jeśli struktura na to pozwala. Warto też obsłużyć zamienniki i numery konkurencji, bo klient szukający części często zna wyłącznie oznaczenie z innego katalogu.
Trzecia grupa, najbardziej pomijana, to zapytania problemowe — „czym zastąpić”, „jaka norma”, „ile wytrzyma”. Tu wygrywa treść ekspercka, a w hurcie zwykle jest komu ją napisać. Największą przeszkodą nie jest brak wiedzy, tylko to, że wiedza siedzi w głowach dwóch osób z działu technicznego, których nikt o nią nie pyta.
Bez koszyka nie ma przychodu w danych analitycznych, więc pomiar trzeba ustawić od zera i pod inne cele.
Zdarzeniami, które faktycznie śledzę, są: wysłanie formularza zapytania z rozbiciem na kategorię produktu, kliknięcie w numer telefonu, pobranie karty katalogowej, rejestracja konta kontrahenta i logowanie. Każde z nich mówi coś innego o etapie procesu i każde warto oglądać osobno.
Problem zaczyna się dalej: zapytanie ofertowe to jeszcze nie sprzedaż, a domknięcie następuje w systemie handlowym, często po kilku tygodniach. Bez zestawienia tych dwóch światów optymalizuje się liczbę zapytań, a nie ich jakość — i po pół roku okazuje się, że ruch wzrósł, a przychód nie. Nawet ręczne, comiesięczne przypisywanie zamówień do źródeł jest lepsze niż nic.
Ostatnia rzecz, o której warto pamiętać przy pomiarze w tym roku: od marca obowiązują nowe wymagania dotyczące przekazywania zgód użytkowników w narzędziach Google, więc jeśli sklep zbiera dane w Europie, konfiguracja zgód przestała być tematem, który można odłożyć. To nie jest wątek SEO, ale wpływa na wszystko, co potem policzysz.
Używamy plików cookies, aby ułatwić Ci nawigację oraz wykonywanie określonych funkcji. Szczegółowe informacje o wszystkich plikach cookies znajdziesz w każdej kategorii zgody poniżej.
Pliki cookies oznaczone jako "Niezbędne" są przechowywane w Twojej przeglądarce, ponieważ są one kluczowe dla zapewnienia podstawowych funkcji strony.
Używamy również plików cookies firm trzecich, które pomagają nam analizować, w jaki sposób korzystasz z tej strony, zapamiętują Twoje preferencje oraz dostarczają treści i reklamy odpowiednie dla Ciebie. Te pliki cookies będą przechowywane w Twojej przeglądarce tylko za Twoją uprzednią zgodą.
Możesz zdecydować, czy chcesz włączyć lub wyłączyć niektóre bądź wszystkie te pliki cookies, jednak wyłączenie niektórych z nich może wpłynąć na Twoje doświadczenia podczas przeglądania strony.
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| __cf_bm | 13 minutes | Cloudflare bot management — distinguishes humans from bots. |
| rc::* | Persistent | Google reCAPTCHA — localStorage holding anti-bot challenge state. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| wpEmojiSettingsSupports | Session | WordPress — sessionStorage flag caching whether the browser can render emoji (feature detection). |
| ytidb* | Persistent | YouTube — IndexedDB storing playback/search state for embedded videos. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| _ga_* | 400 days | Google Analytics 4 — persists session state per property. |
| _ga | 400 days | Google Analytics — distinguishes unique users via a client id. |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| NID | 183 days | Google — stores preferences for personalized ads. |
| fr | 90 days | Meta — encrypted Facebook id and browser id for ads. |
| _gcl_au | 90 days | Google AdSense/Ads — experiments with advertising efficiency (conversion linker). |
| Cookie | Czas przechowywania | Opis |
|---|---|---|
| __Secure-YNID | 180 days | |
| YSC | Session | |
| __Secure-ROLLOUT_TOKEN | 180 days | |
| VISITOR_INFO1_LIVE | 180 days | |
| VISITOR_PRIVACY_METADATA | 180 days | |
| datr | 400 days | |
| sb | 400 days | |
| wd | 7 days |