Die Navigation oder die Menues über die Ihre Inhalte für den Benutzer zugänglich werden sind das Herz der internen Verlinkung einer Website. Alle Seiten sind über die Navigation miteinander verbunden. Die Art und Ausführung der Navigation wird bei einem neuen Projekt sehr früh festgelegt und ist grundlegend bis zum nächsten Redesign. Einmal begangene Fehler können nur schwer ausgebügelt werden.
Hier dreht sich alles um die Haupt-Navigation, die Linkliste in der alle Ihre Inhalte innerhalb der Site verlinkt werden. Oft gibt es nur diese eine Navigation die ihre Inhalte für Besucher und Suchmaschinen erschließt. Um alle Ihre Inhalte für Suchmaschinen zu erschließen müssen bestimmte Regeln eingehalten werden.
Die einfachste und beste Möglichkeit ist eine schlichte Liste von Links, die mit CSS verschönert werden kann. Hierzu wird in der HTML einfach das Href-Tag verwendet. Diese Links sind sowohl für den Benutzer als auch für die Suchmaschine gut lesbar und erreichbar. Das Problem eine optimale Linkstruktur mit diesen Links aufzubauen, liegt darin die Navigation jeweils für eine Seite anhand Ihrer Position optimal zu berechnen. Dieses sollte ein gutes Content-Managementsystem für sie übernehmen.
Es ist schick die Hauptnavigation zu animieren und optisch aufzuwerten. Über Mouseover und Click-Events werden Bilder ausgetauscht und Farben gewechselt. Für die Suchmaschine ist dieses Verhalten zunächst ungefährlich, solange in der Seite die Links als echte HTML vorhanden sind und nur die umliegenden Objekte vom Javascript verändert werden. Oft werden die eigentlichen Links jedoch über Events mit Javascript abgewickelt.
Suchmaschinen-Crawler behandeln alle Javascript-Elemente einer Seite als Programm und überspringen diese Teile der Seite. Wird ein Link in einem Stück Javascript-Code generiert, z.B. in dem der Link mit print erzeugt wird oder komplett als Javascript ausgeführt wird, ist er für den Crawler nicht erkennbar. Alle Linkziele entgehen dem Suchmaschinencrawler, er wird die Links nicht verfolgen, Folgeseiten werden nicht indiziert und können Ihre Relevanz über die Links nicht steigern.
Bei großen Sites wird oft die Navigation als eine Reihe von Buttons oder sensitive Flächen mit OnClick-Events übergeben. Der eigentliche Link ist nicht vorhanden, ein Javascript-Programm startet die nächste Seite. Dieser Aufbau wirkt fatal: Alle verlinkten Seiten werden vom Crawler nicht erkannt, da aktive Inhalte ausgeblendet werden.
Der Einsatz dieser Technik hat viele Gründe: Oft ist es der Versuch die Linkliste der Website in einer zentralen Datei zu pflegen und es dem Browser zu überlassen die Navigation immer aktuell bei der Seitenansicht zu berechnen, selbst manche Redaktionssysteme bauen auf dieser Technik auf. Diese Arbeitserleichterung für den Webmaster ließe sich auch mit PHP vor der Ausgabe an den Browser erledigen, aber viele ältere Sites wurden auf Servern gehostet die keine eigene serverseitige Programmierung erlauben. Neue Techniken wie AJAX, die Teile der Website nach dem Rendern der Seite über Javascript-Events nachladen, bergen die gleichen Probleme.
Aus der Sicht der Suchmaschinenoptimierung hat Javascript beim Erstellen der Linkliste nichts verloren. Die Technik ist veraltet und sollte umgehend ausgetauscht werden.
Eine Java-Navigation ist nochmals eine Steigerung der Probleme die auch die Javascript-Variante der Navigation plagen. Clientseitiges Java als aktiver Inhalt wird sogar erst nach der HTML vom Browser geladen und ausgeführt. Ein Crawler wird die Inhalte eines Java-Applets für den Browser nicht erfassen können, da der Suchmaschinencrawler Java nicht ausführt.
Das eine Navigation in einem Java-Applet nicht barrierefrei ist, ist selbstredend: Viele Besucher schalten Java im Browser aus um keine Angriffe über die eigentlich ungefährlichen Applets zu riskieren und sehen nur eine graue Fläche. Zudem muß auf dem System des Besuchers eine passende Java-Runtime vorhanden und das Applet für den Benutzer akzeptabel signiert sein.
Java sollte aufgrund seiner Nachteile bei der Ausführung im Webbrowser nur auf dem Webserver eingesetzt werden oder als spezielle Applikation, nicht jedoch für die Navigation im Browser.