Loslegen
Produktdaten-Feeds mit Cron-Jobs aktualisieren – AdTribes
  1. Startseite
  2. Wissensdatenbank
  3. Allgemeine Feed-Tipps
  4. Produktdaten-Feeds mit Cron-Jobs aktualisieren

Produktdaten-Feeds mit Cron-Jobs aktualisieren

Wenn Ihre Hosting-Umgebung den integrierten Task-Scheduler von WordPress drosselt – oder wenn Sie möchten, dass Feeds zu einer genauen Zeit aktualisiert werden, die nicht mit den stündlichen, zweimal täglichen oder täglichen Intervallen des Plugins übereinstimmen – können Sie die Feed-Aktualisierungen stattdessen über einen Cron-Job auf Serverebene steuern. Dies gibt Ihnen die genaue Kontrolle über die Zeitplanung und vermeidet die Abhängigkeit vom Besucheraufkommen, um den Scheduler von WordPress auszulösen.

Häufige Symptome: Feeds hängen bei alten Daten, Aktualisierungszeiten, die zwischen Besuchen schwanken, oder Hosting-Umgebungen, die wp-cron deaktivieren.

Product Feed Pro und Product Feed Elite unterstützen beide zwei Ansätze: einen WP-CLI-Befehl (empfohlen) und ein eigenständiges PHP-Skript für Server ohne WP-CLI.

Wenn Ihre Feeds bei geplanten Läufen auf einem Case-Sensitive-Server (Linux, Kinsta oder ähnlich) nicht aktualisiert wurden, war dies ein bekannter Fehler, der in Version 13.5.4 behoben wurde. Das Aktualisieren des Plugins behebt das Problem, ohne dass eine benutzerdefinierte Cron-Einrichtung erforderlich ist.

Bevor Sie beginnen

  • Product Feed Pro oder Product Feed Elite installiert und aktiv
  • Mindestens ein Produktdaten-Feed erstellt und konfiguriert
  • SSH- oder cPanel-Zugriff auf Ihren Server, um Cron-Jobs hinzuzufügen
  • Ihre Feed-ID (siehe Schritt 1 in einer der folgenden Methoden)
  • Version 13.5.4 oder neuer für WP-CLI-Unterstützung

WP-CLI ist auf den meisten verwalteten WordPress-Hosts verfügbar. Es ist die einfachste und zuverlässigste Methode, eine Feed-Aktualisierung über einen Server-Cron-Job auszulösen – kein zu verwaltendes PHP-File, kein Bootstrapping von WordPress erforderlich.

Schritt 1: Finden Sie Ihre Feed-ID

  1. Gehen Sie in Ihrem WordPress-Admin zu Produktdaten-Feed → Feeds verwalten.
  2. Klicken Sie auf den Feed, den Sie aktualisieren möchten.
  3. Schauen Sie in die Adressleiste Ihres Browsers. Die Feed-ID ist der Wert des Parameters id – zum Beispiel bedeutet admin.php?page=adt-edit-feed&id=123, dass Ihre Feed-ID 123 ist.

Feed-ID in der URL-Leiste beim Bearbeiten eines Feeds sichtbar

Schritt 2: Deaktivieren Sie das integrierte Aktualisierungsintervall

Um zu verhindern, dass der Scheduler des Plugins eine doppelte Aktualisierung neben Ihrem Cron-Job ausführt:

  1. Gehen Sie beim Bearbeiten des Feeds zum Tab Allgemein.
  2. Stellen Sie Aktualisierungsintervall auf Keine Aktualisierung.
  3. Klicken Sie auf Änderungen speichern.

Feed mit dem Aktualisierungsintervall "Keine Aktualisierung"

Schritt 3: Fügen Sie den Server-Cron-Job hinzu

Fügen Sie auf Ihrem Server einen Cron-Eintrag hinzu, der wp adt-feed refresh zu Ihrer gewählten Zeit ausführt. Ersetzen Sie /path-to-wordpress durch das tatsächliche Stammverzeichnis Ihrer Website und 123 durch Ihre Feed-ID:

0 2 * * * cd /path-to-wordpress && wp adt-feed refresh 123 >> /tmp/feed-refresh-123.log 2>&1

Dieses Beispiel wird täglich um 2:00 Uhr ausgeführt. Passen Sie den Zeitplan an Ihre Bedürfnisse an.

Wenn wp nicht im Standard-PATH Ihres Servers enthalten ist, verwenden Sie stattdessen den vollständigen Pfad zur WP-CLI-Binärdatei (z. B. /usr/local/bin/wp) anstelle von nur wp.

Um mehrere Feeds in einem einzigen Cron-Job zu aktualisieren, listen Sie deren IDs durch Leerzeichen getrennt auf:

0 2 * * * cd /path-to-wordpress && wp adt-feed refresh 123 456 789

Methode 2: PHP-Skript

Verwenden Sie diese Methode, wenn Ihr Server WP-CLI nicht unterstützt.

Das PHP-Skript initiiert die Feed-Generierung, indem es sie über Action Scheduler in die Warteschlange stellt. Die eigentliche Verarbeitung erfolgt im Hintergrund – der Feed wird nicht im selben Moment aktualisiert, in dem das Skript ausgeführt wird. Stellen Sie sicher, dass der WordPress-Cron (oder ein separater Server-Cron, der wp-cron.php aufruft) aktiv ist, damit Action Scheduler die Batches abschließen kann.

Schritt 1: Finden Sie Ihre Feed-ID

Befolgen Sie die gleichen Schritte wie in Methode 1, Schritt 1 oben – klicken Sie auf Ihren Feed, um ihn zu bearbeiten, und lesen Sie den Wert id= aus der URL.

Schritt 2: Erstellen Sie das PHP-Skript

Erstellen Sie eine neue Datei namens feed-refresh-123.php (ersetzen Sie 123 durch Ihre Feed-ID) und speichern Sie sie im Verzeichnis Ihres Child-Themes – zum Beispiel wp-content/themes/your-child-theme/feed-refresh-123.php.

Fügen Sie diesen Code in die Datei ein und ersetzen Sie 123 durch Ihre tatsächliche Feed-ID:

Das beste WooCommerce-Produktfeed-Plugin

  • AdTribes Pty Ltd
    ABN: 40 675 636 816
Produkt
Ressourcen & Infos
Partner-Websites
Rymera