Dane strukturalne w Shopify: co działa, co trzeba dodać ręcznie
Table of Contents
Dane strukturalne na Shopify: co dostajesz, a czego nie
Shopify chwali się, że “generuje dane strukturalne automatycznie”. Technicznie to prawda. Praktycznie to trochę tak, jakby ktoś powiedział, że samochód “ma silnik”. Ma. Tyle że brakuje skrzyni biegów, układu hamulcowego i kilku innych drobiazgów.
Domyślne motywy Shopify generują podstawowy zestaw znaczników Schema.org. Wystarczy to, żeby w dokumentacji zaznaczyć “tak, mamy dane strukturalne”. Nie wystarczy, żeby Twoje produkty wyświetlały się w Google z gwiazdkami, breadcrumbsami i ceną. Do tego potrzeba ręcznej pracy w Liquid albo odpowiedniej aplikacji.
W tym artykule wyjaśniam, co Shopify generuje samo, czego brakuje i jak uzupełnić te braki kodem lub aplikacjami. Jeśli prowadzisz sklep na Shopify i chcesz, żeby Twoje produkty wyświetlały się w Google z gwiazdkami, ceną, dostępnością i breadcrumbs, ten artykuł jest dla Ciebie.
Co Shopify generuje automatycznie
Zanim zaczniesz cokolwiek dodawać, warto wiedzieć, co już masz. Zakres automatycznie generowanych danych strukturalnych zależy od motywu, ale większość oficjalnych motywów Shopify (Dawn, Refresh, Sense) dostarcza dwa podstawowe typy.
Product
Domyślny znacznik Product w motywach Shopify zawiera:
name(nazwa produktu)image(główne zdjęcie)description(opis produktu)brand(producent, jeśli ustawiony w metafields)offerszprice,priceCurrencyiavailability
To solidna baza. Google może na jej podstawie wyświetlić cenę i dostępność w wynikach wyszukiwania. Problem pojawia się przy produktach z wariantami. Domyślny markup zwykle opisuje tylko jeden wariant (najczęściej pierwszy lub najtańszy), zamiast uwzględniać pełen zakres cen i dostępności.
Organization
Na stronie głównej Shopify generuje podstawowy znacznik Organization z nazwą sklepu, logo i adresem URL. To minimalna informacja, która pozwala Google poprawnie zidentyfikować Twoją firmę w Knowledge Panel, ale brakuje w niej danych kontaktowych, profili społecznościowych i lokalizacji.
WebSite z SearchAction
Niektóre nowsze motywy dodają znacznik WebSite z SearchAction, który umożliwia wyświetlenie pola wyszukiwania bezpośrednio w wynikach Google (sitelinks search box). To miły dodatek, ale działa tylko dla sklepów z wystarczającym autorytetem domeny.
Czego Shopify nie generuje (a powinien)
Lista brakujących typów danych strukturalnych jest dłuższa niż lista tego, co dostajesz automatycznie. Oto najważniejsze braki.
BreadcrumbList
Shopify wyświetla breadcrumbs wizualnie (Home > Kolekcja > Produkt), ale wiele motywów nie generuje odpowiadającego im znacznika BreadcrumbList w JSON-LD. Bez tego Google nie wyświetli ścieżki nawigacyjnej w wynikach wyszukiwania. To strata, bo breadcrumbs w SERP poprawiają CTR i pomagają użytkownikom zrozumieć kontekst strony przed kliknięciem.
FAQPage
Jeśli Twoje strony produktowe lub kolekcje zawierają sekcje pytań i odpowiedzi, Google może wyświetlić je jako rozszerzone wyniki (FAQ rich results). Ale potrzebuje do tego znacznika FAQPage. Shopify nie generuje go automatycznie, nawet jeśli masz na stronie sekcję FAQ w formacie pytanie-odpowiedź.
AggregateRating
Shopify nie ma natywnego systemu recenzji. Jeśli używasz aplikacji do zbierania opinii (Judge.me, Stamped, Loox), to aplikacja odpowiada za dodanie znacznika AggregateRating. Problem: nie każda aplikacja robi to poprawnie. Część dodaje osobny blok JSON-LD z oceną, zamiast zintegrować go z istniejącym znacznikiem Product. Google widzi wtedy dwa oddzielne znaczniki i nie zawsze poprawnie je łączy.
Szczegółowy Product z wariantami
Domyślny markup Product w Shopify traktuje produkt jako jedną ofertę. W rzeczywistości wiele produktów ma warianty (rozmiary, kolory, konfiguracje), z których każdy ma inną cenę, SKU i dostępność. Zgodnie z wytycznymi Google, każdy wariant powinien być opisany jako osobny obiekt Offer wewnątrz Product. Bez tego Google nie wie, że Twoja koszulka jest dostępna w rozmiarach S-XL w cenach od 89 do 129 zł.
CollectionPage i ItemList
Strony kolekcji (kategorii) w Shopify wyświetlają listę produktów, ale nie generują znacznika CollectionPage ani ItemList. Google może wykorzystać ItemList do wyświetlenia karuzeli produktów bezpośrednio w wynikach wyszukiwania. Bez tego znacznika tracisz tę szansę.
Article / BlogPosting
Wpisy blogowe na Shopify nie mają automatycznego znacznika Article ani BlogPosting. Dla sklepów, które inwestują w content marketing, to oznacza, że Google nie widzi ich artykułów jako pełnoprawnych treści redakcyjnych z datą publikacji, autorem i obrazem.
Jak dodać brakujące dane strukturalne w Liquid
Dane strukturalne w Shopify dodajesz jako bloki JSON-LD w szablonach Liquid. Najlepsze miejsce to plik theme.liquid (globalny wrapper) lub dedykowane snippety inkludowane w odpowiednich szablonach.
BreadcrumbList dla stron produktowych
Ten snippet dodaje breadcrumbs ze ścieżką Strona główna > Kolekcja > Produkt. Umieść go w szablonie produktowym (np. sections/main-product.liquid) lub w globalnym theme.liquid z warunkiem na typ szablonu.
|
|
Zwróć uwagę na dwa szczegóły. Po pierwsze, ostatni element breadcrumb nie ma pola item z URL-em, bo reprezentuje bieżącą stronę (zgodnie z wytycznymi Google). Po drugie, filtr | escape zabezpiecza przed znakami specjalnymi w nazwach produktów, które mogłyby zepsuć JSON.
Product z wariantami i Offers
Domyślny markup Product w Shopify opisuje zwykle jeden wariant. Poniższy snippet generuje kompletny znacznik z wieloma ofertami:
|
|
Jeśli używasz tego snippetu, musisz usunąć domyślny znacznik Product, który generuje Twój motyw. W przeciwnym razie Google zobaczy dwa znaczniki Product na jednej stronie i może je źle zinterpretować. W większości motywów domyślny markup znajdziesz w pliku snippets/product-schema.liquid lub bezpośrednio w sections/main-product.liquid.
FAQPage z metafields
Zamiast hardkodować pytania i odpowiedzi w szablonie, lepiej zarządzać nimi z poziomu panelu Shopify przez metafields. Stwórz definicję metafield typu JSON dla produktu lub strony, a następnie wygeneruj znacznik dynamicznie:
|
|
To podejście wymaga skonfigurowania metafield o kluczu custom.faq z typem JSON list. Każdy element listy to obiekt z polami question i answer. Dzięki temu możesz dodawać i edytować pytania FAQ bezpośrednio w panelu Shopify, bez dotykania kodu motywu.
Article dla wpisów blogowych
|
|
Ważna uwaga: nie duplikuj znaczników
To najczęstszy błąd, jaki widuję. I jednocześnie najłatwiejszy do popełnienia. Motyw generuje swój znacznik Product, właściciel sklepu dodaje drugi z tutorialu na YouTube, aplikacja recenzji dorzuca trzeci. Google widzi trzy konkurujące ze sobą bloki JSON-LD i robi jedyną logiczną rzecz: ignoruje wszystkie.
Robiłem audyt sklepu, który miał cztery bloki Product na jednej stronie. Cztery. Motyw, aplikacja SEO, aplikacja recenzji i ręcznie wklejony snippet z czyjegoś bloga. Rich Results Test świecił się na czerwono jak choinka.
Zanim dodasz jakikolwiek nowy snippet, sprawdź:
- co generuje Twój motyw (poszukaj
application/ld+jsonw kodzie źródłowym strony) - co generują zainstalowane aplikacje (szczególnie aplikacje recenzji, SEO i danych strukturalnych)
- czy nowy snippet nie pokrywa się z istniejącymi
Zasada jest prosta: jeden typ znacznika na jednej stronie. Jeśli motyw generuje Product, nie dodawaj drugiego Product. Zamiast tego zmodyfikuj istniejący snippet motywu, żeby zawierał brakujące pola.
Aplikacje do danych strukturalnych na Shopify
Nie każdy chce (lub potrafi) edytować szablony Liquid. Aplikacje z Shopify App Store potrafią dodać brakujące dane strukturalne bez ingerencji w kod. Trzy, które warto rozważyć:
Smart SEO
Smart SEO automatycznie generuje znaczniki JSON-LD dla produktów, kolekcji i artykułów blogowych. Główna zaleta: konfiguracja w jednym miejscu, bez edycji kodu. Aplikacja pozwala wybrać, które typy danych strukturalnych mają być generowane, i automatycznie uzupełnia pola na podstawie danych z Shopify. Obsługuje Product, BreadcrumbList, Organization, Article i FAQPage. Wadą jest mniejsza kontrola nad szczegółami znacznika w porównaniu z ręczną implementacją w Liquid.
Schema Plus SEO
Bardziej zaawansowana aplikacja, która pozwala na konfigurację per typ strony i per produkt. Generuje kompletne znaczniki Product z wariantami, AggregateRating (integracja z popularnymi aplikacjami recenzji), BreadcrumbList i FAQPage. Daje też podgląd generowanego JSON-LD, co ułatwia debugowanie.
JSON-LD for SEO (by Little Stream Software)
Najstarsza i najdojrzalsza aplikacja w tej kategorii. Obsługuje ponad 20 typów danych strukturalnych, w tym Product, BreadcrumbList, FAQPage, HowTo, Recipe, LocalBusiness i wiele innych. Automatycznie integruje się z popularnymi aplikacjami recenzji (Judge.me, Stamped, Loox, Yotpo) i dodaje AggregateRating do znacznika Product bez duplikacji.
Kiedy aplikacja, a kiedy Liquid
Aplikacja ma sens, gdy:
- nie masz dewelopera, który zna Liquid
- chcesz szybko dodać podstawowe dane strukturalne bez ryzyka błędów w kodzie
- potrzebujesz integracji z wieloma aplikacjami (recenzje, FAQ, przepisy)
Ręczna implementacja w Liquid ma sens, gdy:
- potrzebujesz pełnej kontroli nad generowanym znacznikiem
- Twój sklep ma niestandardową architekturę, której aplikacja nie obsługuje
- chcesz uniknąć dodatkowych skryptów i zapytań HTTP, które generują aplikacje
Testowanie i walidacja
Po dodaniu danych strukturalnych (bez względu na metodę) musisz je przetestować. Dwa narzędzia, których potrzebujesz:
Google Rich Results Test
Wklej URL swojej strony na search.google.com/test/rich-results. Narzędzie pokaże, które typy danych strukturalnych wykryło, czy są poprawne i czy kwalifikują się do rozszerzonych wyników. To jedyne narzędzie, które mówi Ci, czy Google faktycznie wykorzysta Twoje dane strukturalne.
Testuj osobno:
- stronę produktu (czy
Productzawiera cenę, dostępność, warianty) - stronę kolekcji (czy
BreadcrumbListjest poprawny) - wpis blogowy (czy
Articlezawiera datę, autora, obraz) - stronę z FAQ (czy
FAQPagezawiera wszystkie pytania)
Schema Markup Validator
Narzędzie od Schema.org (validator.schema.org) sprawdza poprawność składniową JSON-LD. Nie mówi Ci, czy Google wyświetli rozszerzone wyniki, ale wykryje błędy w strukturze JSON, brakujące wymagane pola i niepoprawne typy danych. Przydatne do debugowania, gdy Rich Results Test zgłasza błędy, ale nie podaje szczegółów.
Regularna kontrola w Search Console
Po wdrożeniu danych strukturalnych dodaj stronę do Google Search Console i monitoruj raport “Ulepszenia” (Enhancements). Google pokazuje tam status danych strukturalnych per typ: ile stron ma poprawne znaczniki, ile ma błędy, ile ma ostrzeżenia. Reaguj na błędy natychmiast, bo Google ignoruje dane strukturalne ze stronami, na których wykryje niepoprawności.
Typowe błędy przy wdrażaniu
Kilka problemów, które widzę regularnie w sklepach Shopify:
- zduplikowane znaczniki Product - motyw generuje swój, aplikacja recenzji dodaje kolejny, właściciel wkleił trzeci z tutorialu; Google widzi trzy i nie wie, który jest poprawny
- brakujący
availability- znacznik Product bez informacji, czy produkt jest w magazynie; Google wymaga tego pola do wyświetlenia rozszerzonych wyników produktowych - hardkodowane ceny w JSON-LD - zamiast dynamicznego
{{ variant.price }}ktoś wpisał stałą cenę, która nie aktualizuje się ze zmianą ceny produktu - niepoprawny format ceny - Shopify zwraca ceny w groszach (np. 9900 zamiast 99.00) w niektórych kontekstach; filtr
| money_without_currencyrozwiązuje ten problem, ale nie każdy o tym wie - brak filtra escape w nazwach - produkt z cudzysłowem w nazwie (np. Koszulka “Premium”) łamie składnię JSON; filtr
| jsonlub| escapeto naprawia
Czy dane strukturalne wpływają na pozycje
Wprost? Nie. Google mówi to jasno w swojej dokumentacji: dane strukturalne nie są czynnikiem rankingowym. Dodanie znacznika Product nie przesunie Twojego produktu z pozycji 15 na pozycję 5. Da się? Nie da się. Tyle w temacie.
Ale dane strukturalne wpływają na wygląd Twojego wyniku w SERP. Produkt z gwiazdkami ocen, ceną “od 89 zł” i informacją “W magazynie” zajmuje więcej miejsca i przyciąga więcej uwagi niż goły link. Wyższy CTR to więcej ruchu. Więcej ruchu przy dobrej jakości strony to pozytywny sygnał dla Google. To pośredni, ale realny wpływ.
Dla sklepów na Shopify, które konkurują z marketplace’ami (Allegro, Amazon) w wynikach wyszukiwania, rozszerzone wyniki to jedno z niewielu narzędzi wyrównywania szans. Gdy użytkownik widzi Twój produkt z pełnymi danymi obok wyniku Allegro, prawdopodobieństwo kliknięcia w Twój wynik rośnie.
Więcej o tym, jak budować widoczność organiczną na Shopify, znajdziesz na naszej stronie usługi SEO dla Shopify. Jeśli interesuje Cię szerszy kontekst ograniczeń platformy, przeczytaj artykuł o ograniczeniach SEO na Shopify i sposobach ich obejścia.
FAQ
Czy Shopify automatycznie dodaje dane strukturalne do produktów?
Tak, ale w ograniczonym zakresie. Domyślne motywy generują podstawowy znacznik Product z nazwą, ceną i dostępnością. Brakuje w nim zwykle wariantów jako osobnych ofert, breadcrumbs, FAQ, ocen zbiorczych i szczegółowych informacji o marce. Te elementy trzeba dodać ręcznie w Liquid lub za pomocą aplikacji.
Czy aplikacja do danych strukturalnych może kolidować z motywem?
Tak, i to jest częsty problem. Jeśli motyw generuje własny znacznik Product, a aplikacja dodaje kolejny, Google widzi dwa znaczniki tego samego typu na jednej stronie. Przed instalacją aplikacji sprawdź, jakie dane strukturalne generuje Twój motyw (View Page Source > szukaj application/ld+json), i wyłącz znaczniki motywu, które aplikacja będzie zastępować.
Jak sprawdzić, czy moje dane strukturalne działają poprawnie?
Użyj Google Rich Results Test (search.google.com/test/rich-results) - wklej URL dowolnej strony produktowej i sprawdź, czy narzędzie wykrywa typ Product z wszystkimi wymaganymi polami. Dodatkowo monitoruj raport “Ulepszenia” w Google Search Console, który pokazuje status danych strukturalnych dla całego sklepu, a nie tylko dla pojedynczej strony.
Czy warto dodawać FAQPage do stron produktowych?
Tak, pod warunkiem że FAQ dotyczy tego konkretnego produktu, a nie jest kopią identycznych pytań na każdej stronie. Google jasno mówi, że treści FAQ muszą być widoczne na stronie dla użytkownika (nie ukryte w kodzie) i nie mogą się powtarzać masowo na wielu stronach. Dobrze przygotowany FAQ na stronie produktu odpowiada na realne pytania kupujących i jednocześnie kwalifikuje się do rozszerzonych wyników w Google.
Ile czasu zajmuje, zanim Google wyświetli rozszerzone wyniki po dodaniu danych strukturalnych?
Od kilku dni do kilku tygodni, w zależności od częstotliwości crawlowania Twojego sklepu. Po dodaniu znaczników wymuś ponowne indeksowanie strony w Google Search Console (Inspection > Request Indexing). Następnie monitoruj raport “Ulepszenia”, żeby zobaczyć, czy Google rozpoznał nowe dane strukturalne. Pojawienie się rozszerzonych wyników w SERP może zająć dodatkowe dni po zaindeksowaniu, bo Google testuje różne formaty wyświetlania.
Chcesz sprawdzić dane strukturalne w Shopify?
Przejrzymy motyw, aplikacje i JSON-LD, a potem wskażemy, co blokuje rich results i indeksację produktów.