# Meta-Element

Das Meta-Element (unspezifisch bzw. falsch oft als Meta-Tag bezeichnet) dient in HTML- oder XHTML-Dokumenten zur Angabe von Metadaten. Es wird als leeres Element innerhalb des head-Elements notiert.

## Allgemein

Die Metadaten werden im Kopf-Bereich eines HTML-Dokuments, also im head-Element, notiert.
Es existieren verschiedene Metadaten-Schemata, teils von Institutionen oder Gremien erarbeitet (zum Beispiel Dublin Core), teils aber auch wild gewachsene Arten wie Einträge der Erzeuger-Software (zum Beispiel Hersteller und Version). Die wenigsten dieser Metainformationen werden von User Agents (zum Beispiel Browsern oder Suchrobotern) interpretiert. Die Beachtung durch den User Agent hängt, wie bei allen HTML-Elementen, von den Fähigkeiten und der Konfiguration desselben ab.
Metadaten sollen vor allem die Durchsuchbarkeit des World Wide Web bzw. einer einzelnen Website verbessern. Außerdem lassen sich mithilfe von Metadaten spezielle Anweisungen zur Steuerung der Suchroboter von Suchmaschinen notieren. Einst galten Metadaten als Geheimwaffe, um bei einer Suchmaschine möglichst weit oben gelistet zu werden. Die Metadaten wurden daher lange missbraucht, um irreführende Schlagwörter anzugeben (vgl. Keyword-Stuffing). Mittlerweile legen die Suchmaschinen wieder mehr Wert auf den eigentlichen Textinhalt einer Webseite, den auch der Leser im Browser wahrnimmt, und ignorieren Meta-Angaben weitestgehend bzw. lassen diese nicht mehr in das Ranking der Seite einfließen.
Im Web finden sich unzählige „Meta-Tag-Generatoren“, die jedoch mit zumeist veralteten oder inflexiblen Zusammenstellungen von Meta-Angaben arbeiten und damit nur für wenige Anwendungsfälle geeignet sind.

## Beispiele

Die nachfolgenden Code-Beispiele verwenden XML-kompatible Syntax – im Falle von HTML 4.01 darf das Element hingegen nicht mit einem Schrägstrich geschlossen werden.

### Seitenbeschreibung

<meta name="description" content="Lorem ipsum dolor sit amet, consetetur sadipscing elitr." />
    Kurze Beschreibung oder Abstract des Inhalts der Webseite.

### Stichwörter

<meta name="keywords" content="Stichwort 1, Stichwort 2, Stichwort 3" />
    Nennt Stichwörter oder Themen, die auf der Webseite vorkommen bzw. behandelt werden. Die Stichwörter werden durch Kommata voneinander getrennt, zur Verbesserung der Menschenlesbarkeit wird nach dem Komma oft ein Leerzeichen eingefügt. Es ist darauf hinzuweisen, dass Google die Angabe nicht beim Ranking von Websites verwendet.

### Autor

<meta name="author" content="Autorenname" />
    Name des Autors und damit inhaltlich Verantwortlichen.

### Anweisungen für Webcrawler

<meta name="robots" content="index,follow" />
Alternativ kann auch:
<meta name="robots" content="all" />
verwendet bzw. auf den Code ganz verzichtet werden.
    Der Webcrawler (Suchroboter) soll die Webseite ausdrücklich in den Suchmaschinen-Index aufnehmen, damit sie auffindbar ist, und den Hyperlinks auf der Seite folgen. Diese Angabe ist im Allgemeinen unnötig, da sie dem normalen Verhalten der meisten Webcrawler entspricht.
<meta name="robots" content="noindex" />
    Der Suchroboter soll die Webseite nicht in den Index aufnehmen. Die Webseite soll also nicht über Suchmaschinen auffindbar sein. Siehe auch: Robots Exclusion Standard.
<meta name="robots" content="nofollow" />
    Der Suchroboter darf die Webseite zwar aufnehmen, aber soll den Hyperlinks auf der Seite nicht folgen. Die Wirkung ist so, als wären die Links auf der betreffenden Seite gar nicht vorhanden. Derselbe Effekt lässt sich auch für einzelne Links erreichen, indem diese um das Attribut rel="nofollow" ergänzt werden (siehe nofollow).
<meta name="robots" content="noodp" />
    Die Suchmaschine soll auf der Ergebnisseite nicht die Beschreibungstexte des Open Directory Projects verwenden – sofern die Seite dort eingetragen ist –, sondern wie bei nicht eingetragenen URLs einen Ausschnitt der Seite selbst (sog. „Snippet“) anzeigen. Diese Anweisung wird von Google und Microsoft Bing unterstützt.
<meta name="robots" content="noydir" />
    Die Suchmaschine soll auf der Ergebnisseite nicht die Beschreibungstexte aus dem Yahoo-Verzeichnis verwenden – sofern die Seite dort eingetragen ist –, sondern wie bei nicht eingetragenen URLs einen Ausschnitt der Seite selbst. Diese Anweisung wird nur von Yahoo (Robot: Slurp) unterstützt.

### Äquivalente zu HTTP-Kopfdaten

Meta-Elemente können Informationen enthalten, die auch in Kopfzeilen der HTTP-Kommunikation vom Server zum Client (z. B. einem Webbrowser) übertragen werden. Die Daten können bereits vor dem Erzeugen der HTTP-Antwort vom Webserver gelesen und in die Kopfzeilen eingebaut werden. Ist eine Information im HTTP-Header enthalten, ist dieser einer gegebenenfalls abweichenden Angabe in einem Meta-Element des Clients vorzuziehen.
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    Angabe des MIME-Type (im Beispiel text/html) und der verwendeten Zeichenkodierung (im Beispiel UTF-8) des Dokuments.

### Cache-Control

Für einen schnellen Internetbetrieb werden Webseiten auf Proxyservern oder im Browser-Cache zwischengespeichert. Dadurch werden sie bei nachfolgenden Aufrufen schneller geladen. Um diesen Vorgang zu unterbinden, wird auf das Meta-Tag „cache-control“ mit dem Wert „no-cache“ zurückgegriffen.
<meta http-equiv="cache-control" content="no-cache" />
    Wird eine Webseite mit diesem Meta-Tag versehen, muss sie bei jedem Seitenaufruf neu vom Webserver geladen werden. Einerseits kann das den Seitenabruf verlangsamen, andererseits kann es aber sinnvoll sein, wenn die Webseite sich kontinuierlich verändernde Inhalte bereithält.

### Expires

Mit dem Attribut „http-equiv“ und dem Wert „expires“ lässt sich ein Verfallszeitpunkt für die abgerufenen HTML-Daten definieren – statt das Zwischenspeichern komplett zu unterbinden.
<meta http-equiv="expires" content="Verfallszeitpunkt in Sekunden" />

### Weiterleitung durch „refresh“

Um beim Aufruf einer Seite zu einer anderen URL weiterzuleiten (engl. forwarding), kann der refresh-Wert genutzt werden. Über das content-Attribut kann weiterhin eine Zeit gesetzt werden, bis die Weiterleitung erfolgt, z. B. um den Anwender noch auf den Grund für die Weiterleitung hinzuweisen:
<meta http-equiv="refresh" content="5; URL=<nowiki>http://www.example.org/</nowiki>" />

### Sonstige Informationen

* geografische Informationen – siehe Geo-Tag
* Sprachinformation mit hreflang