Tipps zur Suchmaschinenoptimierung - Kapitel "Optimierungstechniken-Technologie"

Bilder als Überschriften dynamisch ersetzen

Es gibt viele Gründe, einzelne Teile einer Website als Grafik an Stelle von „normalem Text“ umzusetzen. Gerade dort, wo ein vorhandenes Corparate Design auch im Web möglichst weiter leben soll, werden vor allem Titel und Überschriften in einem „Hausfont“ als Grafik erstellt und in die Seiten eingebunden. Zur Optimierung für Suchmaschinen werden diese Bilder gern so implementiert, dass dynamisch beim Laden einer Seite normaler Text gegen entsprechende Bilder ausgetauscht werden. „Dynamic Image Replacement“ heißt das Zauberwort. Um den Text gegen die (hoffentlich) ansprechenderen Grafiken auszutauschen, existieren zahlreiche Methoden, die entweder auf CSS oder JavaScript – oder beidem – basieren. Dieser Beitrag stellt ausgewählte Methoden im Detail vor.

Image Replacement dient dazu, den Quellcode einer Seite möglichst so zu gestalten, dass er ebenso barrierearm wie auch optimiert für Suchmaschinen gestaltet ist, ohne dabei für den Konsumenten im Browser auf die Vorteile von Bildern zu verzichten.

Oft dient dieses Mittel, zu dem es verschiedene Methoden gibt, zum Austausch ganz gezielter Textinhalte wie z. B. Überschriften. Ob grafische Überschriften deswegen verwendet werden, weil die Schrift mit ausgefallenen Effekten oder Hintergründen ausgestattet werden soll oder ob schilcht und ergreifend eine existierende CI eines Unternehmens auch im Web durchgesetzt werden soll (Kompromisse mit ähnlichen Schriftarten sind aus welchen Gründen auch immer nicht akzeptabel): Das Ziel ist immer der möglichst reibungslose Austausch von semantisch „wohlgeformt“ im Text platzierten Überschrifen durch grafischen Ersatz im Browser eines typischen Besuchers, so dass der Konsument mit einem „normalen“ Browser in den Genuss der grafischen Inhalte kommt, während sich diese möglichst nicht störend für Suchmaschinen oder alternative Ausgabegeräte wie Screenreader oder PDAs mit „CSS-loser“ Darstellung von Webseiten.

Grundsätzlich gilt für alle Methoden: Seien Sie sparsam und vorsichtig mit dem Einsatz, wenn Sie es denn überhaupt tun (müssen). Jede Methode läuft „irgendwie“ darauf hinaus, Text zu verstecken und durch Grafiken zu ersetzen. Das in der hier vorgestellten Methode (und vielen anderen Varianten) eingesetzte „text-indent:-xxx“ stößt grundsätzlich bei allen Suchmaschinen sauer auf und es ist immer ein Indiz für potentiellen Spam, da vor allem früher in solchen Konstruktionen oft und viel Spamlinks und andere Inhalte untergebracht wurden, die ausschließlich für Suchmaschinen gedacht waren. Streng genommen ist dies ja auch hier der Fall… (Derzeit noch) sicherere Wege bieten JavaScript-Methoden, wenngleich Google & Co. auch mit JavaScript unter gewissen Umständen nur noch wenig Probleme beim Verstehen haben. Image Replacement in einem vernünftigen Umfang sollte nur in Ausnahmefällen ein Problem für die Domain darstellen. Da aber gerade wichtige Keywords in Überschriften stehen, die möglicherweise durch die Ersetzung zumindest entwertet werden, ist der Einsatz aus Sicht der Suchmaschinenoptimierung zumindest fraglich. Wer ganz sicher gehen will, ist sicher besser beraten, auf solche Methoden zu verzichten und lieber Kompromisse bei der „trickfreien“ Gestaltung von Überschriften eingehen.

Auswahl der Methode

Aus der Vielzahl der Techniken, die übersichtlich bei Dr. Web zusammengefasst sind (eine aktuellere Fassung findet man bei Jens Meiert), werden hier zwei Varianten ausgewählt und kurz vorgestellt.

Phark: Alt aber gut!

Die Phark-Methode hat den Vorteil, dass die ausschließlich auf CSS beruht – es wird also kein JavaScript oder eine Serversprache benötigt, um Überschriften gegen die passenden Grafiken auszutauschen. Die Lösung ist robust und stabil (funktioniert in allen „relevanten“ Browsern) und denkbar simpel. Auf der Nachteil-Seite steht die Erfordernis, für jede Überschrift eine passende Grafik erstellen zu müssen (was in den meisten – Ausnahmen siehe unten- anderen Fällen auch so ist) sowie ein wenig erforderlicher Markup in jeder nutzenden Seite in Form passender Verweise zum jeweiligen Bild nebst einer irgendwie gestalteten Kennzeichnung der entsprechenden Tags, die ausgetauscht werden sollen. Im Beispiel werden IDs und Klassen für die jeweiligen Abschnitte verwendet, um „allgemeines CSS“ individuell mit Bildern zu versehen. Die ID kann natürlich auch zu Gunsten von Inline-CSS ausgetauscht werden; die Bündelung im Kopf erscheint aber nicht nur für den „Quellocodeleser“ eleganter.

Die theorstische Gefahr, dass ein Besucher mit eingeschaltetem CSS aber deaktivierter Anzeige von Bildern daherkommt, soll hier irgnoriert werden; zumal diese Besucher auch nichts sehen, wenn die Grafik direkt eingesetzt wird – hier hilft ganz einfach nur der echte Verzicht auf Grafik zu Gunsten reiner CSS-formatierter Text – Überschriften.

Alternative für umfangreiche Sites

Wer es sich nicht erlauben kann, für jede Überschrift eine Grafik zu erstellen oder den Administrationsaufwand scheut – oder wenn ein Blog mit diesem Effekt ausgestattet werden soll, dessen neue Beiträge ständig eine neue Grafik erfordern würden – muss eine Methode her, die die erforderlichen Bilder dymanisch erstellt; möglichst mit Caching bereits erstellter Grafiken und einfach im Einbau. Da hier aktiv vom Server die passende Grafik für jede Überschrift erzeugt werden soll, fallen reine JavaScript – Lösungen aus und es muss eine Server-Lösung mittels PHP, ASP oder entsprechenden Mitteln her. Ein „Klassiker“ in diesem Bereich deckt die meisten Ansprüche ab: Scalable Inline Image Replacement (SIIR). Ein gutes Tutorial findet sich unter http://www.whaleofadive.com/misc/siir/about.php

Beispiele für die Anwendung der Phark-Methode

Erste Testüberschrift

Phark im Einsatz: Hier steht im Quelltext nichts anderes als:

<h2 class=“phark“>Erste Testüberschrift</h2>

Damit die Grafik an der Stelle des Textes erscheint, wird der Text selbst durch eine entsprechende text-indent-Anweisung außerhalb des sichtbaren Bereichs plaztiert. Den frei gewordenen Platz füllt eine Hintergrundgrafik, mit der der h2-Tag der Überschrift formatiert wird. Das geht natürlich auch mit allen anderen Tags und es muss auch keine separate Klasse sein, wenn man ein Tag wie „h2“ z. B. generell für grafisch zu ersetzende Überschriften verwendet – Im obigen Beispiel würde dann die Klassenzuweisung zur Klasse „phark“ entfallen und die folgende CSS-Definition einfach für alle h2 (oder h1, h3 oder wie auch immer…) – Tags vornehvornehmen.

Die erforderlichen CSS-Anweisungen stehen im vorliegenden Fall einfach im Quellocode der Seite; können aber natürlich (besser) in das zentrale CSS eingelagert werden, wenn die Ersetzung durch Bilder an mehr als einer Stelle statt finden soll:

h2.phark {
background-image: url(‚testueberschrift1.png‘);
background-repeat: no-repeat;
height: 20px;
text-indent: -3000px;
width: 90%;
}

Hierbei wird angenommen, dass alle Grafiken eine einheitliche Höhe von 20 Pixeln besitzen. Um die Breite möglichst nicht auch genau festzulegen, wird hier mit einer prozentualen Angabe gearbeitet; damit das Bild bei kleineren Überschriften nicht wiederholt wird, ist hier die Bildwiederholung explizit abzuschalten. Durch die Positionierung des Textes im unsichtbaren Bereich wird nur die Hintergrundgrafik angezeigt. Genau so gut ist natürlich auch eine feste Breitenangabe in Pixeln, die zur Grafik passt. Ohnehin würden nun alle Überschriften zweiter Ebene, die diese Klasse erhalten, das gleiche hier verwendete Hintergrundbild für die „ueberschrift1“ erhalten.

Bleibt die Frage: Wie also bekommt der nächste Abschnitt eine passende Grafik spendiert?

Zweite Testüberschrift

Antwort: Durch passende Zuweisung eines anderen Bilds und Beibehaltung aller anderen Anweisungen für den Block. Das kann entweder „inline“ geschehen oder über eine ID im allgemeinen CSS (ein Eintrag für jede Überschrift werforderlich) bzw. per CSS im Kopf der Seite. Dazu wird nur die Eigenschaft background-image überschrieben.

Inline-Lösung

<h2 class=“phark“ style=“background-image:url(‚testueberschrift2.png‘)“>Zweite Testüberschrift</h2>

Im Head individuell überschreiben

Hierbei wird die zweite Überschrift wie die erste mit der Klasse „phark“ versehen und erhält eine ID, über die die neue Grafik per CSS zugewiesen werden kann:

<head>

<style type=“text/css“>
#u2 { background-image: url(‚testueberschrift2.png‘) }
</style>
</head>

<h2 class=“phark“ id=“u2″>Zweite Testüberschrift</h2>

Dritte Testüberschrift

Diese Überschrift ist „Ungepharked“ – so sieht die Überschrift ohne Zuweisung der Phark-Klasse und Definition eines Hintergrundbildes aus – also „ganz normal“. Ist diese Schriftart – anders als hier – in Aussehen, Größe und Farbgebung an die grafischen Überschriften angelehnt, ist der Verlust gering, wenn die Methode auf dem konsumierenden System nicht greift…