Import catalogo multi-fornitore per Magento 2
Importa e mantieni sincronizzati cataloghi fornitore enormi — prodotti, prezzi, stock, immagini — da qualunque feed, in automatico e su pianificazione, senza toccare i prodotti creati a mano. Pensato per cataloghi da decine o centinaia di migliaia di articoli.
✓ Licenza attiva immediatamente dopo il pagamento, ricevuta via email
✓ Installazione immediata tramite Composer
✓ Primo cambio dominio incluso e immediato (comodo per staging → produzione)
✓ Compatibile con Magento 2.4.x (testato su 2.4.9) e con il tema Hyvä
L'intera interfaccia di amministrazione — ogni etichetta, tooltip e guida — è disponibile in:
Magento mostra automaticamente il modulo nella lingua configurata da ciascun utente admin — nessuna impostazione aggiuntiva richiesta.
Queste sono misurazioni reali da un ambiente di produzione, non stime da laboratorio — un negozio live che sincronizza un vero catalogo fornitore di grandi dimensioni (centinaia di migliaia di SKU, centinaia di migliaia di immagini) su hardware server ordinario, non esotico.
| Test | Volume | Risultato |
|---|---|---|
| Sync catalogo completo (prodotti, prezzi, stock, categorie) | 339.707 righe feed | 2m 01s, 0 errori |
| Sync solo stock e prezzo | 340.467 righe feed | 7,2s, 0 errori |
| Throughput scrittura diretta (strategia SQL, a batch) | 500 prodotti/batch | ~600 prodotti/secondo |
| Download immagini in parallelo vs sequenziale | stesso set di immagini | 3,9 volte più veloce |
| Scala catalogo gestita in produzione | fino a 708.000 immagini | compresse e messe in coda senza bloccare il sync catalogo |
Server di test: Intel Xeon E5-2690 a 12 core @ 2,90GHz, 10GB di RAM, PHP 8.5, con il database su un server dedicato separato — una configurazione standard di fascia media, non hardware di fascia alta. La cifra di 600 prodotti/secondo si confronta con circa 1 prodotto/secondo del meccanismo di import nativo di Magento sugli stessi dati.
I passaggi di installazione completi e una guida utente dettagliata campo per campo (mapping, formule, prodotti configurable e grouped, categorie, immagini, pianificazione, CLI) vivono nella loro pagina di riferimento:
Non soddisfatto entro 30 giorni dall'acquisto? Richiedi il rimborso direttamente dalla tua area account (codingrow.com/login), senza bisogno di spiegazioni. Il rimborso viene elaborato istantaneamente e in automatico, e la licenza viene disattivata alla conferma.
Versione attuale: v3.9.0
Le Categorie feed ammesse ora si selezionano a qualsiasi livello dell'albero del feed, non solo al primo: scegli un ramo profondo (o una singola foglia) — es. Mobili › Armadietti e portaoggetti — per importare solo quel sottoalbero invece di un'intera categoria radice. È solo un filtro su quali prodotti entrano; l'albero categorie di Magento non cambia (i prodotti restano sotto il loro percorso completo).
Le formule del mapping ora supportano le funzioni di arrotondamento all'intero ceil() (per eccesso), floor() (per difetto) e round() (al più vicino): es. ceil({B2B price} * 1.30) applica il ricarico e arrotonda il prezzo di vendita finale all'euro superiore (23,40 → 24).
Rifinitura dell'allineamento sitemap della 3.3.9: sui redirect 301 con percorso categoria il modulo scrive ora lo stesso metadata che Magento assegna nativamente agli URL con contesto categoria, così il generatore della sitemap elenca correttamente il solo URL piatto canonico invece di quello che fa 301. I prodotti importati o aggiornati dopo l'aggiornamento sono già a posto; per riallineare in un colpo le righe già esistenti su installazioni aggiornate è disponibile il comando mmis:fix-redirect-metadata (poi rigenerare la sitemap).
Gli URL prodotto ora rispettano l'impostazione Magento (Catalog SEO) 'Use Categories Path for Product URLs'. Quando è disattivata (default di Magento), l'URL piatto è l'unico canonico e l'URL con percorso categoria viene servito come redirect 301 verso di esso, così sitemap e tag canonical coincidono e Google consolida su un solo URL. Quando è attivata, l'URL con categoria resta attivo, come lo genera Magento nativamente.
Ora accetta la chiave di licenza One-for-All in abbonamento: un unico abbonamento Codingrow attiva questo modulo insieme a tutti gli altri.
Nuova trasformazione «Strip HTML tags» nel mapping dei campi: rimuove i tag HTML e decodifica le entità dai valori testuali del feed, utile quando il fornitore invia descrizioni già formattate in HTML.
Nuova trasformazione "Strip HTML tags" per le righe di mapping: rimuove i tag HTML e decodifica le entità dal valore di una colonna sorgente, per attributi testuali (es. una descrizione fornitore che arriva racchiusa in tag <p>/<b>). Disponibile anche come funzione nei template (striphtml{NomeColonna}).
Corretto un bug di installazione: attivare il modulo per la prima volta su uno store nuovo poteva fallire durante il setup di Magento con un errore di database, perché un file necessario mancava dal pacchetto rilasciato.
I prodotti il cui feed fornitore lasciava vuota la colonna immagine normalmente usata per la miniatura (Base/Small/Thumbnail) — pur avendo altre colonne immagine valorizzate — non restano più senza miniatura in vetrina/categoria. Il modulo ora promuove automaticamente la prima immagine disponibile (disattivabile per singolo profilo).
Il conteggio "aggiornate" nei risultati di sincronizzazione non include più le righe in cui prezzo/quantità sono rimasti identici a prima — vengono contate e scritte solo le variazioni reali, il che rende anche più veloci i sync con poche o nessuna variazione reale.
Tutti i messaggi di log della sincronizzazione batch (main_sync/offer_sync) ora seguono la lingua dell'admin che li legge, invece della lingua del processo server che ha eseguito il cron.
"Ultime esecuzioni" della coda immagini ora mostra conteggio ed esito relativi a quella specifica esecuzione invece di un totale cumulativo, con una media accurata; corrette due etichette delle notifiche email mai tradotte.
La coda di sincronizzazione immagini è nettamente più veloce sui cataloghi grandi (riscritta una query che rallentava proporzionalmente alla dimensione della coda), la dimensione del lotto ora si adatta automaticamente al ritmo reale di elaborazione, e i cron di MMIS girano in un gruppo isolato dedicato invece di competere con i cron di reindex/email/sitemap. La stima del tempo residuo per una coda in corso ora si basa sul ritmo realmente misurato invece di una semplice estrapolazione lineare.
Il tempo che il modulo aspetta prima di riscaricare il feed di un fornitore (per non consumare la quota giornaliera di download di un fornitore con test ripetuti) è ora un'impostazione configurabile in Stores > Configuration, invece di essere fissa a 30 minuti non documentati — default 15 minuti.
Un prefisso SKU vuoto su un profilo è ora sempre una scelta sicura e pienamente supportata: corretto l'unico punto in cui poteva influire involontariamente sui file in cache di un altro profilo, e rimosso il controllo di sicurezza che prima bloccava il rollback per questo motivo.
I messaggi di log della coda immagini in "Ultime esecuzioni" ora vengono mostrati nella lingua dell'admin che guarda la pagina, invece che sempre nella lingua predefinita del negozio.
Corretto un caso particolare di traduzione che poteva lasciare il messaggio di avanzamento della coda immagini in inglese su negozi non italiani, e corretta la stima del tempo rimanente collegata perché funzioni indipendentemente dalla lingua dell'admin.
Tutti i messaggi del log di sincronizzazione (progresso, errori, notifiche email) ora rispettano la lingua dello store view invece di essere sempre in italiano. La stima dello spazio occupato dalle immagini distingue correttamente i profili con compressione disattivata, invece di mostrare un fuorviante "0% di riduzione".
La compressione delle immagini scaricate è ora un'impostazione per singolo profilo (tab Mapping), non più condivisa da tutti i profili insieme — utile quando un fornitore ha bisogno di risparmiare spazio disco e un altro no.
Nuova opzione per profilo (tab Avanzate) per notificare M2E Pro a fine sincronizzazione, per chi sincronizza gli stessi prodotti anche sui marketplace tramite quell'estensione.
Rifiniture linguistiche: tutto il testo residuo in italiano (comandi CLI, messaggi di log, tooltip di configurazione, errori) è stato tradotto in inglese come base per le altre lingue supportate.
Prima release pubblica, rinominato in MMIS (Massive Multifeed Import&Sync), con comandi CLI sotto il prefisso mmis:. Principali novità:
Fase di sviluppo interna: introdotta l'architettura a Profili di importazione, scoperta feed e categorie per-profilo, tab di log sync dedicato.
Prime tappe interne: lettura feed multi-formato (CSV/XML/JSON) e primo motore di mapping dei campi.