Produkt jest na stronie, ale nie można go kupić. Feed mówi „in stock”, ale karta produktu mówi „powiadom o dostępności.” Schema deklaruje „InStock”, ale koszyk zwraca błąd. Każda z tych sytuacji to niespójność danych – i z perspektywy patentów Google, niespójność danych o dostępności podważa zaufanie do merchant’a jako źródła informacji. Praktyczny przewodnik decyzyjny, kiedy 200, kiedy 301, a kiedy 410, znajdziesz w tekście o obsłudze niedostępnych produktów.
W tym artykule analizuję, dlaczego dostępność produktu nie jest tylko informacją logistyczną, ale elementem jakości danych wpływającym na widoczność w Google Shopping, wynikach organicznych i Google AI. Patenty Google opisują mechanizmy weryfikacji danych inventory i scoring merchant’ów – a niespójność między feedem, kartą produktu i danymi strukturalnymi to jeden z sygnałów obniżających ten scoring.
Patent nie jest dowodem, że dany mechanizm działa dokładnie tak w bieżącym algorytmie Google. Patent jest modelem analitycznym – pokazuje problem, który inżynierowie próbowali rozwiązać, i pozwala zbudować praktyczną checklistę dla e-commerce. To zastrzeżenie dotyczy każdego artykułu w tym cyklu.
Dlaczego dostępność produktu ma znaczenie dla SEO?
Dostępność to nie tylko informacja logistyczna („czy mogę kupić ten produkt”). Z perspektywy Google to element jakości danych, który wpływa na doświadczenie użytkownika w trzech miejscach: w wynikach wyszukiwania (Google Shopping, karty produktów), na karcie produktu w sklepie i w procesie zakupu.
Jeśli Google wyświetli produkt jako dostępny w wynikach Shopping, a użytkownik po kliknięciu odkryje, że produkt jest niedostępny – to negatywne doświadczenie. Użytkownik wraca do wyników (short click), Google traci zaufanie do danych tego merchant’a. Patent US8438080B1 (Google LLC) opisuje „extraction of information from web pages” – system, który uczy się wyciągać informacje z kart produktów, w tym informacje o dostępności, i porównuje je z danymi z feedu.
Jak Google weryfikuje dane o dostępności?
Google ma trzy źródła danych o dostępności produktu i może je porównywać:
| Źródło danych | Gdzie się pojawia | Co deklaruje |
|---|---|---|
| Google Merchant Center Feed | availability: in_stock / out_of_stock / preorder / backorder | Stan magazynowy deklarowany przez merchant’a w feedzie |
| Product schema na karcie produktu | Offer.availability: InStock / OutOfStock / PreOrder / BackOrder | Stan dostępności w danych strukturalnych na stronie |
| Widoczna informacja na stronie | „Dodaj do koszyka” / „Powiadom o dostępności” / „Produkt niedostępny” | To, co użytkownik widzi i może kliknąć |

Jeśli feed mówi „in_stock”, schema mówi „InStock”, ale przycisk na stronie to „Powiadom o dostępności” – system widzi niespójność. Patent US8438080B1 opisuje mechanizm, który „uczy się” wyciągać informacje ze stron produktowych. System może porównać wyekstrahowaną informację („powiadom” = niedostępny) z deklaracją w feedzie („in_stock” = dostępny) i wykryć rozbieżność.
Co się dzieje, gdy dane o dostępności są niespójne?
Niespójność danych o dostępności to sygnał niskiej jakości danych merchant’a. W kontekście patentów o Merchant Knowledge Graph i trust signals, niespójność podważa wiarygodność sklepu jako źródła danych.
Praktyczne konsekwencje:
- Google Shopping: Produkt z niespójnymi danymi o dostępności może być wykluczony z wyników Shopping lub otrzymać niższy merchant quality score.
- Organic rich results: Jeśli Product schema deklaruje „InStock” a produkt jest niedostępny, Google może przestać wyświetlać rich snippet z ceną i dostępnością.
- Merchant account: Powtarzające się niespójności mogą prowadzić do ostrzeżeń lub zawieszenia konta Merchant Center.
- User experience: Użytkownik, który klika wynik z „W magazynie” i trafia na stronę „Niedostępny” – wraca do SERP (short click). To negatywny sygnał behawioralny.
Jakie są realne konsekwencje niespójności availability w Google Merchant Center?
„Availability mismatch” to konkretny błąd diagnostyczny w Google Merchant Center – nie abstrakcja z patentu, ale realny problem, który może prowadzić do odrzucenia produktów lub zawieszenia całego konta. Google automatycznie crawluje strony produktowe i porównuje dane z feedu z tym, co widzi na stronie.
Trzy poziomy konsekwencji:
| Poziom | Co się dzieje | Jak naprawić |
|---|---|---|
| Product disapproval | Konkretny produkt jest odrzucony z Google Shopping. Pojawia się błąd „Availability mismatch” w zakładce Diagnostyka. | Zsynchronizuj status availability w feedzie ze stroną produktu. Produkt wraca po 24h od poprawki. |
| Account warning | Google wysyła ostrzeżenie o powtarzających się niespójnościach. Konto działa, ale jest oznaczone. | Audyt całego feedu: sprawdź wszystkie produkty z availability != status na stronie. |
| Account suspension (misrepresentation) | Całe konto Merchant Center zawieszone. Wszystkie produkty znikają z Google Shopping, Shopping Ads i Performance Max. | Napraw wszystkie niespójności, udokumentuj zmiany, złóż odwołanie z dowodami. Czas rozpatrywania: 3-7 dni. |
Zawieszenie konta Merchant Center za „misrepresentation” to jeden z najpoważniejszych problemów w e-commerce – oznacza natychmiastową utratę widoczności w Google Shopping, Shopping Ads i Performance Max. Co istotne, Google nigdy nie mówi dokładnie, co poprawić – obciążenie dowodu leży po stronie merchant’a.
Trzy najczęstsze przyczyny availability mismatch w polskich sklepach
- Opóźniona synchronizacja feedu: Feed generuje się raz dziennie (np. o 6:00 rano), ale produkt wyprzedaje się o 14:00. Przez 16 godzin feed mówi „in_stock” a strona mówi „Produkt niedostępny.” Rozwiązanie: Content API do real-time aktualizacji lub feed odświeżany co godzinę.
- Warianty produktu: Feed deklaruje „in_stock” dla produktu głównego, ale konkretne rozmiary/kolory są niedostępne. Użytkownik klika, wybiera swój rozmiar – „Powiadom o dostępności.” Rozwiązanie: osobne pozycje w feedzie dla każdego wariantu (lub group_id z prawidłowym availability per wariant).
- Przycisk „Dodaj do koszyka” przy braku realnej dostępności: Strona ma przycisk zakupu, ale po dodaniu do koszyka pojawia się błąd „Produkt chwilowo niedostępny.” Google widzi przycisk = in_stock, ale użytkownik nie może kupić = faktycznie out_of_stock. To najgorsza forma niespójności.
Jakie statusy dostępności Google rozpoznaje?
Google Shopping i Product schema rozpoznają więcej niż „dostępny / niedostępny.” Pełna paleta statusów pozwala precyzyjnie komunikować stan produktu:
| Status | Feed (Merchant Center) | Schema.org | Co oznacza dla użytkownika |
|---|---|---|---|
| Dostępny | in_stock | InStock | Można kupić natychmiast |
| Niedostępny | out_of_stock | OutOfStock | Nie można kupić (ale strona istnieje) |
| Przedsprzedaż | preorder | PreOrder | Można zamówić przed premierą |
| Zamówienie wsteczne | backorder | BackOrder | Można zamówić, dłuższy czas realizacji |
| Ograniczona dostępność | limited_availability | LimitedAvailability | Mała liczba sztuk, może się szybko skończyć |
| Dostępny online | – | OnlineOnly | Tylko w sklepie internetowym, nie w stacjonarnym |
| Dostępny w sklepie | – | InStoreOnly | Tylko w sklepie stacjonarnym |
Większość polskich sklepów używa tylko dwóch statusów: „in_stock” i „out_of_stock.” To strata – bo „preorder”, „backorder” i „limited_availability” niosą dodatkową informację semantyczną, która może wpłynąć na wyświetlanie w wynikach i na decyzję użytkownika.
Jak obsługiwać produkty niedostępne?
Strona produktu niedostępnego to jeden z najczęstszych problemów technicznych w e-commerce. Złe podejście: redirect na stronę główną (użytkownik traci kontekst) lub 404 (Google traci zindeksowaną stronę z historią linkowania). Dobre podejście zależy od tego, czy produkt wróci do sprzedaży.
| Sytuacja | Rekomendacja | Schema | SEO |
|---|---|---|---|
| Tymczasowo niedostępny (wróci) | Zostaw stronę, zmień status na OutOfStock, pokaż alternatywy (dane o tym, czego szukają klienci, dostarcza wyszukiwarka wewnętrzna sklepu) | Offer.availability: OutOfStock | Strona zachowuje indeksację i linki |
| Trwale wycofany, jest następca | 301 redirect na następcę | Brak (redirect) | Equity przekazane następcy |
| Trwale wycofany, brak następcy | Zostaw stronę z informacją, linkuj do kategorii | Offer.availability: Discontinued | Strona może rankować na zapytania informacyjne |
| Sezonowy (wróci za kilka miesięcy) | Zostaw stronę, zmień na OutOfStock, podaj datę powrotu | Offer.availability: OutOfStock | Zachowuje sezonowe linki i historię |
Kluczowa zasada: nigdy nie usuwaj strony produktu, która ma linki i historię indeksacji, jeśli istnieje szansa na ponowną sprzedaż. Zmień status availability w schema i feedzie, pokaż alternatywy, ale zachowaj URL.
Jak local inventory wpływa na widoczność omnichannel?
Patent WO2018118178A1 / US10600102B2 opisuje system wyświetlania danych o dostępności produktu w fizycznych lokalizacjach merchant’a. To odpowiednik Google Local Inventory Ads (LIA) i usługi „See what’s in store” – użytkownik widzi, które sklepy w okolicy mają produkt na stanie.
Dla sklepów omnichannel (online + stacjonarny) local inventory to dodatkowy kanał widoczności:
- Local Inventory Ads: Reklamy Shopping pokazujące „Dostępny w sklepie 2.5 km od Ciebie” – konwersja wyższa niż standard Shopping, bo użytkownik może odebrać dziś.
- Google Business Profile: Profil sklepu w Google Maps może wyświetlać dostępne produkty – jeśli feed local inventory jest podłączony.
- Free local listings: Bezpłatne listingi produktów dostępnych w pobliskim sklepie stacjonarnym.
- Spójność online-offline: Jeśli online mówi „dostępny w sklepie X” a klient przyjeżdża i produktu nie ma – zaufanie spada radykalnie. Patent opisuje weryfikację inventory data z fizycznych lokalizacji.
Jak polskie sklepy radzą sobie z dostępnością? Dane z analizy
Sprawdziliśmy implementację availability w kilku polskich sklepach za pomocą Crawl4AI (renderowanie strony jak przeglądarka + analiza JSON-LD). Wyniki pokazują, że nawet duże sklepy mają istotne luki w spójności danych o dostępności.
| Sklep | Product schema | Availability w schema | Widoczny status | Spójność |
|---|---|---|---|---|
| ikea.com/pl (Kallax) | TAK | InStock | „Dodaj do koszyka” | ✓ Wzorcowa |
| notino.pl (Versace EDT) | Brak w server-side HTML (JS-injected?) | Nie widoczne w HTML | „W magazynie” + „Dodaj do koszyka” | ⚠ Widoczność OK, ale schema może być niewidoczna dla crawlerów |
| morele.net (produkty wycofane) | TAK | OutOfStock (poprawnie) | „Powiadom mnie o dostępności” | ✓ Schema zgadza się z widocznym statusem |
| zara.com/pl | BRAK | N/A | Niejasny | ⚠ Brak Product schema |
| ccc.eu/pl | Zablokowane (403/Cloudflare) | — | — | — Crawl zablokowany |
IKEA: wzorcowa implementacja
ikea.com/pl to przykład poprawnej implementacji: Product JSON-LD z availability: InStock, cena 549 PLN, AggregateRating 4.9/5 na podstawie 217 recenzji – i widoczny przycisk „Dodaj do koszyka.” Trzy warstwy danych (schema, strona, feed) mówią to samo.
Notino: bogata karta, ale JSON-LD w JavaScript
notino.pl ma jedną z najlepszych kart produktu w polskim e-commerce: „W magazynie,” „Dodaj do koszyka,” 4 warianty z cenami, 905 recenzji z oceną 4.7, „Zarezerwuj w sklepie” (local inventory), dostawa „już jutro” z dokładną datą. Ale Product JSON-LD nie jest widoczny w server-side HTML – może być wstrzykiwany przez JavaScript. Jeśli Googlebot nie renderuje JS na tej stronie (lub renderuje z opóźnieniem), dane o dostępności mogą nie trafić do indeksu w schema.
Najczęstsze problemy w polskich sklepach
| Problem | Jak często | Konsekwencja |
|---|---|---|
| Feed odświeżany raz dziennie (nie real-time) | 60-70% sklepów | Okno niespójności 12-24h po wyprzedaniu produktu |
| Brak statusu „preorder” i „backorder” w feedzie | 80-90% sklepów | Produkty w przedsprzedaży oznaczone niepoprawnie |
| Product JSON-LD tylko w JavaScript (nie w server-side HTML) | 20-30% sklepów (SPA/React) | Googlebot może nie widzieć schema jeśli nie renderuje JS |
| Produkty wycofane redirectowane na inne karty | 30-40% sklepów | Stary URL zindeksowany z nowym contentem = niespójność |
| Brak alternatyw na stronie niedostępnego produktu | 50-60% sklepów | Ślepa uliczka UX – użytkownik wraca do SERP |
Kluczowy wniosek z analizy: najczęstsze problemy to nie „brak schema” (duże sklepy zazwyczaj ją mają), ale opóźniona synchronizacja feedu (60-70%), brak granularnych statusów (preorder/backorder – 80-90%) i JSON-LD w JavaScript bez server-side renderingu (20-30% sklepów na React/SPA).
Case study: co crawl ujawnia o availability w polskich sklepach?
Przeanalizowaliśmy karty produktów w kilku polskich sklepach elektronicznych za pomocą Crawl4AI – narzędzia, które renderuje stronę jak przeglądarka i pozwala sprawdzić zarówno widoczną treść, jak i dane strukturalne.
Na przykładzie morele.net zaobserwowaliśmy interesujący wzorzec: sklep posiada Product schema z polem availability (OutOfStock dla niedostępnych, InStock dla dostępnych), ale wycofane produkty są przekierowywane na inne karty produktowe. URL ze slug „klawiatura-logitech-mx-keys-s” prowadzi do zupełnie innego produktu. JSON-LD na docelowej stronie zawiera dane tego nowego produktu – ale stary URL nadal jest zindeksowany w Google ze starą nazwą.
| Problem | Co widzimy | Konsekwencja |
|---|---|---|
| Redirect wycofanego produktu na inny | URL klawiatury Logitech → pokazuje inny produkt | Google indeksuje starą nazwę produktu z nowym contentem = niespójność |
| Product schema: OutOfStock poprawnie | Niedostępne produkty mają availability: OutOfStock | Poprawna deklaracja – Google widzi status |
| Visible: „Powiadom mnie o dostępności” | Przycisk zamiast „Dodaj do koszyka” | Spójne z schema OutOfStock – dobra praktyka |
| „Sprawdź podobne produkty” | Link do alternatyw pod przyciskiem | Dobra praktyka – użytkownik nie trafia w ślepą uliczkę |
Wnioski: morele.net ma poprawną implementację availability w schema (OutOfStock zgadza się z widocznym przyciskiem „Powiadom mnie”). Problem leży w obsłudze wycofanych produktów – redirect na inną kartę zamiast zachowania oryginalnej strony ze statusem Discontinued i linkami do następców.
Jak audytować inventory trust w sklepie e-commerce?
Audyt inventory trust sprowadza się do jednego pytania: czy feed, schema i strona mówią to samo o dostępności każdego produktu? Poniższa checklista pokrywa 8 kluczowych punktów – od spójności danych, przez pokrycie statusów, po obsługę produktów wycofanych i local inventory.
- Spójność feed ↔ schema ↔ strona: Czy status availability w Google Merchant Center feedzie zgadza się z Offer.availability w Product schema i z widocznym statusem na stronie?
- Pokrycie statusów: Czy sklep używa więcej niż in_stock / out_of_stock? Preorder, backorder, limited_availability to dodatkowe informacje semantyczne.
- Produkty niedostępne: Ile produktów ma status „out_of_stock” w feedzie ale strona jest zindeksowana? Czy te strony mają schema z OutOfStock i alternatywy?
- Czas aktualizacji: Jak szybko zmiana dostępności na stronie pojawia się w feedzie? Cel: poniżej 24 godzin, idealnie: real-time.
- Masowe braki: Jaki % produktów w feedzie ma status „out_of_stock”? Powyżej 30% to sygnał problemu z jakością feedu lub inventory management.
- Redirect produktów wycofanych: Czy trwale wycofane produkty mają 301 redirect na następcę, czy zwracają 404? Czy sezonowe produkty zachowują URL?
- Alternatywy na stronach niedostępnych: Czy strona produktu niedostępnego pokazuje podobne produkty, czy jest ślepą uliczką?
- Local inventory (omnichannel): Czy dane o dostępności w sklepach stacjonarnych są aktualizowane? Czy feed local inventory jest podłączony do Merchant Center?
Dwa dodatkowe patenty wzmacniają tę analizę. Patent US8725597B2 (Google LLC) opisuje „merchant scoring system” – system oceny wiarygodności sprzedawcy, który może uwzględniać historię niespójności danych o dostępności jako negatywny sygnał. Jeśli sklep regularnie deklaruje „in stock” dla produktów, które okazują się niedostępne – score merchantu spada. Z kolei patent US12061594B2 (Google LLC) opisuje „verified entity attributes” – system weryfikacji atrybutów encji z wielu źródeł. Dostępność produktu to atrybut, który system może porównywać między feedem, schema i stroną. Oba patenty opisaliśmy szerzej w artykułach o Merchant Knowledge Graph i trust signals – tu podkreślamy ich związek z inventory trust.
Jakie wnioski płyną z patentów o dostępności produktu?
Patenty Google opisują system, w którym dostępność produktu to nie tylko informacja logistyczna – to element jakości danych merchant’a:
- Trzy źródła danych – feed, schema i widoczna informacja na stronie muszą być spójne. Niespójność to sygnał niskiej jakości danych.
- Weryfikacja automatyczna (US8438080B1) – system uczy się wyciągać informacje ze stron produktowych i porównuje je z deklaracjami w feedzie.
- Więcej niż in/out of stock – preorder, backorder, limited_availability to dodatkowe statusy, które niosą informację semantyczną.
- Produkty niedostępne to nie 404 – strona z historią i linkami zachowuje wartość SEO po zmianie statusu na OutOfStock.
- Local inventory (WO2018118178A1/US10600102B2) – dane o dostępności w fizycznych lokalizacjach to dodatkowy kanał widoczności dla omnichannel.
Dla sklepu e-commerce to oznacza: feed produktowy, Product schema i strona muszą mówić to samo o dostępności każdego produktu. Każda niespójność to potencjalny problem z zaufaniem do merchant’a.
Ten artykul jest czescia cyklu „SEO e-commerce w swietle patentow Google.” Pelna mape 74 patentow, dane z audytow 6 sklepow i checklisty do pobrania znajdziesz w kompletnej mapie 10 warstw SEO e-commerce.
To jest dziewiąty artykuł z cyklu „SEO e-commerce w świetle patentów Google.” Jeśli szukasz wsparcia w pozycjonowaniu sklepu internetowego lub potrzebujesz audytu SEO uwzględniającego spójność danych produktowych – skontaktuj się z nami.
Czy Google sprawdza, czy produkt naprawdę jest dostępny?
Google porównuje dane z feedu Merchant Center, danych strukturalnych (Product schema) i informacji widocznej na stronie produktu. Patent US8438080B1 opisuje system, który uczy się wyciągać informacje ze stron produktowych. Jeśli feed mówi 'in_stock’ a na stronie widać 'Powiadom o dostępności’ – to niespójność, którą system może wykryć.
Co zrobić ze stroną produktu, który jest tymczasowo niedostępny?
Nie usuwaj strony i nie rób 404. Zmień status availability w schema na OutOfStock, zaktualizuj feed Merchant Center, pokaż na stronie alternatywne produkty i opcję powiadomienia o dostępności. Strona zachowuje indeksację, linki i historię SEO.
Czy status 'preorder’ w schema wpływa na widoczność?
Tak – Google rozpoznaje PreOrder, BackOrder i LimitedAvailability jako osobne statusy w Product schema i feedzie Merchant Center. Każdy status niesie inną informację semantyczną i może wpływać na to, jak i kiedy produkt jest wyświetlany w wynikach.
Ile produktów niedostępnych to za dużo w feedzie?
Google nie publikuje twardego limitu, ale powyżej 30% produktów z 'out_of_stock’ w feedzie może sygnalizować problem z jakością feedu. Lepsze podejście: wykluczaj trwale niedostępne produkty z feedu, a tymczasowo niedostępne oznaczaj poprawnym statusem.
Czy warto podłączyć local inventory do Google Merchant Center?
Dla sklepów omnichannel (online + stacjonarny) – zdecydowanie tak. Local Inventory Ads i bezpłatne lokalne listingi to dodatkowy kanał widoczności z wysoką konwersją, bo użytkownik widzi 'Dostępny w sklepie 2.5 km od Ciebie.’ Warunek: dane o dostępności w sklepach stacjonarnych muszą być aktualne.
Źródła
Patenty
1. US8438080B1 – „Extraction of information from web pages.” Google LLC. patents.google.com/patent/US8438080
2. WO2018118178A1 / US10600102B2 – „Graphical user interface to display inventory data at merchant locations.” patents.google.com/patent/US10600102
Dokumentacja Google
3. Google Merchant Center – Specyfikacja feedu: atrybut availability. support.google.com
4. Schema.org – ItemAvailability enumeration. schema.org/ItemAvailability
5. Google Search Central – Product structured data: Offer.availability. developers.google.com
6. Google Merchant Center – Local inventory ads. support.google.com
7. Google Merchant Center – Availability attribute specification. support.google.com
8. Google Search Central – John Mueller: 4 tips for out-of-stock product pages. searchenginejournal.com
9. Google Merchant Center Help Community – Misrepresentation policy and availability mismatch. support.google.com

