Beruflich / eZ Systems / eZ Publish Suchmaschinen-Optimierung

Sie benutzen einen Browser der von diesen Internetseiten nicht unterstützt wird. Daher kann es sein, dass nicht alles so funktioniert und aussieht wie es sollte.

eZ Publish & Suchmaschinen

In aktuellen eZ Publish Installationen kann der Anwender derzeit zwischen zwei unterschiedlichen Paketen auswählen - ezwebin oder ezflow . Beide Varianten erlauben eine einfache und intuitive Verwaltung von Inhalten zur Veröffentlichung im Internet. Hierzu sind keine HTML Kenntnisse notwendig und selbst unerfahrene Anwender können relativ schnell und einfach Inhalte im www veröffentlichen. Allerdings möchte ein Anwender typischerweise auch, dass die von ihm angebotenen Inhalte auch gefunden werden. Da auch ich zur Gruppe dieser Anwender gehöre möchte ich in diesem Artikel einige Hinweise geben, an welchen Stellen bei eZ Publish noch Bedarf zur Nachbesserung besteht, wenn es um die Optimierung der Seiten für Suchmaschinen geht.

Die Erkenntnisse, die ich während der Erstellung meiner Internetseiten gewonnen habe, resultieren unter anderem auch aus der Auswertung der von Google zur Verfügung gestellten Werkzeuge. Dazu zählen sowohl die Google Webmaster Tools als auch Google Analytics . Andere Anbieter von Suchmaschinen stellen ggf. ähnliche Werkzeuge zur Verfügung, die ebenfalls zu derartigen Analysezwecken verwendet werden können.

Zugriffsmethode

Bereits vor der Installation von eZ Publish muss sich der Anwender entscheiden, welche Zugriffsmethode er für die eZ Publish Installation verwenden möchte. Anhand der Zugriffsmethode entscheidet eZ Publish dann, welche Inhalte wie dargestellt werden sollen. Die Zugriffsmethoden können im Nachhinein auch noch verändert und in einem gewissen Rahmen auch kombiniert werden. Zur Auswahl stehen hier die folgenden 3:

  • Host-basiert (http://abc.www.alexander-block.de und http://def.www.alexander-block.de)
  • URI-basiert (http://www.alexander-block.net/abc und http://www.alexander-block.net/def)
  • Port-basiert (http://www.alexander-block.net:80 und http://www.alexander-block.net:123)

Falls die eZ Publish Installation zur Verwaltung von mehr als einer Seite verwendet werden soll, bietet sich ein Host-basierter Zugriff an, da durch eine URI-basierten Zugriff bereits im Vorfeld ein "Unterverzeichnis" in den Zugriffspfad eingefügt wird (hier "abc" und "def") ohne das dort irgendwelche Inhalte hinterlegt sind. Einige Suchmaschinen gewichten Inhalte in "tieferen Unterverzeichnissen" weniger stark, weshalb daraus eine schlechtere Bewertung folgen könnte. Der Port-basierte Zugriff hat diesen Nachteil zwar nicht, ist für mögliche Besucher der Seiten jedoch evtl. verwirrend, da für Internetseiten typischerweise immer der Port 80 verwendet wird - wer hat schon einmal eine Internetseite wie z.B. http://www.irgend-eine-domain:9823/mein_inhalt.html gefunden?

Entscheidet man sich für die Verwendung eines URI-basierten Zugriffs, sollte man sicherstellen, dass die Meta-Daten für den Standard Seitenzugang davon abhängen, wie auf den Seitenzugang zugegriffen wird. Wenn beispielsweise "abc" der Standard Seitenzugang ist, gibt es ggf. zwei Möglichkeiten auf diesen zuzugreifen:

  • http://www.alexander-block.net/abc
  • http://www.alexander-block.net/

Für eine Suchmaschine sind diese Seiten unterschiedlich, was durch unterschiedliche Titel und Meta-Daten zum Ausdruck gebracht werden sollte.

Pagelayout

Da die pagelayout.tpl Vorlage zur Darstellung fast jeder Seite verwendet wird, kommt ihr auch im Hinblick auf die Suchmaschinen eine besondere Bedeutung zu. Hierbei sind zunächst die Bereiche interessant, die von einem Besucher der Internetseiten gar nicht sichtbar sind, für den Webcrawler einer Suchmaschine allerdings schon. In den Templates , die mit einem Standard-Paket ausgeliefert werden, können HTML-Tags enthalten sein, die ein class Attribut mit dem Wert "hide" haben. Dies führt dazu, dass die Inhalte dieses Tags für den Besucher nicht sichtbar sind, für einen Suchmaschinen Webcrawler allerdings schon. Ein Beispiel hierfür ist der Text "Skip to main content". Dieser ist dann in jeder Seite enthalten und verfälscht die eigentlichen Inhalte der Seite. Versteckte Tags sollten keinen Text beinhalten.

Metadaten

In HTML-Dateien können Meta-Informationen enthalten sein, die in der Regel auch von Suchmaschinen ausgewertet werden. Diese Meta-Informationen über eine jede Seite, sind für den Besucher der Seite normalerweise nicht direkt sichtbar. Zu den beiden wichtigsten Meta-Informationen gehören eine Beschreibung (description) und Schlagworte (keywords). Diese Informationen können in eZ Publish zwar individuell gesetzt werden, allerdings sind sie für alle Seiten gleich. Das ist in den meisten Fällen jedoch nicht gewünscht. Um dem Abhilfe zu schaffen gibt es unterschiedliche Möglichkeiten, über die im Einzelfall entschieden werden muss und die stark von davon abhängen um welche Art von Internetseiten es sich handelt. Einige frei verfügbare Erweiterungen für eZ Publish versuchen bereits diese Lücke zu schließen. Eine Möglichkeit besteht darin, jede Inhaltsklasse (content class) um zwei Attribute zu erweitern und die Inhalte dieser Attribute dann für jedes Objekt in den Meta-Informationen zu verwenden. Dies kann für umfangreiche Seiten entsprechend aufwendig werden, soweit nicht genügend Editoren verfügbar sind, die die entsprechenden Informationen eingeben können. In solchen Fällen ist es auch möglich, die Informationen zu vererben. Das heißt Inhalts-Objekte einer tieferen Ebene übernehmen die Meta-Informationen von Objekten einer höheren Ebene. Hierbei sollte jedoch darauf geachtet werden, dass die Meta-Informationen trotzdem unterschiedlich sind. Dies kann unter anderem dadurch erreicht werden, dass die Pfade zu den einzelnen Objekten automatisch an das Ende angehängt werden.

Parameter

Selbst wenn die Meta-Informationen für eine Seite, wie bereits beschrieben, individuell gesetzt werden können, sind diese unter Umständen noch für mehrere "Seiten" gleich. Das kann passieren, wenn eine Seite eine "Blätter-Funktion" bereitstellt. Das ist typischerweise bei Bildergalerien der Fall, wenn dem Besucher die Möglichkeit geboten werden soll, nicht alle Bilder auf einer Seite ansehen zu müssen. Stattdessen werden ihm nur die ersten 10 Bilder präsentiert und es gibt einen Verweis "Weiter", mit dem er sich die nächsten 10 Bilder ansehen kann. In eZ Publish wird eine solche Funktionalität normalerweise mit Hilfe von sogenannten View-Parametern umgesetzt. Diese Parameter werden aber normalerweise nicht in den Titel der Seite oder auch in den Meta-Informationen verwendet. Eine Suchmaschine interpretiert allerdings derart parametrisierte Seiten als vollkommen unabhängige Seiten. Daher sollten die View-Parameter in den Titel und auch in de Meta-Informationen aufgenommen werden. Im Beispiel von "offset" und "limit" könnte also beispielsweise der Titel um den Text "- von 10 bis 20" ergänzt werden.

Stichwörter

In eZ Publish werden Stichwörter dazu verwendet so genannte Schlagwortwolken zu generieren. Soweit eine Inhaltsklasse ein Attribut vom Typ "keyword" hat, können für Inhaltsobjekte dieser Klasse Stichwörter bzw. Schlagworte vergeben werden. Diese werden dann in einer entsprechenden Wolke (engl. tag cloud) zusammengefasst. Wenn ein Besucher auf einen Verweis in dieser Wolke klickt, bekommt er alle Seiten angezeigt, die das entsprechende Schlagwort enthalten. Dabei ist der Pfad, der typischerweise in der Brotkrümelnavigation angezeigt wird, immer gleich - egal welches Stichwort gerade angezeigt wird. Um das zu ändern müssen Änderungen am eZ Publish kernel vorgenommen werden und zwar an der keyword Sicht des content Moduls. Sinnvoll wäre hier das eigentliche Stichwort mit in den Pfad aufzunehmen. Dann könnten auch der Titel und die Meta-Informationen zu der Seite entsprechend angepasst werden.

Je nachdem wie viele Schlagworte für einen Internetauftritt verwendet werden, kann das allerdings eine negative Auswirkung auf einen Suchmaschinen-Index haben. Schließlich beginnt jede dieser Seiten dann mit dem Begriff "Stichwort" oder "Stichwörter" wodurch dieses Wort dann ein höheres Gewicht bekommt. Das ist jedoch nicht gewollt, weshalb die Darstellung von Stichwörtern ggf. gesondert behandelt werden sollte.

Wird ein Schlagwort aus allen Inhaltsobjekten entfernt und kommt somit nirgends mehr vor, bleibt die Seite, die sich eine Suchmaschine zuvor ggf. gemerkt hat nach wie vor bestehen - sie enthält lediglich keine Verweise. Dies ist wenig förderlich, da der Rest der Seite weiterhin im Suchindex erhalten bleibt und diesen hinsichtlich der Gewichtung verzerrt.

Tip an einen Freund

Die Funktion zum Weiterempfehlen einer Seite an Dritte (engl. tip a friend) ist im Hinblick auf Suchmaschinen ebenfalls von Bedeutung. Es handelt sich um eine weitere Funktion des content Moduls, die durch die Sicht tipafriend erzeugt wird. Aus Sicht der pagelayout.tpl ist die Ausführung dieser Sicht sehr ähnlich zu der, die durch die Sicht view des content Moduls erzeugt wird. Diese wiederum wird für die Anzeige von Inhaltsobjekten in der Vollansicht verwendet. Das Resultat ist, dass die Meta-Daten beider Sichten zunächst identisch sind. Dies führt zu doppelten Titeln und auch doppelten Meta-Daten im Kopf der HTML-Seiten. Von daher sollte in der pagelayout.tpl geprüft werden, ob die URL /content/tipafriend enthält, um die Meta-Daten und den Titel entsprechend anzupassen.

Fehlerseiten

Fehlerseiten werden angezeigt, wenn eZ Publish eine Seite z.B. nicht ausliefern kann. Dies kann beispielsweise durch fehlerhafte Verweise innerhalb oder auch außerhalb des Internetauftritts hervorgerufen werden. Die bekannteste Fehlerseite hat den HTTP Status 404. Obwohl Suchmaschinen normalerweise in der Lage sind, derartige Seiten zu identifizieren, kann man Ihnen die Mühe auch abnehmen und sie anweisen, solche Seiten nicht in den Index aufzunehmen. Dies kann z.B. durch den folgenden Eintrag in den Kopfdaten einer HTML-Seite geschehen.

<meta name="robots" content="noindex" />

Dieser Eintrag wird dann unter bestimmten Bedingungen von der pagelayout.tpl ausgegeben. Eine Bedingung könnte z.B. sein, dass die Variable

$module_result.ui_component

den Wert "error" enthält.

robots.txt

Ähnlich wie der soeben beschriebene Eintrag in den Kopfdaten einer HTML-Seite, kann man eine Suchmaschine auch anweisen, ganze Bereiche eines Internetauftritts nicht in den Index aufzunehmen. Dazu kann eine Datei robots.txt im eZ Publish Wurzelverzeichnis platziert werden. Damit Suchmaschinen diese Datei auch abrufen können, müssen bei einer eZ Publish Installation ggf. die RewriteRules des Apache Webservers um folgenden Eintrag ergänzt werden.

RewriteRule robots.txt - [L]

Dadurch wird die Datei robots.txt direkt zugreifbar und die Anfrage wird nicht an die Datei index.php weitergeleitet. In der Datei selbst könnte dann z.B. folgendes stehen:

User-agent: * Disallow: /var/cache/ Disallow: /var/log/ Disallow: /user/preferences/

Diese Einträge weisen Suchmaschinen an, alle Inhalte die sie unter http://www.alexander-block.net/var/cache oder analog dazu unter /var/log und /user/preferences finde, nicht in den Index aufzunehmen. In den ersten beiden Verzeichnissen befinden sich cache - und Protokoll -Dateien, die keine für Besucher verwertbaren Informationen enthalten und daher auch nicht indexiert werden müssen. Der letzte Eintrage bezeichnet eine URL die dazu verwendet wird, benutzerabhängige Informationen zu speichern bzw. abzurufen. Diese Seiten liefern keine Ausgabe zurück, sondern leiten einfach auf die gleiche Seite zurück, von der aus sie aufgerufen werden. Aus diesem Grund können Suchmaschinen angewiesen werden, diese URLs nicht in ihren Index aufzunehmen.

  • Derzeit 5 von 5 Sternen.
  • 1
  • 2
  • 3
  • 4
  • 5
Bewertung: 5/5 (Abgegebene Stimmen: 1)

Vielen Dank für die Bewertung!

Sie haben diesen Inhalt bereits bewertet. Sie können jeden Inhalt nur einmal bewerten!

Ihre Bewertung wurde geändert, vielen Dank für die Bewertung!