FeedMender/Co sprawdzamy
Zakres
Co można sprawdzić w samym pliku feedu
Odrębnych kontroli jest 225. Ta strona grupuje je tak, jak robi to raport z analizy, i wyjaśnia uzasadnienie tych, które mają największe znaczenie. Jeśli chcesz surową listę, z każdym kodem, odczytywanym atrybutem i wagą, znajdziesz ją na pełnej liście kontroli.
Google publikuje kilkaset stron wymagań dotyczących danych produktów. Plik nie może udowodnić ich wszystkich i nie udajemy, że jest inaczej. Poniżej znajduje się część, którą da się ustalić z samego pliku, plus dwa obszary wymagające jednego żądania sieciowego: zdjęcia i reguły robots. To, czego plik nie może powiedzieć, ma celowo osobną stronę.
Czy w ogóle możemy odczytać plik
Ten etap działa, zanim spojrzymy na jakąkolwiek wartość, bo kontrola wartości na źle sparsowanym pliku jest gorsza niż brak kontroli: to pewna siebie odpowiedź o niewłaściwych danych. Separator jest wybierany według tego, który daje spójną liczbę pól, a nie tego, który występuje najczęściej. Kodowania inne niż UTF-8 są odczytywane i konwertowane. Znacznik BOM jest usuwany, zanim zobaczy go cokolwiek dalej. XML jest testowany pod kątem poprawnej struktury (well-formed), przestrzeni nazw Google i obecności elementów item.
Tam, gdzie plik jest niejednoznaczny w sposób, który przesunąłby dane między kolumnami, analiza zatrzymuje się, zamiast zgadywać. Przy złym separatorze ceny lądują w polu dostępności i każdy późniejszy wynik jest fikcją. Tam, gdzie wiersze są jedynie pomijane, licznik mówi o tym wprost: raport o 48 z 50 produktów, który przedstawia się jako kompletny, to jedyna usterka, której klient nie może wychwycić, więc to jedyny raport, którego wyprodukowania odmawiamy.
Ceny i waluta
Przecinki jako separatory dziesiętne, brakujący kod waluty i pomieszane separatory tysięcy
i dziesiętne: wszystko to jest wychwytywane. Przypadek naprawdę niejednoznaczny jest nazwany
wprost, a nie zgadywany: 1.234 to 1234 w notacji kontynentalnej i 1,234 w notacji
angielskiej, i nic w pliku nie rozstrzyga, która obowiązuje. Odmawiamy, zamiast przeceniać produkt
tysiąckrotnie.
Poza formatem analiza odczytuje relacje między polami cen: sale_price w innej
walucie niż price, okno promocji bez ceny promocyjnej w środku, cenę członkowską lub
lojalnościową w zwykłym polu ceny oraz miary cen jednostkowych z innej rodziny niż miara bazowa,
kilogramy kontra litry. Cena zerowa jest oznaczana tylko poza przypadkami, w których Google
faktycznie ją dopuszcza, jak urządzenie mobilne sprzedawane z umową.
Pełne uzasadnienie znajduje się na stronie o cenie i walucie.
Identyfikatory produktów
Każdy GTIN jest sprawdzany względem cyfry kontrolnej GS1 mod-10, a te, które da się naprawić,
ISBN-10 na ISBN-13, UPC-E na UPC-A, są naprawiane. Kontrole, których nie robi prawie nikt inny,
dotyczą prefiksów zastrzeżonych: kodu kreskowego z poprawną cyfrą kontrolną, który Google mimo to
odrzuca, bo zaczyna się od 2, 02 lub 04, albo dlatego, że
jest to prefiks kuponowy odczytany z 13-cyfrowej formy uzupełnionej zerami. To rozróżnienie ma
znaczenie: 12-cyfrowy UPC-A zaczynający się od 98 normalizuje się do 098,
całkowicie prawidłowego prefiksu firmy, więc surowy ciąg znaków to niewłaściwa rzecz do testowania.
Notacja naukowa Excela (8,71234E+12) jest wychwytywana, brakująca marka jest
odróżniana od brakującego MPN, bo spełniają różne reguły, a identifier_exists: no
sprzeczne z podanym GTIN lub parą marka i MPN jest raportowane. Strona
o identyfikatorach tłumaczy, dlaczego poprawnie wyglądający kod kreskowy zostaje odrzucony.
Tytuły i opisy
Tekst promocyjny, przez który produkt zostaje odrzucony, darmowa dostawa, słowo SALE, procent, cena w tytule, jest oznaczany. Ponad 150 znaków jest zgłaszane jako ostrzeżenie, a nie odrzucenie, bo Google skraca tytuł i wyświetla produkt z uciętym tytułem, co jest innym, cichszym kosztem. Krzyk wersalikami jest zamieniany na małe litery bez spłaszczania prawdziwych akronimów jak USB, LED czy XL. Opisy są sprawdzane pod kątem HTML, limitu 5 000 znaków i tego, czy nie są zbyt ubogie, by Google zrozumiał, czym produkt właściwie jest.
Stany magazynowe, daty i dostępność
Niderlandzkie, francuskie i niemieckie określenia stanów magazynowych są mapowane na cztery
wartości akceptowane przez Google, a limited_availability, które w feedach plikowych
już nie istnieje, jest wycofywane. Dostępność jest wyprowadzana z kolumny ilości na stanie, gdy
pole statusu jest puste. Każde pole daty musi spełniać ISO 8601, expiration_date
ponad 30 dni w przód jest wychwytywane (pomyłka 30 kontra 365 dni), a
sale_price_effective_date, które nie składa się dokładnie z dwóch dat albo którego
koniec wypada przed początkiem, jest raportowane.
Sprzeczności stanów, in_stock przy ilości zero, są raportowane, a nie naprawiane.
Które pole ma rację, zależy od tego, czy autorytetem jest sklep, czy magazyn, a plik tego nie
powie. Zgadywanie albo ukryłoby towar, który sprzedawca ma, albo reklamowało towar, którego nie ma.
Warianty i atrybuty
Kody szesnastkowe i liczby w polu koloru są wychwytywane; kolory zlepione w jedno,
ZwartWitGrijs, są rozdzielane, ale tylko wtedy, gdy każdy segment jest rozpoznanym
kolorem, więc MidnightBlue pozostaje jednym kolorem. Ilość w opakowaniu wpisana
w pole rozmiaru (6-pack) jest oznaczana, zamknięte listy wartości dla
size_system, size_type, gender i age_group
są egzekwowane, a warianty odzieży różniące się tylko rozmiarem lub kolorem bez wspólnego
item_group_id są raportowane, dzięki czemu poszczególne rozmiary przestają
konkurować z własnym rodzeństwem. Deklaracja stanu produktu jest uwzględniana tylko wtedy, gdy
własny tekst sprzedawcy stwierdza ją bez negacji:
"geen tweedehands" znaczy coś przeciwnego i się nie liczy.
Zdjęcia, wideo i robots.txt
Główne zdjęcie każdego produktu jest faktycznie pobierane, po szesnaście naraz. Arkusz kalkulacyjny nigdy nie pokaże Ci, że 212 z 3 400 zdjęć zwraca błąd 404, a to jest właśnie wynik, na który sprzedawcy reagują. Każde zdjęcie jest sprawdzane pod kątem odpowiedzi serwera, wymiarów w pikselach względem obecnego minimum oraz 500x500, które stanie się obowiązkowe 2027-01-31, rzeczywistego formatu względem deklarowanego rozszerzenia oraz limitów megapikseli i bajtów. Linki wideo są walidowane pod kątem kształtu, w tym częstego błędu wskazywania strony z odtwarzaczem zamiast surowego pliku wideo.
Następnie odczytywany jest robots.txt, jedno żądanie na domenę, z trzema agentami użytkownika
sprawdzanymi osobno: Googlebot, Googlebot-image
i AdsBot-Google. To próbka, a nie wyczerpujące pokrycie: najwyżej trzy domeny i pięć
ścieżek stron docelowych na domenę. Wszystkie trzy są sprawdzane osobno dlatego, że
AdsBot-Google ignoruje grupę z symbolem wieloznacznym, co daje
najbardziej mylące odrzucenie, jakie istnieje.
Dostawa, zwroty i zgodność z przepisami UE
To jest część, którą narzędzia budowane dla rynku amerykańskiego zwykle pomijają. Dostawa i zwroty to atrybuty złożone, których atrybuty podrzędne mieszczą się w nagłówku kolumny, a wartości są pozycyjne; oba są walidowane względem składni, którą Google faktycznie dokumentuje. Pojedyncza cena dostawy na poziomie produktu może wyłączyć ustawienia dostawy konta dla tej lokalizacji, więc analiza dodaje notę na poziomie pliku, gdy tylko taka cena się pojawi. Wartości zwrotów są pisane wielkimi literami i tworzą listę zamkniętą, a poprawna wartość w złej wielkości liter jest raportowana ze wskazaniem wielkości liter jako przyczyny.
Po stronie UE: ceny jednostkowe tam, gdzie prawdopodobnie obowiązuje dyrektywa o podawaniu cen,
kształt certyfikacji EPREL oraz energy_efficiency_class ograniczone od kwietnia 2025
do CH, NO i GB. Łącznie obsługiwanych jest 15 atrybutów złożonych, z walidacją treści dla 11
z nich i 57 twardymi limitami znaków i wartości deklarowanymi ze stałych, a nie wpisywanymi
ręcznie.
Każda z tych kontroli to wiersz na pełnej liście kontroli, a liczba na górze tamtej strony jest odczytywana z kodu w momencie budowania. Aby zobaczyć, o które z nich potyka się Twój własny plik, uruchom analizę.