- Le META tag: Content-Type, Description, Keywords, Robots e DC -
 
COSA SERVE PER QUESTO TUTORIAL
Chiedi sul FORUM | Glossario cognizioni basiche di un qualsiasi linguaggio .Net
META tag: cosa sono e come usarle

I META TAG: COSA SONO E A COSA SERVONO
Primi concetti a riguardi dell'elemento META.

In questo articolo ci poniamo l'obiettivo di fornire una rapida panoramica sulle META-tag, il loro funzionamento e la loro utilità. Gli elementi META vanno posti negli header della pagina e offrono, come suggerisce il nome, meta-informazioni sul documento, quali dati sull'autore, le parole chiave e altre informazioni più tecniche come la codifica. Sono utili per fini di indicizzazione da parte dei motori di ricerca o anche solo per l'utente per poter fruire al meglio la pagina. Ad esempio:

<html>
    <head>
        <title>Documento di esempio</title>
        <meta name="Keywords" content="documento esempio">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
    <body>
        Corpo.
    </body>
</html>

Prima di vedere in dettaglio il significato dei singoli elementi META facciamo chiarezza sugli attributi che esso permette. Per specificare il valore del META-tag si usa l'attributo content, non sono previste alternative, ad esempio talvolta si vede usare l'attributo "value" ma questo non appartiene allo standard HTML (né a nessun altro standard) e pertanto non va usato. Opzionalmente si può specificare un attributo lang per associare il META tag corrente ad una lingua specificata, se ve ne sono più d'una dello stesso tipo ma in lingue differenti.
Un elemento META può poi essere di due tipi: o una meta-informazione generica oppure una del protocollo HTTP. Le prime si specificano servendosi dell'attributo name, mentre le seconde tramite http-equiv. I META http-equiv vengono utilizzati dal browser come se fossero intestazioni HTTP (per ulteriori dettagli rimandiamo all'articolo sul protocollo HTTP) e sono quindi regolate da uno standard ben preciso. Non ha senso utilizzare META http-equiv per l'autore  in quanto lo standard HTTP non definisce alcun header di quel tipo. Definisce però ad esempio l'header Content-Type che permette di specificare la codifica da utilizzare e il MIME type della pagina restituita.

I META TAG HTTP-EQUIV
Come fornire intestazioni HTTP tramite i META tag.

Prima di tutto: perché utilizzare i META http-equiv per specificare informazioni che dovrebbero competere ad HTTP invece che al documento stesso? Le ragioni possono essere molteplici ma la più semplice è che non si ha modo di impostare gli header HTTP manualmente (se ad esempio si sta utilizzando un hosting che non supporta linguaggi lato server come ASP .Net o PHP), oppure perché la pagina in questo modo diviene maggiormente auto-descrittiva, ovvero anche se consultata off-line (ad esempio se viene salvata dall'utente) conterrà comunque informazioni che altrimenti sarebbero disponibili solamente effettuando una richiesta al server d'origine. Si badi tuttavia che in generale se un header HTTP è già stato inviato avrà precedenza su quelli specificati tramite META. I META http-equiv più frequenti sono:

  • Content-Type: permette di specificare il MIME-type del documento (per le pagine HTML text/html, o application/xml+xhtml per XHML) ma soprattutto in questo caso ci interessa la possibilità di specificare la codifica utilizzata tramite il parametro charset (si veda l'esempio di seguito);
  • Content-Language: permette di specificare la lingua, ad esempio "it-IT", "en-UK", "en-US" o anche solo "it" o "en";
  • Set-Cookie: permette di impostare un cookie tramite HTML, che poi può essere in seguito utilizzato anche tramite JavaScript (senza coinvolgere linguaggi lato server);
  • Expires: permette impostare una data di scadenza del documento dopo la quale andrebbe rieffettuata la richiesta allo stesso;
  • Date: permette di specificare l'ora e la data in cui la pagina è stata generata;
  • Refresh: permette di specificare una redirezione ad un altro URL specificando anche un tempo di attesa; questa in realtà non è un'intestazione standard HTTP ma praticamente tutti i browser la supportano; il valore di questa META deve essere specificato in maniera simile a "10;URL=http://www.arcadiaclub.com/", dove 10 sono il numero di secondi e l'URL dopo "URL=" è l'indirizzo di destinazione;
  • PICS-Label: permette di specificare informazioni PICS (Platform for Internet Content Selection), ovvero di associare alla pagina informazioni sui contenuti; il loro principale utilizzo è quello di classificare siti con contenuti espliciti di violenza, nudo e così via;
  • Pragma: il suo unico valore no-cache istruisce il browser di non salvare una copia cache del documento (definito in HTTP 1.0);
  • Cache-Control: equivalente a Pragma ma definito in HTTP 1.1;

Si noti che le date vanno specificate secondo quanto specificato dall'RFC 1123 e devono essere riferite all'ora di Greenwich (GMT), ad esempio "Mon, 25 Feb 2008 09:28:43 GMT".
Vediamo alcuni esempi di META http-equiv:


<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="it">
<meta http-equiv="Date" content="Mon, 25 Feb 2008 09:28:43 GMT">
<meta http-equiv="Expires" content="Mon, 25 Feb 2008 23:59:59 GMT">
<meta http-equiv="Refresh" content="5;URL=http://www.arcadiaclub.com/">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="PICS-Label" content='
 (PICS-1.1 "http://www.gcf.org/v2.5"
    labels on "1994.11.05T08:15-0500"
      until "1995.12.31T23:59-0000"
      for "http://w3.org/PICS/Overview.html"
    ratings (suds 0.5 density 0 color/hue 1))
 '>

META INFORMAZIONI GENERICHE
Meta-informazioni per motori di ricerca, sul documento e sui suoi autori.

Passiamo ora a considerare le meta-informazioni generiche che si specificano tramite l'attributo name:

  • Author: l'autore del documento, con opzionalmente l'indirizzo e-mail;
  • Copyright: informazioni sui diritti di riproduzione della pagina corrente;
  • Generator: software tramite il quale la pagina è stata creata (potrebbe ad esempio essere Expression Web, Dreamweaver, Notepad++ e così via);
  • Language: lingua della pagina, meglio utilizzare gli appositi attributi di HTML o il META http-equiv Content-Language;
  • E-Mail: indirizzo e-mail di contatto, meglio utilizzare Author specificando l'indirizzo e-mail;
  • Keywords: parole chiave che identificano la pagina, utili per i motori di ricerca;
  • Description: una descrizione del contenuto della pagina, utilizzata molto dai motori di ricerca;

Come si può vedere queste META-tag, eccetto le ultime due usate dai motori di ricerca, sono molto generiche e non standardizzate, per questo molti adottano lo standard Dublin Core per specificare meta-informazioni di questo tipo. Esso consiste in una serie di 15 meta-informazioni (tutte opzionali e ripetibili):

  • DC.Title: il titolo del documento;
  • DC.Subject: argomento o parole chiave;
  • DC.Description: una descrizione di cosa si parlerà nel documento;
  • DC.Type: il tipo di risorsa contenuto, ad esempio "Sound", "Image", "Text" e molti altri;
  • DC.Source: fonte del documento corrente;
  • DC.Relation: un riferimento ad una risorsa connessa con quella corrente;
  • DC.Coverage: indica un riferimento spaziale o temporale di cui si occupa la risorsa;
  • DC.Creator: l'autore del documento corrente;
  • DC.Publisher: l'editore del contenuto;
  • DC.Contributor: una persona o entità che ha contribuito alla risorsa;
  • DC.Date: data di creazione della risorsa in formato YYYY-MM-DD (o anche solamente mese e anno o solo anno);
  • DC.Format: tipo MIME, dimensioni o durata della risorsa;
  • DC.Identifier: un identificatore univoco della risorsa come potrebbe essere un URL o un codice ISBN;
  • DC.Language: la lingua utilizzata, preferibilmente in formato a due o tre lettere ("en", "eng", "it-IT");
  • DC.Rights: informazioni sui diritti d'autore, anche tramite un URL;

Per ulteriori informazioni o dettagli su Dublin Core rimandiamo alle specifiche ufficiali.

Un ultima nota va fatta per i META Robots, ovvero un particolare META-tag che permette di dare indicazioni ai motori di ricerca su come comportarsi con la pagina corrente. Il suo contenuto può essere la combinazione di uno o più dei seguenti valori:

  • NONE: ignorare completamente la pagina;
  • NOINDEX: non include nei risultati di ricerca questa pagina (non impedisce l'indicizzazione delle pagine a cui è collegato);
  • NOFOLLOW: non proseguire nell'indicizzazione con i link contenuti in questa pagina;

Vi sono altri valori come INDEX, FOLLOW, ALL ma sono sostanzialmente inutili e poco supportati.
Vediamo una serie di esempi di META che usano l'attributo name:


<meta name="Author" content="Mario Rossi">
<meta name="Generator" content="Notepad++">
<meta name="Copyright" content="© ArcadiA Club (1998-2010)">
<meta name="Language" content="it-IT">
<meta name="E-Mail" content="indirizzo@email.com">
<meta name="Keywords" content="meta tag elemento http-equiv">
<meta name="Description" content="Un articolo che spiega come servirsi correttamente delle META-tag.">
<meta name="DC.Description" content="Un articolo che spiega come servirsi correttamente delle META-tag.">
<meta name="DC.Creator" content="ArcadiA Club">
<meta name="DC.Subject" content="META tag">
<meta name="DC.Publisher" content="ArcadiA Club">
<meta name="DC.Language" content="it-IT">
<meta name="Robots" content="NOINDEX, NOFOLLOW">


 

<< INDIETRO by VeNoM00