Konfigurujesz Google Merchant Center, przesyłasz plik produktowy z PrestaShop, a nagle połowa katalogu ma ostrzeżenia. Czerwone trójkąty w karcie Produkty, komunikat „Konto zawieszone”, którego nie było jeszcze tydzień temu, oraz produkty, które powinny wyświetlać się w Zakupach, a zamiast tego mają status Odrzucone. Najbardziej frustrujące jest to, że odrzucenia rzadko wyjaśniają problem wprost — Google nazywa objaw („Niezgodna wartość: cena”) i zostawia Ci ustalenie, które ustawienie PrestaShop faktycznie go spowodowało.

Ostatnia aktualizacja: czerwiec 2026.

Ten poradnik dotyczy konkretnie diagnozowania i usuwania odrzuceń: odczytania błędu, prześledzenia go do dokładnego ustawienia PrestaShop albo atrybutu w pliku produktowym, który go wywołał, oraz naprawienia problemu tak, aby produkt został ponownie zatwierdzony. To uzupełnienie szerszej pracy nad plikiem produktowym — jeśli Twoje produkty są już zatwierdzone i chcesz poprawić ich skuteczność (tytuły, taksonomia, etykiety niestandardowe), to osobny temat opisany w naszym poradniku optymalizacji pliku produktowego Merchant Center. Tutaj trzymamy się ściśle jednego celu: jest czerwono, dlaczego tak jest i jak sprawić, żeby było zielono.

Najpierw poprawnie odczytaj odrzucenie

Zanim zmienisz choć jedno ustawienie, rozdziel dwie rzeczy, które Merchant Center celowo pokazuje blisko siebie. Problem na poziomie produktu odrzuca jeden produkt albo kilka pozycji — poprawiasz dane, a produkt zostaje ponownie zatwierdzony przy następnym pobraniu pliku produktowego. Problem na poziomie konta (wprowadzanie w błąd, naruszenie zasad, zawieszone konto) może wyłączyć wszystkie produkty naraz i wymaga innej reakcji. Najszybciej odróżnisz je w widoku Diagnostyka, a nie po czerwonej ikonie przy pojedynczym produkcie.

W aktualnym Merchant Center otwórz Produkty → Diagnostyka (albo Wymaga uwagi w Merchant Center Next). Widok grupuje odrzucenia według problemu i pokazuje przy każdym z nich, czy dotyczy poziomu konta, produktu czy pliku produktowego, ilu produktów dotyczy, przykładowe pozycje oraz — jeśli Google podaje taką informację — termin, po którym problem zacznie realnie kosztować. Przerabiaj tę listę od góry, według liczby dotkniętych produktów: jedna naprawa na poziomie pliku produktowego zwykle czyści dziesiątki pozycji naraz, podczas gdy gonienie pojedynczych produktów to syzyfowa praca. Co Ci to daje? Poświęcasz czas na jedno ustawienie, które ponownie zatwierdza czterdzieści produktów, zamiast ręcznie edytować czterdzieści pozycji.

Niezgodność ceny — najczęstsza przyczyna odrzuceń w PrestaShop

Błąd: „Niezgodna wartość (indeksowanie strony): cena [price]” albo „Produkt odrzucony z powodu naruszenia zasad: niezgodność ceny”.

Google indeksuje aktywną stronę produktu i porównuje widoczną cenę z ceną w pliku produktowym. Jeśli różnią się bardziej niż o minimalną tolerancję, produkt zostaje odrzucony, bo kupujący zobaczyłby inną kwotę niż ta obiecana w reklamie. W PrestaShop niemal zawsze prowadzi to do jednej z czterech przyczyn, a każda wymaga innej naprawy — dlatego zanim cokolwiek zmienisz, ustal, z którą masz do czynienia.

ObjawŹródłowa przyczyna w PrestaShopGdzie to naprawić
Cena w pliku produktowym jest bez VAT, strona pokazuje cenę z VAT (albo odwrotnie)Plik produktowy eksportuje cenę netto; sklep wyświetla cenę brutto (typowe ustawienie B2C)Ustaw eksport cen tax-incl w pliku produktowym, aby pasował do strony. W natywnych pojęciach PrestaShop oznacza to Product::getPriceStatic($id, true, ...) z włączoną flagą podatku; w module do plików produktowych będzie to przełącznik „include tax”.
Na stronie jest cena promocyjna, w pliku produktowym pełna cenaPlik produktowy wysyła tylko price i ignoruje Ceny specyficzne PrestaShop (mechanizm rabatów stojący za regułami cen katalogowych)Wyślij obie wartości: price = cena regularna, sale_price = cena po rabacie, którą Google powinno porównać z zaindeksowaną stroną.
Waluta różni się między plikiem produktowym a indeksowaną stronąMultistore/wiele walut: Google indeksuje sklep z lokalizacji, która rozwiązuje się do innej waluty sklepu niż zadeklarowana w pliku produktowymPrzypisz jeden kraj + jedną walutę do każdego pliku produktowego Merchant Center; w PrestaShop upewnij się, że sklep/waluta w Międzynarodowe → Lokalizacja → Waluty rozwiązuje się spójnie.
Cena na stronie się zmieniła, a plik produktowy nieNieaktualny plik produktowy — statyczny XML/CSV wygenerowany kilka godzin albo dni temuGeneruj go co najmniej raz dziennie (cron) albo przejdź na plik produktowy, który odczytuje ceny na żywo. Zobacz sekcję „Nieaktualne dane w pliku produktowym” niżej.

Szybki sposób, aby potwierdzić, że winny jest podatek: otwórz odrzucony produkt w oknie incognito, zanotuj wyświetlaną cenę, a potem otwórz plik produktowy i znajdź dla tego produktu <g:price>. Jeśli stosunek między tymi wartościami odpowiada Twojej stawce VAT (1.19, 1.21, 1.23…), masz niezgodność trybu podatkowego, a nie problem z nieaktualnymi danymi — i zmiana trybu podatku w pliku produktowym naprawi całą grupę.

Dla porównania: tak powinien wyglądać produkt z rabatem w pliku XML. Wyślij cenę regularną jako g:price (z podatkiem, aby pasowała do strony B2C indeksowanej przez Google) oraz cenę po rabacie jako g:sale_price, obie w walucie renderowanej na stronie — nigdy wyłącznie pełną cenę, jeśli strona pokazuje cenę promocyjną.

<item>
  <g:id>1234</g:id>
  <g:price>49.99 EUR</g:price>
  <g:sale_price>39.99 EUR</g:sale_price>
  <g:availability>in_stock</g:availability>
  <g:brand>Acme</g:brand>
  <g:gtin>4006381333931</g:gtin>
</item>

A dla produktu, który rzeczywiście nie ma kodu kreskowego — rękodzieła, produktu na zamówienie, własnej marki — powiedz Google, żeby przestało oczekiwać GTIN, zamiast wymyślać kod, który uruchomiłby błąd „Nieprawidłowy identyfikator”:

<item>
  <g:id>5678</g:id>
  <g:brand>Your Label</g:brand>
  <g:identifier_exists>false</g:identifier_exists>
</item>

Nieaktualne dane w pliku produktowym — przyczyna połowy „losowych” odrzuceń

Błąd: sporadyczne niezgodności ceny albo dostępności, które „same się naprawiają”, a potem wracają.

Jeśli Twój plik produktowy to plik wygenerowany raz i przesłany do Google, jest zdjęciem katalogu z tamtego momentu. Każda późniejsza zmiana ceny, stanu magazynowego albo promocji oddala plik produktowy od aktywnych stron, które indeksuje Google — a wynikające z tego odrzucenia wyglądają losowo, bo podążają za Twoją aktywnością edycyjną, a nie za jednym zepsutym ustawieniem. Rozwiązaniem jest regularne odświeżanie pliku produktowego według harmonogramu.

W PrestaShop czystym rozwiązaniem jest zadanie cron wywołujące kontroler pliku produktowego (albo adres URL „generate” w module pliku produktowego) według harmonogramu. Oficjalny moduł PrestaShop Cron tasks (moduł cronjobs, darmowy na PrestaShop Addons, zarządzany w sekcji Moduły) może wywoływać URL codziennie; jeśli hosting daje Ci prawdziwy systemowy cron, skieruj go na ten sam adres. Dopasuj częstotliwość do tego, jak często zmieniasz ceny — raz dziennie to minimum, co godzinę, jeśli prowadzisz częste błyskawiczne promocje. I co z tego? Ceny i stany magazynowe w pliku produktowym zawsze odzwierciedlają stronę, którą Google zaraz zaindeksuje, co całkowicie zamyka najczęstszą pętlę ponownych odrzuceń. (Szerszą architekturę generowania pliku produktowego — metodę eksportu, wydajność przy dużych katalogach — omawiamy w poradniku optymalizacji pliku produktowego.)

Niezgodność dostępności

Błąd: „Niezgodna wartość (indeksowanie strony): dostępność” albo „Produkt niedostępny”.

Google odczytało in stock w pliku produktowym, ale aktywna strona wskazywała brak produktu, albo odwrotnie. W PrestaShop niemal zawsze wynika to z interakcji między ilością produktu w magazynie a jego zachowaniem „Gdy brak na stanie” (ustawianym dla produktu na karcie Stan magazynowy, z globalną wartością domyślną w Parametry sklepu → Ustawienia produktu). Jeśli produkt ma zerową ilość, ale jest ustawiony na „Zezwalaj na zamówienia”, strona nadal go sprzedaje — więc plik produktowy powinien zgłaszać in stock, a nie out of stock. Upewnij się, że plik produktowy odczytuje zarówno ilość, jak i politykę sprzedaży przy braku na stanie, a nie samą ilość, bo inaczej produkty możliwe do zamówienia z opóźnieniem będą błędnie oznaczane jako niedostępne.

Naruszenia dotyczące zdjęć

Błąd: „Obraz jest za mały”, „Nakładka promocyjna na obrazie” albo „Nie można zindeksować obrazu”.

  • Obraz jest za mały. Minimalny rozmiar to 100×100 px (250×250 dla odzieży), a 800×800+ to praktyczna rekomendacja jakościowa, którą warto spełnić. PrestaShop generuje wiele przeskalowanych kopii każdego zdjęcia (nazwane typy obrazów w Wygląd → Ustawienia obrazówhome_default, large_default, cart_default i podobne). Plik produktowy musi wskazywać URL typu large, a nie miniaturę — plik wskazujący home_default będzie powodował błąd „za mały” przy każdym produkcie.
  • Nakładka promocyjna. Każdy tekst, znaczek, znak wodny albo logo wtopione w zdjęcie — „PROMOCJA”, „-30%”, „DARMOWA DOSTAWA” — prowadzi do odrzucenia. Jeśli dodajesz promocyjne elementy bezpośrednio do zdjęć produktów, to jest przyczyna; zdjęcie produktu musi pokazywać wyłącznie produkt na czystym tle.
  • Nie można zindeksować. Googlebot nie może pobrać adresu URL. Sprawdź po kolei trzy rzeczy: czy robots.txt nie blokuje /img/, czy ochrona przed hotlinkowaniem albo reguła WAF nie blokuje user-agenta robota Google od obrazów oraz czy URL obrazu nie zwraca 404. Wklej dokładny URL z <g:image_link> do okna incognito — jeśli Ty nie możesz go załadować po wylogowaniu, Google też nie może.

Brakujące identyfikatory (GTIN / MPN / marka)

Błąd: „Brakująca wartość: GTIN”, „Nieprawidłowy identyfikator” albo „Ograniczona skuteczność z powodu brakujących identyfikatorów”.

Google dopasowuje Twoje produkty do swojego katalogu za pomocą identyfikatorów. W przypadku większości markowych, produkowanych seryjnie towarów oczekuje kombinacji marka + GTIN (kod kreskowy EAN/UPC). Pole kodu kreskowego w PrestaShop — oznaczone jako GTIN (EAN, JAN, ITF lub kod UPC/UCC) w bloku Indeksy na karcie produktu Szczegóły (kombinacje mają własny kod kreskowy, co ma znaczenie, jeśli sprzedajesz warianty) — mapuje się bezpośrednio na atrybut Google gtin. Atrybut Marka pochodzi z przypisanego do produktu Producenta w PrestaShop.

  • Produkty markowe z kodami kreskowymi: uzupełnij w PrestaShop pole kodu kreskowego GTIN/EAN-13 i przypisz producenta. To także pojedyncza zmiana o największym wpływie na widoczność — produkty z prawidłowymi GTIN trafiają do większej liczby wyszukiwań.
  • Produkty, które rzeczywiście nie mają kodu kreskowego (rękodzieło, produkty na zamówienie, własna marka): ustaw identifier_exists = false w pliku produktowym, aby Google przestało oczekiwać GTIN. Nie wymyślaj kodu kreskowego — błędny GTIN jest gorszy niż jego brak i wywołuje błąd „Nieprawidłowy identyfikator”.
  • „Nieprawidłowy identyfikator”: zwykle oznacza zniekształcony kod kreskowy albo kod z błędną cyfrą kontrolną wpisany w pole. Zweryfikuj EAN-13/GTIN zamiast zgadywać.

Dostawa nieskonfigurowana dla kraju docelowego

Błąd: „Brak informacji o dostawie” albo „Brak kosztu dostawy dla [country]”.

Google potrzebuje kosztu dostawy, który może pokazać przed finalizacją zamówienia. Możesz podać go dla każdego produktu przez atrybut shipping w pliku produktowym, ale czystsza ścieżka dla sklepu PrestaShop działa na poziomie konta: ustaw koszt raz w Merchant Center w sekcji Dostawa i zwroty, zgodnie ze stawkami przewoźników w PrestaShop (Dostawa → Przewoźnicy). Dwie pułapki specyficzne dla PrestaShop:

  • Darmowa dostawa to nie „brak dostawy”. Jeśli oferujesz darmową dostawę, skonfiguruj usługę dostawy z kosztem 0 wprost. Puste pole dostawy Google odczytuje jako „dostawa niedostępna”, co powoduje odrzucenie produktu.
  • Każdy kraj docelowy potrzebuje stawki. Jeśli kierujesz reklamy na Niemcy i Francję, ale dostawa w Merchant Center obejmuje tylko Francję, niemieckie produkty zostaną odrzucone. To odzwierciedla strefy przewoźników w PrestaShop — jeśli przewoźnik nie obsługuje strefy, do której reklamujesz produkty, Google widzi lukę.

Zasady i wprowadzanie w błąd — zagrożenia na poziomie konta

Błąd: „Naruszenie zasad”, „Wprowadzanie w błąd” albo budzące najwięcej obaw „Konto zawieszone”.

To najpoważniejsze problemy, bo mogą wyłączyć całe konto, a nie jeden produkt. Rzadko wynikają z atrybutu w pliku produktowym — dotyczą sygnałów zaufania w sklepie, które Google sprawdza na aktywnej stronie. Lista kontrolna dla PrestaShop:

  • Widoczna, kompletna polityka zwrotów i refundacji. Utwórz ją jako stronę CMS (Wygląd → Strony) i podlinkuj w stopce. Ukryta albo brakująca polityka to częsty powód zawieszenia.
  • Dostępne dane kontaktowe. Sklep musi pokazywać realny sposób kontaktu z Tobą. Kontroler Kontakt w PrestaShop oraz uzupełniony adres/telefon w Parametry sklepu → Kontakt załatwiają tę część — nie zostawiaj danych demonstracyjnych.
  • HTTPS wszędzie, bez mixed content. Włącz Parametry sklepu → Ogólne → Włącz SSL, aby wymusić HTTPS w całej witrynie. Koszyk działający po HTTPS, ale ładujący obrazek z http://, liczy się jako mixed content i może wyglądać na niezabezpieczony.
  • Tytuły zgodne z tym, co faktycznie sprzedajesz. „Etui do Samsung Galaxy S24” jest uczciwe; „Samsung Galaxy S24” dla etui firmy trzeciej to wprowadzanie w błąd. Jeśli tytuły w PrestaShop zaczynają się od marki, której nie produkujesz, popraw nazwę produktu, a nie plik produktowy.

Jeśli konto zostało zawieszone za wprowadzanie w błąd, napraw wszystkie powyższe elementy przed złożeniem prośby o weryfikację — Google zwykle przyznaje ograniczoną liczbę ponownych weryfikacji, więc połowiczna poprawka, która nie przejdzie sprawdzenia, zużywa jedną z szans.

Pętla naprawy i weryfikacji, która naprawdę czyści kolejkę

Odrzucenia nie znikają w chwili zapisania ustawienia. Pracuj według tej pętli:

  • Napraw u źródła, nie w Merchant Center. Zmień ustawienie PrestaShop albo logikę pliku produktowego, aby następna regeneracja była poprawna — ręczne poprawienie jednego produktu w Merchant Center zostanie nadpisane przy kolejnym pobraniu pliku.
  • Wygeneruj plik produktowy ponownie, aby poprawione dane rzeczywiście znalazły się w pliku czytanym przez Google. (Właśnie dlatego codzienny cron opisany wyżej ma znaczenie — bez niego poprawka zostaje w PrestaShop, ale nigdy nie dociera do Google.)
  • Pobierz ponownie i poczekaj na indeksowanie. Ponowne zatwierdzenie produktu następuje po kolejnym przetworzeniu pliku produktowego i zaindeksowaniu strony, a nie po kliknięciu przycisku zapisu. Większość problemów znika w ciągu dnia lub dwóch; w międzyczasie nie poprawiaj nerwowo kolejnych rzeczy.
  • Sprawdź Diagnostykę ponownie, zaczynając od największego problemu. Zanim przejdziesz do następnego problemu, upewnij się, że liczba objętych produktów spadła.

Utrzymaj zielony status: monitoring

Lista kanałów Google Merchant z kolumnami statusu synchronizacji, kraju, języka i priorytetu dla każdego kanału w celu monitorowania kondycji kanałów
Lista kanałów ze statusem synchronizacji dla każdego profilu pozwala wcześnie wychwycić uszkodzony lub nieaktualny kanał, zanim nowa fala odrzuceń dotknie Twoich produktów.

Gdy kolejka jest już czysta, praca zmienia się w zapobieganie. Sprawdzaj Diagnostykę co tydzień, reaguj na nowe odrzucenia w ciągu dnia lub dwóch (długotrwałe odrzucenia mogą przesuwać kondycję konta w stronę ostrzeżenia) i pilnuj, aby plik produktowy regenerował się zgodnie z harmonogramem, tak by ceny i stany magazynowe nigdy się nie rozjeżdżały. Większość „nagłych” fal odrzuceń to nieaktualny plik produktowy, który dogonił serię zmian cen — niezawodny cron po cichu usuwa całą tę kategorię problemów.

Wzorzec we wszystkich powyższych błędach jest taki sam: odrzucenie to informacja od Google, że plik produktowy i aktywna strona nie zgadzają się w jakiejś sprawie — cenie, stanie magazynowym, obrazie, identyfikatorze, zasadach. Napraw tę niezgodność u źródła w PrestaShop, wygeneruj plik ponownie, a czerwony status zniknie. Gdy produkty są już niezawodnie zatwierdzane, kolejną dźwignią jest sprawienie, żeby zaczęły konkurować — lepsze tytuły, właściwa taksonomia, etykiety niestandardowe do stawek — i to jest obszar poradnika optymalizacji pliku produktowego. A jeśli cofasz się do strategii rentownego prowadzenia kampanii produktowych, zacznij od Google Merchant dla sukcesu PPC w PrestaShop i nie przeznaczaj na nie budżetu, zanim przeczytasz jak dobrać właściwy budżet Google Ads — czysty plik produktowy opłaca się dopiero wtedy, gdy stojący za nim budżet jest dobrany właściwie.

FAQ: odrzucenia w pliku produktowym Merchant

Jak odróżnić problem na poziomie produktu od problemu na poziomie konta? Użyj Produkty → Diagnostyka (albo „Wymaga uwagi” w Merchant Center Next), a nie czerwonej ikony przy pojedynczym produkcie. Widok grupuje odrzucenia według problemu i oznacza każdy jako poziom konta, produktu albo pliku produktowego, razem z liczbą objętych produktów. Problem na poziomie produktu odrzuca kilka produktów i znika przy następnym pobraniu pliku produktowego; problem na poziomie konta (wprowadzanie w błąd, zasady, zawieszenie) może wyłączyć wszystko naraz i wymaga innej reakcji.

Dlaczego „niezgodność ceny” to najczęstsze odrzucenie w PrestaShop? Google indeksuje aktywną stronę i porównuje widoczną cenę z ceną w pliku produktowym. Najczęstszą przyczyną jest niezgodność trybu podatkowego — plik produktowy eksportuje ceny netto, a sklep B2C pokazuje ceny brutto. Szybki test: otwórz produkt w incognito i znajdź jego g:price w pliku produktowym; jeśli stosunek wartości odpowiada Twojej stawce VAT (1.19, 1.21, 1.23…), przełącz plik produktowy na ceny z podatkiem, a cała grupa się wyczyści.

Moje odrzucenia pojawiają się i znikają „losowo” — dlaczego? Prawie zawsze winny jest nieaktualny plik produktowy. Plik wygenerowany raz jest zdjęciem katalogu z tamtego momentu; każda późniejsza zmiana ceny albo stanu magazynowego oddala go od stron indeksowanych przez Google, więc odrzucenia podążają za Twoimi zmianami, a nie za jednym zepsutym ustawieniem. Regeneruj go według harmonogramu — co najmniej codziennie, co godzinę, jeśli prowadzisz błyskawiczne promocje — przez moduł Cron tasks w PrestaShop albo prawdziwy systemowy cron.

Moje zdjęcia produktów są odrzucane — co jest nie tak? Trzy typowe przyczyny: plik produktowy wskazuje miniaturę (home_default) zamiast dużego typu obrazu, więc uruchamia błąd „za mały”; promocyjny znaczek („PROMOCJA”, „-30%”) jest wtopiony w zdjęcie, czego nie wolno; albo URL nie jest dostępny dla robota (robots.txt blokuje /img/, WAF blokuje robota Google albo adres zwraca 404). Wklej dokładny g:image_link do okna incognito — jeśli Ty nie możesz go załadować po wylogowaniu, Google też nie może.

Ile trwa ponowne zatwierdzenie po naprawie? Nie dzieje się natychmiast. Napraw problem u źródła w PrestaShop (ręczne poprawienie jednego produktu w Merchant Center zostanie nadpisane przy następnym pobraniu), wygeneruj plik produktowy ponownie, aby poprawione dane znalazły się w pliku czytanym przez Google, a potem poczekaj na kolejne przetwarzanie i indeksowanie — większość problemów znika w ciągu dnia lub dwóch. Sprawdź Diagnostykę od największego problemu i upewnij się, że liczba objętych produktów spadła, zanim przejdziesz dalej.

Powiązane materiały

Udostępnij ten wpis:
David Miller

David Miller

Założyciel, mypresta.rocks

David Miller to specjalista PrestaShop z ponad dekadą praktycznego doświadczenia i założyciel mypresta.rocks — studia programistycznego z Tychów. Tworzy i utrzymuje katalog 152 modułów PrestaShop — w tym 21 pakietów „Revolution" obejmujących SEO, checkout, bezpieczeństwo, wydajność, marketing, wyszukiwanie, wsparcie i operacje magazynowe — które każdego dnia usprawniają realne sklepy, testowanych na PrestaShop 1.7.8, 8.x i 9.x. Sprawuje również opiekę nad sklepami produkcyjnymi generującymi miliony rocznego obrotu, dlatego jego pracę ocenia się po realnej sprzedaży, a nie po wersjach demo. Jego doświadczenie obejmuje pełen zakres e-commerce — wydajność, bezpieczeństwo, SEO i marketing — oraz wykracza poza PrestaShop, sięgając WooCommerce, Shopify i systemów tworzonych na zamówienie. Na blogu pisze o technicznej stronie PrestaShop: co platforma naprawdę robi pod maską, co psuje się na produkcji i które rozwiązania faktycznie się sprawdzają.

Spodobał Ci się ten artykuł?

Otrzymuj nasze najnowsze porady, przewodniki i aktualizacje modułów prosto na swoją skrzynkę.

Komentarze

Brak komentarzy. Bądź pierwszy!

Bądź pierwszy: zadaj pytanie albo podziel się przydatną opinią.

Ładowanie...
Do góry