Vai al contenuto principale
enricomorano.it/blog/feed-google-merchant-multipaese-prestashop← ../
Feed Google Merchant multi-paese su PrestaShop

Feed Google Merchant multi-paese su PrestaShop

Diagnosi e fix di un feed Google Merchant fermo all'Italia: feed per-paese, header troncato, item_id sbagliato in cache e 6.750 prodotti ripuliti per Shopping.

8 luglio 2026#prestashop#google-merchant#feed#export

Lo shop vendeva all’estero senza problemi sui marketplace, ma su Google Shopping Francia, Spagna, Germania e Irlanda erano ferme a zero prodotti. Il sospetto ovvio era “mancano le traduzioni” - e invece titoli e descrizioni erano tradotti al 99,6%. Il vero blocco era una riga di configurazione: il feed Google Merchant veniva generato solo per l’Italia, e per giunta troncato a 3 prodotti.

⚠️ Il problema: un feed tronco e mercati esteri a zero

La fotografia dal Merchant Center era impietosa. Per l’Italia il feed strutturato esportava 3 prodotti. Tre, su un catalogo da migliaia. Il resto Google se lo raccoglieva crawlando le pagine quando aveva tempo, senza un feed che glielo servisse pulito e ordinato: dati parziali, aggiornati a singhiozzo, in balìa del crawl budget. Francia, Spagna, Germania e Irlanda erano a 0 prodotti attivi.

Non mancavano prodotti né traduzioni: le lingue erano installate e i cataloghi tradotti. Il modulo che generava il feed era configurato per un solo locale (it_IT) e per giunta emetteva un feed troncato. Per Google, di fatto, un feed strutturato non esisteva - né per l’Italia né per l’estero.

Il risultato: campagne Shopping impossibili da attivare fuori dall’Italia, e in Italia prodotti in vetrina solo grazie alla buona volontà del crawler.

La diagnosi: isolare la variabile sui dati live

Prima di toccare la configurazione ho verificato sul database live quali fossero le lingue attive, la percentuale di traduzione per ogni locale e lo stato del feed per paese sul Merchant. Il metodo è isolare la variabile: il feed per-paese non esisteva perché non richiesto in configurazione, non perché mancassero i dati.

Le traduzioni erano al 99,6%: non erano loro il collo di bottiglia. Rincorrere i contenuti avrebbe fatto perdere settimane sul problema sbagliato.

✅ La soluzione: tre problemi in fila

a. Generare i feed per-paese

Aggiunti i locale mancanti (fr_FR, de_DE, es_ES, en_IE) e rigenerazione via cron. Risultato: 5 feed pieni (IT/FR/DE/ES/IE), tutti serviti in HTTP 200.

b. Il feed tedesco letto come CSV

Google rifiutava il feed DE con errori strani: “nome attributo non valido”, “colonna di intestazione vuota”, “troppi delimitatori”. La causa non era nei dati: il feed tedesco era troncato all’inizio, gli mancava l’header XML (<?xml>, <rss>, <channel>). Senza header, Google lo interpretava come CSV e falliva il parsing. Il modulo perdeva l’header sul primo locale del batch.

Il fix è un repair-pass idempotente nel cron: a fine generazione, se un feed non inizia con <?xml, l’header viene ripristinato da un feed integro. Si auto-ripara a ogni esecuzione, anche dopo un update del modulo.

c. item_id sbagliato per lingua (colpa della cache)

Con la full-page cache attiva, le pagine /fr/, /de/ venivano servite senza aggiornare il cookie della lingua: il tracking generava sempre un item_id italiano anche per gli utenti esteri, disallineando il remarketing dal feed. Fix: risoluzione della lingua a cascata (parametro esplicito, poi prefisso lingua nell’URL, poi contesto, poi fallback IT), verificata su tutte le lingue.

🛠️ La sitemap: spezzata per lingua, nuove pagine prima

Il feed alimenta Shopping; la sitemap alimenta l’indice organico - e anche quella era, di fatto, non generata. L’ho ricostruita spezzata in file piccoli e divisa per lingua (una sitemap per locale, raccolte in un sitemap-index), con le pagine nuove ordinate prima delle vecchie. Così Google scansiona per primo ciò che è appena entrato, invece di sprecare crawl budget a ripassare l’archivio. Su un catalogo multilingua che cresce è la differenza tra vedere i prodotti nuovi indicizzati in giorni o in settimane.

🛠️ L’ottimizzazione del catalogo: 6.750 prodotti ripuliti

Feed e sitemap portano i prodotti davanti a Google; poi serve che Google li approvi e li mostri. Merchant Center nasconde o disapprova i prodotti con overlay promozionali sulle immagini (badge “sconto”, cornici, watermark che coprono il prodotto), parole equivoche nei titoli e testo promozionale infilato nelle descrizioni (“spedizione gratis”, “offerta”, call-to-action).

Ho passato al setaccio 6.750 prodotti, in automatico: rimossi gli overlay che impedivano a Google di vedere davvero il prodotto, ripulite le parole ambigue, filtrato il promozionale dalle descrizioni. Un catalogo che rispetta le regole viene approvato di più e finisce in vetrina più spesso - il contrario di un feed pieno di prodotti che Google scarta a uno a uno. È lo stesso principio dell’automazione dei processi in una PMI: il lavoro ripetitivo su migliaia di righe non si fa a mano.

Il contorno che fa la differenza nel cross-border

Aprire i feed non basta: Google sospende l’account se i dati non sono coerenti col negozio.

  • Spedizione estero: impostata nel Merchant come tabella per fasce d’ordine, identica a quella del checkout. Un mismatch tra feed e sito porta alla sospensione.
  • Tempi di consegna: presi dal dato reale (mediana delle transizioni di stato ordine in PrestaShop) e impostati conservativi - Italia e estero Europa hanno tempi diversi, dichiararli male costa affidabilità.
  • Attributi apparel (color, size, age_group, gender): dedotti per i capi da lavoro; per i prodotti su ordinazione, backorder con availability_date.

Il risultato: cinque feed Google Merchant multilingua

Da 3 prodotti nel feed italiano a cinque feed pieni (IT/FR/DE/ES/IE), circa 6.750 item validi per lingua, XML corretto e serviti in HTTP 200. Mercati esteri finalmente configurabili su Shopping, catalogo ripulito e approvato, sitemap per lingua che porta le pagine nuove in indice, tracking allineato al feed lingua per lingua. Da un canale export fermo a un’infrastruttura misurabile su cinque paesi.

Google Merchant Center, sezione Norme di spedizione: la regola Italia e la regola Estero, entrambe con stato Completato Merchant Center a lavoro finito: le norme di spedizione Italia ed Estero (Francia, Germania e altri quattro paesi) completate e coerenti con il checkout.

La lezione

Il feed è il vero prodotto SEO e ADS dell’export: non le traduzioni, ma configurazione per-paese, coerenza di spedizione e tempi, e un item_id per lingua che regga la cache. È anche un vantaggio competitivo: nel settore, quasi nessun concorrente presidiava davvero l’estero su Shopping.

Vale per ogni canale, non solo per Google: sui marketplace il problema si ripresenta identico, e su ManoMano l’ho risolto separando il feed offerte dall’export del catalogo.

Vuoi aprire i mercati esteri su Google Shopping?

Configuro feed multi-paese, Merchant Center e tracking per il tuo PrestaShop, con la coerenza che evita le sospensioni: fa parte del mio lavoro su assistenza e ottimizzazione PrestaShop. Scrivimi da uno dei canali qui sotto e vediamo da quali mercati partire.

❓ Domande frequenti

Basta tradurre il sito per vendere su Google Shopping all'estero?
No. Le traduzioni sono necessarie ma non sufficienti: se il feed Google Merchant viene generato solo per l'Italia, i mercati esteri restano a zero anche con il catalogo tradotto al 100%. Serve un feed per ogni paese, con locale, spedizione e tempi di consegna coerenti.
Perché Google rifiuta il mio feed con errori di colonne o delimitatori?
Spesso il feed XML è troncato e gli manca l'header iniziale: senza <?xml> e <channel>, Google lo interpreta come CSV e segnala colonne vuote o delimitatori errati. La soluzione stabile è un controllo automatico che ripristina l'header a ogni generazione.
Il tracking manda l'item_id sbagliato con la cache attiva: come si risolve?
Con la full-page cache la lingua non sempre si aggiorna, e il tracking usa l'item_id del locale di default. Si risolve con una risoluzione della lingua a cascata (parametro, prefisso URL, contesto, fallback), così l'item_id inviato corrisponde sempre alla lingua reale dell'utente.
Perché Google Merchant disapprova o non mostra i miei prodotti?
Le cause più comuni sono overlay promozionali sulle immagini (badge, cornici, watermark che coprono il prodotto), testo promozionale nei titoli o nelle descrizioni e dati non coerenti con il sito. Google vuole vedere il prodotto pulito: rimuovere overlay e testo promozionale dalle schede, anche in massa su migliaia di prodotti, di solito recupera gran parte del catalogo scartato.
Enrico Morano
Sviluppatore PrestaShop freelance da quasi 10 anni - debug, performance, moduli custom

Hai un progetto in testa?

Raccontami cosa ti serve o cosa non funziona. Rispondo entro 24 ore, senza preventivi a scatola chiusa.

Descrivi il tuo progetto →il form guidato, 2 minuti
Scrivimi una mailemail
Scrivimi su WhatsAppdi solito rispondo in giornata