Website: Die Rolle der Sitemap

Sitemaps sind oft vernachlässigte oder unterschätzte Komponenten. Manche betrachten sie als notwendiges Übel oder als reine Indexierungs-Dateien ohne Funktion für Leser. Hier aber soll sie als Herzstück aller Navigations-Logik im Webdesign und als wichtiger Inhalt für alle Anwender vorgestellt werden.

keep it simple stupid

KISS, ein Eintrag genügt

Je mehr Seiten man erzeugt, um so mehr steigt das Bedürfnis nach Automatisierung der Verlinkung. Im KISS-Design wird die Verlinkung von main.js vorgenommen. Aber es muss auch eine Datenbank geben, wo alle Links angemeldet werden. Die Sitemap ist diese Datenbank. Und in dieser Rolle muss sie natürlich mitgeladen werden, was in main.js durch einen XHR-Request geschieht.

Eine Sitemap ist eine normale Seite

Eine Sitemap ist nicht nur für Index-Bots. Sie ist aber auch für diese. Sie ist nicht nur für main.js, aber sie ist auch für diese. Sie ist aber vor allem für User und vor allem für Autoren selbst.

Die Sitemap ist die wichtiste Seite

Die Sitemap sei die erste Seite, die wir überhaupt erstellen, noch vor einer index.html. Sie beinhaltet alle Links zu öffentlich zugänglichen Seiten, und konzentriert sich nur darauf, diese Links zu gruppieren sowie in Semantik, Rolle und Inhalt zu beschreiben, so dass die verschiedensten Prozesse diese auswerten kann.

Struktur der Sitemap

Unsere Sitemap soll verschiedene Funktionen erfüllen, als da wären:
➜ Navigationsmenu ( Attribut data-for="navigation" )
➜ Suchformular ( Attribut data-for="searchform" )
Wir verwenden strukturierende Elemente wie Definitionslisten ( Elemente dl, dt und dd ), um verschiedene Sektionen zu definieren.

<dl data-for="navigation searchform">
	<dt>Allgemein</dt>
	<dl data-group="Allgemein">
		Liste von Links
	</dl>
	<dt>Hauptthema</dt>
	<dl data-group="Hauptthema">
		Liste von Links
	</dl>
</dl>

<dl data-for="searchform">
	<dt>Hauptthema</dt>
	<dl data-group="Hauptthema">
		Liste von Links
	</dl>
	<dt>Spezielles</dt>
	<dl data-group="Spezielles">
		Liste von Links
	</dl>
</dl>

In diesem Beispiel sollen beide Gruppen das Suchformular füttern, aber nur die erste Gruppe soll in die Menu-Navigation aufgenommen werden. Zuständig ist hier das data-for="navigation"-Attribut.

Wir wiederholen nochmals das Label in dt als data-group="Label". Damit erhalten wir später mehr Flexibilität im Styling der Navigation, plus wir können später related Links in der Navigation einblenden, also Links die nicht immer in der Navigation präsent sein sollen.

Links und ihre Attribute

Listen von Links bilden Gruppen. Aber jeder Link kann noch seine eigenen Eigenschaften haben. Hier ein paar Beispiele.

<a data-relgroup="Groupname" href="topic.html">Topic</a>

Das Attribut data-relgroup="Groupname" verweist auf eine Gruppe gleichen Namens.
Ein Theme kann dieses Attribut verwenden, um eine Gruppe als related Links in die Navigation aufzunehmen, auch wenn der Link mit diesem Attribut nicht Bestandteil der permanenten Navigation ist.

Sitemap

<a rel="sitemap" href="sitemap.html">Sitemap</a>

Kontakt

<a href="kontakt.html" data-keywords="Kontakt Impressum Datenschutz Allgemein">Kontakt</a>

Startseite

<a rel="bookmark" href="index.html" data-keywords="Start Home">Startseite</a>

Nicht indexierte öffentliche Seite

<a rel="noindex nofollow" hreflang="de" href="#not_so_public.html" 
   data-keywords="">Nicht indexierte öffentliche Seite</a>

Es ist ratsam, Links nur einmal aufzuführen, und dabei das Label in der kanonischen Form zu verwenden.
Folgende Attribute sind erforderlich:
href="..."
Folgende Attribute sind optional:
data-relgroup="..." (stellt eine Relation von einem Link zu einer anderen Gruppe her)
rel="..." (typisch: noindex, nofollow, sitemap, bookmark)
hrelang="..." (typisch: de, fr, it, en ...)
Folgende Attribute können von main.js ausgewertet werden.
data-keywords="..."

Index-Bots

Wie werden Index-Bots mit dieser Seite umgehen? Sie gehen damit um, wie mit einer normalen Seite. Der Name der Seite (sitemap.html) ist nicht magisch. Sogar das Attribut rel="sitemap" hat nur eine beschränkte Wirkung. Suchmaschinen wie Google fordern für reine Indexierungs-Sitemaps Seiten im xml oder text/plain-Format. Sie berücksichtigen zudem die Angaben in der robots.txt-Datei.