Dokumentation · Fehlerbehebung

Fehler beim Bildimport

Dieses Dokument behandelt Fehler, die auftreten können, wenn das Plugin Fahrzeugbilder von der AutoScout24-API herunterlädt und verknüpft. Es beschreibt wahrscheinliche Ursachen sowie die Schritte zur Diagnose und Behebung von Problemen beim Medienimport.

Wann Sie dieses Dokument verwenden sollten

Lesen Sie dieses Dokument, wenn:

  • Fahrzeug-Beiträge importiert werden, aber keine Bilder oder nur ein Teil der Bilder vorhanden sind.
  • Das Plugin-Protokoll Zeilen enthält, die Image download failed oder media_handle_sideload failed erwähnen.
  • Das Beitragsbild (Featured Image) bei importierten Fahrzeug-Beiträgen fehlt.
  • Die WebP-Konvertierung aktiviert ist, aber Bilder im Originalformat gespeichert werden.
  • Der Image-Queue-Worker gelaufen ist, aber immer noch Bilder fehlen.

Übersicht

Wenn das Plugin ein Fahrzeug importiert, lädt es Bilder von den URLs herunter, die von der AutoScout24-API bereitgestellt werden, und verknüpft sie mit dem WordPress-Beitrag. Dieser Prozess nutzt die in WordPress integrierten Funktionen download_url() und media_handle_sideload(), welche die Bilder im standardmässigen WordPress-Uploads-Verzeichnis ablegen, Vorschaubilder (Thumbnails) generieren und den Anhang in der Mediathek registrieren.

Deduplizierung

Vor dem Herunterladen eines Bildes prüft das Plugin, ob es bereits importiert wurde, indem es nach einem Anhang mit einem passenden _as24ci_source_url-Post-Meta-Wert sucht. Wird eine Übereinstimmung gefunden, wird die ID des bestehenden Anhangs wiederverwendet und es erfolgt kein erneuter Download. Dies verhindert, dass dasselbe Bild mehrfach gespeichert wird.

Beitragsbild

Das erste Bild im Set wird automatisch als Beitragsbild (Post-Thumbnail) festgelegt, sofern dem Beitrag nicht bereits ein Beitragsbild zugewiesen ist. Nachfolgende Bilder werden im _as24ci_image_ids-Post-Meta-Array erfasst.

Bild-Warteschlangen-Modus (Image Queue Mode)

Wenn der Bild-Warteschlangen-Modus aktiviert ist (Standardeinstellung für Cron- und REST-Importläufe), wird während des Importlaufs nur das erste Bild pro Fahrzeug sofort heruntergeladen. Die verbleibenden Bild-URLs werden in eine persistente Warteschlange (Queue) eingereiht. Ein separater WP-Cron-Worker (as24ci_image_queue_process) verarbeitet diese Warteschlange asynchron in Stapeln von 30 Bildern pro Durchlauf. Dies reduziert die pro Importlauf benötigte Zeit und den Speicherbedarf.

Siehe Cron-Fehler für Anleitungen zur Diagnose von Fehlern des Image-Queue-Workers.

WebP-Konvertierung

Wenn die WebP-Konvertierung aktiviert ist, wird jedes heruntergeladene Bild in das .webp-Format konvertiert, bevor es an die WordPress-Mediathek übergeben wird. Das Plugin versucht die Konvertierung zuerst mit PHP GD (imagewebp) und weicht andernfalls auf Imagick aus. Wenn keine der beiden Erweiterungen verfügbar ist oder die Konvertierung fehlschlägt, wird das Originalformat des Bildes verwendet und eine Warnung in das Protokoll geschrieben.

Voraussetzungen

  • Die API-Verbindung funktioniert und auf dem AutoScout24-Inserat sind Bilder vorhanden. Überprüfen Sie dies auf der Systemstatus-Seite.
  • Das WordPress-Uploads-Verzeichnis ist für den Webserver-Prozess beschreibbar.
  • Die Option Bilder importieren ist in den Plugin-Einstellungen aktiviert.
  • Das PHP-Memory-Limit und die maximale Ausführungszeit reichen für das Herunterladen und Verarbeiten von Bildern aus.

Diagnoseschritte

Schritt 1: Bestätigen, dass der Bildimport aktiviert ist

  1. Gehen Sie zum Plugin-Tab Einstellungen (oder Import & Limits, je nach Layout).
  2. Bestätigen Sie, dass Bilder importieren aktiviert ist.
  3. Beachten Sie den Wert für Max. Bilder pro Fahrzeug. Wenn dieser auf eine niedrige Zahl eingestellt ist (z. B. 1), werden nur so viele Bilder pro Fahrzeug heruntergeladen. Stellen Sie ihn auf 0 für unbegrenzt.

Schritt 2: Protokolldatei lesen

Öffnen Sie die Plugin-Protokolldatei unter:

wp-content/uploads/as24ci-logs/adp-car-market-hub.log

Suchen Sie nach folgenden Mustern:

Protokoll-MusterBedeutung
Image download failed for listing_id=… url=… error=…download_url() hat einen Fehler zurückgegeben. Die Fehlermeldung enthält die Ursache (z. B. HTTP-Timeout, Verbindung verweigert, 404).
media_handle_sideload failed for listing_id=… url=… error=…WordPress konnte die heruntergeladene Datei nicht als Medienanhang registrieren. Oft ein Problem mit Dateisystemberechtigungen oder Speicherplatz.
WebP conversion skipped: neither GD imagewebp nor Imagick available.Die WebP-Konvertierung ist aktiviert, aber die erforderliche PHP-Erweiterung ist nicht vorhanden.
WebP GD conversion failed for …, trying Imagick.GD ist fehlgeschlagen; Imagick wird als Fallback versucht.
WebP Imagick conversion failed: …Beide Konvertierungsmethoden sind fehlgeschlagen. Das Originalformat des Bildes wurde gespeichert.
WebP conversion failed for …, using original.Letzter Fallback: Originalbild gespeichert.
Image queue worker: processed=… errors=… remaining=…Zusammenfassung des letzten Durchlaufs des Image-Queue-Workers.
Image queue worker error post_id=… url=… error=…Ein einzelnes Bild ist innerhalb des Queue-Workers fehlgeschlagen.

Schritt 3: Uploads-Verzeichnis überprüfen

Das WordPress-Uploads-Verzeichnis muss für den Webserver beschreibbar sein. Typischer Pfad:

wp-content/uploads/

Überprüfen Sie via FTP, SFTP oder den Datei-Manager des Hostings, dass:

  • Das Verzeichnis existiert.
  • Der Webserver-Prozess Schreibrechte besitzt (typischerweise 755 für Verzeichnisse, mit dem Webserver-Benutzer als Eigentümer).
  • Genügend Speicherplatz vorhanden ist.

Wenn das Uploads-Verzeichnis nicht beschreibbar ist, schlägt media_handle_sideload mit einem Dateisystemfehler fehl.

Schritt 4: PHP-Memory-Limit und Ausführungszeiten prüfen

Das Herunterladen und Verarbeiten mehrerer Bilder in einem einzigen Request erfordert ausreichend PHP-Arbeitsspeicher. Wenn das PHP-Memory-Limit zu niedrig ist, kann die Bildverarbeitung geräuschlos fehlschlagen oder einen fatalen Fehler erzeugen.

  1. Prüfen Sie unter Werkzeuge → Website-Zustand → Bericht → Server das aktuelle PHP-Memory-Limit und die maximale Ausführungszeit (maxexecutiontime).
  2. Wenn das Memory-Limit bei Websites mit grossen Bilddateien unter 256 MB liegt, sollten Sie eine Erhöhung über die wp-config.php (define('WP_MEMORY_LIMIT', '256M')) oder das Hosting-Control-Panel in Betracht ziehen.
  3. Für Cron-Läufe versucht das Plugin, ein Ausführungszeitlimit von 300 Sekunden festzulegen. Wenn die Hosting-Umgebung set_time_limit einschränkt, wird dies möglicherweise nicht wirksam. Nutzen Sie den Bild-Warteschlangen-Modus (standardmässig aktiviert), um die Bild-Downloads auf mehrere kürzere Durchläufe zu verteilen.

Schritt 5: Erreichbarkeit der Bild-URLs testen

Wenn das Protokoll Image download failed mit einem Netzwerk- oder HTTP-Fehler anzeigt, überprüfen Sie, ob die von der API zurückgegebenen Bild-URLs von Ihrem Server aus öffentlich erreichbar sind:

  1. Kopieren Sie eine Bild-URL aus dem Protokolleintrag.
  2. Versuchen Sie, im Browser darauf zuzugreifen. Wenn ein 404- oder Authentifizierungsfehler zurückgegeben wird, wurde das Bild möglicherweise aus der API entfernt oder erfordert eine Authentifizierung, die das Plugin nicht bereitstellt.
  3. Wenn die URL im Browser, aber nicht vom Server aus erreichbar ist, liegt möglicherweise eine IP-Whitelist-, Firewall- oder Proxy-Einschränkung für ausgehende HTTP-Anfragen Ihres Servers vor.

Schritt 6: Status der Bild-Warteschlange überprüfen

  1. Gehen Sie im Plugin zum Tab System & Hilfe.
  2. Suchen Sie nach dem Bereich für die Bild-Warteschlange, der Folgendes anzeigt: verbleibende Elemente, Zeitpunkt des letzten Durchlaufs, Anzahl der verarbeiteten und fehlgeschlagenen Elemente.
  3. Wenn Elemente verbleiben und der Queue-Worker in letzter Zeit nicht gelaufen ist, stellen Sie sicher, dass WP-Cron aktiv und der Hook as24ci_image_queue_process geplant ist. Siehe Cron-Fehler für Details.
  4. Wenn die Sperre der Bild-Warteschlange (as24ci_image_queue_running) veraltet ist, löschen Sie diese via WP-CLI oder ein Plugin zur Verwaltung von Transients: `` wp transient delete as24ci_image_queue_running ``

Schritt 7: Voraussetzungen für WebP-Konvertierung prüfen

Wenn die WebP-Konvertierung aktiviert ist, Bilder aber als JPEG oder PNG gespeichert werden:

  1. Gehen Sie zu Werkzeuge → Website-Zustand → Bericht → Server und suchen Sie nach der GD-Bibliothek und Imagick.
  2. GD erfordert die Funktion imagewebp, die in GD mit WebP-Unterstützung (PHP 5.5+) verfügbar ist. Klären Sie dies mit Ihrem Hosting-Anbieter ab.
  3. Imagick erfordert die PHP-Erweiterung imagick mit einkompilierter WebP-Unterstützung. Klären Sie dies mit Ihrem Hosting-Anbieter ab.
  4. Wenn keine der beiden Optionen verfügbar ist, deaktivieren Sie die WebP-Konvertierung in den Plugin-Einstellungen oder kontaktieren Sie Ihren Hosting-Anbieter, um die erforderliche Erweiterung zu aktivieren.

Konfigurationsreferenz

EinstellungAuswirkung
Bilder importierenHauptschalter. Wenn deaktiviert, werden beim Import keine Bilder heruntergeladen. Standard: aktiviert.
Max. Bilder pro FahrzeugMaximale Anzahl der pro Fahrzeug heruntergeladenen Bilder. 0 = unbegrenzt.
Bild-Warteschlangen-ModusWenn aktiviert, wird nur das erste Bild sofort heruntergeladen; verbleibende Bilder werden in die Warteschlange eingereiht. Standard: aktiviert für Cron-/REST-Läufe.
In WebP konvertierenWenn aktiviert, werden heruntergeladene Bilder in das .webp-Format konvertiert. Erfordert GD mit WebP-Unterstützung oder Imagick. Standard: deaktiviert.
WebP-QualitätKompressionsqualität für die WebP-Konvertierung (1–100). Standard: 80.

Betriebshinweise

  • Bilder werden mit einem Timeout von 30 Sekunden pro URL heruntergeladen. Langsame oder unzuverlässige externe Bildserver können dazu führen, dass einzelne Bilder fehlschlagen, ohne den Rest des Imports zu beeinträchtigen.
  • Jedes heruntergeladene Bild wird in der WordPress-Mediathek als Anhang registriert, wobei post_parent auf die ID des Fahrzeug-Beitrags festgelegt wird.
  • Der Meta-Wert _as24ci_source_url des Anhangs wird für die Deduplizierung verwendet. Wenn diese Meta-Daten gelöscht oder beschädigt werden, lädt das Plugin dasselbe Bild beim nächsten Import möglicherweise erneut herunter.
  • Die Bild-Warteschlange kann bis zu 20'000 Elemente aufnehmen. Wenn dieses Limit überschritten wird, wird eine Warnung protokolliert und ein Deduplizierungsdurchlauf gestartet. Siehe Cron-Fehler.
  • Wenn alle Warteschlangenelemente für ein Fahrzeug verarbeitet wurden, wird das Meta-Feld _as24ci_image_ids aus den tatsächlichen untergeordneten Anhängen neu generiert und der Bilder-Hash finalisiert. Bis dahin ist der Hash-Wert auf pending_queue gesetzt, um zu signalisieren, dass das Bilderset noch nicht vollständig ist.
  • Das dauerhafte Löschen eines Fahrzeug-Beitrags (über die Löschfunktion des Plugins oder aus der Liste WordPress Cars) löscht auch dauerhaft alle angehängten Bilder, die durch das Plugin importiert wurden.

Fehlerbehebung

SymptomWahrscheinliche UrsachePrüfung
Keine Bilder bei allen FahrzeugenBilder importieren ist deaktiviertIn den Plugin-Einstellungen aktivieren
Nur ein Bild pro FahrzeugMax. Bilder ist auf 1 eingestellt oder die Bild-Warteschlange ist nicht gelaufenEinstellung für max. Bilder prüfen; sicherstellen, dass der Queue-Worker läuft
Image download failed … HTTP 404Bild-URL nicht mehr gültigPrüfen, ob das Inserat in AutoScout24 noch Bilder hat; erneut importieren
Image download failed … connect timed outServer kann den externen Bild-Host nicht erreichenAusgehenden Netzwerkzugriff prüfen; vom Server aus mit curl testen
media_handle_sideload failed … Could not write fileUploads-Verzeichnis nicht beschreibbar oder Festplatte vollVerzeichnisberechtigungen und verfügbaren Speicherplatz prüfen
WebP-Konvertierung geräuschlos übersprungenGD/Imagick nicht verfügbar oder nicht mit WebP-Unterstützung kompiliertWebsite-Zustand → Server prüfen; WebP-Konvertierung deaktivieren, falls nicht unterstützt
Bilder in Mediathek vorhanden, aber nicht auf der FahrzeugseiteMeta-Feld _as24ci_image_ids fehlt oder ist fehlerhaftFahrzeug erneut importieren; Post-Meta in der Datenbank prüfen
Beitragsbild fehltErstes Bild in der Warteschlange wurde möglicherweise noch nicht verarbeitetStatus der Bild-Warteschlange prüfen; sicherstellen, dass der Queue-Worker läuft
Doppelte Bilder in der MediathekMeta-Feld _as24ci_source_url fehlt bei den AnhängenDiese Meta-Daten nicht löschen; Support kontaktieren, falls betroffen

Verwandte Dokumente