Documentazione · Risoluzione dei problemi

Errori di importazione delle immagini

Questo documento copre gli errori che possono verificarsi quando il plugin scarica e associa le immagini dei veicoli dall'API di AutoScout24. Descrive le cause probabili e i passaggi per diagnosticare e risolvere i problemi di importazione dei file multimediali.

Quando utilizzare questo documento

Leggere questo documento quando:

  • I post dei veicoli vengono importati ma non hanno immagini o presentano solo un set parziale di immagini.
  • Il registro (log) del plugin contiene righe che menzionano Image download failed o media_handle_sideload failed.
  • L'immagine in evidenza è mancante nei post dei veicoli importati.
  • La conversione in WebP è abilitata ma le immagini vengono salvate nel loro formato originale.
  • Il worker della coda delle immagini è in esecuzione ma le immagini continuano a mancare.

Panoramica

Quando il plugin importa un veicolo, scarica le immagini dagli URL forniti dall'API di AutoScout24 e le associa al post di WordPress. Il processo utilizza le funzioni integrate di WordPress download_url() e media_handle_sideload(), che inseriscono le immagini nella directory standard dei caricamenti di WordPress, generano le miniature e registrano l'allegato nella libreria multimediale.

Deduping (Eliminazione dei duplicati)

Prima di scaricare un'immagine, il plugin controlla se è già stata importata cercando un allegato con un valore di post meta _as24ci_source_url corrispondente. Se viene trovata una corrispondenza, l'ID dell'allegato esistente viene riutilizzato e non viene eseguito alcun download. Ciò impedisce che la stessa immagine venga memorizzata più volte.

Immagine in evidenza

La prima immagine del set viene impostata automaticamente come immagine in evidenza (miniatura del post) se non è già stata assegnata un'immagine in evidenza al post. Le immagini successive vengono registrate nell'array post meta _as24ci_image_ids.

Modalità coda immagini

Quando la modalità coda immagini è abilitata (impostazione predefinita per le esecuzioni di importazione tramite cron e REST), solo la prima immagine per veicolo viene scaricata immediatamente durante l'esecuzione dell'importazione. I restanti URL delle immagini vengono inseriti in una coda persistente. Un worker WP-Cron separato (as24ci_image_queue_process) elabora questa coda in modo asincrono in lotti di 30 immagini per esecuzione. Ciò riduce il tempo e la memoria richiesti per ogni esecuzione di importazione.

Vedere Cron Errors per indicazioni sulla diagnosi dei guasti del worker della coda delle immagini.

Conversione in WebP

Se la conversione in WebP è abilitata, ogni immagine scaricata viene convertita nel formato .webp prima di essere passata alla libreria multimediale di WordPress. Il plugin tenta prima la conversione utilizzando PHP GD (imagewebp), poi passa a Imagick come soluzione di ripiego. Se nessuna delle due estensioni è disponibile, o se la conversione non riesce, viene utilizzato il formato originale dell'immagine e viene scritto un avviso nel log.

Requisiti preliminari

  • La connessione API è funzionante e le immagini sono presenti nell'annuncio di AutoScout24. Verificare questo aspetto nella pagina Stato del sistema.
  • La directory dei caricamenti di WordPress è scrivibile dal processo del server web.
  • L'opzione Importa immagini è abilitata nelle impostazioni del plugin.
  • Il limite di memoria PHP e il tempo di esecuzione sono sufficienti per il download e l'elaborazione delle immagini.

Passaggi diagnostici

Passaggio 1: Confermare che l'importazione delle immagini sia abilitata

  1. Andare alla scheda Impostazioni del plugin (o Importazione e limiti a seconda del layout).
  2. Confermare che Importa immagini sia abilitato.
  3. Notare il valore Numero massimo di immagini per veicolo. Se impostato su un numero basso (ad esempio 1), verranno scaricate solo quel numero di immagini per veicolo. Impostarlo su 0 per un numero illimitato.

Passaggio 2: Leggere il file di log

Aprire il file di log del plugin all'indirizzo:

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

Cercare i seguenti pattern:

Pattern di logSignificato
Image download failed for listing_id=… url=… error=…download_url() ha restituito un errore. Il messaggio di errore include la causa (ad es. timeout HTTP, connessione rifiutata, 404).
media_handle_sideload failed for listing_id=… url=… error=…WordPress non ha potuto registrare il file scaricato come allegato multimediale. Spesso si tratta di un problema di permessi del file system o di spazio su disco.
WebP conversion skipped: neither GD imagewebp nor Imagick available.La conversione in WebP è abilitata ma l'estensione PHP richiesta non è presente.
WebP GD conversion failed for …, trying Imagick.GD non è riuscito; verrà tentato Imagick come soluzione di ripiego.
WebP Imagick conversion failed: …Entrambi i metodi di conversione sono falliti. È stato salvato il formato originale dell'immagine.
WebP conversion failed for …, using original.Ripiego finale: immagine originale salvata.
Image queue worker: processed=… errors=… remaining=…Riepilogo dell'ultima esecuzione del worker della coda delle immagini.
Image queue worker error post_id=… url=… error=…Un'immagine singola non è riuscita all'interno del worker della coda.

Passaggio 3: Verificare la directory dei caricamenti

La directory dei caricamenti di WordPress deve essere scrivibile dal server web. Percorso tipico:

wp-content/uploads/

Verificare tramite FTP, SFTP o il file manager dell'hosting che:

  • La directory esista.
  • Il processo del server web disponga dei permessi di scrittura (in genere 755 per le directory, con l'utente del server web come proprietario).
  • Sia disponibile spazio su disco sufficiente.

Se la directory dei caricamenti non è scrivibile, media_handle_sideload fallirà con un errore del file system.

Passaggio 4: Controllare la memoria PHP e i limiti di esecuzione

Il download e l'elaborazione di più immagini in una singola richiesta richiedono una memoria PHP adeguata. Se il limite di memoria PHP è troppo basso, l'elaborazione delle immagini potrebbe fallire silenziosamente o generare un errore fatale.

  1. Controllare in Strumenti → Stato del sito → Informazioni → Server il limite di memoria PHP corrente e il tempo massimo di esecuzione.
  2. Se il limite di memoria è inferiore a 256 MB per i siti con file di immagini di grandi dimensioni, considerare di aumentarlo tramite wp-config.php (define('WP_MEMORY_LIMIT', '256M')) o il pannello di controllo dell'hosting.
  3. Per le esecuzioni tramite cron, il plugin tenta di impostare un limite di tempo di esecuzione di 300 secondi. Se l'ambiente di hosting limita set_time_limit, questo potrebbe non avere effetto. Utilizzare la modalità coda immagini (abilitata per impostazione predefinita) per distribuire i download delle immagini su più esecuzioni più brevi.

Passaggio 5: Testare l'accessibilità dell'URL dell'immagine

Se il log mostra Image download failed con un errore di rete o HTTP, verificare che gli URL delle immagini restituiti dall'API siano accessibili pubblicamente dal proprio server:

  1. Copiare l'URL di un'immagine dalla voce di log.
  2. Provare ad accedervi in un browser. Se restituisce un errore 404 o di autenticazione, l'immagine potrebbe essere stata rimossa dall'API o potrebbe richiedere un'autenticazione che il plugin non fornisce.
  3. Se l'URL è accessibile in un browser ma non dal server, potrebbe esserci una whitelist IP, un firewall o una restrizione proxy sulle richieste HTTP in uscita del server.

Passaggio 6: Verificare lo stato della coda delle immagini

  1. Andare alla scheda Sistema e Aiuto del plugin.
  2. Cercare la sezione della coda delle immagini che mostra: elementi rimanenti, ora dell'ultima esecuzione, conteggi elaborati e falliti.
  3. Se rimangono elementi e il worker della coda non è stato eseguito di recente, verificare che WP-Cron sia attivo e che l'hook as24ci_image_queue_process sia pianificato. Vedere Cron Errors per i dettagli.
  4. Se il blocco della coda delle immagini (as24ci_image_queue_running) è obsoleto, eliminarlo tramite WP-CLI o un plugin di gestione dei transienti: `` wp transient delete as24ci_image_queue_running ``

Passaggio 7: Verificare i requisiti preliminari per la conversione in WebP

Se la conversione in WebP è abilitata ma le immagini vengono salvate come JPEG o PNG:

  1. Andare su Strumenti → Stato del sito → Informazioni → Server e cercare la libreria GD e Imagick.
  2. GD richiede la funzione imagewebp, disponibile in GD compilato con supporto WebP (PHP 5.5+). Verificare con il proprio fornitore di hosting.
  3. Imagick richiede l'estensione PHP imagick con supporto WebP compilato. Verificare con il proprio fornitore di hosting.
  4. Se nessuno dei due è disponibile, disabilitare la conversione in WebP nelle impostazioni del plugin o contattare il proprio fornitore di hosting per abilitare l'estensione richiesta.

Riferimento di configurazione

ImpostazioneEffetto
Importa immaginiInterruttore principale. Quando è disabilitato, non viene scaricata alcuna immagine durante l'importazione. Predefinito: abilitato.
Numero massimo di immagini per veicoloNumero massimo di immagini scaricate per veicolo. 0 = illimitato.
Modalità coda immaginiQuando abilitata, viene scaricata immediatamente solo la prima immagine; le restanti immagini vengono messe in coda. Predefinito: abilitata per le esecuzioni cron/REST.
Converti in WebPQuando abilitata, le immagini scaricate vengono convertite nel formato .webp. Richiede GD con supporto WebP o Imagick. Predefinito: disabilitato.
Qualità WebPQualità di compressione per la conversione in WebP (1–100). Predefinito: 80.

Note operative

  • Le immagini vengono scaricate con un timeout di 30 secondi per URL. Server di immagini esterni lenti o inaffidabili possono causare il fallimento di singole immagini senza influire sul resto dell'importazione.
  • Ogni immagine scaricata viene registrata nella libreria multimediale di WordPress come allegato con post_parent impostato sull'ID del post del veicolo.
  • Il valore meta dell'allegato _as24ci_source_url viene utilizzato per l'eliminazione dei duplicati. Se questo meta viene eliminato o corrotto, il plugin potrebbe scaricare nuovamente la stessa immagine all'importazione successiva.
  • La coda delle immagini può contenere fino a 20.000 elementi. Se questo limite viene superato, viene registrato un avviso e viene eseguito un passaggio di deduplicazione. Vedere Cron Errors.
  • Quando tutti gli elementi in coda per un veicolo sono stati elaborati, il meta _as24ci_image_ids viene ricostruito dagli allegati figli effettivi e l'hash delle immagini viene finalizzato. Fino ad allora, il valore dell'hash è impostato su pending_queue per segnalare che il set di immagini non è ancora completo.
  • L'eliminazione definitiva di un post di un veicolo (tramite la funzione di eliminazione del plugin o dall'elenco Cars di WordPress) elimina in modo permanente anche tutte le immagini allegate importate dal plugin.

Risoluzione dei problemi

SintomoCausa probabileVerifica
Nessuna immagine su alcun veicoloL'importazione delle immagini è disabilitataAbilitare nelle impostazioni del plugin
Solo un'immagine per veicoloIl numero massimo di immagini è impostato su 1, o la coda delle immagini non è stata eseguitaControllare l'impostazione del numero massimo di immagini; verificare che il worker della coda sia in esecuzione
Image download failed … HTTP 404L'URL dell'immagine non è più validoVerificare che l'annuncio abbia ancora immagini in AutoScout24; importare nuovamente
Image download failed … connect timed outIl server non riesce a raggiungere l'host esterno delle immaginiVerificare l'accesso alla rete in uscita; provare dal server con curl
media_handle_sideload failed … Could not write fileDirectory dei caricamenti non scrivibile o disco pienoControllare i permessi della directory e lo spazio su disco disponibile
Conversione in WebP saltata silenziosamenteGD/Imagick non disponibile o non compilato con il supporto WebPControllare Stato del sito → Server; disabilitare la conversione in WebP se non supportata
Immagini presenti nella libreria multimediale ma non nella pagina del veicoloIl meta _as24ci_image_ids potrebbe essere mancante o erratoImportare nuovamente il veicolo; controllare il post meta nel database
Immagine in evidenza mancanteLa prima immagine nella coda potrebbe non essere stata ancora elaborataControllare lo stato della coda delle immagini; verificare che il worker della coda venga eseguito
Immagini duplicate nella libreria multimedialeMeta _as24ci_source_url mancante dagli allegatiNon eliminare questo meta; contattare il supporto se interessati

Documenti correlati