Das Meta-Element (unspezifisch bzw. falsch[1] 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.[2]
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.[3]
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.
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.
<meta name="description" content="Lorem ipsum dolor sit amet, consetetur sadipscing elitr." />
<meta name="keywords" content="Stichwort 1, Stichwort 2, Stichwort 3" />
<meta name="author" content="Autorenname" />
<meta name="robots" content="index,follow" />
Alternativ kann auch:
<meta name="robots" content="all" />
verwendet bzw. auf den Code ganz verzichtet werden.
<meta name="robots" content="noindex" />
<meta name="robots" content="nofollow" />
rel="nofollow"
ergänzt werden (siehe nofollow).<meta name="robots" content="noodp" />
<meta name="robots" content="noydir" />
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.[2] 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" />
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" />
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.[4]
<meta http-equiv="expires" content="Verfallszeitpunkt in Sekunden" />
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=http://www.example.org/" />