WordPress: Gestire la SEO multilingue

Vediamo come indicizzare un sito wordpress multilingua grazie all'uso di alcuni plug-in.
WordPress: Gestire la SEO multilingue

Senza l’inglese non si va da nessuna parte!

Al giorno d’oggi la maggior parte dei clienti richiederà di sviluppare un sito tradotto in almeno due lingue diverse, visto che, come ci dicono un po’ tutti, ormai senza l’inglese non si va più da nessuna parte!

Utilizzando WordPress, il problema del sito multilingue è di semplice risoluzione, grazie ai tanti plugin in circolazione che ti permettono di gestire attraverso diverse tipologie di hack, la pubblicazione di testi in tutte le lingue che vogliamo.
Io mi sono sempre servito del buon vecchio qTranslate, uno dei plugin gratuiti più utilizzati da tempo e devo dire che non ho mai avuto grossi problemi.

La faccenda si complica un po’ quando il nostro sito, ormai finito, ha bisogno di essere indicizzato per tutte le lingue che abbiamo deciso di implementare.
Anche in questo caso io mi affido ad un altro plugin molto famoso: SEO by Yoast, con il quale resta molto semplice poter indicizzare ogni pagina con le giuste keywords, munito di un intuitivo semaforo che ti avverte quando l’indicizzazione è stata svolta correttamente.

I problemi arrivano quando passiamo alla seconda lingua: come fare per modificare le traduzioni dei permalink? e a gestire i vari meta in più lingue?

Purtroppo questi due plugin hanno delle piccole falle di compatibilità che non permettono alcune semplici azioni ma non disperatevi: oggi scopriremo insieme come risolverle!

Tradurre i permalink con qTranslate Slug

Grazie a un terzo plugin, qTranslate Slug, sarà possibile aggiungere un nuovo campo nella schermata della modifica delle nostre pagine, proprio accanto al pannello di SEO by Yoast (la disposizione può variare a seconda di come avete personalizzato la pagina). Questo pannello mostrerà due o più input, uno per ogni lingua scelta, all’interno dei quali inserire lo slug, che andrà a modificare il permalink a seconda della lingua scelta dall’utente, di seguito uno screenshot d’esempio:
qtranlate-slug-plugin

Gestire la traduzione dei meta tags

Come potete vedere il primo problema è stato risolto molto velocemente! Il secondo sarà un po’ più complesso perché dovremo mettere mano al codice nativo del plugin SEO by Yoast. Quest’ultimo infatti, crea dei problemi per la trascrizione in più lingue dei meta tags: se infatti proverete ad inserire il meta description in due lingue differenti con gli appositi shortcodes di qTranslate, vi accorgerete che, al momento del salvataggio, questi spariranno.

Per farvi capire meglio: provando a inserire un testo d’esempio nella meta description:

[:en]Meta Description in inglese [:it]Meta Description in italiano

Al momento del salvataggio avrete:

Meta Description in inglese Meta Description in italiano

Non so dirvi come mai gli sviluppatori abbiano adottato questa scelta, ma il pugin SEO by Yoast ha una funzione JavaScript che “pulisce” i valori delle textarea da determinati caratteri, eliminando eventuali tag al momento del salvataggio.

Poco male: ci basterà eliminare (o commentare) le due righe di codice di questa funzione per risolvere anche questo problema.

Per fare ciò, andate a cercare il file al seguente percorso:
wp-content/plugins/wordpress-seo/js/wp-seo-metabox.js

Aprite wp-seo-metabox.js e andate a cercare il seguente codice:

try{
    str = str.replace(/<\/?[^>]+>/gi, '');
    str = str.replace(/\[(.+?)\](.+?\[\/\\1\])?/g, ''); 
} catch (e) {
}
return str;

Vi basterà rimuovere questo try and catch per far sì che il plugin funzioni correttamente anche con il multilingue!

N.B: State attenti ai futuri aggiornamenti del plugin SEO by Yoast: essi potrebbero sovrascrivere il file e dovrete nuovamente seguire questo procedimento. Il mio consiglio è quello di effettuare un backup del plugin prima di aggiornarlo, per poter valutare anche in un secondo momento il da farsi.

Conclusione

Come abbiamo potuto vedere le azioni da svolgere per avere una completa compatibilità con i due plugin non sono molte e nemmeno particolarmente complesse: per il momento io non ho avuto bisogno di effettuare altre modifiche e voi? Che plugin utilizzate per gestire il SEO multilingue dei vostri siti? Avete altri consigli da proporre? Lasciate un commento! 🙂

  • Fausto Giungato

    Meraviglioso! Anch’io sono un fan di qtranslate (tuttavia da patchare con WordPress 3.9) e non conoscevo questa ulteriore “patch” da applicare a Yoast? Grandi!

  • Somesh Valentino

    ciao grazie per l’articolo ho lo stesso problema. una serie di domande:

    1) Come faccio a seguire questo percorso “wp-content/plugins/wordpress-seo/js/wp-seo-metabox.js”? Cosa devo fare letteralmente?

    2) una volta arrivato cosa devo fare esattamente? devo cancellare solo le parole “try” e “catch”? oppure devo rimuovere tutte le righe e se sí, quali esattamente?

    grazie mille in anticipo

    • Marco Evangelista

      1) Apri la cartella di wordpress, da lì apri la cartella wp-content, poi la cartella plugins, poi la cartella wordpress-seo
      poi la cartella js, e finalmente trovi il file wp-seo-metabox.js
      2) Credo si debbano cancellare tutte le stringhe di codice riportate dall’autore dell’articolo e, dunque, tutte e 6 le righe segnalate

  • Io utilizzo transposh invece di qtranslate e devo far lavorare [tp lang=”it” only=”y”]Italiano[/tp][tp lang=”de” only=”y”]Tedesco[/tp] ho cancellato “try” e “catch” ma non mi ha funzionato. La description mi diventa [tp lang="it" only="y"]Italiano[/tp][tp lang="de" only="y"]Tedesco[/tp]”

  • Michele Rallo

    ciao e complimenti per l’articolo azzaccatissimo.
    siamo sul finire del 2015 evidentemente da quando hai scritto l’articolo gli aggiornamenti di seo yoast hanno cambiato qualcosa, al percorso descritto dentro l’ultima cartella js si trovano 2 files “worldpress metabox 302 js ” e ” worldpress meta box 302 min ” all’interno delle quali non ci sono piu’quelle stringhe da rimuovere sopracitate.
    che si fa mo???

Search
Tags
Seleziona rubrica
Seleziona rubrica
Codice Github