Ich habe dieses Thema mehrere Tage lang studiert und viele widersprüchliche Vorschläge in Bezug auf die Suchindizierung gefunden. Ich arbeite an einem Projekt, das viele verschiedene Seiten umfasst, von einfachen Produktbeschreibungen bis hin zur ausführlichen Benutzerdokumentation.
Ich habe diese Frage in Abschnitte unterteilt, da ich der Meinung bin, dass sie für zukünftige Leser dieser Frage nützlicher sein wird.
Einige meiner Erkenntnisse
Einige Websites scheinen Dokumentgliederungen wie die folgenden angenommen zu haben:
1. Programmer's Guide (https://www.dartlang.org/docs/)
1. Getting Started
2. Concepts
1. Libraries
2. Fundamental classes
etc.
Ich finde es interessant, dass im obigen Beispiel das <nav>
Element mit einer geeigneten Überschrift nicht verwendet wird. Ich mag die Einfachheit der Gliederung und als Google bin ich mir ziemlich sicher, dass sie wissen, was sie tun, wenn es darum geht.
Aber ich bin verwirrt, da der obige Umriss "Dart" nicht erwähnt. Die einzige Erwähnung von "Dart" im semantischen Sinne scheint im <title>
Hauptdokumentelement "Programmer's Guide | Dart: Structured Web Apps" zu sein.
Das MDN (Mozilla Developer Network) ist ein weiteres hervorragendes Beispiel für eine Website, die diesem Prinzip folgt. Viele der <h1>
Titel bieten vollständigen Kontext ( Abschnitte und Umrisse eines HTML5-Dokuments ):
1. Sections and Outlines of an HTML5 Document
1. Untitled Section (nav)
2. Untitled Section (nav)
3. Structure of a Document in HTML 4
4. Problems Solved by HTML5
Während andere aus dem Kontext nicht viel Sinn machen ( veraltete Praktiken, die zu vermeiden sind ). Bezieht sich die folgende HTML5-Gliederung beispielsweise auf CSS, HTML5 oder C #?
1. Obsolete practices to avoid
1. Untitled Section (nav)
2. Untitled Section (nav)
3. Doctype
4. <meta> element and charset attribute
Was wäre, wenn das MDN zwei Themen mit dem gleichen (oder sehr ähnlichen) Titel "Obsolete Praktiken zum Vermeiden" enthielte, wobei eines Teil des CSS-Leitfadens und das andere Teil des HTML-Leitfadens war?
Am anderen Ende des Spektrums scheinen Websites die <body>
Überschrift main -level für den Produktnamen (Foo) oder den Themencontainer (User Guide for Foo) zu verwenden. Wobei alle nachfolgenden Seiten dann <h2>
für den eigentlichen Seitentitel verwendet werden.
Die Frage
Wie leiten Suchmaschinen mithilfe des DOM und der HTML5-Gliederung den Kontext einer Webseite ab, wie sie auf der MDN-Website zu finden ist?
Wie kann die folgende HTML5-Seite richtig markiert werden, damit Google die Seite im entsprechenden Kontext indizieren kann? Dazu gehören Nutzung <title>
, <header>
und <h1>
Elemente.
- Name der Firma
- Produktname
- Benutzerhandbuch
- Beginnen
Die wichtigste Überschrift im HTML-Code, die in einem Webbrowser angezeigt wird, sollte den Kontext der gesamten Website (Firmenname oder Produktname), die Themensammlung (Benutzerhandbuch) oder das aktuelle Thema (Erste Schritte) darstellen. ?
Meine beste Vermutung
<!DOCTYPE html>
<html>
<head>
<title>Getting Started | User Guide | Product Name - Company Name</title>
</head>
<body>
<header role="banner"> <!-- Note: Lack of <h1> in here -->
<a id="logo" href="http://example.com">Company Name</a>
<nav>
<h1>Site Navigation</h1>
<ul> ... </ul>
</nav>
</header>
<main role="main">
<div class="product-name">Product Name</div>
<div class="document">User Guide</div>
<h1>Getting Started</h1>
<p>blah</p>
</main>
</body>
</html>
Zum Abriss führen:
1. Getting Started
<title>
, den Kontext zu liefern. Ist es beispielsweise eine schlechte Idee, dasselbe <h1>User Guide for Ubermachine</h1>
auf jeder Seite einzufügen, auf der die Themenüberschrift angezeigt wird <h2>Getting Started</h2>
... oder sollte die Gliederung <h1>Getting Started</h1>
mit einem Begleittext beginnen <title>Getting Started | User Guide for Ubermachine</title>
, um einen nützlichen Kontext für Suchmaschinen bereitzustellen. Dies ist eine SEO-Frage.
<title>
der Kontext ausreicht.