Tipps zur Suchmaschinenoptimierung - Kapitel "Optimierungstechniken-Technologie"

Teil 3 von 3: Optimierung von Frameseiten für Suchmaschinen

Der beste Weg, um eine auf Frames basierende Website suchmaschinenfreundlich zu gestalten, ist eine Portierung sämtlicher Inhalte in ein neues suchmaschinenfreundliches Design, welches keine Frames mehr benötigt – oder gleich der Umstieg auf ein CMS mit entsprechend suchmaschinenfreundlichen Templates. Wenn Sie aber nach wie vor an Frames festhalten wollen, müssen oder zumindest noch eine Zeitlang damit leben werden, sind einige Dinge zu beachten, wenn Sie die Inhalte optimieren wollen.

Noframes optimieren

In jedem Fall muss bei der Entscheidung für einen Erhalt von Frames der noframes – Bereich der Hauptseite sehr sorgfältig optimiert werden. Warum beschreibt der zweite Teil dieser Serie genauer. Was sollen Sie sinnvollerweise in diesen Tag einschließen? Es mag mehrere sinnvolle Empfehlungen geben, hier soll aber nur ein Ansatz beschrieben werden. Dieser macht aus der Startseite nicht viel mehr als eine zentrale Stelle, an der Suchmaschinen einsteigen und sich die erforderlichen Links abholen können. Dazu muss auf die „Suchmaschinen-Startseite“, also in den noframes – Tag, nur das Wesentliche über Ihr Unternehmen. Stellen Sie sich vor, schreiben Sie einen oder zwei Sätze, die den Kernzweck Ihres Unternehmens nennen (und die in dieser Form auch auf die „reale Startseite“ in den Hauptinhalt gehören) und verweisen Sie dann auf eine Sitemap oder einen anderen geeigneten Einstiegspunkt für Ihren Inhalt, von dem aus die „Verlinkungskette“ für alle weiteren Webseiten geschlossen werden kann. Besteht die komplette Site also nur aus wenigen Seiten, die alle über die Navigation per „normalem Link“ (kein JavaScript!) erreichbar sind, reicht auch ein Verweis auf die Seite mit der Navigation, statt eine separate Sitemap zu erstellen und hier zu verlinken. Ein Beispiel gefällig?

<frameset rows="*" cols="150,*" frameborder="NO" 
border="0" framespacing="0">
...
</frameset>
<noframes><body>
<h1>MyAtom24: Günstige Atomkraftwerke online kaufen</h1>
<p>Wir von MyAtom24 bieten bereits seit 200 Jahren günstige neue
und gebrauchte Atomkraftwerke für Bastler und jeden Zweck. In
unserem <a href="shopstart.html">Online-Shop</a> finden 
Sie stets günstige Angebote für Ihr eigenes 
Atomkraftwerk - versandkostenfrei und neutral 
verpackt!</p>
<h2>Inhalt unseres Webangebots</h2>
<p>In unserer <a href="sitemap.html">Sitemap</> finden Sie 
Verweise zu allen weiteren wesentlichen Inhalten unserer 
Website.</p></body></noframes>

Metatags für die Frameseiten

Legen Sie auch ganz besonders viel Augenmerk auf die Metatags der Startseite, die das Frameset enthält. Es nutzt nichts, hier eine Vielzahl an Begriffen in den keywords„- Tag zu stopfen, da diese wahrscheinlich ohnehin im Inhalt nicht vorkommen und daher nur sinnlos verpuffen (und Ihnen gleich wieder einen Minuspunkt wegen unehrlicher Tags bei den Suchmaschinen einbringt). Ihr Firmenname und das Hauptprodukt reichen z. B. vollkommen aus, wenn diese auch in der kurzen Vorstellung vorkommen. Auch die Description kann allgemein gehalten werden, wenn Sie denn hier überhaupt etwas eintragen wollen.

Bei den Seiten, die den jeweiligen Hauptinhalt Ihrer Webseiten bilden, müssen Sie hingegen die Meta-Tags pflegen, wie es für eine „vollständige“ Seite erforderlich ist. Dazu gehört auch, dass die Seite einen brauchbaren und suchmaschinenfreundlichen Titel im <title> – Tag erhält, wenngleich dieser eigentlich gar nicht im Browser erscheint.

Inhalte „linkfähig“ machen

Wie bereits im letzten Beitrag beschrieben wurde, können Frameseiten eigentlich gar nicht sinnvoll verlinkt werden, wenn man nicht auf die Startseite verweisen will. Links zu Inhalten, die erst durch Navigation erreicht werden können – so genannte „Deeplinks“, weil diese tiefer in den Inhalt Ihrer Site verzweigen – sind nur auf die Teilbereiche (Hauptinhalt) möglich, die die relevanten Informationen enthalten.

Damit ein solcher Link nicht nur innerhalb der Site funktioniert, wo Sie über das Frameset und die das „target“ – Attribut der Links selber steuern, in welchem „Fenster“ (in diesem Fall ein Teil des Framesets) ein Link geöffnet werden soll, sondern auch „von außen“, müssen Sie den Browser beim Laden einer Seite von Ihrer Domain dazu veranlassen zu prüfen, ob das passende Frameset existiert oder nur eine Detailseite ohne Frameset geladen werden soll. Stellt der Browser fest, dass das Frameset fehlt, soll er dieses zuerst „nachladen“ und dann die gewünschte Seite dort anzeigen, wo sie im Frameset „hingehört“. Dazu können Sie JavaScript verwenden. Es gibt zwar keine Garantie, dass JavaScript in dem konsumierenden Browser auch wirklich aktiviert ist, Sie haben aber für die anderen 99% der Besucher eine brauchbare Lösung.

Verwenden Sie ein Script, welches überprüft, ob Frames im Einsatz sind und im Bedarfsfall das Frameset „künstlich“ erzeugt. Dazu finden Sie im Web mehrere Beispiele; eine simple Variante kann wie folgt aussehen:

if (!parent.frames.length) {
var Pfad = self.location.href;
var Datei = Pfad.slice(Pfad.lastIndexOf("/") + 1);
document.close();
with (document) {
open();
writeln('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">');
writeln('<html>');
writeln('<head>');
writeln('<title>Mein Wunsch - Titel der Domain</title>');
writeln('<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">');
writeln('</head>');
writeln('<frameset rows="*" cols="150,*" frameborder="NO"
border="0" framespacing="0">');
writeln('<frame src="navigation.html" name="navFrame" 
scrolling="NO" noresize>');
writeln('<frameset rows="80,*" frameborder="NO" 
border="0" framespacing="0">');
writeln('<frame src="header.html" name="headerFrame" 
scrolling="NO" noresize>');
writeln('<frame name="contentFrame" src="' + Datei + '?loadframe">');
writeln('</frameset>');
writeln('</frameset>');
writeln('<noframes><body>');
writeln('</body></noframes>');
writeln('</html>');
close();
}
}

Dieses Script können Sie z. B. in eine Datei „frameset.js“ auslagern und im Kopf jeder Hauptinhaltsseite einlesen. Dazu schreiben Sie innerhalb des <head>-Bereichs der Seite folgende Anweisung, wenn Sie die Datei frameset.js im Stammverzeichnis Ihrer Seite, parallel zur Frameseite und den Inhalten, abgelegt haben:

<script type="text/javascript" src="/frameset.js"></script>

Wenn Ihre Site eine andere Struktur hat, müssen Sie die Pfade für das Einlesen des Scripts anpassen; ebenso muss das Frameset, welches mittels „writeln“ im oben stehenden Beispiel erzeugt wird, mit dem Frameset Ihrer Seite übereinstimmen, so dass das Script entsprechend angepasst werden muss.

Und „alles andere“ auch…

Auch alle anderen Regeln, die für eine „normale“ Seite gelten, können Sie auch auf die Frameseiten anwenden. So sollten die Hauptinhaltseiten einen brauchbaren Ddateinamen erhalten, der auch die Keywords aufnimmt. Metatags müssen gepflegt sein; Bilder mit Attributen versehen, Text semantisch ordentlich ausgezeichnet usw… also das ganze Arsenal, was der Suchmaschinenoptimierer abfeuern kann.

Und Seiten wie der Kopf, Fuß und die Navigation sowie alle anderen Teile, die nicht zum Hauptinhalt gehören, sollten Sie ggf. mit dem Robots-Tag „noindex,nofollow“ (siehe Beiträge zur Verlinkung und zu Metadaten) versehen, damit diese nicht versehentlich doch bei einigen Begriffen in Suchtreffern erscheinen. Beinhalten diese anderen Teile hingegen auch relevante Informationen, müssen Sie diese zur Not ebenso mit einer JavaScript-Ergänzung des Framesets ausstatten. Dabei muss das Script dann aber so gestaltet werden, dass die Seite nicht in den Frame für den Hauptinhalt, sondern den passenden Platz nachgeladen wird – die Navigationsseiten in den Navigationsframe, der Kopf in den Kopfframe etc.