Documentatie · Probleemoplossing

Fouten bij het importeren van afbeeldingen

Dit document behandelt fouten die kunnen optreden wanneer de plugin voertuigafbeeldingen downloadt en koppelt vanuit de AutoScout24 API. Het beschrijft waarschijnlijke oorzaken en de stappen om problemen met het importeren van media te diagnosticeren en op te lossen.

Wanneer u dit document moet gebruiken

Lees dit document wanneer:

  • Voertuigberichten worden geïmporteerd maar geen afbeeldingen of slechts een gedeeltelijke set afbeeldingen bevatten.
  • Het plugin-logboek regels bevat waarin Image download failed of media_handle_sideload failed wordt genoemd.
  • De uitgelichte afbeelding ontbreekt bij geïmporteerde voertuigberichten.
  • WebP-conversie is ingeschakeld maar afbeeldingen worden opgeslagen in hun originele formaat.
  • De image queue worker actief is geweest maar er nog steeds afbeeldingen ontbreken.

Overzicht

Wanneer de plugin een voertuig importeert, downloadt deze afbeeldingen van de URL's die door de AutoScout24 API worden geleverd en koppelt deze aan het WordPress-bericht. Dit proces maakt gebruik van de in WordPress ingebouwde functies download_url() en media_handle_sideload(), die afbeeldingen in de standaard WordPress-uploadmap plaatsen, miniaturen genereren en de bijlage registreren in de mediabibliotheek.

Ontdubbeling

Voordat een afbeelding wordt gedownload, controleert de plugin of deze al is geïmporteerd door te zoeken naar een bijlage met een overeenkomstige _as24ci_source_url post-metawaarde. Als er een overeenkomst wordt gevonden, wordt de bestaande bijlage-ID hergebruikt en vindt er geen download plaats. Dit voorkomt dat dezelfde afbeelding meerdere keren wordt opgeslagen.

Uitgelichte afbeelding

De eerste afbeelding in de set wordt automatisch ingesteld als de uitgelichte afbeelding (post-miniatuur) als er nog geen uitgelichte afbeelding aan het bericht is toegewezen. Volgende afbeeldingen worden vastgelegd in de _as24ci_image_ids post-meta-array.

Afbeeldingenwachtrij-modus

Wanneer de afbeeldingenwachtrij-modus is ingeschakeld (de standaardinstelling voor cron- en REST-importruns), wordt tijdens de importrun alleen de eerste afbeelding per voertuig direct gedownload. De overige afbeeldings-URL's worden in een persistente wachtrij geplaatst. Een afzonderlijke WP-Cron worker (as24ci_image_queue_process) verwerkt deze wachtrij asynchroon in batches van 30 afbeeldingen per run. Dit vermindert de tijd en het geheugen die per importrun nodig zijn.

Zie Cron-fouten voor hulp bij het diagnosticeren van problemen met de image queue worker.

WebP-conversie

Als WebP-conversie is ingeschakeld, wordt elke gedownloade afbeelding geconverteerd naar het .webp-formaat voordat deze wordt doorgegeven aan de WordPress-mediabibliotheek. De plugin probeert eerst conversie met PHP GD (imagewebp) en valt daarna terug op Imagick. Als geen van beide extensies beschikbaar is, of als de conversie mislukt, wordt het originele afbeeldingsformaat gebruikt en wordt er een waarschuwing in het logboek geschreven.

Systeemvereisten

  • De API-verbinding werkt en er zijn afbeeldingen aanwezig op de AutoScout24-advertentie. Controleer dit op de Systeemstatus-pagina.
  • De WordPress-uploadmap is schrijfbaar door het webserverproces.
  • De optie Afbeeldingen importeren is ingeschakeld in de plugin-instellingen.
  • De PHP-geheugenlimiet en maximale uitvoeringstijd zijn voldoende voor het downloaden en verwerken van afbeeldingen.

Diagnostische stappen

Stap 1: Controleer of het importeren van afbeeldingen is ingeschakeld

  1. Ga naar het tabblad Instellingen van de plugin (of Import & Limieten, afhankelijk van de lay-out).
  2. Controleer of Afbeeldingen importeren is ingeschakeld.
  3. Let op de waarde Max. afbeeldingen per voertuig. Als deze is ingesteld op een laag getal (bijvoorbeeld 1), worden er slechts zoveel afbeeldingen per voertuig gedownload. Stel deze in op 0 voor onbeperkt.

Stap 2: Lees het logbestand

Open het logbestand van de plugin op:

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

Zoek naar de volgende patronen:

LogpatroonBetekenis
Image download failed for listing_id=… url=… error=…download_url() heeft een fout geretourneerd. De foutmelding bevat de oorzaak (bijv. HTTP-timeout, verbinding geweigerd, 404).
media_handle_sideload failed for listing_id=… url=… error=…WordPress kon het gedownloade bestand niet registreren als mediabijlage. Vaak een probleem met bestandssysteemberechtigingen of schijfruimte.
WebP conversion skipped: neither GD imagewebp nor Imagick available.WebP-conversie is ingeschakeld, maar de vereiste PHP-extensie is niet aanwezig.
WebP GD conversion failed for …, trying Imagick.GD is mislukt; Imagick wordt geprobeerd als fallback.
WebP Imagick conversion failed: …Beide conversiemethoden zijn mislukt. Het originele afbeeldingsformaat is opgeslagen.
WebP conversion failed for …, using original.Uiterste fallback: originele afbeelding opgeslagen.
Image queue worker: processed=… errors=… remaining=…Samenvatting van de laatste run van de image queue worker.
Image queue worker error post_id=… url=… error=…Een individuele afbeelding is mislukt binnen de queue worker.

Stap 3: Controleer de uploadmap

De WordPress-uploadmap moet schrijfbaar zijn door de webserver. Typische locatie:

wp-content/uploads/

Controleer via FTP, SFTP of de bestandsbeheerder van uw hosting dat:

  • De map bestaat.
  • Het webserverproces schrijfrechten heeft (meestal 755 voor mappen, met de webservergebruiker als eigenaar).
  • Er voldoende schijfruimte beschikbaar is.

Als de uploadmap niet schrijfbaar is, zal media_handle_sideload mislukken met een bestandssysteemfout.

Stap 4: Controleer PHP-geheugen en uitvoeringstijdlimieten

Het downloaden en verwerken van meerdere afbeeldingen in een enkel verzoek vereist voldoende PHP-geheugen. Als de PHP-geheugenlimiet te laag is, kan de afbeeldingsverwerking geruisloos mislukken of een fatale fout genereren.

  1. Controleer Gereedschap → Systeemsituatie → Info → Server voor de huidige PHP-geheugenlimiet en maximale uitvoeringstijd.
  2. Als de geheugenlimiet lager is dan 256 MB voor sites met grote afbeeldingsbestanden, overweeg dan om deze te verhogen via wp-config.php (define('WP_MEMORY_LIMIT', '256M')) of het controlepaneel van uw hosting.
  3. Voor cron-runs probeert de plugin een uitvoeringstijdlimiet van 300 seconden in te stellen. Als de hostingomgeving set_time_limit beperkt, heeft dit mogelijk geen effect. Gebruik de afbeeldingenwachtrij-modus (standaard ingeschakeld) om het downloaden van afbeeldingen te spreiden over meerdere kortere runs.

Stap 5: Test de bereikbaarheid van de afbeeldings-URL

Als het logboek Image download failed toont met een netwerk- of HTTP-fout, controleer dan of de afbeeldings-URL's die door de API worden geretourneerd openbaar toegankelijk zijn vanaf uw server:

  1. Kopieer een afbeeldings-URL uit de logregel.
  2. Probeer deze te openen in een browser. Als deze een 404- of authenticatiefout retourneert, is de afbeelding mogelijk verwijderd uit de API of is er authenticatie vereist die de plugin niet biedt.
  3. Als de URL wel toegankelijk is in een browser maar niet vanaf de server, is er mogelijk een IP-whitelist, firewall of proxy-beperking actief op de uitgaande HTTP-verzoeken van uw server.

Stap 6: Controleer de status van de afbeeldingenwachtrij

  1. Ga naar het tabblad Systeem & Hulp van de plugin.
  2. Zoek naar het gedeelte over de afbeeldingenwachtrij dat het volgende toont: resterende items, tijdstip van de laatste run, aantal verwerkte en mislukte items.
  3. Als er items overblijven en de queue worker recentelijk niet heeft gedraaid, controleer dan of WP-Cron actief is en de hook as24ci_image_queue_process is ingepland. Zie Cron-fouten voor details.
  4. Als de vergrendeling van de afbeeldingenwachtrij (as24ci_image_queue_running) verouderd is, verwijder deze dan via WP-CLI of een plugin voor transient-beheer: `` wp transient delete as24ci_image_queue_running ``

Stap 7: Controleer de vereisten voor WebP-conversie

Als WebP-conversie is ingeschakeld maar afbeeldingen worden opgeslagen als JPEG of PNG:

  1. Ga naar Gereedschap → Systeemsituatie → Info → Server en zoek naar de GD-bibliotheek en Imagick.
  2. GD vereist de functie imagewebp, die beschikbaar is in GD gecompileerd met WebP-ondersteuning (PHP 5.5+). Neem contact op met uw hostingprovider om dit te bevestigen.
  3. Imagick vereist de PHP-extensie imagick met ingebouwde WebP-ondersteuning. Neem contact op met uw hostingprovider om dit te bevestigen.
  4. Als geen van beide beschikbaar is, schakel dan WebP-conversie uit in de plugin-instellingen of neem contact op met uw hostingprovider om de vereiste extensie in te schakelen.

Beheerdersreferentie voor configuratie

InstellingEffect
Afbeeldingen importerenHoofdschakelaar. Indien uitgeschakeld, worden er tijdens de import geen afbeeldingen gedownload. Standaard: ingeschakeld.
Max. afbeeldingen per voertuigMaximaal aantal gedownloade afbeeldingen per voertuig. 0 = onbeperkt.
Afbeeldingenwachtrij-modusIndien ingeschakeld, wordt alleen de eerste afbeelding direct gedownload; de overige afbeeldingen worden in de wachtrij geplaatst. Standaard: ingeschakeld voor cron/REST-runs.
Converteren naar WebPIndien ingeschakeld, worden gedownloade afbeeldingen geconverteerd naar het .webp-formaat. Vereist GD met WebP-ondersteuning of Imagick. Standaard: uitgeschakeld.
WebP-kwaliteitCompressiekwaliteit voor WebP-conversie (1–100). Standaard: 80.

Operationele opmerkingen

  • Afbeeldingen worden gedownload met een timeout van 30 seconden per URL. Trage of onbetrouwbare externe afbeeldingsservers kunnen ervoor zorgen dat individuele afbeeldingen mislukken zonder de rest van de import te beïnvloeden.
  • Elke gedownloade afbeelding wordt in de WordPress-mediabibliotheek geregistreerd als een bijlage met post_parent ingesteld op de post-ID van het voertuig.
  • De metawaarde van de bijlage _as24ci_source_url wordt gebruikt voor ontdubbeling. Als deze meta wordt verwijderd of beschadigd raakt, kan de plugin dezelfde afbeelding bij de volgende import opnieuw downloaden.
  • De afbeeldingenwachtrij kan maximaal 20.000 items bevatten. Als deze limiet wordt overschreden, wordt er een waarschuwing gelogd en wordt er een ontdubbelingsronde uitgevoerd. Zie Cron-fouten.
  • Wanneer alle wachtrij-items voor een voertuig zijn verwerkt, wordt de meta _as24ci_image_ids opnieuw opgebouwd op basis van de daadwerkelijke onderliggende bijlagen en wordt de hash van de afbeeldingen definitief gemaakt. Tot die tijd is de hash-waarde ingesteld op pending_queue om aan te geven dat de afbeeldingsset nog niet compleet is.
  • Het permanent verwijderen van een voertuigbericht (via de verwijderfunctie van de plugin of uit de WordPress Cars-lijst) verwijdert ook permanent alle gekoppelde afbeeldingen die door de plugin zijn geïmporteerd.

Probleemoplossing

SymptoomWaarschijnlijke oorzaakControleer
Geen afbeeldingen bij elk voertuigAfbeeldingen importeren is uitgeschakeldSchakel in via de plugin-instellingen
Slechts één afbeelding per voertuigMax. afbeeldingen is ingesteld op 1, of de afbeeldingenwachtrij is niet uitgevoerdControleer de instelling voor max. afbeeldingen; controleer of de queue worker actief is
Image download failed … HTTP 404Afbeeldings-URL is niet meer geldigControleer of de advertentie nog afbeeldingen heeft in AutoScout24; importeer opnieuw
Image download failed … connect timed outServer kan de externe afbeeldingshost niet bereikenControleer uitgaande netwerktoegang; probeer vanaf de server met curl
media_handle_sideload failed … Could not write fileUploadmap is niet schrijfbaar of schijf is volControleer de maprechten en beschikbare schijfruimte
WebP-conversie geruisloos overgeslagenGD/Imagick niet beschikbaar of niet gecompileerd met WebP-ondersteuningControleer Systeemsituatie → Server; schakel WebP-conversie uit indien niet ondersteund
Afbeeldingen aanwezig in mediabibliotheek maar niet op voertuigpaginaDe meta _as24ci_image_ids ontbreekt of is onjuistImporteer het voertuig opnieuw; controleer de post-meta in de database
Uitgelichte afbeelding ontbreektEerste afbeelding in de wachtrij is mogelijk nog niet verwerktControleer de status van de afbeeldingenwachtrij; controleer of de queue worker draait
Dubbele afbeeldingen in mediabibliotheekDe meta _as24ci_source_url ontbreekt bij bijlagenVerwijder deze meta niet; neem contact op met de support als u hierdoor bent getroffen

Gerelateerde documenten