FeedMender

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.