Documentazione
WBW Translation è un plugin di traduzione basato sull'intelligenza artificiale per WordPress. Estrae tutte le stringhe di testo traducibili di una pagina, le invia in batch a Claude AI o DeepL, reinserisce le traduzioni nell'HTML e salva il risultato in modo permanente in apposite tabelle del database. Le chiamate successive vengono servite direttamente dal DB: 0 ms di tempo di traduzione in fase di esecuzione, metadati SEO completi nella lingua di destinazione (hreflang, Canonical, Open Graph, JSON-LD).
Il plugin è composto da due componenti: il plugin gratuito WBW Translation su wordpress.org e il componente aggiuntivo commerciale opzionale WBW Translation Pro. Il plugin gratuito è pienamente funzionante in modo autonomo. Il componente aggiuntivo aggiunge la gestione delle licenze nell'area amministrativa, una panoramica Multisite e il White-Label branding. Non è necessario.
Funzionamento
- Beim Speichern eines Beitrags hängt der
save_post-Hook eine Übersetzungs-Aufgabe pro Zielsprache in die Queue (Optionwbwtr_trans_queue). - Die Queue wird auf Shutdown angestossen oder via WP-Cron im Hintergrund verarbeitet. Pro Aufgabe wird die komplette gerenderte Seite via Loopback-HTTP geholt (mit Parameter
?=1). Der Extractor zerlegt das HTML, sammelt alle übersetzbaren Strings (Texte plus Attribute wiealt,title,placeholder,value) und schickt sie als Batch an Claude AI oder DeepL. Slugs werden separat per Claude Haiku übersetzt. - Die übersetzten Strings werden zurück ins HTML eingefügt. Das fertige HTML inklusive Metadaten landet in
wp_wbw_translations, der übersetzte URL-Pfad inwp_wbw_url_maps. - Bei einem Aufruf unter
/{lang}/...liefertserve_cached_earlyaufinitPriorität 0 das gespeicherte HTML aus, mit Patches für hreflang, Canonical, Open Graph und JSON-LD.
Requisiti
- WordPress 6.0 o superiore (testato fino alla versione 6.9)
- PHP 7.4 o superiore
- Chiave API: Anthropic (Claude) o DeepL (Free o Pro)
- Consigliato: Object-Cache (Redis, Memcached) per traffico elevato
Installazione
- Plugin gratuito tramite Plugin → Installa → WBW Translation dalla directory dei plugin oppure caricando il file ZIP.
- Attivare. Al primo avvio verrà avviata la procedura guidata di configurazione.
- Sotto WBW Translation → Impostazioni scegliere il motore (Claude o DeepL), inserire la chiave API e attivare le lingue di destinazione.
- Optional: Pro Add-on (
wbw-translation-pro) installieren und unter WBW Translation → License (Pro) inserire la chiave di licenza.
Impostazioni
Motore e API
| Chiave opzione | Descrizione | Predefinito |
|---|---|---|
wbwtr_engine |
claude oder deepl |
claude |
wbwtr_trans_claude_key |
Chiave API Anthropic | — |
wbwtr_trans_claude_model |
Modello Claude (Haiku, Sonnet, Opus) | Opus 4.7 |
wbwtr_deepl_key |
Chiave API DeepL (Free o Pro, rilevamento tramite suffisso) | — |
wbwtr_trans_languages |
Lingue di destinazione attive, array di codici ISO | — |
wbwtr_auto_translate_publish |
Tradurre automaticamente al salvataggio | attivato |
wbwtr_auto_queue_homepage |
Aggiornare automaticamente la homepage una volta al giorno | attivato |
wbwtr_trans_daily_char_limit |
Limite giornaliero di caratteri tradotti (0 = disattivato) | 0 |
wbwtr_exclusion_urls |
URL/percorsi che non vengono tradotti | — |
wbwtr_exclusion_selectors |
Selettori CSS il cui contenuto rimane nell'originale | — |
wbwtr_default_image |
Immagine di riserva per Open Graph quando non è presente un'immagine in evidenza | — |
Selettore lingua
| Chiave opzione | Valori | Predefinito |
|---|---|---|
wbwtr_switcher_style |
dropdown, popup, inline |
dropdown |
wbwtr_switcher_display |
flag_name, flag, name, code |
flag_name |
wbwtr_switcher_flag_style |
emoji, svg |
emoji |
wbwtr_switcher_floating_enabled |
1, 0 |
0 |
wbwtr_switcher_floating_pos |
bottom-right, bottom-left, top-right, top-left |
bottom-right |
wbwtr_auto_redirect |
Redirect anhand Accept-Language beim ersten Besuch |
0 |
Shortcode
Visualizza il selettore lingua. Eredita le impostazioni globali; gli attributi le sovrascrivono per singola istanza.
| Attributo | Valori | Descrizione |
|---|---|---|
style |
dropdown, popup, inline |
Modalità di visualizzazione |
display |
flag_name, flag, name, code |
Ciò che viene mostrato nel trigger |
Selettore lingua nel menu
Im klassischen WordPress-Menu einen «Custom Link» mit der URL #wbw-switcher anlegen. Das Plugin ersetzt diesen Eintrag automatisch mit dem konfigurierten Switcher. Funktioniert auch in Block-basierten Navigation-Blocks.
Funzioni SEO
hreflang
Auf wp_head Priorität 3 wird für jede aktive Zielsprache ein hreflang-Tag ausgegeben, plus x-default auf die Quellsprache.
<link rel="alternate" hreflang="de" href="https://example.com/artikel/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/article/" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/article/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/artikel/" />
Traduzione degli slug e mappe URL
Pro übersetzter Seite wird der Slug per Claude Haiku übersetzt und als Mapping in wp_wbw_url_maps abgelegt. Aufrufe der übersetzten URL werden auf das Original aufgelöst, der Canonical-Tag zeigt auf die übersetzte URL der jeweiligen Sprache.
Riparazione JSON-LD
Das Plugin parst alle <script type="application/ld+json">-Blöcke der Quellseite, übersetzt die textuellen Felder (name, headline, description, articleBody etc.) und ersetzt URLs durch ihre sprach-mappierten Varianten. Schemata wie Article, NewsArticle, BreadcrumbList, Organization, FAQPage, VideoObject, CollectionPage werden unterstützt.
Open Graph
og:title, og:description, og:url und og:locale werden in der Zielsprache ausgegeben. Falls die Quellseite kein Featured Image hat, wird das unter wbwtr_default_image hinterlegte Fallback-Bild gesetzt.
Glossario
Tabelle wp_wbw_glossary. Pro Eintrag: Begriff, Zielsprache (oder * für alle), Aktion und übersetzte Form. Mögliche Aktionen:
translate_as— Begriff in der Zielsprache durch die hinterlegte Übersetzung ersetzen.keep_original— Begriff unverändert lassen (z. B. Markennamen, Produktnamen).
Importazione CSV
Formato con intestazione. Esempio:
term,lang,action,translation
Hobby-Jagd,en,translate_as,recreational hunting
Hobby-Jagd,fr,translate_as,chasse de loisir
Wild beim Wild,*,keep_original,
Strumenti nell'admin
- Coda di elaborazione in blocco (
WBW Translation → Bulk-Queue): Mehrere Posts auf einmal in die Queue schieben. - Migrazione della cache (
WBW Translation → Cache-Migration): Bestehende übersetzte Snapshots in der DB patchen, ohne neu zu übersetzen. Nützlich nach Plugin-Updates oder Theme-Wechseln. - Translation Browser: elenco di tutte le traduzioni in cache con editor inline, eliminazione singola ed eliminazione in blocco per lingua.
- Monitor della coda: Live-Status der Übersetzungs-Queue mit Kill-Switch (Option
wbwtr_queue_killed).
WP-CLI
| Comando | Descrizione |
|---|---|
wp wbwtr refresh-inline-blocks |
Ri-renderizzare i blocchi inline (orologio nella topbar, contatori ecc.) in tutte le cache senza effettuare chiamate API. |
wp wbwtr delete-inactive-languages |
Cache-Einträge löschen, deren Sprache nicht mehr in wbwtr_trans_languages aktiv ist. |
wp wbwtr delete-duplicates |
Duplikate (gleiche post_id + language) entfernen, neuesten Eintrag behalten. |
wp wbwtr delete-orphans |
Cache-Einträge löschen, deren Quell-Post gelöscht, getrasht oder auf Draft zurückgesetzt wurde. Archive (post_id = 0) bleiben erhalten. |
Database
| Tabella | Contenuto |
|---|---|
{prefix}wbw_translations |
Persistente Seiten-Übersetzungen. Felder: language, url_hash, url_path, post_id, html, source_hash, engine, Zeitstempel. |
{prefix}wbw_url_maps |
Mapping source_path ↔ translated_path pro Sprache. Basis für Slug-Übersetzung und Routing. |
{prefix}wbw_glossary |
Voci del glossario con lingua, azione e traduzione. |
Cookie
wbwtr_lang— Sprachpräferenz des Besuchers (30 Tage,SameSite=Lax).wbwtr_lang_redirect— Anti-Loop-Flag für den Browser-Sprache-Redirect (1 Stunde).
Nessun cookie di tracciamento, nessun cookie di terze parti.
Add-on Pro (disponibile separatamente)
Das kommerzielle Add-on wbw-translation-pro aktiviert sich nur, wenn das Free-Plugin installiert und aktiv ist. Es schaltet je nach Lizenz-Tier zusätzliche Funktionen frei und entfernt keine Funktion des Free-Plugins.
Piano Pro (CHF 49 / anno)
- Attivazione della licenza nell'admin sotto WBW Translation → License (Pro).
- Tägliche automatische Lizenz-Validierung via WP-Cron-Hook
wbwtrp_license_daily_check. - Supporto via e-mail prioritario.
Piano Agency (CHF 149 / anno)
Tutto incluso nel piano Pro, più:
- Panoramica Network Admin für WordPress-Multisite. Listet alle Sites mit aktiven Zielsprachen, Anzahl Cache-Einträge und letzter Aktualisierung. Page-Slug
wbwtrp-networkim Network Admin. - Modulo White-Label: Plugin-Name und Logo im Admin überschreibbar via Filter
wbwtr_brand_name,wbwtr_brand_logo_url,wbwtr_brand_logo_visibleoder via Settings unter WBW Translation → White-Label. - Licenza Multi-Site: una licenza utilizzabile su più domini (limite di attivazione configurato sul server delle licenze).
Server delle licenze
Das Add-on kontaktiert https://wildbeimwild.com/wp-json/wbw-licenses/v1/ für drei Operationen:
POST /activatebeim Eintragen des SchlüsselsPOST /deactivatebeim EntfernenPOST /validateeinmal täglich via WP-Cron
Vengono trasmessi esclusivamente la chiave di licenza e l'URL del sito. Nessun contenuto, nessun dato dei visitatori.
Filter hook per sviluppatori
| Hook | Scopo |
|---|---|
wbwtr_brand_name |
Nome del plugin visualizzato (menu admin, intestazione). |
wbwtr_brand_logo_url |
URL del logo nell'admin. |
wbwtr_brand_logo_visible |
Mostrare o nascondere il logo (booleano). |
wbwtr_seo_canonical_url |
Manipolare l'URL canonical della pagina corrente. |
wbwtr_full_page_kses_allowed_html |
Allowlist für wp_kses() beim Ausliefern gecachter Seiten erweitern. |
Domande frequenti
Quante lingue sono supportate?
Il plugin fornisce 64 lingue con codice ISO, nome ed emoji della bandiera. I limiti del motore si applicano indipendentemente: Claude AI comprende praticamente qualsiasi lingua sufficientemente rappresentata nei dati di addestramento, DeepL attualmente 33+ lingue.
Cosa succede quando si cambia motore?
Bestehende Übersetzungen bleiben unverändert. Die Spalte engine in wp_wbw_translations hält fest, mit welcher Engine ein Eintrag erstellt wurde. Neue Übersetzungen verwenden die aktuelle Einstellung. Wer alte Einträge mit einer anderen Engine ersetzen will, kann sie via Translation Browser löschen und in die Queue schieben.
WooCommerce è supportato?
Le pagine prodotto, le categorie e il negozio vengono trattati e tradotti come normali post. Le aree dinamiche come il carrello, il modulo di checkout e le e-mail degli ordini non vengono tradotte dal plugin non. Per questo è necessario un plugin di traduzione dedicato per WooCommerce.
Come si comporta il plugin con Yoast o Rank Math?
Das Plugin schreibt sein eigenes hreflang, canonical, Open Graph und JSON-LD für übersetzte Seiten. Auf der Quellsprache stören sich Yoast/Rank Math und WBW Translation nicht: SEO-Plugins schreiben das Quell-Markup, WBW Translation macht erst dort etwas, wo eine übersetzte URL aufgerufen wird.
Cosa succede quando viene raggiunto il limite dell'API?
Bei einem Fehler von Anthropic oder DeepL bleibt der Eintrag in der Queue. Der nächste Cron-Lauf oder Worker-Aufruf versucht es erneut. Per wbwtr_trans_daily_char_limit kann ein eigenes Tageslimit gesetzt werden, das die Queue pausiert, bevor das API-Kontingent ausgeschöpft ist.
Come posso escludere singole aree dalla traduzione?
Drei Wege: in den Einstellungen unter wbwtr_exclusion_urls einzelne Pfade ausschliessen, unter wbwtr_exclusion_selectors per CSS-Selektor Inhalts-Bereiche markieren (das Plugin lässt diese DOM-Knoten unverändert), oder im HTML das Attribut translate="no" bzw. die Klasse notranslate setzen.
Documentazione · Servizi
Aggiornamento: aprile 2026. Plugin gratuito v1.0.2, Pro Add-on v1.1.1.
