X
X
X
X

Wie lösche ich doppelte Produkte auf meiner WordPress-Website?

StartseiteArtikelE-TicaretWie lösche ich doppelte Produkte au...

In WooCommerce-Shops kommt es häufig vor, dass versehentlich dieselben Produkte mehrmals hochgeladen werden – oft mit derselben SKU (Artikelnummer). Diese Duplikate führen zu Verwirrung, beeinträchtigen das SEO-Ranking und verschlechtern das Nutzererlebnis.

In diesem Leitfaden lernst du, wie du alle Produkte mit doppelten SKUs automatisch bereinigst, sodass nur eine Version jedes Produkts erhalten bleibt – idealerweise die neueste.

Das Problem: Doppelte Produkte mit gleicher SKU

Beispiel:

  • SKU: ABC-123

  • Zwei oder mehr Produkte besitzen dieselbe Artikelnummer.

  • Ziel: Nur das neueste Produkt behalten, die älteren Duplikate löschen.

Die Lösung: Code Snippets verwenden für automatische Bereinigung

Wir nutzen das Plugin Code Snippets, um ein sicheres, manuelles Skript auszuführen, das die Duplikate automatisch löscht.

Plugin „Code Snippets“ installieren

  1. Melde dich im WordPress-Backend an.

  2. Navigiere zu Plugins > Installieren.

  3. Suche nach “Code Snippets”.

  4. Installiere das Plugin vom Entwickler Code Snippets Pro und aktiviere es.

Neuen Code-Schnipsel hinzufügen

  1. Gehe im Dashboard zu Snippets > Neu hinzufügen.

  2. Vergib einen Titel wie z. B. Doppelte SKUs bereinigen.

  3. Füge folgenden PHP-Code ein:

add_action('admin_init', 'delete_duplicate_sku_products_except_newest');

function delete_duplicate_sku_products_except_newest() {
if (!current_user_can('administrator')) {
return;
}

// Nur ausführen, wenn über spezielle URL getriggert
if (isset($_GET['run_duplicate_cleaner'])) {
global $wpdb;

$results = $wpdb->get_results("
SELECT meta_value as sku, COUNT(*) as total
FROM {$wpdb->prefix}postmeta
WHERE meta_key = '_sku'
GROUP BY meta_value
HAVING total > 1
");

foreach ($results as $row) {
$sku = $row->sku;

$products = get_posts(array(
'post_type' => 'product',
'posts_per_page' => -1,
'orderby' => 'date',
'order' => 'DESC', // Behalte das neueste
'meta_query' => array(
array(
'key' => '_sku',
'value' => $sku
)
)
));

$keep = true;
foreach ($products as $product) {
if ($keep) {
$keep = false;
continue;
}
wp_delete_post($product->ID, true); // Dauerhaft löschen
}
}

wp_die('Doppelte Produkte wurden erfolgreich bereinigt. Du kannst diesen Snippet jetzt deaktivieren.');
}
}

Einstellungen für den Snippet konfigurieren

  • Wähle im unteren Bereich:
    „Nur im Adminbereich ausführen“

  • Klicke auf „Speichern und aktivieren“.

Skript manuell starten (einmaliger Aufruf)

Öffne im Browser folgenden Link – ersetze deinedomain.com mit deiner Website-Adresse:

https://deinedomain.com/wp-admin/?run_duplicate_cleaner=1

✅ Das Skript durchsucht alle Produkte nach mehrfach vorkommenden SKUs, behält nur das neueste Produkt und löscht alle älteren Duplikate dauerhaft.

Nach der Bereinigung

  • Du erhältst eine Bestätigung wie:
    „Doppelte Produkte wurden erfolgreich bereinigt.“

  • Danach solltest du den Code-Schnipsel im Plugin deaktivieren oder löschen, um ungewollte Wiederholungen zu vermeiden.

Warum ist diese Methode sicher?

  • Kein Bearbeiten der functions.php notwendig.

  • Nur für Administratoren im Dashboard ausführbar.

  • Nur über eine gezielte URL aktivierbar.

  • Keine Auswirkungen auf die Ladezeit oder Stabilität der Seite.

Zusätzliche Hinweise

  • Vor dem Start solltest du unbedingt ein komplettes Backup deiner Website erstellen (z. B. mit UpdraftPlus oder Duplicator).

  • Wenn du sehr viele Produkte hast, kann die Bereinigung einige Sekunden dauern.

  • Diese Methode gilt für einfache Produkte. Bei variablen Produkten kann der Code angepasst werden.

Fazit

Mit dieser einfachen Methode kannst du deine WooCommerce-Produkte automatisch von Duplikaten bereinigen und deine Produktdatenbank sauber und benutzerfreundlich halten.

Hast du Fragen?

Hinterlasse gerne einen Kommentar oder kontaktiere uns – wir helfen dir gerne weiter!

 

Top