Guida completa alla traduzione multilingue dei siti web WordPress
Tradurre un sito web WordPress è un processo complesso che richiede una pianificazione e un'esecuzione accurate. Abbiamo creato questa guida completa basandoci sulla nostra vasta esperienza nella traduzione di siti web, utilizzando il plugin Gato AI Translations for Polylang.
Questa guida ti accompagna attraverso tutto ciò che devi sapere: dalle preparazioni iniziali e dalla configurazione, passando per il processo di traduzione vero e proprio, fino alla validazione e alla risoluzione dei problemi. Segui questa guida per garantire un'esperienza di traduzione fluida.
Installare e configurare Polylang
Gato AI Translations for Polylang richiede che Polylang sia installato e attivato. Polylang è il framework multilingue che gestisce le tue lingue e le relazioni di traduzione.
Dopo l'installazione, dovrai configurare Polylang con le tue lingue:
- Vai su Languages nel menu di amministrazione di WordPress
- Aggiungi la tua lingua predefinita (la lingua del tuo contenuto esistente)
- Aggiungi tutte le lingue di destinazione verso cui vuoi tradurre

Devi verificare che tutti i tuoi plugin attivi siano compatibili con Polylang. Alcuni plugin potrebbero non funzionare correttamente in un ambiente multilingue.
Se scopri un plugin incompatibile, cerca alternative, contatta lo sviluppatore per assistenza, oppure valuta se sia davvero indispensabile.
Verifica e correggi prima il tuo contenuto di origine
Prima di iniziare a tradurre, è essenziale assicurarti che il tuo contenuto di origine sia in condizioni perfette. Qualsiasi problema nel tuo contenuto originale verrà replicato in tutte le traduzioni, il che significa che dovrai correggere lo stesso problema più volte (una volta per ogni lingua).
Lista di controllo per l'audit del contenuto:
-
Controlla i link non funzionanti
- Usa un plugin come Broken Link Checker per identificare i link interni ed esterni non funzionanti
- Correggi tutti i link non funzionanti prima di tradurre
- Verifica che i link interni puntino agli articoli/alle pagine corretti
-
Verifica che tutte le immagini esistano e siano ottimizzate
- Controlla che tutte le immagini si carichino correttamente
- Assicurati che le immagini abbiano un testo alt appropriato per l'accessibilità e la SEO
- Verifica che le dimensioni dei file delle immagini siano ragionevoli (non troppo grandi)
- Rimuovi eventuali immagini segnaposto o riferimenti a immagini non funzionanti
-
Rivedi la formattazione e lo stile
- Controlla che la formattazione del testo sia coerente
- Verifica che i titoli siano strutturati correttamente (H1, H2, H3, ecc.)
- Assicurati che liste, tabelle e altri contenuti strutturati si visualizzino correttamente
- Verifica che lo stile personalizzato e il CSS funzionino come previsto
-
Valida la struttura del contenuto
- Assicurati di un uso corretto dei blocchi Gutenberg o degli elementi del page builder
- Controlla che i custom post type e le tassonomie siano configurati correttamente
- Verifica che i metadati (custom fields, campi ACF, ecc.) siano completi
-
Controlla la presenza di contenuto segnaposto
- Rimuovi qualsiasi testo "Lorem ipsum" o segnaposto
- Sostituisci qualsiasi contenuto temporaneo con le versioni finali
- Assicurati che tutto il contenuto sia pronto per la pubblicazione
-
Considerazioni SEO
- Verifica che i meta title e le descrizioni siano impostati
- Controlla che gli URL siano ottimizzati per la SEO
- Assicurati di un uso corretto dei titoli per la struttura SEO
Configurare la sostituzione dei link interni
Durante la traduzione del contenuto, i link interni devono essere aggiornati per puntare alle versioni tradotte. Gato AI Translations for Polylang può gestire questo automaticamente per te.
Il plugin ti consente di configurare quali tipi di link interni devono essere sostituiti:
- Custom Posts: link ad altri articoli, pagine, custom post type, ecc.
- Media: link a elementi multimediali (immagini, video, ecc.)
- Tags: link alle pagine di archivio dei tag
- Categories: link alle pagine di archivio delle categorie
- Users: link alle pagine degli autori
I link agli articoli nel contenuto vengono estratti automaticamente dal contenuto di origine e sostituiti. Per gli altri tipi di link (media, tag, categorie, utenti), devi abilitarli nelle impostazioni se vuoi che vengano sostituiti.
Come configurare:
- Vai alla pagina delle Impostazioni, sotto Plugin Configuration > Internal Links Replacement
- Abilita solo i tipi di link che utilizzi effettivamente nel tuo contenuto
- Salva le tue impostazioni

Verifica che tutti i link utilizzino URL corretti
Affinché la funzionalità di sostituzione dei link interni funzioni correttamente, tutti i link nel tuo contenuto devono utilizzare il formato URL appropriato. Questo si applica ai link in:
- Contenuto di articoli/pagine (blocchi Gutenberg, HTML, ecc.)
- Widget Elementor e meta field
- Elementi Bricks builder e meta field
- Custom field e metadati
Requisiti degli URL:
-
Gli URL devono includere il dominio completo
- ✅ Corretto:
https://www.mysite.com/hello-world/ - ❌ Errato:
/hello-world/(URL relativo) - ❌ Errato:
hello-world/(senza dominio né protocollo)
- ✅ Corretto:
-
Gli URL devono puntare allo slug attuale
- Se hai modificato lo slug di un articolo, aggiorna tutti i link per usare il nuovo slug
- WordPress deve essere in grado di recuperare l'articolo a partire dall'URL
- I vecchi slug che reindirizzano non funzioneranno per la sostituzione dei link
-
Gli URL devono usare il dominio corretto (senza redirect)
- ✅ Corretto:
https://www.mysite.com/hello-world/ - ❌ Errato:
https://mysite.com/hello-world/(se il tuo sito usa www) - Il plugin ha bisogno del dominio esatto per far corrispondere e sostituire i link correttamente
- ✅ Corretto:
Per correggere i domini errati negli URL, puoi usare un plugin come Better Search Replace per cercare e sostituire gli URL direttamente nel tuo database, ad esempio: sostituendo https://mysite.com con https://www.mysite.com.
Scegliere lo stato Bozza o Pubblicato
Quando le traduzioni vengono create, devi decidere se debbano essere pubblicate immediatamente o salvate come bozze per essere prima revisionate.
Per impostazione predefinita, le traduzioni vengono salvate come bozze. Per fare in modo che le traduzioni vengano pubblicate immediatamente, vai alla pagina delle Impostazioni, sotto Plugin Configuration > General Configuration, e imposta l'opzione Status when translated su Publish oppure su Same as origin post (se l'articolo di origine è già pubblicato).

Supporto per le lingue da destra a sinistra (RTL)
Se stai traducendo verso lingue da destra a sinistra come ebraico, arabo, farsi o urdu, devi assicurarti che il tuo tema supporti correttamente i layout RTL.


Cosa influisce RTL:
Le lingue RTL richiedono più di semplici cambiamenti nella direzione del testo. Il tuo tema deve gestire:
- Direzione del layout: gli elementi devono scorrere da destra a sinistra
- Allineamento del testo: il testo deve essere allineato a destra per impostazione predefinita
- Regolazioni della spaziatura:
margin-leftdeve diventaremargin-right,padding-leftdeve diventarepadding-right, ecc. - Navigazione: i menu e la navigazione devono scorrere in RTL
- Form: i campi di input e i pulsanti devono allinearsi correttamente
- Icone e immagini: potrebbero richiedere un mirroring o un riposizionamento
Cosa è già gestito:
- Polylang imposta automaticamente la direzione di lingua corretta (attributo
dir="rtl") - La traduzione del contenuto funziona in modo identico per le lingue RTL e LTR
- Gato AI Translations traduce il contenuto correttamente indipendentemente dalla direzione del testo

Cosa devi verificare:
-
Supporto RTL del tema: testa il tuo tema con una lingua RTL per vedere se la gestisce correttamente
- Molti temi moderni includono fogli di stile RTL
- Consulta la documentazione del tuo tema per le informazioni sul supporto RTL
- Cerca file
rtl.csso simili nel tuo tema
-
CSS personalizzato: rivedi qualsiasi CSS personalizzato che hai aggiunto
- I valori sinistra/destra codificati in modo fisso potrebbero richiedere aggiustamenti
- Valuta l'uso di proprietà logiche (
margin-inline-startinvece dimargin-left)
-
Compatibilità dei page builder: se usi Elementor, Bricks o altri page builder
- Verifica se supportano i layout RTL
- Testa i layout in modalità RTL prima di tradurre
Se il tuo tema non supporta bene RTL, potresti dover passare a un tema compatibile con RTL, aggiungere CSS RTL personalizzato, oppure usare un plugin che aggiunge il supporto RTL.
Identificare il contenuto dei plugin di terze parti da tradurre
Molti plugin WordPress creano i propri Custom Post Type (CPT) per memorizzare il contenuto (ad esempio: i prodotti WooCommerce, gli eventi di Events Calendar, i corsi LearnDash, ecc.).
Prima di tradurre, devi:
-
Identificare quali CPT contengono contenuto che deve essere tradotto
- Esamina i tuoi plugin attivi e i loro CPT
- Determina quali necessitano di traduzione (non tutti la richiedono)
-
Assicurarti che i CPT e le tassonomie pertinenti siano traducibili
- Vai su Languages > Settings > Custom post types and Taxonomies di Polylang
- Abilita la traduzione per i CPT e le tassonomie pertinenti

Creare automaticamente le voci di traduzione per i CPT
Se un CPT si basa sul metodo wp_insert_post per creare le voci, puoi andare alla pagina delle Impostazioni, sotto Plugin Configuration > General Configuration, e abilitare l'opzione Automatic creation of translation entries per quel CPT, in modo che il plugin crei automaticamente le voci di traduzione.

Se un CPT si basa su un metodo diverso da wp_insert_post, dovrai creare manualmente le voci di traduzione utilizzando l'interfaccia di Polylang prima di poterle tradurre.
Ad esempio, con i prodotti WooCommerce, devi prima creare le voci di traduzione. Consulta la documentazione sulla traduzione dei Custom Post Type di terze parti per un video dimostrativo.
Verifica che il tuo plugin SEO sia supportato
I metadati SEO (meta title, descrizioni, tag Open Graph, ecc.) sono fondamentali per la SEO multilingue. Gato AI Translations for Polylang include un supporto integrato per i plugin SEO più popolari, traducendo automaticamente tutti i metadati relativi alla SEO.
Il plugin supporta 8 importanti plugin SEO:
- All in One SEO
- Rank Math
- SEO Simple Pack
- SEOPress
- Slim SEO
- The SEO Framework
- WP Meta SEO
- Yoast SEO
Se usi un plugin SEO che non figura nell'elenco qui sopra, devi indicare quali meta key sincronizzare e tradurre, corrispondenti al plugin SEO che stai usando. Qualsiasi plugin che memorizza i suoi metadati nella tabella wp_postmeta è supportato.
Scegliere il tuo provider e modello di IA
La qualità delle tue traduzioni dipende dal servizio IA e dal modello che scegli.
I servizi IA moderni (come ChatGPT, Claude e Gemini) producono traduzioni significativamente migliori rispetto ai servizi tradizionali (Google Translate o DeepL) perché comprendono meglio il contesto, il tono e le sfumature; preservano correttamente la struttura HTML e la formattazione; non traducono in modo errato gli URL o i link relativi; mantengono lo stile di scrittura e la voce in tutte le traduzioni; e gestiscono meglio i termini tecnici e il linguaggio specifico del settore.
Puoi scegliere tra i seguenti servizi IA:
- ChatGPT (OpenAI)
- Claude (Anthropic)
- DeepSeek
- Gemini (Google)
- Mistral AI
- OpenRouter (aggregatore di LLM che offre accesso a tutti i principali modelli, inclusi Grok e Llama)
- LLM self-hosted (ospitato sul tuo server, ad esempio tramite Ollama)
Consigliamo di usare le ultime versioni dei modelli disponibili (ad esempio: ChatGPT 5.2 invece di 5.0), poiché i modelli più recenti forniscono costantemente una migliore qualità di traduzione.
Consiglio da esperto: puoi configurare servizi IA diversi per lingue diverse. Ad esempio, usa DeepSeek per il cinese (qualità eccellente e molto conveniente), ChatGPT per le lingue europee e Claude per i contenuti tecnici complessi. Questo ti consente di ottimizzare sia la qualità sia il costo.
Puoi usare OpenRouter per accedere agli ultimi modelli di IA non appena vengono rilasciati.
Valuta di personalizzare il tuo prompt di traduzione IA
Il prompt di traduzione predefinito funziona bene per la maggior parte dei contenuti, ma personalizzarlo può migliorare la qualità della traduzione per il tuo caso d'uso specifico.
Esempio:
Un blog di viaggi potrebbe personalizzare il proprio prompt aggiungendo quanto segue:
Translate to a natural, flowing, easy-to-read, casual blog-style language. Keep original content structure, meaning, and styling (but do adjust sentence structure and style to be relevant to the target language).
Lightly improve boring parts - Add curiosity triggers, light humor, and light slang (as fits the target language), like a human travel blogger would write.Puoi modificare il prompt predefinito, oppure creare più prompt IA personalizzati e selezionare quale usare nelle Impostazioni:

Verifica i tuoi blocchi Gutenberg
Prima di tradurre, devi identificare quali blocchi stai usando e assicurarti che siano supportati per la traduzione.
Blocchi Gutenberg supportati out of the box:
- Tutti i blocchi core di WordPress: Paragraph, Heading, List, Quote, Image, Gallery, ecc.
- Blocchi di terze parti: blocchi dei plugin Yoast SEO, GenerateBlocks, Kadence, Greenshift, ecc.
Se usi un blocco non supportato che contiene stringhe da tradurre, puoi:
- Aggiungere un'integrazione per tradurre il blocco, oppure
- Sostituirlo con un blocco supportato (ad esempio, sostituire un blocco di testimonianza personalizzato con un'alternativa supportata).
Hai bisogno di aiuto? Possiamo integrare blocchi personalizzati per te. Dai un'occhiata ai nostri Servizi personalizzati se preferisci che siano degli esperti a gestire l'integrazione.
Nota: esistono blocchi che non possono essere tradotti.
Se devi sostituire un blocco non supportato, vorrai trovare tutti gli articoli che lo utilizzano. Consulta il tutorial sulla ricerca degli articoli contenenti un determinato blocco per i metodi per identificare dove vengono usati blocchi specifici.
Verifica i tuoi widget Elementor
Se usi il page builder Elementor, devi verificare quali widget stai usando e assicurarti che siano supportati per la traduzione. Il processo è simile alla verifica dei blocchi Gutenberg, ma specifico per i widget Elementor.
Tutti i widget core di Elementor sono supportati out of the box.
Se hai widget non supportati:
- Aggiungi un'integrazione per tradurre il widget, oppure
- Sostituiscilo con un widget supportato
Verifica i tuoi elementi Bricks
Se usi il page builder Bricks, devi verificare quali elementi stai usando e assicurarti che siano supportati per la traduzione. Il processo è simile alla verifica dei blocchi Gutenberg, ma specifico per gli elementi Bricks.
Tutti gli elementi core di Bricks sono supportati out of the box.
Se hai elementi non supportati:
- Aggiungi un'integrazione per tradurre l'elemento, oppure
- Sostituiscilo con un elemento supportato
Gestire le immagini che contengono testo
Una svista comune nella traduzione dei siti web è dimenticare che le immagini possono contenere testo che potrebbe richiedere una traduzione.
Quando traduci un articolo, le immagini vengono copiate nella versione tradotta, e i metadati delle immagini (titolo, testo alt, didascalia) vengono tradotti, ma qualsiasi testo all'interno di quelle immagini rimane nella lingua originale.
Per verificare le tue immagini, il modo più semplice è impostare la Libreria multimediale di WordPress sul layout a Griglia — questo ti consente di scorrere visivamente tutte le tue immagini con un colpo d'occhio e individuare rapidamente quelle che contengono testo incorporato nella lingua sbagliata.

Ad esempio, questa immagine contiene testo in ebraico, il che la rende inadatta ad altre lingue.

Le tue opzioni:
-
Mantenere il testo incorporato (se la lingua può comunque essere compresa in generale)
- Adatto quando il testo è in una lingua ampiamente compresa o usa simboli/numeri universali
- Nessun lavoro aggiuntivo richiesto
-
Rimuovere il testo dalle immagini
- Usa immagini senza testo incorporato
-
Usare sovrapposizioni di testo invece del testo incorporato
- Usa immagini senza testo incorporato
- Sovrapponi del testo (usando blocchi Gutenberg, widget Elementor, elementi Bricks o CSS) che verrà tradotto automaticamente
-
Creare versioni tradotte delle immagini
- Crea file immagine separati per ogni lingua
- Sostituisci manualmente le immagini negli articoli tradotti
Gestire la traduzione dei dati utente aggiuntivi
Polylang può gestire il campo biografia per i profili utente di WordPress, ma se hai dati utente aggiuntivi memorizzati in custom field (tramite ACF, Meta Box o altri mezzi), avrai bisogno di un approccio speciale.
Se hai dati utente che necessitano di traduzione (ad esempio, titoli professionali, qualifiche, descrizioni, ecc.), dovrai creare campi separati per ogni lingua.
-
Creare campi separati per ogni lingua
- Usando ACF o Meta Box, crea campi come:
Qualification ENQualification FRQualification DE- ecc.
- Usando ACF o Meta Box, crea campi come:
-
Aggiornare il tuo tema per visualizzare il campo corretto
- Modifica i template del tuo tema per verificare la lingua attuale
- Visualizza il campo appropriato in base alla lingua attiva
- Esempio di codice PHP:
$current_lang = pll_current_language(); $qualification = get_field("qualification_{$current_lang}", 'user_' . $user_id); echo $qualification;
-
Popolare i campi manualmente
- Dopo aver tradotto il contenuto, aggiorna manualmente i campi del profilo utente
Saltare la traduzione dei termini che non devono essere tradotti
Alcuni termini non dovrebbero mai essere tradotti — nomi di marchi, nomi propri, termini tecnici o terminologia specifica del settore.
Puoi saltare la traduzione di questi termini aggiungendo istruzioni al tuo prompt personalizzato, ad esempio:
Do not translate the following types of terms:
- Hotel names (e.g., "Grand Hotel", "Beach Resort")
- Restaurant names
- Brand names
- Technical acronyms (API, SEO, CMS, etc.)
Keep these terms exactly as they appear in the original text.Evitare i tag duplicati tra le lingue
Il nostro contenuto può avere tag che rappresentano lo stesso concetto in due lingue diverse. Quando questi tag vengono tradotti, possono creare duplicati o conflitti.
Ad esempio, se hai un sito web cinese tradotto in inglese, e hai sia un tag 布宜诺斯艾利斯 (Buenos Aires in cinese) sia un tag Buenos Aires in inglese, durante la traduzione in inglese entrambi i tag diventano buenos-aires. Questo crea una situazione di tag duplicato.

Come correggere prima di tradurre:
-
Verifica i tuoi tag
- Esamina tutti i tag nella tua lingua di origine
- Identifica i tag che potrebbero essere duplicati di tag in altre lingue
- Cerca i tag che rappresentano lo stesso concetto ma in lingue diverse
-
Consolida i tag
- Scegli una versione di lingua da mantenere (di solito la tua lingua di origine)
- Unisci o rimuovi i tag duplicati
- Aggiorna gli articoli per usare il tag consolidato
-
Fai pulizia prima di tradurre
- Assicurati che il tuo contenuto di origine abbia solo tag nella lingua di origine
- Rimuovi qualsiasi tag nelle lingue di destinazione dal contenuto di origine
- Questo evita i conflitti durante la traduzione
Evitare i nomi di luoghi duplicati tra le lingue
Se il tuo contenuto usa titoli che mescolano script diversi, potresti vedere questo schema: il titolo inizia con un nome di luogo locale, poi lo stesso nome in lettere latine tra parentesi, poi il resto della riga.
Schema di origine tipico (esempio):
- Origine (ad esempio in ebraico):
פוקט (Pouket) - מדריך לאי היפה— nome locale, poi un'ortografia inglese o internazionale tra parentesi, poi il sottotitolo. - Tradotto (ad esempio in inglese):
Pouket (Pouket) - beautiful island guide.
Dopo la traduzione, il titolo è già in una lingua e in uno script, quindi la resa letterale del modello ripete due volte lo stesso nome di luogo (ad esempio Pouket (Pouket)).
Soluzione: affinare il prompt di traduzione
Personalizza il tuo prompt in modo che il modello normalizzi le aperture ridondanti "Nome (StessoNome)" quando la parte tra parentesi non aggiunge alcuna nuova informazione. Ad esempio, aggiungi istruzioni come:
If a heading begins with a place name followed by the same translated name in parentheses, remove the duplicate and keep one natural version. Do not remove the parenthesis if the text inside uses a different script, a different spelling, or includes additional descriptive information.Fai attenzione agli slug dei tuoi tag/categorie
Se gli slug dei tuoi tag o categorie sono già nella lingua di destinazione, potresti pensare che non ci sia nulla da tradurre.

Spesso va bene — ma c'è un problema con Polylang free (non Pro).
Con Polylang Pro, i termini tradotti possono riutilizzare lo stesso slug tra le lingue. Con la versione gratuita, WordPress impone slug univoci a livello generale, quindi lo slug del termine tradotto riceve automaticamente un suffisso -2.
Ad esempio: una categoria con lo slug travels_and_attractions in ebraico, quando tradotta in inglese, diventa travels_and_attractions-2 invece di mantenere lo stesso slug.
Se questo influisce sui tuoi URL o sulla tua SEO, dovrai correggere manualmente gli slug dopo la traduzione, oppure passare a Polylang Pro per consentire il riutilizzo degli slug tra le lingue.
Assicurati che i tuoi embed siano in una lingua accettabile
Se incorpori contenuti di terze parti — come Google Maps, widget dei social media o altri iframe di piattaforme — verifica che l'embed venga visualizzato nella lingua di destinazione.
Ad esempio, un embed di Google Maps configurato per l'ebraico continuerà a mostrare etichette in ebraico, nomi di strade e interfaccia in ebraico anche dopo che hai tradotto il resto della pagina in inglese. In tal caso, potresti voler usare un embed indipendente dalla lingua.

Lo stesso vale per qualsiasi piattaforma o servizio che genera embed specifici di una lingua (ad esempio, i capitoli di YouTube, i widget di recensioni, i form di prenotazione). Verifica sempre ogni embed dopo la traduzione.
Assicurati che non ci sia stile specifico di una lingua nel contenuto di origine
Il contenuto degli articoli scritto per una lingua specifica — in particolare le lingue RTL come l'ebraico o l'arabo — può includere attributi inline di direzione e lingua applicati direttamente agli elementi HTML. Quando quel contenuto viene tradotto in una lingua diversa, quegli stili codificati in modo fisso si propagano e rompono il layout.
Colpevoli comuni nel contenuto di origine RTL:
<div dir="rtl" lang="he">— forza la direzione RTL e marca la lingua come ebraico su un'intera sezione<p dir="rtl">— forza l'allineamento RTL sui singoli paragrafi<h2 style="text-align: right;">— codifica in modo fisso l'allineamento a destra sui titoli
Quando questo contenuto viene tradotto in inglese (o in qualsiasi lingua LTR), il testo diventa inglese ma il layout continua a visualizzarsi da destra a sinistra — con il risultato di titoli disallineati, flusso del testo invertito e formattazione rotta.
Prima di tradurre, verifica il tuo contenuto di origine alla ricerca di questi attributi e rimuovili. Lascia che il tema e le impostazioni di lingua/locale di WordPress controllino globalmente la direzione e l'allineamento, invece di incorporarli nei singoli blocchi di contenuto.
Gestire i template del Theme Builder di Elementor
Se usi il Theme Builder di Elementor per creare template globali (header, footer, template di singolo articolo, template di archivio, ecc.), è importante capire come questi template vengono gestiti durante la traduzione.
Cosa viene tradotto:
- Menu: gli elementi del menu vengono sostituiti con le versioni del menu tradotte
- Contenuto dinamico: il contenuto estratto dagli articoli/dalle pagine viene tradotto (poiché il contenuto di origine è tradotto)
Cosa non viene tradotto:
- Testo codificato in modo fisso: qualsiasi testo aggiunto direttamente al template (non proveniente dal contenuto dinamico) NON viene tradotto
- Testo dei widget: il testo nei widget come titoli, paragrafi, pulsanti, ecc. rimane nella lingua di origine
- HTML personalizzato: qualsiasi blocco HTML personalizzato o di codice rimane non tradotto
Esempio:
Questo template di header Elementor contiene testo codificato in modo fisso ("Our Phone Number:"):

Soluzione:
Progetta i template per usare solo:
- Menu (che vengono sostituiti automaticamente)
- Immagini (che sono indipendenti dalla lingua)
- Contenuto dinamico (che proviene dagli articoli tradotti)
- Evita di aggiungere qualsiasi testo, titolo o descrizione codificati in modo fisso direttamente nei template
Questo garantisce che gli elementi globali del tuo sito (header, footer, ecc.) funzionino correttamente in tutte le lingue.
Configurare Advanced Custom Fields (ACF)
Se usi Advanced Custom Fields (ACF), devi configurare come ogni campo deve essere gestito durante la traduzione. I campi ACF possono contenere vari tipi di contenuto, e ogni tipo può richiedere una gestione diversa.
Nella sezione Gato Translate, i campi ACF possono essere impostati su una di queste opzioni:
-
(Do nothing): il campo viene saltato dalla traduzione o dalla sincronizzazione
-
Translate: il contenuto del campo viene tradotto nella lingua di destinazione
- Da usare per: campi di testo, campi textarea, campi WYSIWYG e qualsiasi campo contenente testo traducibile
-
Copy: il valore del campo viene copiato così com'è nella traduzione (non tradotto)
- Da usare per: numeri, date, checkbox, campi vero/falso e qualsiasi campo che non deve essere tradotto
-
Translate Reference: il campo fa riferimento a un'altra entità (articolo, pagina, utente, ecc.), e il riferimento viene aggiornato per puntare alla versione tradotta
- Da usare per: campi Post Object, Page Link, Relationship, User e Taxonomy

I Field Group possono applicarsi a molto più di articoli e pagine. Possono applicarsi anche a:
- Categorie
- Tag
- Elementi multimediali
- Utenti
- Tassonomie personalizzate
- Custom post type
Assicurati di configurare le impostazioni di traduzione anche per i field group che si applicano a queste entità!
Se usi Polylang Pro, devi anche disabilitare le sue funzionalità di traduzione ACF per consentire a Gato AI Translations di gestire la traduzione al suo posto.
Configurare Meta Box
Se usi Meta Box (un altro popolare plugin di custom field), il processo di configurazione è simile a quello di ACF. Anche i campi Meta Box devono essere configurati per la traduzione, la copia o la traduzione di riferimento.
Nella sezione Gato Translate, i campi Meta Box possono essere impostati su una di queste opzioni:
- (Do nothing): il campo viene saltato dalla traduzione o dalla sincronizzazione
- Translate: il contenuto del campo viene tradotto
- Copy: il valore del campo viene copiato così com'è
- Translate Reference: il riferimento del campo viene aggiornato per puntare all'entità tradotta

Devi anche disabilitare le funzionalità di traduzione Meta Box di Polylang per consentire a Gato AI Translations di gestire la traduzione al suo posto.
Configurare i campi meta personalizzati
Oltre ad ACF, Meta Box e ai plugin SEO, il tuo sito può avere altri campi meta personalizzati provenienti da:
- Codice personalizzato
- Altri plugin
- Custom field di WordPress (il metabox Custom Fields di base)
Questi campi meta devono essere configurati manualmente nelle impostazioni del plugin.
Identificare le meta key personalizzate:
-
Esporta il tuo contenuto
- Vai su Tools > Export in WordPress
- Esporta tutti i tipi di contenuto che intendi tradurre
- Questo crea un file XML con tutto il tuo contenuto e i tuoi metadati
-
Analizza il file di esportazione
- Apri il file XML in un editor di testo
- Cerca i tag
<wp:postmeta> - Elenca tutte le meta key univoche
-
Filtra i campi noti
- Rimuovi i campi ACF (di solito preceduti dal nome del tuo field group)
- Rimuovi i campi Meta Box
- Rimuovi i campi core di WordPress (ad esempio,
_edit_last,_wp_old_slug,_thumbnail_id) - Rimuovi i campi dei plugin SEO (se usi un plugin SEO supportato)
-
Identifica ciò che rimane
- Questi sono i tuoi campi meta personalizzati
- Determina cosa contiene ogni campo e come deve essere gestito
Determinare le esigenze di traduzione:
Per ogni campo meta personalizzato, determina:
- Translate: contiene testo traducibile (titoli, descrizioni, contenuto)
- Copy: contiene dati che non devono essere tradotti (ID, numeri, impostazioni)
- Translate Reference: contiene ID di entità che devono puntare alle versioni tradotte
Configurazione nel plugin:
- Vai alle Impostazioni, sotto la scheda Meta Configuration
- Scegli l'opzione di traduzione (Translate/Copy/Translate Reference)
- Aggiungi i nomi delle meta key personalizzate, usando una corrispondenza esatta o un pattern regex

Eseguire il processo di traduzione
Ora che tutte le preparazioni sono complete, è il momento di eseguire le traduzioni.
Testa prima il processo
Prima di lanciarti nella traduzione dell'intero sito web, è fondamentale testare prima il processo su piccola scala. Questo approccio ti farà risparmiare tempo e impedirà che i problemi vengano replicati in tutto il tuo contenuto.
Ecco il flusso di lavoro di test consigliato:
-
Inizia con un singolo articolo e una sola lingua
- Scegli un articolo rappresentativo che includa vari tipi di contenuto (testo, immagini, link, ecc.)
- Traducilo in una sola lingua di destinazione che comprendi bene
- Valida la traduzione in modo approfondito: controlla ogni blocco, ogni link, ogni immagine e ogni elemento di metadati
- Se scopri un problema (ad esempio, un blocco non è stato tradotto, un link non è stato sostituito, la formattazione si è rotta), correggilo prima di proseguire. Lo stesso problema verrà replicato per tutte le lingue se non lo affronti adesso.
-
Espandi ad alcuni articoli in più
- Una volta che la prima traduzione è perfetta, traduci altri 3-5 articoli nella stessa lingua
- Valida ciascuno di essi in modo approfondito
- Questo ti aiuta a identificare eventuali schemi o problemi ricorrenti
-
Testa con lingue aggiuntive
- Se stai traducendo in più lingue, testa con un'altra lingua per assicurarti che tutto funzioni tra diverse coppie di lingue
-
Solo a quel punto procedi con la traduzione in massa
- Una volta che sei sicuro che tutto funzioni correttamente, puoi procedere a tradurre il resto del tuo sito web
Questo approccio incrementale garantisce che qualsiasi problema di configurazione o di contenuto venga individuato presto, quando è facile da correggere.
Ordine di traduzione
L'ordine in cui traduci i diversi tipi di contenuto è importante, soprattutto quando il contenuto fa riferimento ad altri contenuti.
Traduci il contenuto in questo ordine specifico per evitare problemi di riferimento:
-
Users
- Le descrizioni degli utenti possono essere incluse nei blocchi
-
Taxonomies (Tags/Categories)
- I tag e le categorie (e le tassonomie personalizzate) sono spesso referenziati dagli articoli, quindi devono esistere prima che gli articoli vengano tradotti
-
Media
- Gli elementi multimediali (immagini, video, documenti) sono referenziati dagli articoli come immagini in evidenza o immagini di galleria, quindi traducili prima degli articoli
-
Custom Post Types
- Traduci articoli, pagine e altri CPT
- Importante: se un CPT fa riferimento a un altro, traduci nell'ordine inverso di dipendenza
- Ad esempio: se gli articoli usano Blocchi riutilizzabili, traduci prima i Blocchi riutilizzabili, poi gli Articoli
-
Menus
- Traduci i menu per ultimi, poiché fanno riferimento ad articoli, pagine e categorie
Decidi se tradurre gli slug o no
Tradurre gli slug degli articoli e delle tassonomie nella lingua di destinazione è spesso desiderabile per le lingue a script latino (ad esempio, francese, tedesco, spagnolo): il percorso rimane leggibile e puoi riflettere parole chiave localizzate nell'URL.
Per gli script non latini — ebraico, giapponese, cinese e simili — gli slug localizzati spesso si trasformano in un caos: traslitterazioni goffe, segmenti molto lunghi, codifica percentuale o URL difficili da condividere e confrontare. Molti team mantengono slug latini (o nella lingua di origine) per quelle lingue e si affidano al titolo tradotto per il nome visibile e localizzato.
Tratta la traduzione degli slug come una politica per lingua di destinazione, non come un semplice interruttore on/off per l'intero sito:
- Dividi le lingue in gruppi — ad esempio, "tradurre gli slug" per le destinazioni latine vs "non tradurre gli slug" per cinese, giapponese, ebraico, ecc.
- Esegui lotti di traduzione separati — traduci in massa verso un gruppo con la traduzione degli slug abilitata, poi esegui un altro lotto verso l'altro gruppo con la traduzione degli slug disabilitata.
- Configura ogni lotto tramite Gato Translate (Custom) (trattato sotto Come eseguire le traduzioni qui sotto): disabilita opzioni come Translate custom post slugs? e Translate tag and category slugs? per i lotti in cui vuoi mantenere gli slug invariati. Punta a una politica per esecuzione (ad esempio, una lingua o un gruppo di lingue che condividono la stessa regola) in modo che le impostazioni corrispondano al risultato che ti aspetti.
Per flussi di lavoro scriptati o ripetibili, WP-CLI supporta --translate-slugs=true o --translate-slugs=false per ogni invocazione.
Traduzione in due passaggi
Se hai abilitato la sostituzione dei link interni o la traduzione dei riferimenti tra entità, potresti dover tradurre in due passaggi:
Passaggio 1: tradurre solo le proprietà
- Configura la traduzione per escludere contenuto e meta, ovvero tradurre solo le proprietà (titolo/nome e slug)
- Esegui la traduzione

Dopo l'esecuzione del primo passaggio, gli articoli tradotti verranno creati con i loro URL e ID tradotti, consentendo agli URL dei link interni e agli ID dei riferimenti tra entità di essere risolti nella lingua di destinazione.
Passaggio 2: tradurre solo contenuto e meta
- Configura la traduzione per tradurre solo il contenuto e i meta (ovvero escludere le proprietà)
- Esegui di nuovo la traduzione

Dopo l'esecuzione del secondo passaggio, il contenuto e i meta rimanenti verranno tradotti, e gli URL dei link interni e gli ID dei riferimenti tra entità verranno sostituiti con le versioni tradotte.
Come eseguire le traduzioni
Opzione 1: Amministrazione WordPress (Bulk Actions)
- Vai all'elenco dei contenuti (Articoli, Pagine, Media, ecc.)
- Seleziona gli elementi che vuoi tradurre
- Scegli Gato Translate dal menu a tendina delle bulk actions
- Clicca su Applica

I menu vengono tradotti in modo diverso: vengono tradotti automaticamente quando li salvi nell'editor dei menu.
Alternativa: Gato Translate (Custom)
Per un maggiore controllo, usa Gato Translate (Custom) che ti consente di sovrascrivere le impostazioni per quella specifica esecuzione di traduzione:

Questo apre una pagina di impostazioni personalizzate dove puoi fornire opzioni specifiche per quella esecuzione di traduzione:

Opzione 2: WP-CLI (per lotti di grandi dimensioni)
Per siti web di grandi dimensioni con centinaia o migliaia di elementi, WP-CLI è un'alternativa comoda.
Puoi eseguire le traduzioni in batch tramite la riga di comando, così puoi eseguire le traduzioni in background, mentre lavori su qualcos'altro.

Controllare i log di traduzione
Quando una traduzione fallisce (a causa dell'API che va offline, dell'esaurimento dei crediti API, ecc.) o produce avvisi, vedrai un badge di notifica nel menu del plugin:

Consulta i log di traduzione per capire cosa è successo:
- Vai all'elemento di menu Logs nel menu del plugin
- Esamina eventuali errori o avvisi
- Correggi eventuali problemi prima di continuare


Riavviare le traduzioni fallite
Ogni volta che una traduzione fallisce, puoi riattivare la traduzione solo di quella voce e di quella lingua, ed evitare di spendere crediti API per le traduzioni che hanno avuto successo.
Le traduzioni fallite sono evidenziate con uno sfondo giallo sull'icona di modifica di Polylang:

Puoi filtrare per mostrare solo le voci con traduzioni fallite:

Per ritradurre solo le voci fallite, usa la bulk action Gato Translate (Custom) con l'opzione Process failed translations only:


Validare la qualità e la completezza della traduzione
Dopo aver tradotto il contenuto, è fondamentale validare che le traduzioni siano riuscite e di buona qualità. Non dare per scontato che tutto abbia funzionato perfettamente — prenditi il tempo di verificare.
Validazione nell'editor:
Apri gli articoli tradotti nell'editor di WordPress e controlla:
-
Traduzione del contenuto
- Tutto il testo è tradotto? (non solo il titolo)
- Tutti i blocchi/widget/elementi sono tradotti?
- Controlla i blocchi Gutenberg, i widget Elementor o gli elementi Bricks
- Verifica che la formattazione sia preservata
-
Campi personalizzati
- I campi ACF sono tradotti/copiati/referenziati correttamente?
- I campi Meta Box sono gestiti correttamente?
- I campi meta personalizzati sono configurati correttamente?
-
Metadati SEO
- Controlla che i meta title siano tradotti
- Verifica che le meta description siano tradotte
- Conferma che i tag Open Graph siano tradotti
- Esamina qualsiasi altro campo del plugin SEO
-
Media
- Le immagini in evidenza sono impostate correttamente?
- Le immagini nel contenuto puntano alle versioni tradotte (se applicabile)?
- I testi alt delle immagini sono tradotti?
-
Link
- I link interni puntano alle versioni tradotte?
- I link esterni sono preservati correttamente?
- I link di categorie/tag funzionano?
Validazione sul frontend:
Visualizza gli articoli tradotti nel browser e verifica:
-
Aspetto visivo
- La pagina si visualizza correttamente?
- Il layout è preservato?
- Le immagini si visualizzano correttamente?
- Lo stile è corretto?
-
Applicazione dei template
- Viene usato il template corretto?
- L'header/footer si visualizzano correttamente?
- Le barre laterali/i widget si visualizzano?
- Il menu mostra la versione tradotta?
-
Funzionalità
- Tutti i link funzionano?
- I form funzionano?
- Gli elementi interattivi funzionano?
- La navigazione è corretta?
-
Elementi specifici della lingua
- Per le lingue RTL, il layout è corretto?
- I font vengono visualizzati correttamente?
- La direzione del testo è corretta?
Qualità della traduzione:
La traduzione IA moderna è generalmente molto buona, ma dovresti comunque verificare:
-
Le lingue che comprendi
- Leggi le traduzioni nelle lingue che conosci
- Controlla l'accuratezza, il tono e lo stile
- Verifica che i termini tecnici siano corretti
- Assicurati che la voce del marchio sia mantenuta
-
Le lingue che non comprendi
- Per le lingue che non parli, valuta di assumere un madrelingua per la revisione
- Questo è particolarmente importante per le lingue molto diverse dalla tua (ad esempio, dall'inglese al coreano, al cinese, all'arabo)
- Anche una revisione rapida può individuare problemi importanti
- Una correzione di bozze professionale è consigliata per i contenuti importanti
-
Contenuto specifico del settore
- Il contenuto tecnico può richiedere una revisione da parte di esperti
- Il contenuto legale/medico dovrebbe essere revisionato da professionisti
- Il contenuto di marketing può richiedere aggiustamenti della voce del marchio
Riparare i blocchi "Invalid Content"
Durante la traduzione di grandi blob di HTML che contengono molti tag e attributi, i servizi IA possono talvolta restituire una risposta che rompe l'output del blocco.
Ad esempio, durante la traduzione di un blocco core/paragraph che contiene un blob HTML molto grande usando ChatGPT 5.0 mini, come questo:
<!-- wp:paragraph -->
<p>
Pédagogie:
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">★★★★
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">☆</mark></mark></mark></mark></mark></mark></mark><strong><br></strong>Support :
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">★★★★
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">☆</mark></mark></mark></mark></mark></mark></mark><br>Coûts :
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">★★★★
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">☆</mark></mark></mark></mark></mark></mark></mark><br>Débouchés :
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">★★★★
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">☆</mark></mark></mark></mark></mark>
</p>
<!-- /wp:paragraph -->...la risposta potrebbe introdurre un tag <mark> aggiuntivo che non era presente nel contenuto originale:
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">★★
+<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">
<mark style="background-color:rgba(0, 0, 0, 0)" class="has-inline-color has-luminous-vivid-amber-color">Durante la modifica dell'articolo nell'editor di WordPress, quel blocco potrebbe non visualizzarsi e mostrare invece il messaggio "Block contains unexpected or invalid content":

Cliccare su Attempt recovery risolverà molto probabilmente il problema.
Se possibile, evita di usare blocchi HTML, perché l'intero blob HTML deve essere tradotto come una singola unità.
Usa invece blocchi personalizzati con proprietà, in modo che quelle stringhe traducibili possano essere identificate, estratte e tradotte senza rompere alcuna formattazione.
Risolvere gli errori di dati corrotti
Occasionalmente, potresti incontrare errori durante la traduzione perché il tuo contenuto contiene dati corrotti o obsoleti. Questo accade tipicamente quando:
- Un tipo di articolo supportava in precedenza una funzionalità (come gli articoli padre) ma non lo fa più
- Il contenuto fa riferimento a entità che non esistono più
- Incoerenze nel database derivanti da migrazioni o cambiamenti di plugin
- Relazioni orfane nei custom field
Comprendere l'errore:
Quando vedi un errore come questo nei log:
2025-10-25T03:40:38+00:00 Error [Query "create-missing-translation-media"] Execution with errors: 🔴 Object with ID '26061' (of type 'GenericCustomPost') cannot be loaded. Please check if referencing this ID is stale data (i.e. still stored on the WordPress database, but pointing to a non-existing object) and, if so, remove it or fix it.Questo significa:
- Il contenuto fa riferimento a un'entità (articolo, pagina, media, ecc.) con l'ID 26061
- Quell'entità non esiste più nel database
- Il plugin non può tradurre perché non può risolvere il riferimento
Come correggere:
Metodo 1: Editor WordPress (il più semplice)
- Apri l'articolo/l'elemento che non riesce a essere tradotto
- Identifica il riferimento corrotto (controlla i custom field, le relazioni, ecc.)
- Rimuovi o correggi il riferimento
- Salva l'articolo
- Riprova la traduzione
Metodo 2: Pulizia del database
Se non riesci a correggerlo tramite l'editor:
- Identifica quale campo contiene il riferimento errato
- Usa uno strumento di database o un plugin per rimuovere i dati obsoleti
- Fai attenzione — fai sempre un backup prima di apportare modifiche al database
Metodo 3: Gato GraphQL (avanzato)
Poiché Gato AI Translations for Polylang utilizza Gato GraphQL sotto il cofano, puoi eseguire queries GraphQL per correggere i dati corrotti in modo programmatico:
-
Per prima cosa, recupera gli ID degli elementi con problemi usando una query GraphQL.
-
Poi correggi il problema usando una mutation. Ad esempio, per rimuovere un riferimento padre da un elemento multimediale:
mutation {
updateMediaItem( input: { id: 26066, customPostID: null } ) {
status
errors {
__typename
...on GenericErrorPayload {
message
}
}
}
}Se non riesci a correggerlo:
Se i dati corrotti non possono essere ripuliti, potresti dover:
- Ricreare l'articolo/l'elemento da zero
- Esportare il contenuto, ripulirlo e reimportarlo
- Contattare il supporto per assistenza con i casi complessi
Integrare le voci tradotte nella configurazione
Dopo aver tradotto il tuo contenuto, le voci tradotte appena create potrebbero dover essere integrate nella configurazione del sito web.
Aggiornare gli ACF Field Group
Gli ACF Field Group possono essere assegnati ad articoli, pagine, categorie, tag o altre entità specifiche. Quando traduci il contenuto, anche le versioni tradotte potrebbero dover essere assegnate agli stessi field group.
Dopo la traduzione, aggiorna le assegnazioni dei tuoi ACF Field Group per includere le versioni tradotte:
- Vai all'elemento di menu Field Groups nel menu del plugin ACF
- Modifica il field group che si applica a entità specifiche
- Nelle Location Rules, aggiungi le versioni tradotte
- Salva il field group
Esempio:
Un field group si applica all'articolo specifico "Hello World" nella lingua di origine:

Dopo la traduzione dell'articolo, anche le versioni tradotte ("Hola Mundo" in spagnolo e "你好世界" in cinese) devono essere assegnate allo stesso field group:

È tutto!
Hai ora completato il processo di traduzione. Congratulazioni! 👏
Conclusione
Questa guida completa dovrebbe aiutarti a tradurre con successo il tuo sito web WordPress. Se hai bisogno di maggiori informazioni, consulta la documentazione di Gato AI Translations for Polylang.