I meta tag, o tag meta, sono metadati utilizzabili nell'HTML per veicolare informazioni aggiuntive correlate alla pagina web che ne fa uso. Sono in genere analizzati e utilizzati per mezzo di sistemi automatici (come i browser o i motori di ricerca), che li possono elaborare per fornire servizi o funzionalità specifiche.
A differenza di molti altri tag, i tag meta non forniscono al browser informazioni strettamente legate alla formattazione della pagina, non influendo sulla impaginazione grafica. A meno che non elaborati appositamente, sono generalmente invisibili all'utente, se non attraverso la visualizzazione del codice sorgente della pagina oppure tramite le finestre di proprietà dei browser.
I tag meta, non essendo formalmente codificati, possono essere utilizzati a discrezione del webmaster secondo le proprie necessità. Gli unici elementi richiesti dalla grammatica formale sono l'utilizzo di un attributo "name" e di un attributo "content".
La nascita dei tag meta è originariamente dovuta alla necessità di fornire un supporto ai motori di ricerca per una corretta indicizzazione dei siti e delle pagine, quando ancora non esistevano algoritmi avanzati in grado di analizzare il testo della pagina e basarsi su variabili più complesse.
Per motivi di potenza di calcolo e memoria, infatti, i crawler utilizzati dai motori di ricerca si limitavano a raccogliere e analizzare le prime stringhe di testo della pagina. Per questo motivo i webmaster inserivano nelle intestazioni della pagina dei tag appositamente destinati a contenere metadati che riassumessero l'intero contenuto della pagina. Tale aiuto fornito dai webmaster, però, lasciava ampio spazio a comportamenti opportunistici volti a sviare il corretto funzionamento del motore di ricerca, nel tentativo di apparire in un maggior numero di ricerche. Ciò era possibile inserendo fra i metadati informazioni non pertinenti ai contenuti della pagina, ma legati ad altri argomenti di interesse cercati dagli utenti.
Ben presto, però, il superamento delle limitazioni tecniche e la raffinazione degli algoritmi, sempre più sofisticati, permisero di aggirare l'uso improprio dei tag meta, orientando l'analisi delle pagine sui testi, sui contenuti, sul numero di link entranti nel sito, il numero di click ricevuti e numerose altre variabili.
Ciò ha portato al superamento dei tag meta tra gli elementi utili per il posizionamento, sebbene non sia ancora scomparsa la leggenda metropolitana secondo la quale essi possano fornire contributi significativi nei risultati dei motori di ricerca.[1]. Il tag meta "keywords", per esempio, è tra quelli ufficialmente non riconosciuti da Google,[2] che ne analizza altri per scopi tecnici non correlati alla posizione nelle pagine dei risultati.
La struttura dei tag meta è relativamente semplice e duttile, prevedendo due soli attributi:
<meta name="proprietà" content="valore" />
I primi quindi richiamati da una specifica parola, i secondi invece sono variabili e contestuali al sito o alla pagina cui fanno riferimento. Anche l'attributo name può essere scelto in modo variabile, ma solo quelli più diffusi sono riconosciuti dai sistemi di analisi standardizzati.
Esiste anche un attributo, chiamato http-equiv, che unito all'attributo content fornisce al browser degli header http. Alcuni esempi sono:
<meta http-equiv="refresh" content="5" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
Che rispettivamente aggiornano la pagina ogni 5 secondi e forniscono informazioni al browser circa il contenuto e la codifica della pagina.
Non è specificato un tag meta per indicare la data di creazione e ultimo aggiornamento della pagina.
Il metadato description
è destinato a contenere una breve descrizione dei contenuti della pagina. Può essere utilizzato, a discrezione del motore di ricerca, come testo riassuntivo nella pagina dei risultati. Diversamente che agli albori di Internet, non ha effetti sul posizionamento.[3].
Il metadato keywords
aveva lo scopo di contenere una serie di parole chiave rappresentative del contenuto della pagina indirizzate prevalentemente ai motori di ricerca per l'individuazione dell'argomento trattato. L'abuso di tali tag decretò la fine del loro utilizzo. Il maggiore motore di ricerca, Google, non lo elenca tra i tag riconosciuti.[2] È tuttavia opinione comune che i motori di ricerca analizzino ancora in modo subordinato tale tag per verificare la presenza di parole fuorvianti non presenti all'interno del testo della pagina, penalizzando tali comportamenti scorretti.
Il contenuto dell'attributo content
è quindi una lista di parole. Su come tali termini vadano separati, per esempio con virgole o con spazi, non esistono pareri unanimi. Non tutti i motori considerano le virgole come dei separatori, per questo motivo si adotta spesso la soluzione di usare una virgola seguita da uno spazio.
Il tag meta robots
è indirizzato esclusivamente agli spider, fornendo due tipologie distinte di direttive: se indicizzare o meno la pagina, o se seguire o meno i collegamenti dalla pagina in questione verso altre; l'attributo content, quindi, contiene determinate variabili:
I due tipi di direttive possono essere liberamente abbinati secondo le esigenze del webmaster:
... content="index,follow"
la disposizione è ininfluente, ma non possono contenere indicazioni contrastanti. Se il tag meta "robots" non è inserito, gli spider agiscono di default come se fossero indicati index e follow, la cui combinazione può essere indicata anche con il valore all, così come none deseleziona entrambe le possibilità.[4]
È facoltà del motore di ricerca seguire queste indicazioni,[4] sebbene la netiquette lo preveda.
A questi tag iniziali si aggiungono:
I motori di ricerca Google, Yahoo! e MSN usano in alcuni casi il titolo e l'abstract dell'elenco DMOZ (aka Open Directory Project) di un sito web per il titolo e/o la descrizione (chiamato anche snippet o abstract) nelle pagine dei risultati dei motori di ricerca (SERP). Per offrire ai webmaster la possibilità di specificare che il contenuto di Open Directory Project non deve essere utilizzato per gli elenchi del loro sito Web, Microsoft ha introdotto nel maggio 2006 il nuovo NOODP
valore " " per l' robots
elemento " " dei metatag. Google seguì nel luglio 2006[5] e Yahoo! nell'ottobre 2006[6].
La sintassi è la stessa per tutti i motori di ricerca che supportano il tag.
< meta name = "robots" content = "noodp" >
I webmaster possono decidere se desiderano non consentire l'uso del loro elenco ODP in base al motore di ricerca
< meta name = "googlebot" content = "noodp" >
< meta name = "Slurp" content = "noodp" >
MSN e Live Search (tramite bingbot , in precedenza msnbot):
< meta name = "bingbot" content = "noodp" >
Yahoo! inserisce contenuti dal proprio Yahoo! directory accanto all'elenco ODP. Nel 2007 hanno introdotto un meta tag che consente ai web designer di rinunciarvi[3].
L'aggiunta del NOYDIR
tag a una pagina impedirà a Yahoo! dalla visualizzazione di Yahoo! Titoli di directory e abstract.
< meta name = "robots" content = "noydir" > < meta name = "Slurp" content = "noydir" >
Yahoo! anche introdotta nel maggio 2007, il valore di attributo: class="robots-nocontent"
.[7]Questo non è un meta tag, ma un attributo e un valore, che può essere utilizzato nei tag delle pagine Web dove necessario. Il contenuto della pagina in cui viene utilizzato questo attributo verrà ignorato da Yahoo! crawler e non inclusi nell'indice del motore di ricerca.
Esempi per l'utilizzo del robots-nocontent
tag:
< div class = "robots-nocontent" > contenuti esclusi </ div > < span class = "robots-nocontent" > contenuti esclusi </ span > < p class = "robots-nocontent" > contenuti esclusi </ p >
language
L'attributo language
indica ai motori di ricerca in quale lingua naturale è scritto il sito web (ad es. Inglese, spagnolo o francese), al contrario del linguaggio di codifica (ad es. HTML). Normalmente è un tag di lingua IETF per il nome della lingua. È particolarmente utile quando un sito web è scritto in più lingue e può essere incluso in ogni pagina per indicare ai motori di ricerca in quale lingua è scritta una determinata pagina[3]. L'utente possono (e fanno) utilizzare le informazioni sulla lingua per selezionare i caratteri appropriati per la lingua, il che migliora l'esperienza utente complessiva della pagina[8].
< link rel = "alternate" hreflang = "en-US" href = "http://example.com/page.html"
en
fr
be
fr-CA
en-CA
en-US
Le variazioni dello script di lingua possono essere indirizzate direttamente utilizzando ISO 15924.
Esempi
zh-Hant: Chinese (Traditional)
zh-Hans: Chinese (Simplified)
Meta refresh è un metodo per istruire un browser web ad aggiornare automaticamente la pagina web o il frame corrente dopo un dato intervallo di tempo, utilizzando un elemento HTML con il parametro impostato su " " e un parametro che fornisce l'intervallo di tempo in secondi. È anche possibile istruire il browser a recuperare un URL diverso quando la pagina viene aggiornata, includendo l'URL alternativo nel parametro. Impostando l'intervallo di tempo di aggiornamento su zero (o un valore molto basso), il meta refresh può essere utilizzato come metodo di reindirizzamento URL . metahttp-equivrefreshcontentcontent.
Esempio:
< meta http-equiv = "refresh" content = "0; url = https: //example.com/" >
I tag meta refresh presentano alcuni inconvenienti:
Reindirizzamento:
< body onload = "window.location = 'http://example.com/'" >
<! - contenuti ->
</ body >
Aggiornamenti:
< a href = "javascript: location.reload (true)" > Aggiorna la pagina </ a >
Definisce un tempo di scadenza per le informazioni HTML caricate[10]:
<meta http-equiv="expires" content="tempo di scadenza in secondi"/>
<meta http-equiv="expires" content="0"/>
<meta http-equiv="expires" content="43200"/>
<meta http-equiv="expires" content="Sat, 07 Feb 2016 00:00:00 GMT"/>
I tag meta possono essere utilizzati a discrezione del webmaster per propri utilizzi. L'unico elemento necessario per la grammatica formale è l'utilizzo di un attributo "name" e un attributo "content".
Tra gli altri tag meta diffusi vi sono[11]:
<meta name="author" content="nome dell’autore " />
<meta name ="copyright" content="proprietario del sito " />
<meta charset="UTF-8">
<meta name="author" content="John Doe">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Google non utilizza parole chiave HTML o elementi meta tag per l'indicizzazione. Il direttore della ricerca di Google, Monika Henzinger, è stato citato (nel 2002) come dicendo: "Attualmente non ci fidiamo dei metadati perché abbiamo paura di essere manipolati".[12]Altri motori di ricerca hanno sviluppato tecniche per penalizzare i siti Web considerati "frodi al sistema". Ad esempio, un sito Web che ripete più volte la stessa meta parola chiave potrebbe subire una diminuzione del posizionamento da parte di un motore di ricerca che tenta di eliminare questa pratica, sebbene ciò sia improbabile. È più probabile che un motore di ricerca ignori completamente l'elemento meta parola chiave e la maggior parte lo fa indipendentemente dal numero di parole utilizzate nell'elemento.
Google, tuttavia, utilizza elementi meta tag per la visualizzazione dei link al sito. I tag del titolo vengono utilizzati per creare il collegamento nei risultati di ricerca:
< titolo > Nome sito - Titolo pagina - Descrizione parola chiave </ titolo >
La meta descrizione appare spesso nei risultati di ricerca di Google per descrivere il collegamento:
< meta name = "description" content = "Un blurb per descrivere il contenuto della pagina viene visualizzato qui" >
Inoltre, la startup di ricerca aziendale Swiftype considera i meta tag come un meccanismo per segnalare la pertinenza per i motori di ricerca del proprio sito web, introducendo anche la propria estensione chiamata Meta Tag 2[13].
Gli elementi Meta refresh possono essere utilizzati per indicare a un browser Web di aggiornare automaticamente una pagina Web dopo un determinato intervallo di tempo. È anche possibile specificare un URL alternativo e utilizzare questa tecnica per reindirizzare l'utente a una posizione diversa[14]. L'aggiornamento automatico tramite un elemento META è stato deprecato per più di dieci anni[14]e prima ancora riconosciuto come problematico[14].
Il W3C suggerisce che i programmi utente dovrebbero consentire agli utenti di disabilitarlo, altrimenti l'aggiornamento META non dovrebbe essere utilizzato dalle pagine web. Per le impostazioni di sicurezza di Internet Explorer (ora obsoleto in favore di Microsoft Edge), nella categoria "Varie", il meta refresh può essere disattivato dall'utente, disabilitando così la sua capacità di reindirizzamento. In Mozilla Firefox può essere disabilitato nel file di configurazione con il nome della chiave "accessibility.blockautorefresh"[15].
Molti tutorial sul web design sottolineano anche che il reindirizzamento lato client tende a interferire con il normale funzionamento del pulsante "Indietro" di un browser web. Dopo essere stato reindirizzato, facendo clic sul pulsante Indietro l'utente tornerà alla pagina di reindirizzamento, che lo reindirizza nuovamente.
I reindirizzamenti automatici tramite markup (rispetto ai reindirizzamenti lato server) non sono conformi alle W3C - Web Content Accessibility Guidelines (WCAG) 1.0 (linea guida 7.5)[16].
I meta elementi del modulo <meta http-equiv="foo" content="bar">
possono essere usati come alternative alle intestazioni HTTP. Ad esempio, <meta http-equiv="expires" content="Wed, 21 June 2006 14:25:27 GMT">
indica al browser che la pagina "scade" il 21 giugno 2006 alle 14:25:27 GMT e che può memorizzare la pagina in modo sicuro fino a quel momento. La specifica HTML 4.01 facoltativamente consente a questo tag di essere analizzato dai server HTTP e impostato come parte delle intestazioni di risposta HTTP, ma nessun server web attualmente implementa questo comportamento[17]. Invece, il programma utente emula il comportamento di alcune intestazioni HTTP come se fossero state inviate nell'intestazione della risposta stessa.
Alcuni elementi e attributi HTML gestiscono già determinati pezzi di metadati e possono essere utilizzati dagli autori al posto di META per specificare quei pezzi: l'elemento TITLE, l'elemento ADDRESS, gli elementi INS e DEL, l'attributo "title e" l'attributo "cite"[18].
Un'alternativa aglimeta
elementi per un migliore accesso ai soggetti all'interno di un sito web è l'uso di un indice in stile back-of-book per il sito web. Vedere il sito Web dell'American Society of Indexers per un esempio.
Nel 1994 ALIWEB utilizzò anche un file indice per fornire il tipo di informazioni che si trovano comunemente negli attributi delle meta parole chiave.
Nei casi in cui il valore dell'attributo di contenuto è un URL, molti autori decidono di utilizzare un elemento link con un valore appropriato anche per il suo attributo rel[18]..