FeedMender/Was wir prüfen
Abdeckung
Wogegen sich eine Feed-Datei prüfen lässt
Es gibt 225 verschiedene Prüfungen. Diese Seite gruppiert sie so, wie es der Scanbericht tut, und erklärt die Überlegungen hinter den wichtigsten. Wenn Sie die rohe Liste wollen, mit jedem Code, dem gelesenen Attribut und dem Schweregrad, ist das die vollständige Liste der Prüfungen.
Google veröffentlicht mehrere hundert Seiten an Anforderungen für Produktdaten. Eine Datei kann nicht alle davon belegen, und wir tun nicht so, als wäre es anders. Was folgt, ist der Teil, der sich aus der Datei selbst feststellen lässt, plus die zwei Bereiche, die eine Netzwerkanfrage brauchen: die Bilder und die robots-Regeln. Was eine Datei nicht aussagen kann, steht bewusst auf einer eigenen Seite.
Können wir die Datei überhaupt lesen
Das läuft, bevor irgendein Wert betrachtet wird, denn eine Wertprüfung auf einer schlecht geparsten Datei ist schlimmer als keine Prüfung: Sie ist eine selbstsichere Antwort über die falschen Daten. Das Trennzeichen wird danach gewählt, welches eine konsistente Feldanzahl ergibt, nicht danach, welches am häufigsten vorkommt. Andere Codierungen als UTF-8 werden gelesen und umcodiert. Ein Byte Order Mark wird entfernt, bevor irgendetwas Nachgelagertes ihn sieht. XML wird auf Wohlgeformtheit geprüft, auf den Google-Namespace und auf das Vorhandensein von item-Elementen.
Wo eine Datei auf eine Weise mehrdeutig ist, die Daten zwischen Spalten verschieben würde, stoppt der Scan, statt zu raten. Mit dem falschen Trennzeichen landen Preise im Verfügbarkeitsfeld, und jedes Ergebnis danach ist Fiktion. Wo lediglich Zeilen wegfallen, sagt die Zählung das in klaren Zahlen: Ein Bericht über 48 von 50 Produkten, der sich als vollständig ausgibt, ist der eine Fehler, den ein Kunde nicht bemerken kann, also ist er der eine, den zu produzieren wir uns weigern.
Preise und Währung
Dezimalkommas, ein fehlender Währungscode und gemischte Tausender- und Dezimaltrennzeichen werden
alle erkannt. Der wirklich mehrdeutige Fall wird klar benannt statt geraten: 1.234
ist 1234 in kontinentaler Notation und 1.234 in englischer, und nichts in der Datei entscheidet,
welche gilt. Wir lehnen ihn ab, statt ein Produkt um den Faktor tausend umzupreisen.
Über das Format hinaus liest der Scan die Beziehungen zwischen den Preisfeldern: ein
sale_price in einer anderen Währung als price, ein Aktionszeitraum ohne
Aktionspreis darin, ein Mitglieds- oder Treuepreis im normalen Preisfeld und Grundpreis-Maßeinheiten
aus einer anderen Familie als das Basismaß, Kilogramm gegen Liter. Ein Preis von null wird nur
außerhalb der Fälle markiert, in denen Google ihn tatsächlich erlaubt, etwa bei einem Mobilgerät,
das mit Vertrag verkauft wird.
Die vollständige Begründung steht auf der Seite zu Preis und Währung.
Produkt-Identifier
Jede GTIN wird gegen die GS1-Mod-10-Prüfziffer geprüft, und was sich reparieren lässt, eine
ISBN-10 zur ISBN-13, ein UPC-E zum UPC-A, wird repariert. Die Prüfungen, die fast kein anderes
Tool durchführt, sind die eingeschränkten Präfixe: ein Barcode mit korrekter Prüfziffer, den
Google trotzdem ablehnt, weil er mit 2, 02 oder 04 beginnt,
oder weil er ein Coupon-Präfix trägt, abgelesen an der mit Nullen aufgefüllten 13-stelligen Form.
Diese Unterscheidung ist wichtig: Ein 12-stelliger UPC-A, der mit 98 beginnt,
normalisiert zu 098, einem völlig legitimen Unternehmenspräfix, also ist der rohe
String das Falsche zum Testen.
Excels wissenschaftliche Notation (8,71234E+12) wird erkannt, eine fehlende Marke
wird von einer fehlenden MPN getrennt behandelt, weil beide unterschiedliche Regeln erfüllen, und
ein identifier_exists: no, das einer gelieferten GTIN oder Marke-plus-MPN
widerspricht, wird gemeldet. Die Identifier-Seite geht
durch, warum ein gültig aussehender Barcode abgelehnt wird.
Titel und Beschreibungen
Werblicher Text, der zur Ablehnung eines Produkts führt, kostenloser Versand, das Wort SALE, eine Prozentangabe, ein Preis im Titel, wird markiert. Mehr als 150 Zeichen werden als Warnung gemeldet, nicht als Ablehnung, denn Google kürzt und spielt das Produkt mit abgeschnittenem Titel aus, und das sind andere, leisere Kosten. Durchgehende Großschreibung wird zurückgenommen, ohne echte Akronyme wie USB, LED oder XL plattzumachen. Beschreibungen werden auf HTML geprüft, auf das Limit von 5.000 Zeichen und darauf, ob sie zu dünn sind, als dass Google verstehen könnte, was das Produkt eigentlich ist.
Bestand, Datumsangaben und Verfügbarkeit
Niederländische, französische und deutsche Bestandsformulierungen werden auf die vier Werte
abgebildet, die Google akzeptiert, und limited_availability, das es in Dateifeeds
nicht mehr gibt, wird ausgemustert. Die Verfügbarkeit wird aus einer Bestandsmengen-Spalte
abgeleitet, wenn das Statusfeld leer ist. Jedes Datumsfeld wird an ISO 8601 gemessen, ein
expiration_date mehr als 30 Tage in der Zukunft wird erkannt (die Verwechslung von
30 und 365 Tagen), und ein sale_price_effective_date, das nicht aus genau zwei
Datumsangaben besteht oder dessen Ende vor seinem Anfang liegt, wird gemeldet.
Bestandswidersprüche, in_stock mit einer Menge von null, werden gemeldet statt
repariert. Welches Feld recht hat, hängt davon ab, ob der Shop oder das Lager die Autorität ist,
und eine Datei kann das nicht sagen. Raten würde entweder Bestand verstecken, den der Händler hat,
oder Bestand bewerben, den er nicht hat.
Varianten und Attribute
Hexcodes und Zahlen in einem Farbfeld werden erkannt; zusammengeschriebene Farben,
ZwartWitGrijs, werden getrennt, aber nur, wenn jedes Segment eine erkannte Farbe ist,
sodass MidnightBlue eine Farbe bleibt. Eine Packungsmenge im Größenfeld
(6-pack) wird markiert, geschlossene Wertelisten für size_system,
size_type, gender und age_group werden durchgesetzt, und
Bekleidungsvarianten, die sich nur in Größe oder Farbe unterscheiden und keine gemeinsame
item_group_id haben, werden gemeldet, damit jede Größe aufhört, gegen ihre eigenen
Geschwister zu konkurrieren. Eine Zustandsangabe wird nur dann umgesetzt, wenn der eigene Text des
Händlers sie ohne Verneinung ausspricht: "geen tweedehands" bedeutet das Gegenteil und zählt
nicht.
Bilder, Video und robots.txt
Das Hauptbild jedes Produkts wird tatsächlich abgerufen, sechzehn auf einmal. Eine Tabelle zeigt Ihnen nie, dass 212 von 3.400 Bildern einen 404 zurückgeben, und genau das ist das Ergebnis, auf das Händler reagieren. Jedes Bild wird geprüft auf seine Antwort, seine Pixelmaße gegen das aktuelle Minimum und gegen die 500x500, die am 2027-01-31 verpflichtend werden, sein tatsächliches Format gegen die Erweiterung, die es behauptet, und auf Megapixel- und Byte-Obergrenzen. Videolinks werden auf ihre Form validiert, einschließlich des häufigen Fehlers, auf eine Seite mit einem Player zu zeigen statt auf die rohe Videodatei.
Danach wird robots.txt gelesen, eine Anfrage pro Domain, mit drei separat geprüften User-Agents:
Googlebot, Googlebot-image und AdsBot-Google. Das ist eine
Stichprobe, keine erschöpfende Abdeckung: höchstens drei Domains und fünf Landingpage-Pfade pro
Domain. Der Grund, warum alle drei separat geprüft werden, ist, dass AdsBot-Google
die Wildcard-Gruppe ignoriert, was die verwirrendste Ablehnung
überhaupt erzeugt.
Versand, Rückgaben und EU-Konformität
Das ist der Teil, den Tools, die für den US-Markt gebaut wurden, gern weglassen. Versand und Rückgaben sind zusammengesetzte Attribute, deren Unterattribute im Spaltenkopf stehen und deren Werte positionsabhängig sind, und beide werden gegen die Syntax validiert, die Google tatsächlich dokumentiert. Ein einzelner Versandpreis auf Produktebene kann die Versandeinstellungen des Kontos für diesen Standort abschalten, deshalb erzeugt der Scan einen Hinweis auf Dateiebene, sobald einer auftaucht. Rückgabewerte sind großgeschrieben und geschlossen, und ein richtiger Wert in der falschen Schreibweise wird gemeldet, mit der Groß- und Kleinschreibung als benannter Ursache.
Auf der EU-Seite: Grundpreisangaben dort, wo die Preisangabenrichtlinie wahrscheinlich greift,
die Form der EPREL-Zertifizierung und energy_efficiency_class, seit April 2025
beschränkt auf CH, NO und GB. Insgesamt werden 15 zusammengesetzte Attribute unterstützt, mit
Inhaltsvalidierung bei 11 davon und 57 harten Zeichen- und Wertelimits, die aus den Konstanten
deklariert werden statt von Hand getippt.
Jede dieser Prüfungen ist eine Zeile in der vollständigen Liste der Prüfungen, und die Zahl oben auf dieser Seite wird beim Build aus dem Code gelesen. Um zu sehen, welche davon Ihre eigene Datei auslöst, starten Sie einen Scan.