Ecclesia-Logo  

Gemeinde der Christen ECCLESIA

 

META-Tags (META-Angaben)


Inhaltsverzeichnis


Was sind META-Tags?

HTML, die "Sprache" des World Wide Web arbeitet größtenteils mit "Tags" (wörtlich: kleine Schilder). Viele dieser Tags sind dazu gedacht, um den Inhalt bestimmter Teile eines Dokuments zu klassifizieren. So steht <H1> zum Beispiel für eine Haupt-Überschrift oder <ADDRESS> für eine Adressen-Angabe. Die META-Tags hingegen machen Angaben über das gesamte Dokument, also über Inhalt, Autor, Erstellungsdatum, etc. Der Inhalt der META-Tags wird nicht im Browser angezeigt, ist aber für einige Anwendungen sehr nützlich.


HTML-Standards und META-Tags

In den HTML-Spezifikationen, insbesondere dem aktuellen HTML 4.0 wird nur der prinzipielle Aufbau von META-Tags beschrieben. Ein META-Tag muß im Kopf eines HTML-Dokuments, also irgendwo zwischen <HEAD> und </HEAD> stehen und sieht folgendermaßen aus:

 <META name="Eigenschaft" content="Wert">

Diese Angaben sind in der Regel für Suchmaschinen gedacht und werden normalerweise von Browsern nicht ausgewertet. Manche Angaben haben auch die Form

 <META http-equiv="Eigenschaft" content="Wert">

Diese Angaben werden vom HTTP-Server ausgewertet, um (über einen entsprechenden HTTP-Header) bestimmte Informationen an den Browser weiterzugeben.

Dabei bezeichnen name, bzw. http-equiv eine Eigenschaft des Dokuments und value gibt den Wert dieser Eigenschaft an. META-Tags dieser Form sind in aller Regel für Suchmaschinen gedacht und werden vom Browser i.a. nicht ausgewertet.

Beispiele:

 <META name="author" content="Wolfgang Hutter">
 <META name="keywords" content="META-Tags, HTML">

Welche META-Informationen genau erlaubt sind oder verwendet werden sollen ist nicht definiert. Deshalb gibt es momentan noch keinen wirklich einheitlichen Gebrauch dieser META-Angaben. Einige Arbeitsgruppen beschäftigen sich zur Zeit mit der Standardisierung, aber noch ist kein allgemein akzeptierter Standard in Sicht.

Außerdem gibt es in HTML 4.0 noch das Attribut scheme. Dieses Attribut kann z.B. dazu verwendet werden, um Datumsangaben eindeutig zu machen

 <META name="date" scheme="Month-Day-Year" content="10-9-97">

oder um eine Angabe näher zu spezifizieren:

 <META scheme="ISBN" name="identifier" content="0-8230-2355-9">

Im letzten Beispiel wird die Identifikationsnummer durch scheme="ISBN" als ISBN-Nummer ausgewiesen.


Hilfen zum Erstellen von META-Tags

Es gibt im Web einige Seiten, die Hilfestellung zu META-Tags anbieten. Eine kleine Auswahl sei hier genannt:


Anwendungsgebiete für META-Tags

META-Tags, die von Browsern ausgewertet werden

Automatisches Laden einer weiteren Seite

Eines der meistgebrauchten META-Tags ist "refresh". Damit wird der Browser angewiesen, nach einer bestimmten Wartezeit einen weiteren URL zu laden. Die Syntax sieht so aus:

 <META http-equiv="refresh" content="5; URL=http://ecclesia-gemeinden.de/">

Steht diese Angabe im Kopf einer HTML-Datei, dann führt dies dazu, daß der Browser erst die Seite anzeigt, dann 5 Sekunden wartet und schließlich http://www.ecclesia-gemeinden.de/ lädt. Der URL kann auf eine andere Seite verweisen (automatische Weiterleitung) oder auch auf dieselbe Seite, so daß diese alle x Sekunden erneut geladen wird. Die letzte Möglichkeit macht aber nur in den wenigsten Fällen Sinn und sollte wegen der dadurch hervorgerufenen zusätzlichen Netzlast nur bei wirklich sinnvollen Anwendungen zum Einsatz kommen. Wird die Wartezeit auf Null gesetzt (content="0; URL=...") , dann die nächste Datei sofort geladen.

Diese Anweisung funktioniert ohne HTTP-Protokoll, also auch beim Browsen auf der Festplatte des eigenen Rechners.

Achtung: Wartezeit und URL werden gemeinsam in Anführungszeichen gesetzt. Also nicht nach URL= nochmals Anführungszeichen setzen!

Achtung: Nicht alle Browser verstehen die refresh-Anweisung. Deshalb sollte auf jeder Seite mit einem refresh-Tag auch ein "manueller" Link zur neuen Adresse stehen, also z.B. so:

   ...
 <META http-equiv="refresh" content="5; URL=http://ecclesia-gemeinden.de/">
 </HEAD>
 <BODY>
 <P>Leider unterstützt Ihr Browser keine automatische Weiterleitung.
 <P>Weiter geht es auf
 <A HREF="http://ecclesia-gemeinden.de/">http://ecclesia-gemeinden.de/</A>.
 ...

Zeichensatz / MIME-Typ

Die content-type-Angabe benachrichtigt den Browser darüber, was für eine Datei vom Server geschickt wird. Sie enthält zunächst den MIME-Typ der Datei. Das ist bei HTML-Dokumenten immer text/html. Außerdem kann ein bestimmter Zeichensatz angegeben werden. Das ist hauptsächlich dann sinnvoll, wenn der Text sprachspezifische Zeichen mit ASCII-Werten über 127 enthält, also Umlaute, akzentuierte Buchstaben oder Zeichen wie die Cedille. Der normale Zeichensatz für westeuropäische Sprachen (inklusive Deutsch) ist ISO-8859-1. Die typische Angabe für einen deutschen HTML-Text wäre also:

 <META http-equiv="content-type" content="text/html; charset=iso-8859-1">

Die Angabe des Zeichensatzes ist vor allem dann wichtig, wenn der Text Zeichen enthalten soll, die nicht im 7-Bit ASCII vorkommen, wie Umlaute oder akzentuierte Buchstaben, und der Text auch von Benutzern gelesen werden soll, die üblicherweise einen anderen Zeichensatz benutzen.

Gerade auf dem Gebiet der Zeichensätze ist zur Zeit einiges im Umbruch. Die bisher auf den meisten Computersystemen (vor allem auf DOS/Windows) benutzten Zeichensätze haben nur 256 Zeichen (8 Bit). Damit lassen sich aber nicht alle Sonderzeichen, die man gerne hätte darstellen. Deswegen wurden inzwischen Zeichensätze mit 32-Bit-Codierung vorgeschlagen. Diese Unicode-Zeichensätze müssen gesondert auf dem Rechner installiert werden. Die Standard-Zeichensätze für Windows und Mac werden z.B. von Microsoft kostenlos zum Download angeboten.

Mit der Angabe charset=utf-8 wird dieser Unicode-Zeichensatz aktiviert. Damit ist es dann möglich, z.B. griechische Buchstaben zu codieren. Diese werden vom Browser aber nur dann korrekt dargestellt, wenn der Browser die entsprechenden Protokoll-Normen von HTML 4.0 unterstützt und der Rechner, auf dem der Browser läuft, auch die Unicode-Zeichensätze installiert hat. Für die Zukunft bieten sich hier also interessante Möglichkeiten. Zur Zeit muß man von einem Gebrauch allerdings eher abraten, da im Augenblick wohl nur ein kleiner Teil der Benutzer diese Voraussetzungen erfüllen.


Cookies

Das Thema "Cookies" ist oft diskutiert worden und die Meinungen hierzu gehen weit auseinander. An dieser Stelle soll deshalb nur das Nötigste über dieses META-Tag gesagt werden.

Cookies sind Informationen, die der Browser beim Anzeigen bestimmter Seiten, die das set-cookie-Tag enthalten, auf die Festplatte schreibt. Diese Informationen dienen dazu, dem Informationsanbieter die Möglichkeit zu geben, die bisherigen Aktivitäten eines Users bei einem erneuten Aufruf dieser Seite zu berücksichtigen.

Ein set-cookie-Tag hat die z.B. Form

 <META http-equiv="set-cookie"
       content="cookievalue=xxx;expires=<Datum>; path=/;">

Sprache des Dokumentinhalts

 <META http-equiv="content-language" content="de">

Mit diesem Tag kann man die Sprache des Dateiinhalts angeben. Die Kürzel für die Sprache sind nach ISO-639, bzw. ISO-3166 (hier die 2-Buchstabenkürzel benutzen!) definiert.

Anmerkung: In manchen Quellen findet man auch die Form http-equiv="language". Da die META-Tags nicht standardisiert sind, ist diese Form offensichtlich zulässig. Da die Bezeichnung für die Sprache im HTTP-Header jedoch Content-language ist, und auch in den W3C-Dokumenten diese Form verwendet wird, ist sie wohl der kürzeren vorzuziehen.


Verwendung eines Cache

Um HTML-Seiten schneller laden zu können und die Netzlast zu verringern werden einmal abgerufene Dateien zwischengespeichert. Diese Zwischenspeicher nennt man Cache. Ein solcher Cache, der Browser-Cache befindet sich auf der Festplatte des Browsers. Sinnvollerweise ist der Browser aber so konfiguriert, daß er zusätzlich noch einen Proxy-Cache benutzt. Das ist ein Server, der ebenfalls Daten zwischengespeichert hat und bei einer Anfrage des Browsers erst einmal nachschaut, ob die gewünschte Datei in seinen gespeicherten Daten vorhanden ist. Wenn die Datei da ist, dann bekommt der Browser die Kopie aus dem Archiv übermittelt. Ansonsten holt der Proxy-Server die Datei vom angegebenen Server ab und leitet sie an den Browser weiter.

Anmerkung: Gute Proxy-Server sind so eingestellt, daß sie beim Original-Server nachfragen, ob die Datei seit dem letzten Abruf geändert wurde (last-modified) und nur wenn die Datei nicht geändert wurde, erhält der anfragende Browser die Kopie aus dem Proxy-Cache-Speicher.

Der Vorteil dieser Methode liegt auf der Hand. Die Datei muß nicht mehr über eine langsame Verbindung (z.B. nach Amerika) geholt werden, sondern kommt über eine schnellere Verbindung zum Proxy-Cache (oder gar von der Festplatte). Es gibt allerdings auch einen Nachteil: eventuell bekommt der Benutzer nicht die aktuelle Version des Dokuments, sondern eine mehr oder weniger veraltete Kopie. Das ist bei Seiten, die sich selten oder nie ändern nicht so schlimm, aber bei Seiten, die sich häufiger ändern, möchte man ja sicherstellen, daß der Benutzer die aktuelle Version zu sehen bekommt.

Dazu gibt es zwei META-Tags: expires und pragma.

 <META http-equiv="expires" content="86400">

Diese Anweisung wendet sich an den Browser und weist ihn an, eine Datei vom Original-Server zu holen, wenn die Kopie im Cache älter als 86400 Sekunden, also 24 Stunden ist. Ein Wert von "0" bewirkt also, daß das Dokument grundsätzlich vom Original-Server geholt wird. Als content für expires kann man auch absolute Zeiten angeben.

 <META http-equiv="expires" content="Mon, 25 May 1998 12:00:00 GMT">

führt dazu, daß die Seite bis zum genannten Datum aus dem Cache geholt werden darf, danach aber vom Original-Server geholt werden muß.

Die Anweisung

 <META http-equiv="pragma" content="no-cache">

sollte von Proxy-Cache-Servern und Browsern so ausgewertet werden, daß die Datei gar nicht erst im Cache abgelegt wird, also ebenfalls immer "frisch" geholt wird.


Script-Sprache / Layout-Schema-Format (CSS)

 <META http-equiv="Content-Script-Type" content="text/javascript">
 <META http-equiv="Content-Style-Type" content="text/css">

Mit diesen Angaben können die Standard-Scriptsprache, bzw. die Standard-Style-Sprache festgelegt werden. Für JavaScript benutzt man text/javascript und für Cascading Style Sheets text/css.


Angabe von Inhalten / Kinderschutz mit PICS

Der Wunsch danach, den Zugriff auf Internet-Inhalte einschränken zu können (z.B. um Kinder vor ungeeigneten Angeboten zu schützen) hat zur Entwicklung von PICS (Platform for Internet Content Selection) geführt. Die PICS-Labels geben Auskunft über den Inhalt einer Datei und können von geeigneter Filter-Software ausgewertet werden. Diese PICS-Labels kann man von einem PICS-Service beziehen, oder per META-Tags selbst in das Dokument einbauen, was natürlich für den Benutzer, der sich die Seite anschaut keinerlei Sicherheiten bietet, ob das PICS-Label zutreffend ist. Ein Beispiel für ein solches PICS-Label ist:

 <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))
 '>

Der Gebrauch der PICS-Labels und deren Anwendung ist noch nicht standardisiert und wer sich dafür interessiert sollte sich unter http://www.w3.org/PICS/ selbst informieren. Es sei noch angemerkt, daß parallel zu PICS vom W3C eine zweite Gruppe an sogenannten RDF-Labels (RDF steht für "Resource Description Framework") arbeitet, die auf XML basieren. Informationen hierzu finden sich unter http://www.w3.org/RDF.


Sonstige META-Tags

Manche HTML-Editoren verewigen sich gerne mit Hilfe eines META-Tags. Je nach Editor hat man dann eine Angabe wie z.B:

 <META name="generator" content="Netscape Composer">

im Header stehen. Das ermöglicht eine Übersicht, welche Editoren wo und wie oft verwendet werden, aber es kann auch dazu verwendet werden, um die Qualität eines HTML-Editors anhand des Outputs zu beurteilen.


META-Tags für Suchmaschinen

Publikationsdaten (Autor, Inhalt, Stichworte, Datum)

Mit diesen META-Tags kann man Suchmaschinen Angaben über verschiedene Publikationsdaten machen. Bis heute gibt es aber kaum eine Suchmaschine, die diese Angaben auch vollständig auswertet. Das könnte sich in Zukunft jedoch ändern, so daß dann auch Suchen nach Autoren oder ähnlichen Angaben möglich wären.

 <META name="description" content="Was man hier hineinschreibt,
       das wird dann von der Suchmaschine (vielleicht) angezeigt.">
 <META name="author" content="Wolfgang Hutter, Albert Einstein">
 <META name="keywords"
       content="HTML, Hypertext Markup Language, Meta-Informationen">
 <META name="date" content="1998-04-30T08:49:37+00:00">

Zusätzlich kann seit HTML 4.0 die Sprache der Stichworte noch mit angegeben werden. Das sieht dann etwa so aus:

 <META name="keywords" lang="de" content="Sterne, Astronomie">
 <META name="keywords" lang="en" content="stars, astronomy">
 <META name="keywords" lang="fr" content="étoiles, astronomie">

Ein anderer Ansatz zu diesen META-Angaben wurde von einer Gruppe von Experten entwickelt, die sich "Dublin Core" nennen. Sie haben ein System von META-Angaben veröffentlicht, das auch vom W3-Consortium begrüßt wurde und sich zukünftig als Standard durchsetzen könnte. Das Tag für den Titel hat zum Beispiel folgende Form:

 <META name="DC.Title" content="META-Tags">

Neben diesem Feld gibt es noch viele weitere Angaben wie DC.Subject, DC.Description, DC.Language oder DC.Rights. Außerdem läßt sich in diesem System zwischen Autor/Urheber (DC.Creator), Herausgeber (DC.Publisher) und Leuten, die beigetragen haben (DC.Contributor) unterscheiden.

Anmerkung: einzelne Suchmaschinen, wie z.B. Fireball werten eigene META-Tags, wie page-topic, page-type oder audience, aus. Im Sinne einer Standardisierung, die letztlich der Qualität der Suche im WWW zugute kommt, sind solche Alleingänge aber eher kritisch zu bewerten.


Darf diese Seite von einer Suchmaschine erfaßt werden?

Wenn man nicht möchte, daß die HTML-Seite von einer Suchmaschine indiziert wird, dann kann man das mit dem Tag

 <META name="robots" content="noindex">

erreichen. Umgekehrt wird die ausdrückliche Erlaubnis mit content="index" gegeben.

Suchmaschinen verfolgen und speichern in der Regel auch die Links, die in einem HTML-Dokument aufgeführt sind. Möchte man das aktuelle Dokument zwar indizieren lassen, das Indizieren der weiteren Links jedoch verhindern, dann gibt man content="nofollow" an. Um dieses rekursive Durchsuchen ausdrücklich zu erlauben setzt man content="follow".

Eine Kombination dieser Angaben ist auch möglich. So weist der Tag

 <META name="robots" content="noindex, follow">

die Suchmaschine an, die aktuelle Seite nicht zu indizieren, aber die weiteren Links aufzunehmen. Das kann zum Beispiel für eine Frame-Hauptseite sinnvoll sein.

Außerdem kann man die Suchmaschinen anweisen nach einer gewissen Zeitspanne wieder vorbeizukommen:

 <META name="revisit-after" content="20 days">

Ob die einzelnen Suchmaschinen sich jedoch an diese Anweisung halten ist eine andere Frage.


Weiterführende Literatur und benutzte Quellen


Valid HTML 4.0!Zusammengestellt und formatiert von Wolfgang Hutter, Stand: 21. Mai 1998
Kommentare, Anregungen, Ergänzungen und Kritik jederzeit herzlich willkommen: wolfgang.hutter@bfp.de