Nell’angolo del Seo evidentemente non parlerò di Madrid ma condividerò con gli amici “nerd” riflessioni più tecniche nate dall’esperienza di questo blog.
Il tema del giorno è: come creare – lato Seo e lato esperienza utente – un buon sito (in questo caso, un blog) multilingua? Chiaramente è fondamentale fermarsi un attimo prima di iniziare, per pianificare bene la struttura del sito: dover cambiare cose in corso d’opera sarebbe un vero disastro, mentre una pianificazione rapida ma chiara ti permette di superare l’ostacolo e non doverci pensare più.
La prima decisione in ordine di tempo è stata quella di voler scrivere in italiano e spagnolo, e di voler realizzare due blog differenti (ognuno va per conto suo, non c’è una traduzione per ogni pagina da it a es). Per evitare casini e strani plugin, ho voluto che anche i database e le installazioni WordPress fossero separati.
La seconda decisione è stata quella sull’uso di domini di terzo livello o sottocartelle: meglio it.vidademadrid.com o vitademadrid.com/it ? Non so se lato Seo una opzione prevalga sull’altra ma mi piace di più usare le sottocartelle.
Queste due decisioni sono state molto rapide. Ho dovuto leggere un po’ in giro invece per informarmi sul mio terzo dubbio: cosa mettere nella root del sito? E come – eventualmente – fare il redirect dalla root alla versione nella lingua giusta?
Sui forum le opinioni in merito sono le più disparate.
Prima di tutto ho pensato al lato utente: non voglio che ogni volta l’utente passi dalla hp generale e poi debba scegliere manualmente se andare su it o es. Bisognava scegliere un redirect automatico, ma quale?
Dinamico? Javascript? 301? 302?
Il dilemma è ricaduto sulle due ultime opzioni. Redirect con .htaccess, ma con 301 permanent o 302 temporary? In teoria non si tratta di un redirect temporaneo, ma qualcosa che rimarrà sempre così…
La risposta definitiva l’ho ricavata da questa guida di Google Webmaster Central del 2014, che dice chiaramente
You will either do that by using server-side 302 redirects or by dynamically serving the right HTML content.
Dunque per Google casi di questo tipo vanno gestiti con un redirect 302.
Per la scelta della lingua ho utilizzato HTTP:Accept-Language, rimandando sulla versione spagnola i browser spagnoli, sulla versione italiana quelli italiani. E tutti gli altri, sulla spagnola (saranno comunque abbastanza poliglotti da trovare il link alla versione italiana nel caso volessero raggiungerla).
RewriteCond %{HTTP:Accept-Language} ^es [NC]
RewriteRule ^$ /es/ [L,R=302]
RewriteCond %{HTTP:Accept-Language} ^it [NC]
RewriteRule ^$ /it/ [L,R=302]
#TUTTI GLI ALTRI
#RewriteRule ^$ /es/ [L,R=302]
Per la serie “buono a sapersi” – ho rispettato anche questo altro consiglio di Google:
Remember to use x-default rel-alternate-hreflang annotation on the homepage / generic page even if the latter is a redirect page that is not accessible directly for users.
X-default nella hp invisibile? Fatto!
Quindi niente plugin?
No, niente plugin. Sto limitando il più possibile l’uso dei plugin e li uso solo se mi danno quel qualcosa in più (temo che a lungo andare possano appesantire le pagine).