Semantisches HTML · Grundlagen & Struktur

Dokument-Metadaten: head, meta & link

Der <head> enthält die Angaben, die eine Seite über sich selbst macht: Zeichensatz, mobile Darstellung, Titel, Beschreibung und die Verweise auf Stylesheet, Canonical und Favicon. Im Seiteninhalt sieht man davon nichts – dafür überall dort, wo die Seite auftaucht: im Browser-Tab, im Suchergebnis und in der Vorschau eines geteilten Links.

Der <head> ist damit der Maschinenraum jeder Seite. Ein paar Zeilen entscheiden darüber, ob Umlaute funktionieren, ob die Seite auf dem Handy lesbar ist und wie sie in der Suche aussieht.

Diese Seite ist die technische Referenz: welche Angabe wohin gehört, in welcher Reihenfolge, mit welcher Syntax. Wie lang Title und Description sein dürfen und wie du sie für die Suche formulierst, steht im SEO-Leitfaden Title-Tag & Meta-Description.

Das Wichtigste in Kürze

  • Zwei Zeilen sind Pflicht: charset und viewport – und beide gehören ganz nach oben.
  • <title> und Meta-Description sind dein Auftritt in der Suche und pro Seite einzigartig.
  • lang steht am <html>, nicht im <head> – gehört aber zum selben Setup.
  • <link> regelt die Beziehungen: Stylesheet, Canonical, Icon, alternative Sprachfassungen, Vorladen.
  • Reihenfolge zählt: charset muss in den ersten 1024 Byte stehen, sonst kann der Browser den Anfang der Seite neu parsen müssen.
  • user-scalable=no ist tabu – das sperrt das Pinch-Zoom aus und verstößt gegen 1.4.4 Textgröße ändern.
  • Fürs Favicon genügen vier Zeilen und vier Dateien: favicon.ico (48 × 48), icon.svg, apple-touch-icon.png (180 × 180) und ein Web-App-Manifest.
  • Google verlangt fürs Favicon im Suchergebnis ein Quadrat mit einer Kantenlänge, die ein Vielfaches von 48 Pixeln ist – SVG ausgenommen.

Wo der <head> sichtbar wird

Schaubild: Oben vier nummerierte Zeilen aus einem head – title, meta description, og:image und link rel icon. Darunter drei Oberflächen, in denen sie auftauchen: ein Browser-Tab mit Favicon und Titel, ein Google-Suchergebnis mit Titel und Beschreibung sowie eine Social-Media-Vorschaukarte mit Bild, Titel und Beschreibung. Nummern verbinden Codezeilen und Darstellung.
Vier Zeilen, drei Oberflächen: Titel, Beschreibung, Vorschaubild und Favicon sind das, was von einer Seite zu sehen ist, bevor jemand sie überhaupt geöffnet hat.

Das ist der Grund, warum sich die Sorgfalt hier lohnt: Der <head> ist der Teil der Seite, den am meisten Menschen sehen – nämlich auch alle, die nie klicken.

Das Pflichtprogramm

Zwei <meta>-Angaben gehören in jeden <head> – und ganz nach oben:

<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />
  <title>Seitentitel | Marke</title>
  <meta name="description" content="Kurze, einzigartige Beschreibung der Seite." />
</head>

charset="utf-8" stellt die korrekte Zeichenkodierung sicher – Umlaute, Anführungszeichen, Emojis. Sie muss innerhalb der ersten 1024 Byte des Dokuments stehen; findet der Browser sie später, hat er schon mit einer Vermutung angefangen zu parsen und muss unter Umständen von vorn beginnen. Deshalb ist sie die allererste Zeile im <head>. Wenn Umlaute trotz korrekter Angabe kaputt sind, liegt es fast immer daran, dass der Server einen anderen Zeichensatz im HTTP-Header meldet – der gewinnt gegen das Meta-Tag.

viewport sorgt für die richtige Skalierung auf Mobilgeräten. Ohne sie rendert der Browser die Seite in einer fiktiven Desktopbreite und schrumpft sie – die klassische „winzige Seite auf dem Handy“. Das content-Attribut sollte genau so lauten wie oben. Ergänzungen sind selten nötig; viewport-fit=cover braucht man, wenn Inhalte bis in die abgerundeten Ecken moderner Handys reichen sollen.

Was dort nicht hineingehört: user-scalable=no oder maximum-scale=1. Beides verhindert das Aufziehen mit zwei Fingern – für viele Menschen mit Sehbeeinträchtigung die wichtigste Bedienhilfe überhaupt.

Die empfohlene Reihenfolge

Ein <head>, der die übliche Reihenfolge einhält – von „muss zuerst gelesen werden“ bis „darf warten“:

<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1" />

  <title>Dokument-Metadaten im head | html-einfach.de</title>
  <meta name="description" content="charset, viewport, title, description …" />
  <link rel="canonical" href="https://html-einfach.de/semantisches-html/dokument-metadaten.html" />

  <link rel="preload" as="font" type="font/woff2" href="/fonts/sans.woff2" crossorigin />
  <link rel="stylesheet" href="/styles.css" />

  <link rel="icon" href="/favicon.ico" sizes="any" />
  <link rel="icon" href="/icon.svg" type="image/svg+xml" />
  <link rel="apple-touch-icon" href="/apple-touch-icon.png" />

  <meta property="og:title" content="Dokument-Metadaten im head" />
  <meta property="og:description" content="Der unsichtbare Teil jeder Seite." />
  <meta property="og:image" content="https://html-einfach.de/og/dokument-metadaten.png" />
</head>

Die Logik dahinter: Erst das, was das Parsen selbst betrifft (charset, viewport), dann das, was die Seite identifiziert (title, description, canonical), dann das, was das Rendern beschleunigt (Preloads, Stylesheet), zuletzt das, was erst später gebraucht wird (Icons, Social-Vorschau). Streng vorgeschrieben ist nur die Position von charset – der Rest ist Handwerk, das den LCP spürbar beeinflussen kann.

Title & Description: wohin sie gehören

Syntaktisch sind die beiden ungleiche Geschwister. Der Seitentitel ist ein eigenes Element, <title>, und kein <meta>-Tag – die Beschreibung dagegen schon:

<title>Seitentitel | Marke</title>
<meta name="description" content="Kurze, einzigartige Beschreibung der Seite." />

Deshalb wertet Google ein <meta name="title"> auch nicht aus, so oft es in alten Vorlagen auch auftaucht. Beide gehören in den oberen Teil des <head>, direkt nach charset und viewport, und beide sind pro Seite einzigartig.

Damit endet der Teil, der zur <head>-Referenz gehört. Wie lang Title und Description sein dürfen, wie du sie formulierst und warum Google sie so oft umschreibt, steht vollständig unter Title-Tag & Meta-Description.

Die Sprache: lang am html-Element

Genau genommen kein <head>-Inhalt, aber Teil des Dokument-Setups: Das lang-Attribut am <html> sagt Browsern und Screenreadern, in welcher Sprache die Seite ist – damit die Aussprache stimmt. Ohne die Angabe liest ein Screenreader deutschen Text unter Umständen mit englischer Aussprache vor; verstehen kann das niemand.

<html lang="de">

Es ist eine Zeile und zugleich ein WCAG-Kriterium der Stufe A. Einzelne anderssprachige Passagen im Text bekommen zusätzlich ihr eigenes lang am umschließenden Element.

<link> verknüpft die Seite mit externen Ressourcen und Beziehungen:

<link rel="stylesheet" href="/styles.css" />
<link rel="canonical" href="https://example.de/seite.html" />
<link rel="icon" href="/favicon.ico" sizes="any" />
<link rel="alternate" hreflang="en" href="https://example.de/en/page.html" />
<link rel="preconnect" href="https://cdn.example.com" crossorigin />
  • rel="stylesheet" bindet CSS ein. Es blockiert das Rendern – ein Grund, es schlank zu halten.
  • rel="canonical" benennt die maßgebliche URL gegen Duplicate Content. Sie sollte absolut sein und auf sich selbst zeigen, wenn die Seite das Original ist.
  • rel="icon" liefert das Favicon. Zwei Zeilen genügen heute: eine favicon.ico für ältere Browser und ein SVG für alles Moderne, dazu ein apple-touch-icon für den Homescreen – ausführlich unter Favicon einbinden: Formate, Größen und Beispiele.
  • rel="alternate" hreflang="…" verweist auf Sprachfassungen. Wichtig dabei: Die Verweise müssen wechselseitig sein, sonst ignoriert Google sie.
  • Resource Hints steuern das Laden: preload (jetzt gleich gebraucht, z. B. die Hauptschrift), preconnect (Verbindung zu einer fremden Domain vorbereiten), dns-prefetch (nur die Namensauflösung), prefetch (wahrscheinlich als Nächstes gebraucht). Sparsam einsetzen: Jeder Hint nimmt Bandbreite von etwas anderem weg.

Favicon einbinden: Formate, Größen und Beispiele

Kaum ein Thema hat so viele überholte Anleitungen im Umlauf wie das Favicon. Wer einem Generator vertraut, bekommt oft zwanzig <link>-Zeilen und einen Ordner voller PNGs in zwölf Größen. Das war um 2015 herum nötig. Stand August 2026 genügen vier Dateien und vier Zeilen – für alle Browser, iOS, Android und die Google-Suche.

Favicon-Beispiele: was bei 16 Pixeln noch trägt

Ein Favicon wird fast immer in der kleinsten aller Größen gesehen: 16 × 16 Pixel im Browser-Tab. Das ist ungefähr die Fläche eines Satzzeichens. Sechs Beispiele, jeweils groß und in der echten Tab-Größe daneben:

Sechs Favicon-Beispiele in je zwei Ansichten: links 96 Pixel groß, rechts in der echten Tab-Größe von 16 Pixeln. Erste Reihe, bei 16 Pixeln noch lesbar: ein weißes H auf blauem Quadrat, ein weißer Kreis mit hellem Balken auf dunklem Petrol, ein weißes Dreieck auf orangem Quadrat. Zweite Reihe: ein schwarzes e in weißem Feld mit dicker Kontur, als grenzwertig markiert; der komplette Schriftzug html einfach punkt de, bei 16 Pixeln unlesbar; eine Landschaft mit Sonne, Bergen und Häusern, bei 16 Pixeln ebenfalls unlesbar.
Die drei oberen Beispiele funktionieren, weil sie aus einer einzigen Form bestehen. Schriftzug und Bildmotiv zerfallen bei 16 Pixeln zu einem grauen Fleck.

Daraus lässt sich eine Regel ableiten, die sich in jedem Projekt bewährt hat: ein Zeichen oder eine Form, ein kräftiger Farbkontrast, kein Text unter drei Buchstaben Größe. Wer die Wortmarke unbedingt unterbringen will, nimmt den Anfangsbuchstaben – Wiedererkennung entsteht bei dieser Kantenlänge über Farbe und Silhouette, nicht über Lesbarkeit.

Das vollständige Beispiel

<head>
  <meta charset="utf-8" />

  <!-- 1. Für ältere Browser und die Google-Suche -->
  <link rel="icon" href="/favicon.ico" sizes="48x48" />

  <!-- 2. Für alle modernen Browser: skaliert verlustfrei, kennt Dark Mode -->
  <link rel="icon" href="/icon.svg" type="image/svg+xml" />

  <!-- 3. Für „Zum Home-Bildschirm" unter iOS -->
  <link rel="apple-touch-icon" href="/apple-touch-icon.png" />

  <!-- 4. Für Android und installierbare Web-Apps -->
  <link rel="manifest" href="/manifest.webmanifest" />
</head>

Dazu die passende manifest.webmanifest im Wurzelverzeichnis:

{
  "name": "html-einfach.de",
  "icons": [
    { "src": "/icon-192.png", "type": "image/png", "sizes": "192x192" },
    { "src": "/icon-512.png", "type": "image/png", "sizes": "512x512" },
    { "src": "/icon-maskable.png", "type": "image/png", "sizes": "512x512",
      "purpose": "maskable" }
  ]
}

Das ist alles. Die favicon.ico gehört ins Wurzelverzeichnis, weil Browser sie auch ohne <link>-Zeile dort abrufen – eine Konvention aus den 1990ern, die bis heute trägt.

Welche Größe braucht welche Datei?

Dasselbe Favicon – ein weißes H auf blauem Quadrat – in fünf Größen nebeneinander, jede in Originalgröße dargestellt: 16 mal 16 Pixel als favicon.ico für den Browser-Tab, 32 mal 32 als favicon.ico für Lesezeichen, 48 mal 48 als favicon.ico für die Google-Suche, 180 mal 180 als apple-touch-icon.png für den iOS-Homescreen und 192 mal 192 als icon-192.png für Android. Die Größenunterschiede sind deutlich sichtbar.
Dieselbe Marke in Originalgröße: Zwischen dem Tab-Icon und der Homescreen-Kachel liegt der Faktor zwölf – und trotzdem ist es dieselbe Datei-Familie.
Datei Größe Format Wofür
favicon.ico 48 × 48 ICO Browser-Tab, Lesezeichen, Google-Suche
icon.svg beliebig SVG moderne Browser, Dark Mode
apple-touch-icon.png 180 × 180 PNG iOS-Homescreen
icon-192.png 192 × 192 PNG Android-Homescreen
icon-512.png 512 × 512 PNG Splash Screen, App-Listen
icon-maskable.png 512 × 512 PNG Androids runde/eckige Zuschnitte

Zwei Größenregeln lohnen sich zu merken, weil sie in fast jeder Anleitung fehlen:

Google verlangt ein Vielfaches von 48 Pixeln. Für das Favicon neben dem Suchergebnis auf dem Handy schreibt Google eine quadratische Datei vor, deren Kantenlänge ein Vielfaches von 48 px ist – also 48 × 48, 96 × 96, 144 × 144 und so weiter. SVG-Dateien sind von der Vorgabe ausgenommen. Ein klassisches 16 × 16-Icon erfüllt diese Bedingung nicht; deshalb steht in der .ico oben 48 × 48 und nicht die historischen 16 × 16.

Das Apple-Touch-Icon verträgt keine Transparenz. iOS legt hinter transparente Bereiche Schwarz. Wer ein freigestelltes Logo hinterlegt, bekommt auf dem Homescreen eine schwarze Kachel. Also: Hintergrundfarbe fest einbacken und auf 180 × 180 exportieren.

Maskable Icons brauchen eine Sicherheitszone. Android schneidet Icons je nach Hersteller rund, quadratisch oder als Squircle zu. Alles Wichtige gehört deshalb in den inneren Kreis mit 80 % Durchmesser – der Rand kann weggeschnitten werden.

Ein SVG-Favicon, das auf Dark Mode reagiert

Das ist der praktische Vorteil des SVG-Formats gegenüber der .ico: Ein Icon kann seine Farbe an das Farbschema des Systems anpassen, weil Browser die CSS im SVG auswerten.

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
  <style>
    path { fill: #111827; }
    @media (prefers-color-scheme: dark) {
      path { fill: #f9fafb; }
    }
  </style>
  <path d="M6 4h4v10h12V4h4v24h-4V18H10v10H6z" />
</svg>

Ein dunkles Logo verschwindet sonst in der dunklen Browserleiste. Genau dieser Fall – ein Element, das nur in einem der beiden Modi erkennbar ist – begegnet einem auch beim Farbkontrast im Seiteninhalt wieder.

Häufige Fehler beim Favicon

  • Nur 16 × 16 ausgeliefert. Sieht im Tab in Ordnung aus, erfüllt aber Googles 48-Pixel-Regel nicht und wird auf hochauflösenden Displays unscharf.
  • Transparenz im Apple-Touch-Icon – ergibt eine schwarze Kachel auf dem iPhone.
  • Zwanzig <link>-Zeilen aus einem Generator. Jede kostet eine Anfrage und Wartung; vier reichen.
  • Ein zu detailliertes Logo. Bei 16 Pixeln Kantenlänge bleibt von einem Schriftzug ein grauer Fleck. Ein Buchstabe oder eine einfache Form trägt weiter.
  • Icon geändert, aber nichts passiert. Browser und Google cachen Favicons ausdauernd. Beim Wechsel hilft ein neuer Dateiname (/icon-2026.svg) statt Warten.
  • Favicon nur im Unterverzeichnis. Ohne /favicon.ico im Wurzelverzeichnis fragen manche Clients ins Leere und protokollieren einen 404 pro Aufruf.

Randnotiz – warum ein Favicon mehr ist als Kosmetik. Wer mit zwanzig offenen Tabs arbeitet, sieht vom Titel oft nur zwei Buchstaben; das Icon ist dann das einzige Unterscheidungsmerkmal. Für Menschen mit kognitiven Einschränkungen oder eingeschränktem Sehvermögen ist dieses Wiedererkennungszeichen ein echter Orientierungsgewinn – und es arbeitet mit dem Seitentitel zusammen, den WCAG 2.4.2 Seitentitel ohnehin verlangt. Ein Favicon, das sich von den Nachbarn unterscheidet und in hellem wie dunklem Modus erkennbar bleibt, ist deshalb kein Designdetail, sondern Bedienbarkeit.

Weitere <meta>-Angaben, die sich lohnen

Angabe Wofür Pflicht?
charset Zeichenkodierung ja
viewport mobile Darstellung ja
description Snippet in der Suche praktisch immer
robots Indexierung steuern (noindex …) nur bei Bedarf
theme-color Farbe der Browserleiste (mobil) optional
color-scheme helle und dunkle Darstellung nativer Elemente optional
og:* / twitter:* Vorschau beim Teilen empfohlen
referrer wie viel Herkunft mitgesendet wird selten

Zwei praktische Anmerkungen dazu. theme-color lässt sich per media-Attribut für helle und dunkle Darstellung getrennt setzen. Und robots gehört zu den Angaben, mit denen man sich am schnellsten selbst aus dem Index schießt – ein versehentlich vom Testsystem übernommenes noindex ist ein Klassiker, den man erst Wochen später bemerkt.

Was man dagegen weglassen kann: keywords (von Google seit Langem ignoriert), revisit-after, generator und die meisten anderen Relikte aus alten CMS-Vorlagen. Sie kosten nichts außer Übersicht – aber die auch.

Randnotiz – eine Quelle für mehrere Ausgaben. Der <head> ist auch die Heimat der Open-Graph-Tags und des JSON-LD. Wer diese Angaben aus einer zentralen Datenquelle erzeugt, hält Titel, Vorschaubild und strukturierte Daten automatisch konsistent – genau so macht es diese Website: Ein Titel im Seiten-Frontmatter erzeugt <title>, og:title, das Vorschaubild und den Eintrag im strukturierten Datensatz. Was zusammengehört, kann so nicht auseinanderlaufen.

Wie du den <head> prüfst

  1. Quelltext ansehen (Strg/ + U): Steht charset wirklich oben? Ist der Titel der, den du erwartest?
  2. Elemente-Bereich der DevTools: Zeigt den <head> nach der Ausführung von Skripten – so findest du Tags, die erst nachträglich eingefügt oder überschrieben werden.
  3. Netzwerk-Bereich: Prüft, ob der Server einen abweichenden Content-Type mit fremdem Zeichensatz meldet.
  4. HTML-Validator: findet doppelte Titel, falsch platzierte Elemente und ungültige Attribute.
  5. Vorschau testen: Teile den Link in einem Chat mit dir selbst – zeigt sich das erwartete Bild? Viele Netzwerke halten die Vorschau lange im Cache, deshalb besser vor dem Veröffentlichen prüfen als danach.

Häufige Fehler

  • viewport vergessen – die Seite ist auf dem Smartphone unbrauchbar.
  • charset fehlt oder steht zu spät – kaputte Umlaute.
  • lang nicht gesetzt – Screenreader sprechen die Seite falsch aus.
  • Gleicher <title> auf vielen Seiten – austauschbare Suchergebnisse.
  • user-scalable=no im Viewport – ein Barriere-Verstoß.
  • Relativer oder falscher Canonical – im schlimmsten Fall zeigen alle Seiten auf die Startseite.
  • noindex aus der Testumgebung mitgenommen.
  • og:image als relative Adresse – Vorschaubilder brauchen absolute URLs.

Häufige Fragen

Wie binde ich ein Favicon in HTML ein?

Mit vier Zeilen im <head>: <link rel="icon" href="../favicon.ico" sizes="48x48"> für ältere Browser und die Google-Suche, <link rel="icon" href="../icon.svg" type="image/svg+xml"> für moderne Browser, <link rel="apple-touch-icon" href="../apple-touch-icon.png"> für iOS und <link rel="manifest" href="../manifest.webmanifest"> für Android. Die favicon.ico gehört zusätzlich ins Wurzelverzeichnis, weil Browser sie dort auch ohne <link>-Zeile abrufen.

Welche Favicon-Größe ist richtig?

Für die .ico 48 × 48 Pixel: Google verlangt für das Favicon im Suchergebnis ein Quadrat, dessen Kantenlänge ein Vielfaches von 48 px ist. Das Apple-Touch-Icon misst 180 × 180 und darf keine Transparenz enthalten, die Manifest-Icons 192 × 192 und 512 × 512. Ein SVG braucht keine Größenangabe, weil es verlustfrei skaliert – es ist von Googles Regel ausdrücklich ausgenommen.

Wie sieht ein gutes Favicon aus?

Es besteht aus einer einzigen Form: einem Buchstaben, einer geometrischen Marke oder einer kräftigen Silhouette, mit hohem Kontrast zum Hintergrund. Der Grund ist die Größe – im Browser-Tab bleiben 16 × 16 Pixel, und darin zerfällt jeder Schriftzug und jedes Bildmotiv zu einem grauen Fleck. Prüfen lässt sich das in fünf Sekunden: das Icon auf 16 Pixel verkleinern und aus normalem Sitzabstand ansehen.

Welche Meta-Tags brauche ich wirklich?

charset und viewport sind Pflicht, title und description praktisch immer, canonical sobald eine Seite unter mehreren Adressen erreichbar sein könnte. Vieles andere (das Keywords-Meta etwa) ist überflüssig.

Gehört das lang-Attribut nicht woanders hin?

Es steht am <html>-Element, nicht im <head>. Da es zum grundlegenden Dokument-Setup gehört, behandle ich es hier mit.

So viele wie nötig: Stylesheet, Canonical, Icon, ggf. Preload und alternative Sprachen. Kein Ballast, aber das Wichtige vollständig. Bei Resource Hints gilt: lieber zwei gezielte als zehn auf Verdacht.

Muss der Titel die Marke enthalten?

Auf Inhaltsseiten hilft ein kurzer Markenzusatz hinten („Thema | Marke“), auf der Startseite gehört die Marke nach vorn. Wichtiger ist, dass der eigentliche Inhalt zuerst kommt – auf schmalen Bildschirmen sieht man vom Ende nichts mehr.

Beeinflusst der <head> die Ladezeit?

Ja, deutlich. Render-blockierendes CSS, Skripte ohne defer und fehlende Preloads für die Hauptschrift wirken sich direkt auf LCP und INP aus. Der <head> ist der Ort, an dem über die ersten Sekunden entschieden wird.

Was ist mit Skripten im <head>?

Nur mit defer (oder type="module"), sonst blockieren sie das Parsen des Dokuments. Alles, was nicht sofort gebraucht wird, gehört ans Ende oder gar nicht erst auf die Seite.

Fazit

Der <head> ist klein, aber folgenreich: charset und viewport als Pflicht und möglichst weit oben, Title und Description für die Suche, lang am <html> für die Aussprache und <link> für Stylesheet, Canonical, Icons und Vorladen. Unsichtbar auf der Seite – aber sichtbar überall dort, wo über den Klick entschieden wird.

Quellen

Gratis E-Book PDF Das Praxishandbuch

Kostenloses E-Book

Das Praxishandbuch für sauberes, zugängliches Web

Alles rund um semantisches HTML, Barrierefreiheit, WCAG & BFSG, GEO und SEO — praxisnah und am echten Code. In mehreren Feedbackschleifen von Leserinnen und Lesern verbessert.

  • 3.000+ Downloads
  • 7. Auflage
  • 37 Seiten
  • PDF

Kein Spam. Abmeldung jederzeit mit einem Klick möglich.