Sintesi vocale per siti WPML: cosa funziona davvero
Se gestisci un sito WPML e vuoi che ogni traduzione abbia la sua narrazione nella voce giusta, il plugin che scegli deve fare tre cose correttamente: leggere il post tradotto, generare un file audio separato per ogni lingua e rilevare la lingua attiva nelle chiamate AJAX. La maggior parte dei plugin TTS fallisce almeno su uno di questi punti. Sintesi vocale - TTSWP è stato progettato per gestirli tutti e tre.
Questo articolo è il complemento pratico alla nostra guida su Weglot. L'approccio tecnico è opposto, quindi partiamo spiegando il perché.
WPML archivia le traduzioni come post reali. Weglot no.
WPML e Weglot risolvono il problema del WordPress multilingue in modi molto diversi, e questa differenza determina cosa deve fare un plugin TTS.
WPML crea un record di post separato per ogni traduzione. La versione inglese di un articolo si trova in wp_posts con un determinato ID. La versione spagnola si trova nella stessa tabella con un ID diverso. WPML le collega tramite la tabella icl_translations. Il testo tradotto è testo reale nel database, modificato da un operatore umano o dalla pipeline di traduzione automatica di WPML.
Weglot funziona al contrario. Il database contiene solo il contenuto originale. Le traduzioni vengono prodotte in fase di esecuzione e iniettate nell'HTML prima che la pagina raggiunga il browser. Un plugin che legge da get_post() su un sito Weglot vede sempre e solo la lingua di origine.
Per la sintesi vocale questo cambia tutto. Su WPML, leggere il contenuto del post dal database è corretto: il testo tradotto è già lì. I problemi riguardano quale post legge il plugin, quale lingua ritiene attiva e se archivia uno o più file audio.

I quattro errori tipici dei plugin TTS con WPML
Abbiamo testato diverse configurazioni su un sito WPML multilingue di staging. Gli stessi quattro problemi si ripresentavano sempre. Se il tuo plugin attuale ha uno di questi difetti, l'audio che i tuoi visitatori sentono non è quello che pensi di aver pubblicato.
1. Audio nella lingua sbagliata per via del rilevamento AJAX
È il problema silenzioso più pericoloso. La maggior parte dei player TTS recupera il file audio o l'URL dello stream tramite una richiesta admin-ajax o REST dopo il caricamento della pagina. All'interno di quella richiesta, WordPress ha perso il contesto dell'URL front-end. Il plugin chiede a WPML «in quale lingua siamo?» e riceve una risposta sbagliata.
La causa più comune è la vecchia costante ICL_LANGUAGE_CODE. Viene definita una sola volta all'inizio della richiesta e riflette la lingua rilevata da WPML al bootstrap. Durante una chiamata AJAX avviata da una pagina spagnola, quella costante restituisce spesso la lingua predefinita, non lo spagnolo. Il plugin TTS genera quindi audio in inglese per un articolo in spagnolo, oppure carica un file inglese dalla cache e lo riproduce sotto il player spagnolo.
L'approccio corretto è usare i filtri runtime di WPML. Il filtro wpml_current_language restituisce la lingua attiva nel momento in cui viene invocato. L'hook wpml_post_language_details restituisce la lingua di un post specifico, ed è ancora più affidabile perché collega l'audio all'ID del post anziché allo stato della richiesta.
Come verificarlo come utente: apri un articolo tradotto, premi play e ascolta il primo secondo di audio. Se senti una voce inglese su una pagina non inglese, il plugin sta usando il percorso di rilevamento sbagliato.
2. Un unico file audio condiviso tra tutte le traduzioni
Alcuni plugin generano l'audio quando viene pubblicato il post originale e allegano lo stesso file a tutte le traduzioni. È veloce ed economico, ma è sbagliato. Un lettore spagnolo si ritrova con la narrazione in inglese, o con un accento sintetico che non corrisponde alla pagina che sta leggendo.
Poiché le traduzioni WPML sono post separati con ID separati, il comportamento corretto è generare un nuovo file audio per ogni post tradotto. Ogni file viene archiviato in relazione al proprio ID post e servito solo a quella traduzione. TTSWP segue questo modello e usa l'ID del post, non l'ID originale, come chiave di cache.
3. La stessa voce per tutte le lingue
Un articolo francese letto da una voce addestrata in inglese suona male anche quando le parole sono corrette. Le voci ElevenLabs portano accento e prosodia dai loro dati di addestramento. Una voce addestrata sull'inglese americano leggerà il francese con accento americano, a meno che non si assegni una voce che corrisponda alla lingua di destinazione.
TTSWP permette di associare una voce ElevenLabs a ogni lingua WPML. La traduzione spagnola riceve una voce addestrata sullo spagnolo, quella tedesca una voce tedesca, e così via. Consulta la documentazione sulla mappatura lingua-voce per la configurazione dettagliata.
4. Schema che non dichiara la lingua dell'audio
È il dettaglio AEO che la maggior parte dei plugin ignora. I dati strutturati AudioObject dovrebbero includere una proprietà inLanguage. Il valore dovrebbe essere un tag IETF BCP 47 (es, de, nb-NO) che corrisponde all'hreflang della pagina.
Un valore inLanguage corretto fornisce ai motori di ricerca e agli strumenti AI un segnale chiaro e leggibile dalla macchina sulla lingua dell'audio. Rafforza il segnale hreflang già presente sulla pagina. Quando lo schema manca, o ogni traduzione condivide lo stesso valore solo in inglese, quel segnale scompare e i sistemi sensibili alla lingua non riescono a distinguere le versioni. Tratta l'argomento di come i motori AI gestiscono l'audio nella nostra guida AEO e audio.
Scegliere il modello ElevenLabs giusto per la copertura WPML
ElevenLabs offre diversi modelli, e non tutti coprono le stesse lingue. Se WPML serve una lingua che ElevenLabs non supporta nel modello scelto, non puoi narrare quella traduzione in modo corretto.
La copertura attuale a partire dal 2026:
- Multilingual v2 supporta 29 lingue, tra cui inglese, spagnolo, francese, tedesco, italiano, portoghese, olandese, polacco, svedese, danese, finlandese, turco, arabo, hindi, giapponese, coreano e cinese.
- Flash v2.5 supporta 32 lingue: tutte quelle di v2 più ungherese, norvegese e vietnamita, con una latenza del modello di circa 75 ms.
- Eleven v3 supporta 74 lingue, la copertura più ampia tra tutti i modelli. Ha però un limite che supera i vantaggi delle funzionalità extra: non è pensato per l'uso in tempo reale. ElevenLabs lo dichiara esplicitamente. Il modello è più grande e usa un codec vocale ad alta fedeltà, quindi la generazione richiede più tempo. Per casi d'uso in tempo reale o conversazionali, ElevenLabs raccomanda Flash v2.5.
Per un sito WPML con una traduzione in norvegese, Multilingual v2 non la copre. Flash v2.5 sì. Per un sito che ha bisogno di una lingua supportata solo da v3, si accetta una latenza di generazione maggiore in cambio della copertura. TTSWP instrada ogni lingua verso la voce che scegli, così puoi combinare i modelli secondo le necessità.
Come verificare se il tuo plugin TTS gestisce davvero WPML
Non devi leggere codice per controllarlo. Cinque minuti nel browser ti dicono tutto.
- Cambia lingua. Apri l'articolo originale, poi passa a una traduzione usando il selettore di lingua WPML. Verifica che l'URL cambi (ad esempio in
/es/) e che lo slug del post sia quello tradotto. - Premi play e ascolta. La voce deve corrispondere alla lingua della pagina. Una voce inglese su una pagina spagnola indica che il plugin ha fallito al primo punto.
- Controlla l'URL dell'audio. Fai clic destro sul player, copia la sorgente audio. Confrontala con l'URL audio dell'articolo originale. Se entrambi gli URL sono identici tra le lingue, il plugin condivide un unico file.
- Visualizza il sorgente della pagina e cerca
AudioObject. Cerca il campoinLanguage. Deve corrispondere al codice della lingua della pagina. Se il campo manca o è sempreen, lo schema è sbagliato. - Verifica l'hreflang. L'
inLanguagenell'audio deve corrispondere all'hreflangdella pagina. Le discrepanze creano problemi alla ricerca AI e compromettono le citazioni per lingua.
Esegui questa verifica prima di acquistare qualsiasi cosa. Funziona con qualsiasi plugin TTS, non solo con TTSWP.
Come appare una configurazione WPML TTS corretta
Ecco cosa raccomandiamo su un sito WPML in produzione. Ogni punto corrisponde a uno dei problemi descritti sopra.
| Aspetto | Approccio sbagliato | Approccio corretto |
|---|---|---|
| Lingua in AJAX | Costante ICL_LANGUAGE_CODE | Filtro wpml_current_language o wpml_post_language_details collegato all'ID del post |
| Archiviazione audio | Un unico file condiviso tra tutte le traduzioni | Un file per ogni ID post tradotto, servito da CDN |
| Selezione della voce | La stessa voce per tutte le lingue | Una voce ElevenLabs mappata per ogni lingua WPML |
| Selezione del modello | Modello fisso per tutte le lingue | Scelta per lingua tra Multilingual v2, Flash v2.5 o Eleven v3 |
| Schema | AudioObject assente o solo in inglese | AudioObject con inLanguage corrispondente all'hreflang della pagina |
TTSWP segue la colonna di destra per impostazione predefinita. Il plugin legge direttamente il post tradotto, genera un nuovo file audio per ogni ID post, lo distribuisce tramite CloudFront e produce uno schema AudioObject per lingua. La documentazione sull'integrazione WPML descrive la configurazione passo dopo passo.
Un limite da considerare
L'audio per lingua richiede più caratteri rispetto a un unico file condiviso. Se pubblichi un articolo di 1500 parole e lo traduci in cinque lingue, paghi per cinque generazioni, non una. È il costo della correttezza. Condividere un unico file costerebbe meno, ma l'audio non corrisponderebbe alla pagina. Non consigliamo di sacrificare l'esperienza del lettore per risparmiare crediti, e lo diciamo chiaramente nella documentazione sui crediti.
Se il budget è limitato, genera l'audio solo per le lingue che ricevono traffico reale. Le statistiche per lingua di WPML e i tuoi dati analytics ti diranno quali traduzioni vale la pena narrare.
Domande frequenti
TTSWP supporta WPML senza configurazioni aggiuntive?
Sì. Una volta attivi entrambi i plugin, TTSWP rileva WPML, legge il contenuto del post tradotto per ogni lingua e archivia un file audio separato per ogni traduzione. Assegni una voce per lingua nelle impostazioni di TTSWP, poi pubblichi le traduzioni come al solito. L'audio viene rigenerato quando una traduzione viene aggiornata. Consulta la pagina sull'integrazione WPML per i passaggi di configurazione.
Perché il mio attuale plugin TTS legge tutto in inglese sulle pagine tradotte?
La causa più probabile è la costante deprecata ICL_LANGUAGE_CODE all'interno di una chiamata AJAX. Durante AJAX, quella costante restituisce spesso la lingua predefinita del sito invece di quella attiva, così il plugin genera o serve audio in inglese su pagine in altre lingue. La soluzione è passare al filtro wpml_current_language o leggere la lingua direttamente dall'ID del post.
Posso usare voci ElevenLabs diverse per ogni lingua WPML?
Sì. TTSWP associa una voce ElevenLabs a ogni lingua WPML. Le traduzioni spagnole vengono lette da una voce spagnola, quelle tedesche da una voce tedesca, e così via. Puoi anche scegliere modelli diversi per lingua, il che è importante quando una lingua di destinazione è supportata solo da Flash v2.5 o Eleven v3 e non da Multilingual v2.
Quali lingue copre ElevenLabs per i siti WPML?
Multilingual v2 copre 29 lingue, Flash v2.5 copre 32 (aggiungendo norvegese, ungherese e vietnamita), Eleven v3 copre 74 lingue. Scegli il modello con la copertura più ampia compatibile con il tuo budget di latenza. La maggior parte dei siti WPML ottiene buoni risultati con Multilingual v2 o Flash v2.5. I siti con lingue meno diffuse spostano quelle traduzioni su Eleven v3.
TTSWP genera schema per lingua per la ricerca AI?
Sì. TTSWP produce un AudioObject per ogni post tradotto con un valore inLanguage che corrisponde all'hreflang della pagina. Questo fornisce ai motori di ricerca e agli strumenti AI un segnale chiaro su quale audio appartiene a quale versione linguistica dell'articolo, invece di lasciare ogni traduzione con la stessa etichetta.
Il prossimo passo
Esegui il test in cinque passaggi nel browser sul plugin TTS che usi oggi. Se uno dei punti fallisce, è il problema che devi risolvere prima di aggiungere altre traduzioni. Se vuoi una configurazione che gestisca tutti e cinque i punti senza interventi aggiuntivi, installa Sintesi vocale - TTSWP da WordPress.org, collegalo al backend TTSWP e assegna una voce per ogni lingua WPML. Il plugin fa il resto.
Articoli correlati
I migliori plugin WordPress Text-to-Speech (2026)
Una guida imparziale 2026 ai sette migliori plugin WordPress per la sintesi vocale, con punti di forza, debolezze e una tabella completa di confronto delle funzionalità.
Sintesi vocale per siti WordPress con Weglot: cosa funziona davvero
La maggior parte dei plugin TTS dichiara la compatibilità con Weglot, ma legge dal database anziché dalla traduzione. Ecco cosa richiede un'integrazione Weglot autentica.
Cos'è la sintesi vocale? Una guida in parole semplici
La sintesi vocale trasforma i contenuti scritti in audio parlato. Scopri come funziona, perché è utile e come aggiungerla al tuo sito WordPress.