Produkt odrzucony w Google Merchant Center: najczęstsze przyczyny i jak je naprawić w PrestaShop
„Produkt odrzucony” w Google Merchant Center oznacza, że produkt nie wyświetla się w reklamach ani w bezpłatnych wynikach Zakupów, dopóki nie poprawisz danych. W sklepach PrestaShop większość odrzuceń wraca do kilku powtarzalnych przyczyn: cena w feedzie inna niż na stronie, niezgodna dostępność, brak GTIN, złe zdjęcie albo strona produktu, której Googlebot nie może otworzyć. Poniżej najczęstsze komunikaty, ich typowe źródło w PrestaShop i sposób naprawy.
Najpierw: gdzie szukać i jak czytać problemy
W Merchant Center wejdź w Produkty › „Wymaga uwagi”. Problemy są pogrupowane według typu i można pobrać listę produktów jako CSV. Pracuj grupami, nie produktami: jeden błąd w konfiguracji sklepu potrafi odrzucić setki pozycji naraz. Po poprawce możesz poprosić o ponowne sprawdzenie strony – inaczej Google zrobi to sam przy kolejnym przeglądzie.
Jedna ważna zasada: nie zmieniaj identyfikatorów produktów w feedzie. Dla Google zmiana id oznacza nowy produkt, który musi przejść weryfikację od nowa – to może potrwać do 3 dni roboczych.
Najczęstsze przyczyny i ich źródło w PrestaShop
| Komunikat | Typowa przyczyna w PrestaShop | Co zrobić |
|---|---|---|
| Niezgodna cena (strona docelowa vs dane produktu) | Feed wysyła cenę netto, a strona pokazuje brutto; ceny dla grup klientów; rabat bez dat w feedzie; feed odświeżany raz dziennie przy częstych zmianach cen; cena kombinacji podmieniana przez JavaScript | Feed z ceną brutto dla kraju docelowego, harmonogram odświeżania częstszy niż zmiany cen, cena w danych strukturalnych zgodna z domyślną kombinacją |
| Niezgodna dostępność | Domyślna kombinacja jest wyprzedana, a inne są dostępne; zamówienia przy zerowym stanie włączone, ale feed wysyła „out of stock” | Zmień domyślną kombinację na dostępną, wysyłaj w feedzie stan per kombinacja |
| Brak lub nieprawidłowy GTIN | Kod wpisany na produkcie, a feed wysyła kombinacje; indeks wklejony w pole EAN | Poradnik o brakującym GTIN |
| Obraz zastępczy / niedozwolony obraz | Produkt bez zdjęcia – feed wysyła obrazek „brak zdjęcia” z motywu; logo sklepu albo napis promocyjny na zdjęciu | Dodaj prawdziwe zdjęcie albo wyłącz produkt z feedu |
| Za małe zdjęcie | Feed wysyła mały format miniatury (np. home_default) albo oryginał jest mały | Jak znaleźć zdjęcia poniżej 500 × 500 px |
| Strona docelowa nie działa | Produkt wyłączony w sklepie, ale nadal w feedzie (404 lub przekierowanie); tryb konserwacji; firewall albo ochrona przed botami blokująca Googlebota; robots.txt blokuje adresy | Wyłączaj produkty w feedzie razem ze sklepem, sprawdź logi serwera pod kątem Googlebota |
| Brak kosztów wysyłki | Wysyłka nie jest ustawiona w Merchant Center dla kraju docelowego albo feed wysyła niepełne dane | Ustaw wysyłkę w Merchant Center albo w feedzie |
Cena: najczęstszy problem
Googlebot pobiera stronę produktu i porównuje cenę z feedem. Czyta HTML zwrócony przez serwer – ceny wstawiane później przez JavaScript mogą dać błąd. W PrestaShop sprawdź po kolei:
- Podatek. W Unii Europejskiej cena w feedzie musi zawierać VAT. Część modułów ma osobne ustawienie „ceny z podatkiem”.
- Grupy klientów. Googlebot jest gościem. Jeśli gość ma inne ceny niż klient zalogowany, feed musi wysyłać ceny gościa.
- Ceny specjalne. Rabat w sklepie bez
sale_pricew feedzie albo z niezgodnymi datami lub strefą czasową. - Kombinacje. Adres produktu w feedzie powinien prowadzić do konkretnej kombinacji z jej ceną, a nie do domyślnej.
- Cache. Pełnostronicowy cache albo CDN potrafi pokazywać Googlebotowi stare ceny po zmianie.
Pomaga też włączenie automatycznych aktualizacji produktów w Merchant Center – Google poprawia wtedy cenę i dostępność na podstawie danych strukturalnych strony. To jednak siatka bezpieczeństwa, a nie zastępstwo dla aktualnego feedu.
Dostępność: domyślna kombinacja
Częsty i mało oczywisty przypadek: produkt ma kilka rozmiarów, domyślny jest wyprzedany, a pozostałe są dostępne. Strona produktu otwiera się z informacją „brak w magazynie”, więc Google widzi niezgodność. To zapytanie wypisuje takie produkty:
SELECT ps.id_product, pl.name, ps.cache_default_attribute,
sa.quantity AS stan_domyslnej
FROM ps_product_shop ps
JOIN ps_product_lang pl
ON pl.id_product = ps.id_product AND pl.id_lang = 1 AND pl.id_shop = ps.id_shop
JOIN ps_stock_available sa
ON sa.id_product = ps.id_product
AND sa.id_product_attribute = ps.cache_default_attribute
WHERE ps.id_shop = 1 AND ps.active = 1
AND ps.cache_default_attribute > 0
AND sa.quantity <= 0
AND EXISTS (SELECT 1 FROM ps_stock_available s2
WHERE s2.id_product = ps.id_product
AND s2.id_product_attribute > 0 AND s2.quantity > 0);
Zamień prefiks ps_ i id_lang na swoje. Dla każdego wyniku ustaw jako domyślną kombinację, która jest dostępna.
Ostrzeżenia na poziomie konta
Gorsze od odrzucenia pojedynczych produktów jest zawieszenie całego konta, np. za „wprowadzanie w błąd” (misrepresentation). Google oczekuje, że sklep jasno pokazuje dane firmy i kontakt, koszty dostawy, zasady zwrotów i reklamacji oraz bezpieczną płatność. W PrestaShop to zwykle strony CMS i stopka. Jeśli któregoś z tych elementów brakuje albo jest trudno go znaleźć, uzupełnij go, zanim poprosisz o ponowne rozpatrzenie.
Jak nie wracać do tego co tydzień
Poprawianie odrzuceń jeden po drugim to praca bez końca: nowe produkty i importy przynoszą te same błędy. Lepiej działa kontrola przed wysłaniem: produkt trafia do feedu dopiero wtedy, gdy ma zdjęcie, kod GTIN (albo markę i MPN), cenę, stan i opis.
Kontrola jakości przed Merchant Center
Product Data Guardian ocenia każdy produkt i kombinację od 0 do 100 według Twoich reguł – GTIN, marka, zdjęcia, opis, stan, cena – i udostępnia feedy Google Shopping i Meta z progiem jakości. Produkty z brakami nie trafiają do Merchant Center, dopóki nie zostaną poprawione, więc odrzuceń jest po prostu mniej.