Brak pola price w danych strukturalnych produktu najczęściej oznacza, że cena nie została prawidłowo przekazana w obiekcie opisującym ofertę, zwykle Offer. Aby naprawić problem, trzeba sprawdzić kod danych strukturalnych, dodać prawidłową cenę i walutę oraz upewnić się, że wartości są zgodne z tym, co użytkownik widzi na stronie. Nie zawsze jednak brak price oznacza błąd – wszystko zależy od rodzaju podstrony i zastosowanych danych strukturalnych.
Gdzie powinno znajdować się pole price?
W typowym wdrożeniu danych produktowych Product opisuje sam produkt, natomiast informacje handlowe znajdują się w offers. To właśnie tam, w obiekcie Offer, można przekazać między innymi cenę, walutę i dostępność.
Uproszczony przykład wygląda następująco:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Buty trekkingowe Model X",
"offers": {
"@type": "Offer",
"url": "https://sklep.pl/buty/model-x",
"priceCurrency": "PLN",
"price": "299.00",
"availability": "https://schema.org/InStock"
}
}
</script>W tym przykładzie cena wynosi 299 zł, a walutą jest PLN. Dane te powinny odpowiadać aktualnej ofercie prezentowanej klientowi.
Dlaczego w danych strukturalnych brakuje price?
Przyczyn może być kilka. Częstym problemem jest niepełny szablon generujący JSON-LD. Strona wyświetla cenę klientowi, ale mechanizm odpowiedzialny za dane strukturalne jej nie pobiera.
Problem może pojawić się również po zmianie szablonu sklepu, instalacji nowej wtyczki SEO, modyfikacji sposobu prezentowania cen albo wdrożeniu niestandardowego mechanizmu obsługi wariantów.
Inna sytuacja występuje, gdy kilka elementów sklepu generuje dane strukturalne jednocześnie. Przykładowo motyw tworzy jeden obiekt Product, a dodatkowa wtyczka kolejny. Jeden może zawierać kompletne dane, a drugi nie. Dlatego podczas diagnostyki trzeba sprawdzać całość wdrożenia, a nie tylko fragment kodu.
Jak naprawić brak pola price krok po kroku?
1. Sprawdź, czy cena jest widoczna na stronie
Zacznij od karty produktu. Jeżeli klient może kupić produkt za 249 zł, taka informacja powinna być jasno prezentowana na stronie.
Dane strukturalne nie powinny służyć do przekazywania wyszukiwarce informacji, których użytkownik nie może znaleźć na danej podstronie.
2. Znajdź dane Product i Offer
Sprawdź kod strony lub wykorzystaj narzędzie do testowania danych strukturalnych. Odszukaj obiekt Product, a następnie sekcję offers.
Jeżeli występuje Offer, sprawdź, czy zawiera price oraz priceCurrency. Brak jednego z tych elementów może oznaczać, że generator danych nie pobiera wszystkich potrzebnych informacji.
3. Ustal, skąd pobierana jest cena
W sklepie internetowym lepiej nie wpisywać ceny ręcznie w kodzie każdej karty. Dane powinny być generowane dynamicznie na podstawie aktualnej oferty.
Jeżeli produkt kosztuje dziś 199 zł, a za tydzień cena zmieni się na 179 zł, dane strukturalne powinny zostać zaktualizowane razem ze stroną.
4. Przetestuj poprawione wdrożenie
Po wprowadzeniu zmian sprawdź kilka różnych produktów, a nie tylko jeden adres. Warto przetestować produkt standardowy, przeceniony, niedostępny oraz posiadający warianty.
Pozwala to wykryć sytuację, w której price działa poprawnie tylko dla części katalogu.
Problem z price przy produktach z wariantami
Warianty są częstym źródłem błędów. Produkt może występować w kilku rozmiarach lub wersjach, które mają różne ceny. W takim przypadku dane strukturalne muszą odpowiadać rzeczywistemu sposobowi prezentowania oferty.
Przykładowo podstawowa wersja produktu kosztuje 300 zł, ale większy wariant 350 zł. Wstawienie jednej przypadkowej ceny dla wszystkich wariantów może prowadzić do niespójności.
Jeśli sklep ma dużo takich produktów, warto przeanalizować sposób generowania danych dla wariantów jako osobny element wdrożenia.
Brak price nie zawsze oznacza błąd
Nie każda podstrona sklepu powinna zawierać Product, Offer i price. Brak pola price jest normalny na stronach, które nie reprezentują konkretnej oferty sprzedażowej.
Dotyczy to często:
- kategorii i podkategorii,
- artykułów blogowych,
- poradników zakupowych,
- FAQ,
- stron producentów,
- kontaktu,
- stron dotyczących dostawy, płatności i zwrotów.
Jeżeli narzędzie SEO sugeruje brak ceny na stronie kategorii lub artykule, najpierw trzeba sprawdzić, dlaczego w ogóle wykrywa tam dane Product. Problemem może być nie brak price, ale błędne oznaczenie rodzaju podstrony.
Co jeśli price jest w kodzie, ale nadal pojawia się błąd?
W takiej sytuacji sprawdź format wartości, umiejscowienie pola i walutę. Upewnij się również, że na stronie nie znajdują się dwa sprzeczne zestawy danych strukturalnych.
Warto porównać kilka narzędzi diagnostycznych i sprawdzić kartę produktu w Google Search Console. Po zmianach Google musi ponownie przetworzyć stronę, dlatego komunikaty widoczne w Search Console nie zawsze znikają natychmiast po poprawieniu kodu.
Najważniejsza jest spójność całego mechanizmu. Jeśli problem z polem price występuje na setkach produktów, zwykle lepiej poprawić szablon lub generator danych strukturalnych niż ręcznie edytować każdą kartę. Jedna prawidłowo wdrożona zmiana może wtedy rozwiązać problem w dużej części sklepu.