Dokumentation · Benutzerhandbuch
Arbeitsablauf für den Fahrzeugimport
Dieses Dokument beschreibt, wie Sie Fahrzeugangebote mit dem ADP Car Market Hub-Plugin in WordPress importieren. Live-Quellen (die AutoScout24-API, mobile.de oder carcuro), ein automatischer Feed, ein E-Mail-Posteingang und einmalige Datei-Uploads werden alle auf der zentralen Seite Verbindungen (CMH Center → Connections) verknüpft; das Ausführen und Planen von Importen verbleibt unter Import & Limits, und die Verwaltung importierter und ausstehender Fahrzeuge erfolgt weiterhin unter Car Importer. Dieses Dokument behandelt sowohl manuelle Importmethoden als auch den automatischen geplanten Import sowie Importoptionen, Änderungserkennung, Bildverarbeitung und Full Sync.
Wann Sie dieses Dokument lesen sollten
Lesen Sie dieses Dokument, wenn Sie:
- Zum ersten Mal oder bei Bedarf einen Fahrzeugimport durchführen oder überwachen müssen.
- Den Unterschied zwischen manuellem Import, Batch-Wizard und geplantem (automatischem) Import verstehen möchten.
- Fehler bei Importen oder unerwartete Ergebnisse beheben müssen.
- Verstehen möchten, wie das Plugin mit aktualisierten Angeboten, Bildern und gelöschten Fahrzeugen umgeht.
Für eine kurze tägliche Überprüfung des Importstatus siehe Tägliche Arbeitsabläufe.
Übersicht
Das Plugin ruft Fahrzeugangebote von einer verbundenen Live-Quelle – der AutoScout24-API, mobile.de oder carcuro – für alle konfigurierten Seller IDs ab und speichert jedes Angebot als WordPress-Beitrag des Custom Post Type as24ci_car. (Feed-, E-Mail- und Datei-Upload-Quellen sind ebenfalls verfügbar; siehe die Connections Reference.) Fahrzeug-Metadaten (Preis, Kilometerstand, Spezifikationen, Ausstattung, Bilder) werden in den Post-Meta und einer dedizierten benutzerdefinierten Datenbanktabelle gespeichert.
Es gibt drei Möglichkeiten, einen Import auszulösen:
- Einzelner Fahrzeugimport – Importieren oder erneutes Importieren eines einzelnen Angebots über den Reiter Car Importer.
- Batch-Wizard – Manuelles Ausführen eines vollständigen Imports aller Angebote mit Live-Fortschrittsüberwachung. Geeignet für den ersten Import oder eine erzwungene vollständige Aktualisierung.
- Automatischer geplanter Import – Läuft in einem konfigurierten Intervall über WP-Cron oder einen externen Server-Cron. Die empfohlene Methode für die laufende Synchronisation.
Alle drei Wege nutzen dieselbe zugrunde liegende Importlogik: Verbindung zur API herstellen, Angebote für jede konfigurierte Garage abrufen, mit der lokalen Kopie mittels Content-Hashes vergleichen und WordPress-Beiträge nach Bedarf erstellen oder aktualisieren.
Anforderungen oder Voraussetzungen
- Eine Live-Quelle muss unter CMH Center → Verbindungen verbunden sein, bevor ein Import ausgeführt werden kann. Für AutoScout24 bedeutet dies gültige API-Zugangsdaten (API-Basis-URL, Seller ID(s), Client ID, Client Secret); für mobile.de bedeutet dies gültige API-Zugangsdaten (API-Benutzername, API-Passwort, optionale Kundennummer); für carcuro bedeutet es ein gültiges carcuro-Firmentoken. (Frühere Versionen konfigurierten die AutoScout24-Verbindung unter Einstellungen; alle Zugangsdaten für Datenquellen befinden sich jetzt auf der Seite Verbindungen.) Die eingegebenen Geheimnisse werden verschlüsselt gespeichert.
- Die WordPress-Website muss in der Lage sein, ausgehende HTTPS-Verbindungen zur konfigurierten Quelle herzustellen.
- Für Bildimporte muss das WordPress-Upload-Verzeichnis beschreibbar sein.
- Für AutoScout24 muss mindestens eine Seller ID konfiguriert sein. Das Plugin liest die Option
as24ci_seller_ids(kommagetrennte Liste von IDs).
Schritt-für-Schritt-Anleitung
Verbinden einer Live-Quelle (AutoScout24, mobile.de oder carcuro)
Bevor ein Import ausgeführt werden kann, müssen Sie eine Quelle auf der zentralen Seite Verbindungen verknüpfen. Das Hochladen einer einmaligen Datei aus Ihrer Garagen-Software (DMS) erfolgt auf derselben Seite.
- Navigieren Sie zu CMH Center → Verbindungen.
- Klicken Sie auf die Zeile der Quelle, die Sie verbinden möchten: - AutoScout24 — Geben Sie die API-Basis-URL, die Seller ID(s), die Client ID und das Client Secret ein. - mobile.de — Geben Sie Ihren API-Benutzernamen und Ihr API-Passwort ein (beide verschlüsselt gespeichert), optional eine Kundennummer, und aktivieren Sie den Schalter Sandbox (Testumgebung), wenn Sie eine Verbindung zur Testumgebung von mobile.de herstellen. mobile.de funktioniert genau wie carcuro: Die Spalten werden automatisch zugewiesen (kein manuelles Mapping), der Import und die Synchronisierung erfolgen über den zentralen Zeitplan, neue Fahrzeuge erscheinen und bei mobile.de gelöschte Fahrzeuge werden auch hier entfernt. - carcuro — Geben Sie Ihren carcuro-Firmen-Token ein und wählen Sie aus, welche Fahrzeuge synchronisiert werden sollen (Verfügbar / Alle / Verkauft). carcuro funktioniert genau wie AutoScout24: Die Spalten werden automatisch zugewiesen, neue Fahrzeuge erscheinen und bei carcuro gelöschte Fahrzeuge werden auch hier entfernt. Es macht keinen Unterschied, ob die Garage AutoScout24, mobile.de oder carcuro verwendet — jede Einstellung gilt für den gesamten Fahrzeugbestand.
- Speichern Sie die Quelle. Die Status-Pille auf der rechten Seite wechselt zu Verbunden, und die eingegebenen Zugangsdaten werden verschlüsselt auf dem Server gespeichert.
- Legen Sie unter Import & Limits fest, wie oft Importe ausgeführt werden sollen (siehe unten) — ein einziger zentraler Zeitplan steuert alle verbundenen Quellen.
Für Feed-, E-Mail- und Datei-Upload-Quellen sowie die vollständige Referenz aller Felder siehe die Referenz zu Verbindungen.
Importieren eines einzelnen Fahrzeugs
- Navigieren Sie zu CMH Center → Car Importer.
- Die Tabelle Ausstehende Fahrzeuge listet die über die API verfügbaren Fahrzeuge auf, die noch nicht in WordPress importiert wurden.
- Suchen Sie das Fahrzeug, das Sie importieren möchten.
- Klicken Sie neben dem Eintrag auf Importieren.
- Die Seite wird neu geladen und das Fahrzeug erscheint oben in der Tabelle Importierte Fahrzeuge.
- Um ein bereits importiertes Fahrzeug zu aktualisieren (beispielsweise nach einer Preisänderung bei Ihrer Live-Quelle), suchen Sie es in der Tabelle Importierte Fahrzeuge und klicken Sie auf Erneut importieren.
Ausführen des Batch-Wizards (manueller Vollimport)
Der Batch-Wizard ist die empfohlene Methode für den ersten Vollimport aller Fahrzeuge sowie für die Durchführung einer erzwungenen Aktualisierung ausserhalb des regulären Zeitplans.
- Navigieren Sie zu CMH Center → Import & Limits.
- Klicken Sie auf die Schaltfläche Import jetzt starten.
- Der Batch-Wizard startet und zeigt einen Live-Fortschrittsbalken mit folgenden Informationen: - Gesamtzahl der zu verarbeitenden Fahrzeuge. - Bisher verarbeitete Fahrzeuge. - Voraussichtliche verbleibende Zeit. - Aktuelle Aktion (Einfügen, Aktualisieren oder Überspringen).
- Der Assistent verarbeitet standardmässig ein Fahrzeug nach dem anderen (adaptive Batch-Grösse: 1–5 Fahrzeuge pro Schritt). Dies verhindert PHP-Ausführungszeitfehler auf Shared-Hosting-Systemen.
- Verwenden Sie die Schaltfläche Pause, um den Import vorübergehend anzuhalten. Klicken Sie auf Fortsetzen, um fortzufahren.
- Verwenden Sie die Schaltfläche Abbrechen, um den Import zu stoppen. Fahrzeuge, die im aktuellen Durchlauf bereits verarbeitet wurden, verbleiben in WordPress.
- Nach Abschluss des Assistenten zeigt eine Zusammenfassung die Anzahl der eingefügten, aktualisierten und übersprungenen Fahrzeuge sowie allfällige Fehler an.
Konfigurieren und Ausführen von geplanten automatischen Importen
Für eine laufende Synchronisierung aktivieren Sie die automatische Zeitsteuerung:
- Navigieren Sie zu CMH Center → Import & Limits.
- Aktivieren Sie Automatischer Import (das Kontrollkästchen oder den Schalter auf dem Tab).
- Wählen Sie das Importintervall: - Stündlich - Alle 6 Stunden - Zweimal täglich - Täglich - Benutzerdefiniert (mindestens 15 Minuten — konfigurieren Sie den Minutenwert im Feld für das benutzerdefinierte Intervall)
- Für tägliche und zweimal tägliche Zeitpläne können Sie optional die Startzeit festlegen.
- Speichern Sie die Automatisierungseinstellungen.
- WordPress WP-Cron löst nun Importe im konfigurierten Intervall aus, sobald die Website Besucherzugriffe verzeichnet.
Für Live-Websites wird ein Server-Cron empfohlen:
- Stellen Sie den Cron-Modus auf dem Tab „Import & Limits“ auf Server-Cron.
- Kopieren Sie die angezeigte Cron-Endpunkt-URL (die URL enthält ein Sicherheits-Token).
- Fügen Sie einen serverseitigen Cron-Job hinzu (beispielsweise über
crontab), der die Endpunkt-URL mittelscurloderwgetim gewünschten Intervall aufruft. - Wenn Sie das Token neu generieren (Import & Limits → Token neu generieren), aktualisieren Sie Ihren Cron-Job mit der neuen URL.
Wie Importe funktionieren
Erkennung von Änderungen
Der Importer berechnet und speichert für jedes importierte Fahrzeug einen Content-Hash und einen Bild-Hash. Bei nachfolgenden Importläufen wird ein Fahrzeug übersprungen, wenn sich keiner der beiden Hashes geändert hat. Dies hält die Importläufe schnell, insbesondere bei grossen Beständen, bei denen die meisten Fahrzeuge unverändert sind.
Wenn ein Inserat an der Quelle aktualisiert wird (z. B. eine Preisänderung oder neue Bilder auf AutoScout24, mobile.de oder carcuro), stimmen die Hashes nicht mehr überein und das Fahrzeug wird in WordPress aktualisiert.
Import-Ergebniscodes
Jedes während eines Importlaufs verarbeitete Fahrzeug wird in eine von vier Kategorien eingeteilt:
| Ergebnis | Bedeutung |
|---|---|
| Eingefügt | Neuer Fahrzeug-Beitrag in WordPress erstellt |
| Aktualisiert | Bestehender Fahrzeug-Beitrag mit neuen Daten aktualisiert |
| Übersprungen | Fahrzeugdaten unverändert; keine Aktion erforderlich |
| Fehler | Ein Problem ist bei diesem Fahrzeug aufgetreten (siehe Registerkarte Logs) |
Die Importzusammenfassung auf der Registerkarte Import & Limits und im Batch-Wizard zeigt diese Zahlen nach jedem Durchlauf an.
Bildimport und die Bildwarteschlange
- Wenn Bilder importieren unter Import & Limits → Import-Standardwerte aktiviert ist, lädt der Importer Fahrzeugbilder von der API herunter und hängt sie an den WordPress-Beitrag an.
- Max. Bilder pro Fahrzeug (Import & Limits → Import-Standardwerte) begrenzt, wie viele Bilder pro Inserat heruntergeladen werden (0 = unbegrenzt).
- Bildwarteschlangen-Modus (standardmässig für Cron-/REST-Importe aktiviert): Bei geplanten Importen wird nur das erste Bild pro Fahrzeug sofort heruntergeladen. Alle verbleibenden Bilder werden einer permanenten Hintergrundwarteschlange hinzugefügt und asynchron vom Bildwarteschlangen-Worker verarbeitet, der etwa alle 5 Minuten läuft. Dies verhindert PHP-Ausführungszeitüberschreitungen bei grossen Importen.
- Der Bildwarteschlangen-Worker verarbeitet bis zu 30 Bilder pro Batch.
- Die aktuelle Warteschlangengrösse und der Worker-Status sind auf der Registerkarte System & Hilfe sichtbar.
- Um die Bildwarteschlange sofort zu verarbeiten, klicken Sie auf der Registerkarte System & Hilfe auf Bildwarteschlange jetzt ausführen.
- WebP-Konvertierung: Wenn unter Import & Limits → Import-Standardwerte aktiviert und GD oder Imagick verfügbar ist, werden Bilder beim Herunterladen in das WebP-Format konvertiert. Die Qualitätsstufe ist konfigurierbar (1–100, Standard 80).
Importsperre
Das Plugin verwendet eine Transient-basierte Laufsperre mit einer Gültigkeitsdauer (TTL) von ca. 40 Minuten. Wenn bereits ein Importlauf läuft, während ein zweiter Trigger eingeht (über WP-Cron, Server-Cron oder eine manuelle Schaltfläche), wird der zweite Trigger übersprungen und eine Meldung "bereits aktiv" protokolliert. Wenn die Sperre veraltet ist (älter als die TTL), wird sie automatisch aufgehoben, damit der nächste Lauf fortgesetzt werden kann.
Full Sync
Wenn Full Sync auf der Registerkarte Import & Limits aktiviert ist, vergleicht der Importer die von der Quelle zurückgegebenen Listing-IDs mit allen Fahrzeug-Beiträgen in WordPress. Jeder lokale Beitrag, dessen Listing-ID nicht im aktuellen Remote-Inserat enthalten ist, wird dauerhaft gelöscht – einschliesslich aller angehängten Bilder.
- Aktivieren Sie Full Sync nur, wenn Sie möchten, dass der WordPress-Bestand die Live-Quelle (AutoScout24, mobile.de oder carcuro) exakt widerspiegelt.
- Löschungen durch Full Sync werden im Plugin-Protokoll mit
sync_deleted-Zahlen aufgezeichnet. - Wenn Full Sync deaktiviert ist, bleiben an der Quelle entfernte Fahrzeuge in WordPress, bis sie manuell gelöscht werden.
Was passiert mit dem Link eines entfernten Fahrzeugs
Wenn ein Fahrzeug dauerhaft gelöscht wird – sei es durch Full Sync, durch ein manuelles Dauerhaft löschen oder durch ein Massenlöschen –, existiert die URL seiner Detailseite (z. B. https://your-site.tld/cars/bmw-320i-2019/) nicht mehr. Suchmaschinen haben diese URL möglicherweise noch indexiert, und Kunden haben sie vielleicht als Lesezeichen gespeichert oder geteilt.
Anstatt diesen Besuchern einen Fehler "404 – Seite nicht gefunden" anzuzeigen (eine Sackgasse, die für die Garage unprofessionell wirkt), leitet das Plugin die alte URL automatisch auf eine vorgefilterte Suche nach derselben Marke und demselben Modell um, z. B. https://your-site.tld/cars/?make=bmw&model=320i. Der Besucher sieht sofort die am nächsten passenden, noch verfügbaren Fahrzeuge anstelle einer Fehlerseite.
Die Umleitung ist intelligent und bezieht sich immer auf Ihren aktuellen Bestand:
- Wenn Sie noch passende Fahrzeuge dieser Marke und dieses Modells haben, landet der Besucher auf diesem gefilterten Ergebnis.
- Wenn nicht, fällt die Weiterleitung auf alle Fahrzeuge dieser Marke zurück.
- Wenn diese Marke komplett verschwunden ist, fällt sie auf die gesamte Fahrzeugliste zurück.
Da das Ziel immer eine Live-Suche ist (nie ein anderes spezifisches Fahrzeug), gibt es keine fehlerhaften oder verketteten Weiterleitungen, egal wie oft sich Ihr Bestand ändert. Dieses Verhalten wird über die Option Entfernte Fahrzeuge umleiten in den Einstellungen gesteuert (standardmässig aktiviert) und betrifft nur URLs, die andernfalls eine 404-Meldung zurückgeben würden. Es kann daher bedenkenlos aktiviert bleiben.
Status von Fahrzeug-Beiträgen
Importierte Fahrzeuge werden mit dem Beitragsstatus erstellt, der unter Import & Limits → Import-Standardwerte → Standard-Beitragsstatus konfiguriert ist (publish oder draft). Wenn ein Fahrzeug bei einem nachfolgenden Importlauf aktualisiert wird, ändert sich sein Beitragsstatus nicht – ein veröffentlichter Beitrag bleibt veröffentlicht.
Konfigurationsreferenz
| Einstellung | Ort | Beschreibung |
|---|---|---|
| API-Basis-URL | Verbindungen | AutoScout24 API-Endpunkt (muss https:// enthalten) |
| Seller-ID(s) | Verbindungen | Kommagetrennte Verkäufer-/Garagen-IDs (AutoScout24) |
| Client-ID | Verbindungen | OAuth-Client-ID für die AutoScout24 API |
| Client-Secret | Verbindungen | OAuth-Client-Secret für die AutoScout24 API (verschlüsselt gespeichert) |
| API-Benutzername | Verbindungen | mobile.de API-Benutzername |
| API-Passwort | Verbindungen | mobile.de API-Passwort (verschlüsselt gespeichert) |
| Kundennummer | Verbindungen | Optionale mobile.de Kundennummer |
| Sandbox (Testumgebung) | Verbindungen | Verbindet mobile.de mit der Testumgebung |
| carcuro Firmen-Token | Verbindungen | Firmen-Token für die carcuro Live-Quelle (verschlüsselt gespeichert) |
| Standard-Beitragsstatus | Import & Limits → Import-Standardwerte | Beitragsstatus für neu importierte Fahrzeuge (publish oder draft) |
| Bilder importieren | Import & Limits → Import-Standardwerte | Aktiviert oder deaktiviert den Download von Bildern während des Imports |
| Max. Bilder pro Fahrzeug | Import & Limits → Import-Standardwerte | Maximale Anzahl heruntergeladener Bilder pro Inserat (0 = unbegrenzt) |
| In WebP konvertieren | Import & Limits → Import-Standardwerte | Konvertiert heruntergeladene Bilder in WebP (erfordert GD oder Imagick) |
| WebP-Qualität | Import & Limits → Import-Standardwerte | Kompressionsqualität für die WebP-Konvertierung (1–100) |
| Auto-Import aktiviert | Import & Limits | Aktiviert den automatischen Importzeitplan über WP-Cron |
| Importintervall | Import & Limits | Häufigkeit des Zeitplans (stündlich, 6 Std., zweimal täglich, täglich, benutzerdefiniert) |
| Cron-Modus | Import & Limits | WP-Cron (Standard) oder Server-Cron |
| Max. Fahrzeuge pro Cron-Lauf | Import & Limits | Begrenzt die Anzahl der pro geplantem Lauf verarbeiteten Fahrzeuge (0 = unbegrenzt) |
| Bildwarteschlange (Cron) | Import & Limits | Aktiviert den Hintergrund-Bildwarteschlangenmodus für Cron-/REST-Importe |
| Full Sync | Import & Limits | Löscht lokale Fahrzeuge, die im aktuellen Remote-Inserat nicht mehr gefunden werden |
Operational notes
- Ein zentraler Zeitplan: Ein einziger Zeitplan unter Import & Limits steuert jede verbundene Quelle. AutoScout24, mobile.de und carcuro haben kein eigenes Intervall; die Feed- und E-Mail-Quellen bieten zusätzlich ihr eigenes Intervall an. Ein manueller Import kann jederzeit ausgeführt werden.
- Mehrere Seller IDs: Für AutoScout24 läuft der Importer separat für jede konfigurierte Seller ID. Ein Fehler bei einer Garage stoppt die Importe für andere Garagen nicht.
- Cron-Robustheit: Der Import-Runner erhöht das PHP-Ausführungszeitlimit bei Cron- oder REST-gesteuerten Durchläufen auf 300 Sekunden. Auf Hosting-Umgebungen, die
set_time_limit()einschränken, wird dies möglicherweise nicht wirksam. - Batch-Wizard-Batchgrösse: Der Assistent passt seine Batchgrösse (1–5 Fahrzeuge pro Schritt) an, um innerhalb sicherer Ausführungszeitgrenzen zu bleiben.
- Manuelle Auslösung bei aktivem Cron: Wenn der automatische Cron läuft, während Sie auf "Import jetzt starten" klicken, wird die manuelle Auslösung aufgrund der Ausführungssperre übersprungen. Warten Sie, bis der aktuelle Durchlauf abgeschlossen ist, oder löschen Sie die Sperre.
- Import-Protokoll: Alle Import-Ereignisse (API-Aufrufe, eingefügte/aktualisierte/übersprungene/fehlerhafte Fahrzeuge, Bild-Downloads) werden in das Plugin-Protokoll geschrieben. Details finden Sie unter CMH Center → Logs.
- Ausführliche Protokollierung: Wenn diese Option aktiviert ist, enthält das Protokoll Details zu jedem Fahrzeug und jedem Bild. Deaktivieren Sie dies in der Produktionsumgebung, um das Protokollwachstum zu verringern.
Troubleshooting
| Symptom | Wahrscheinliche Ursache | Überprüfung |
|---|---|---|
| Es erscheinen keine Angebote im Car Importer | Die Zugangsdaten der Quelle sind falsch oder die Quelle ist nicht erreichbar | Überprüfen Sie die Quelle unter "Connections" (ihr Status-Pill sollte "Connected" anzeigen); führen Sie den Verbindungstest unter "System & Help" aus |
| Import läuft, aber es erscheinen keine neuen Fahrzeuge | Der Standard-Beitragsstatus ist draft oder alle Angebote wurden bereits importiert und sind unverändert | Überprüfen Sie den Beitragsstatus in Import & Limits → Import Defaults; überprüfen Sie die Import-Zusammenfassung auf die Anzahl der übersprungenen Fahrzeuge |
| Bilder werden nicht heruntergeladen | Der Bildimport ist deaktiviert, das Upload-Verzeichnis ist nicht beschreibbar oder der Bild-Queue-Worker läuft nicht | Überprüfen Sie Import & Limits → Import Defaults → Import images; überprüfen Sie unter "System & Help" den Upload-Status und die Queue-Grösse |
| Geplanter Import läuft nicht | WP-Cron ist deaktiviert oder die Website hat keinen Traffic | Wechseln Sie zum Server-Cron oder überprüfen Sie, ob der Cron-Endpunkt erreichbar ist |
| Import zeigt viele Fehler | API-Rate-Limiting, Netzwerkprobleme oder fehlerhafte Angebotsdaten | Überprüfen Sie die Registerkarte "Logs" auf Fehlerdetails; überprüfen Sie den API-Status bei Ihrem Integrationspartner |
| Fahrzeuge verschwinden unerwartet | Full Sync ist aktiviert und die Fahrzeuge wurden an der Quelle gelöscht (AutoScout24, mobile.de oder carcuro) | Überprüfen Sie die Logs auf sync_deleted-Einträge; deaktivieren Sie Full Sync, falls dies nicht beabsichtigt ist |
| Batch-Wizard stoppt oder läuft in ein Timeout | Das PHP-Ausführungszeitlimit ist zu niedrig | Überprüfen Sie unter "System & Help" den Wert für das Ausführungszeitlimit; kontaktieren Sie Ihren Hosting-Provider |
| Importsperre verhindert Durchläufe | Ein vorheriger Importdurchlauf wurde abgebrochen, ohne die Sperre freizugeben | Warten Sie bis zu 40 Minuten, bis die Sperre automatisch abläuft, oder überprüfen Sie die Logs auf Details |