Come i motori di ricerca rilevano la lingua dei documenti HTML

Come specificare la lingua di un documento Html

Avete appena scritto un brillante saggio sull’Ulysses di James Joyce – in Lingua Gaelica. Saranno in grado Yahoo!, Google, Microsoft ed Ask di riconoscerlo come Gaelico, come documento ospitato sul vostro dominio inglese co.uk? Forse. Ma, per sicurezza, è possibile fornire ai motori di ricerca qualche suggerimento!

Il segreto consiste nello sfruttare tutte le impostazioni Http e Html per il codice della lingua disponibile per accertarsi che l’identificazione dei tuoi documenti sia corretta. Questo articolo considera aspetti Http e Html di internazionalizzazione dei siti web nell’ottica del posizionamento sui motori di ricerca.

Perché il riconoscimento della lingua è un problema?

I motori di ricerca tentano di associare la lingua di un navigatore (in base al riconoscimento dell’ubicazione fisica – grazie alle tecniche geo ip – o ad una preferenza specificata dall’utente) ai documenti web in modo da mostrare i risultati migliori per una determinata ricerca. In alcuni casi, un utente può chiedere che i risultati siano limitati ad una lingua specifica. Senza indicazioni, i motori di ricerca si servono di alcuni indizi per determinare la lingua umana di un documento:

  • Il dominio del paese del sito
  • Il paese in cui il sito è ospitato
  • La lingua dei documenti collegati al documento stesso
  • Un’analisi di forme ricorrenti nel testo del documento

Ognuno di questi approcci presenta delle contro indicazioni. Vediamo le principali:

Il suffisso del dominio del paese di un sito web: anche se è probabile che un sito con un’estensione .de sia in lingua tedesca, c’è tuttavia la possibilità che una società tedesca abbia pubblicato il contenuto in altre lingue per un pubblico internazionale. Alcuni domini di paese, come il .ch della Svizzera, sono utilizzati da paesi con più lingue ufficiali – in questo caso tedesco, francese, italiano e il romancio.

Ubicazione del server che ospita il sito: molti siti sono fisicamente in luoghi lontani dal pubblico di destinazione, visto che sfruttano servizi di hosting più economici.

La lingua dei documenti collegati: dal momento che Internet è una rete di collegamenti, anche linguistici, è piuttosto comune per delle pagine web citare una fonte autorevole, anche se è in un’altra lingua (inglese, ad esempio).

Analisi di forme ricorrenti di testo (pattern): è probabilmente il metodo più preciso, specialmente per documenti di una certa lunghezza. Anche se i motori di ricerca non rivelano i loro metodi, consideriamo ad esempio l’istruzione perl Lingua::Identify che attualmente riconosce 33 lingue. Lingua::Identify utilizza una insieme di quattro metodi per analizzare il testo; riportiamo nel seguito la documentazione per Lingua::Identify, tradotta dall’inglese:

  1. Tecnica Small Word

    La “Tecnica Small Word” esamina il testo in cerca delle parole più comuni per ogni lingua abilitata. Queste parole sono di solito articoli, pronomi, ecc, che sono di solito le parole più brevi della lingua; da cui il nome del metodo. Per testi estesi si rivela solitamente un buon metodo.

  2. Analisi del prefisso

    Questo metodo analizza il testo alla ricerca dei prefissi comuni di ogni lingua abilitata.

  3. Analisi del suffisso

    Simile all’analisi del prefisso ma invece esegue l’analisi dei suffissi più comuni.

  4. Categorizzazione N-gram

    N-gram è una sequenza di gettoni. Si possono anche immaginare come sillabe, ma spesso sono più ampi poiché comprendono non solo i caratteri, ma anche gli spazi (parole che delimitano o dividono).

    N-gram è un ottimo modo per identificare le lingue, dato che i gettoni più comuni in una lingua non sono generalmente molto comuni nelle altre. Maggiori informazioni su N-gram data sono disponibili presso i laboratori di ricerca di Google

Nonostante tali metodi è possibili con poco sforzo aiutare i motori di ricerca nella scelta.

Opzioni per le intestazioni Http

A livello di web server, lo standard Http prevede l’impostazione Content-Language. Per gli utenti del server Apache, si può utilizzare la sintassi AddHeading, cioè

AddLanguage it .html

per i documenti in italiano. Una politica più raffinata può aggiungere questa intestazione in base ai file e alle cartelle, cioè per i contenuti nella cartella /it/ viene impostata la lingua a it. Per i documenti sotto la cartella /de/ imposta la lingua a de. Per una lista completa dei codici validi vedere ISO 639 Codici di Lingua.

Opzioni per i documenti Html

Ci sono numerose opzioni a livello di documento Html. Basato sull’opzione di intestazione http vista poc’anzi, c’è il meta tag http equiv, cioè

<meta http-equiv="Content-Language" content="it" />

Avvertimento Anche se viene talvolta utilizzata, la seguente istruzione è errata: <meta name=”Content-Language” content=”it” />

Così come per tutti i meta tag http-equiv, il valore Content-Language dovrebbe essere impostato a livello di intestazione http poiché i meta tag http-equiv sono spesso ignorati dai vari utilizzatori delle meta informazioni Internet (tra questi i principali sono browser, cache, robot dei motori di ricerca). Purtroppo non sono così equivalenti come si puoi credere!

La sintassi html consente anche un attributo lang per modificare la maggior parte delle etichette html. Puoi mettere questo al livello del documento, cioè

<html lang="it">

o per xhtml:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">

Questa etichetta può essere applicata anche a blocchi html che sono in altre lingue. Cosicché se un paragrafo è in francese, si può aggiungere solo lang=”fr” all’apertura delle etichettate p:

<p lang="fr">

I link a documenti in altre lingue possono utilizzare l’attributo hreflang aggiunto in html 4.0 per specificare la lingua del documento di destinazione:

<a href=”http://antezeta.it/” hreflang=”it”>Antezeta.it</a>

Consigli da Yahoo!

Finora, i motori di ricerca hanno fornito poche indicazioni su quello che occorre fare per assicurare che la lingua delle pagine di un sito web venga rilevata correttamente. Yahoo! ha recentemente rilasciato la seguente nota:

… analizziamo il contenuto della pagina, il dominio ad alto livello su cui è ospitato il sito, e la lingua e la regione dei documenti associati al sito. Impieghiamo anche l’etichetta http-equiv=”Content-Language” come input importante. Questa etichetta permette di indicare in quale lingua dovrebbe essere una pagina web, ad esempio:

<meta http-equiv="Content-Language" content="en" />

– indica che ci si aspetta che la pagina sia in inglese. Tuttavia, questo non è il nostro solo input e se questo è errato, facciamo del nostro meglio per attribuire la lingua effettiva alla pagina.

Ti potrebbero interessare:

Sono aperte le iscrizioni per il prossimo corso Seo e per il corso Google Analytics. Cosa aspettate?


A proposito di Sean Carlos

Sean Carlos aiuta le aziende nell'ottimizzare i loro risultati di business online. La sua carriera spazia dalla gestione di campagne di telemarketing e direct mailing presso un'organizzazione con più di 10.000 soci ad una significativa esperienza a livello mondiale maturata presso la Hewlett-Packard. Nei primi anni 90 Sean ha sviluppato un applicativo enterprise search, comprensivo di tutte le fasi, dall'indicizzazione alla ricerca dei testi, per il Los Angeles County Museum of Art. Dal 2000 al 2004 Sean è stato IT Manager del sito immobiliare CasaClick.it, parte del gruppo Pirelli. Sean è un docente ufficiale della Digital Analytics Association. È Chairman dello SMX Search and Social Media Conference, 13 & 14 novembre p.v. a Milano. Collabora inoltre con l'Università Bocconi. Nato a Providence, RI, USA, Sean Carlos si è laureato in Fisica. Parla inglese, italiano e tedesco.

1 risposta a "Come specificare la lingua di un documento Html"

Lascia un commento

Avviso: i tuoi commenti sono i benvenuti se sono costruttivi. L'amministratore si riserva la facoltà di cancellare i commenti anonimi, con secondi fini e/o con toni non civili.