Merchlint
Diese Seite gibt es auf
Als Nächstes, in dieser Reihenfolge
  • FrançaisFR
  • ItalianoIT
  • PortuguêsPT
  • NederlandsNL
  • SvenskaSV
  • TürkçeTR

Auf Deutsch gibt es bisher nur wenige Seiten, die übrigen sind auf Englisch. Die deutschen Texte wurden noch nicht von Muttersprachlern geprüft. Fehler gefunden? Schreiben Sie uns.

Kostenlos installieren Installieren
← Alle Prüfungen (Seite auf Englisch)

„Ungültige oder doppelte Artikelnummer“: zwei Produkte, eine Artikelnummer

Doppelte Artikelnummern stören den Bestandsabgleich, Exporte und Produktfeeds. WooCommerce warnt nur in dem Moment, in dem Sie speichern.

Gruppe
Katalog
Verlässlichkeit
F – Fakt aus der Datenbank
Version
Kostenlos
Aktualisiert
Code
B4

Woran Sie das Problem erkennen

Sie wollen ein Produkt speichern, und WooCommerce meldet: „Ungültige oder doppelte Artikelnummer.“ Oder schlimmer: Es kommt gar keine Meldung, weil das Duplikat durch einen Import, eine Mehrfachbearbeitung oder ein Plugin entstanden ist, das die normale Bearbeitungsseite des Produkts umgeht. Der Katalog sieht gut aus. Die Bestandszahlen stimmen trotzdem nicht.

Was das Problem kostet

Die Artikelnummer (SKU) ist die Kennung, mit der jedes System außerhalb von WooCommerce genau dieses eine Produkt meint. Haben zwei Produkte dieselbe Artikelnummer, passiert Folgendes:

  • Der Bestandsabgleich trifft das falsche Produkt. Ein Warenwirtschaftssystem, eine Lager-App oder die Anbindung an einen Marktplatz ändert den Bestand des einen Produkts, und der Kunde kauft das andere.
  • Produktfeeds geraten durcheinander. Das Google Merchant Center und die meisten Marktplätze nutzen die Artikelnummer (oder GTIN plus Artikelnummer) als Schlüssel. Duplikate werden zusammengelegt oder abgelehnt, und Sie verlieren das Angebot, ohne dass es Ihnen jemand sagt.
  • Berichte stimmen nicht. Jeder Bericht, der nach Artikelnummer gruppiert, fasst zwei Produkte zu einem zusammen.

Nichts davon zeigt sich im Shop als Fehler. Deshalb bleiben Duplikate oft jahrelang unbemerkt.

So prüfen Sie selbst nach

Mit WP-CLI, ganz ohne Plugin:

wp db query "SELECT meta_value AS sku, COUNT(*) AS n \
  FROM wp_postmeta pm JOIN wp_posts p ON p.ID = pm.post_id \
  WHERE pm.meta_key = '_sku' AND pm.meta_value <> '' \
  AND p.post_status IN ('publish','draft','private') \
  GROUP BY meta_value HAVING n > 1"

Ersetzen Sie wp_ durch Ihr Tabellenpräfix. Die Abfrage erfasst auch Varianten, denn sie haben ihre eigene _sku. Eine Variante ohne eigene Artikelnummer hat dort keinen Wert und erscheint nicht, obwohl WooCommerce bei ihr die Artikelnummer des übergeordneten Produkts anzeigt. Eine Variante, die dieselbe Artikelnummer wie ihr eigenes übergeordnetes Produkt gespeichert hat, erscheint dagegen; dieses Paar meldet Merchlint nicht, siehe unten.

So beheben Sie das Problem

  1. Entscheiden Sie, welches Produkt die Artikelnummer behält. Meist ist es das mit Bestellhistorie.
  2. Geben Sie dem anderen eine neue Artikelnummer nach Ihrem eigenen Schema. Lassen Sie das Feld nicht leer, wenn ein anderes System die Nummer braucht.
  3. Ist das Duplikat eine Variante desselben übergeordneten Produkts, prüfen Sie, ob sie von einem gelöschten Attributwert übrig geblieben ist. Solche Varianten können Sie meist bedenkenlos löschen, statt sie neu zu nummerieren.
  4. War ein Import die Ursache, korrigieren Sie ihn. Sonst ist das Duplikat beim nächsten Durchlauf wieder da.

Wann ein Fehlalarm vorliegt

  • Sie verwenden dieselbe Artikelnummer bewusst in mehreren Sprachen. Übersetzungen eines Produkts mit WPML oder Polylang haben zu Recht dieselbe Artikelnummer. Merchlint lässt bekannte Übersetzungsgruppen aus. Nutzen Sie eine andere Lösung für mehrere Sprachen, blenden Sie den Befund aus.
  • Ein Ersatzprodukt, das Sie schon veröffentlicht haben, während das Original noch online ist. Der Befund verschwindet, sobald Sie das alte Produkt auf Entwurf setzen oder löschen. Entwürfe lösen ihn nie aus: Merchlint vergleicht nur veröffentlichte Produkte, die Abfrage oben zeigt dagegen auch Entwürfe.
  • Produktbündel, die absichtlich die Artikelnummer eines Bestandteils übernehmen, wie es manche Bundle-Plugins vorsehen.

Wie Merchlint das Problem findet

Merchlint liest _sku aus veröffentlichten Produkten und aus ihren Varianten, gruppiert nach Wert und lässt leere Werte aus. Gemeldet wird jedes Produkt, das seinen Code mit einem anderen Produkt teilt oder mit einer Variante eines anderen Produkts. Der Befund zeigt die Artikelnummer, die IDs der betroffenen Produkte und den Status jedes Produkts. So entscheiden Sie, welches die Nummer behält, ohne beide zu öffnen.

Codes werden so verglichen, wie ein Mensch sie liest. Seit Version 0.3.5 macht ein unsichtbares Zeichen oder ein geschütztes Leerzeichen aus einem Code keinen anderen mehr. Beides kommt oft vor, wenn ein Code aus einer Tabelle eingefügt wird. Leerzeichen am Anfang und am Ende zählen nicht. Groß- und Kleinschreibung behandelt Merchlint so wie die Datenbank des Shops. Vor 0.3.5 hing das Ergebnis von dieser Datenbank ab: Unter MySQL 8 wurde so ein Duplikat übersehen, oder es erschien nur eines der beiden Produkte.

Zwei Fälle meldet Merchlint absichtlich nicht. Der erste: ein Produkt, das seinen Code mit seiner eigenen Variante teilt. Hat eine Variante keine eigene Artikelnummer, zeigt WooCommerce bei ihr die des übergeordneten Produkts an. Das ist also normales Verhalten der Plattform und kein Fehler. Der zweite: zwei Varianten eines Produkts mit demselben Code, während das Produkt selbst keinen hat. Ein Befund gehört immer zu einem Produkt, und hier hat kein Produkt selbst diesen Code. Varianten im Papierkorb zählen nie.

Verlässlichkeit: F – Fakt aus der Datenbank. Keine Deutung, kein Grenzwert. Zwei Zeilen haben denselben Wert oder nicht.

Diese Prüfung ist in der kostenlosen Version enthalten, für jedes Produkt, ohne Obergrenze. Brauchen Sie nur die Prüfungen für Artikelnummern und GTINs, gibt es dieselbe Prüflogik auch als eigenes kostenloses Plugin mit genau diesen Prüfungen: doppelte Artikelnummern und GTINs finden.

Diese Seite wurde noch nicht von Muttersprachlern geprüft. Klingt etwas falsch oder stimmt etwas nicht? Schreiben Sie an contact@merchlint.com.

Diese Prüfung in Ihrem Shop ausführen

Passt das nicht zu dem, was Sie in Ihrem Shop sehen? Schreiben Sie uns, wir lesen jede Nachricht: contact@merchlint.com