Suchmaschinenoptimierung für TYPO3 – Teil II

Martin Günther
Martin Günther

Martin Günther hat nach seiner Ausbildung zum Fachinformatiker mit dem Schwerpunkt Entwicklung an der FH Würzburg / Schweinfurt Wirtschaftsinformatik mit dem Studienschwerpunkt E-Commerce studiert. Bereits während seines Studiums arbeitete er im Bereich Online-Marketing und Web-Entwicklung unter anderem für unterschiedliche Kunden. Nach seinem Studium arbeitet er bei der tms development GmbH in Nürnberg als Website-Boosting Engineer in der Beratung und Entwicklung und begleitet Online-Marketing Projekte großer und mittelständischer Unternehmen.

Mehr von diesem AutorArtikel als PDF laden

Der erste Teil dieser Serie beschäftigte sich mit Grundlagen der Suchmaschinenoptimierung für TYPO3. Darauf aufbauend lesen Sie in diesem Teil, wie Sie mit TYPO3 statische URLs erstellen und noch mehr Geschwindigkeit aus dem System herausholen.

Dynamische URLs, wie sie von TYPO3 in der Standardkonfiguration generiert werden, stellen für Suchmaschinen, je nach Anzahl der Parameter, heute in der Regel kein Problem mehr dar. Dennoch hat der Einsatz statischer URLs Vorteile, die nicht von der Hand zu weisen sind.

Doch zunächst zu den Unterschieden. Im Vergleich zu statischen URLs (z. B. www.domain.de/eine-seite.html) enthalten dynamische URLs Parameter (z. B. www.domain.de/index.php?id=1), die dem zugrunde liegenden System mitteilen, welche Inhalte aus der Datenbank abzurufen und anzuzeigen sind. Die einzelnen Webseiten werden hierbei in der Regel aus einer Vorlage (Template) mit sich ständig ändernden Inhalten aufgebaut. Soweit die Theorie. Durch entsprechende Einstellungen lassen sich dynamische URLs und deren Parameter in statische URLs umwandeln – womit das System praktisch vortäuscht, die einzelnen Webseiten lägen physikalisch auf der Festplatte des Webservers und würden nicht erst zum Zeitpunkt des Abrufs aus Datenbankinhalten erstellt.

Aus SEO-Sicht eignen sich statische URLs besser, um wichtige Keywords darin unterzubringen und das Ranking damit positiv zu beeinflussen – wenn auch nur minimal. Entscheidend sind jedoch die Vorteile aus Nutzersicht. Kurze statische URLs lassen sich leichter merken und verteilen (z. B. per E-Mail). Außerdem haben sie einen leichten Vorteil im Hinblick auf die Klickrate (CTR) in den Suchergebnissen, da sie durch den Nutzer einfacher gelesen werden können bzw. mehr Aussagekraft haben. Und wie man inzwischen weiß, spielt die Klickrate in den Suchergebnissen auch eine nicht unbedeutende Rolle für das Ranking. Zuletzt gibt es noch einen Sicherheitsaspekt. Für potenzielle Hacker ist es etwas schwieriger, durch Manipulation der Parameter Schaden anzurichten. Aufgrund der genannten Vorteile empfiehlt sich daher der Einsatz statischer URLs – vor allem bei neu aufgesetzen Websites. Die Umstellung einer bestehenden Website stellt dagegen eine große Herausforderung dar. Alle bestehenden dynamischen URLs müssen im Idealfall auf die jeweils neue statische URL weitergeleitet werden. Und selbst dann kann es zu vorübergehenden Abstufungen im Ranking kommen. Getreu dem Motto „never change a running system“ sollte dieser Schritt daher genau überlegt werden.

RealURL installieren & konfigurieren

Für die Umsetzung statischer URLs mit TYPO3 hat sich die Erweiterung RealURL bewährt. Die aktuelle Version findet man im TYPO3 Extension Repository unter einfach.st/realurl. Nach erfolgreicher Installation sind noch einige Konfigurationen vorzunehmen, bevor die Erweiterung ihren Dienst aufnimmt. Zunächst muss die .htaccess-Datei im Hauptverzeichnis (Root) der Domain bzw. der TYPO3-Installation angepasst oder, falls noch nicht vorhanden, angelegt werden. Über die .htaccess-Datei (auch bekannt als Datei zum Einrichten eines Zugriffsschutzes auf Verzeichnisebene) werden die serverseitigen Einstellungen für die URL-Umschreibung vorgenommen. Die TYPO3-Installation enthält üblicherweise bereits eine .htaccess-Datei mit den nötigen Einstellungen (eine Vorlage der .htaccess-Datei finden Sie auf unserem Webserver unter einfach.st/htaccess). Diese Datei ist standardmäßig jedoch durch einen vorangestellten Unterstrich deaktiviert (_.htaccess) und kann durch Entfernung dieses Unterstriches aktiviert werden.

Die Umbenennung im Windows-Dateiexplorer wird mit einer Fehlermeldung quittiert, da es sich nach Windowsvorstellungen um einen ungültigen Dateinamen handelt. Verwenden Sie stattdessen einen Editor und die Funktion „Speichern unter“ oder ändern Sie den Dateinamen direkt auf dem Webserver mit einem FTP-Programm.

Liegt die TYPO3-Installation nicht im Hauptverzeichnis des Webservers (Document Root), muss noch die Zeile „#RewriteBase /“ auf „RewriteBase /unterverzeichnis“ in der .htaccess-Datei angepasst werden. Statt „/unterverzeichnis“ ist selbstverständlich der jeweilige Name des Unterverzeichnisses zu verwenden. Für alle, deren _.htaccess Datei ggf. abhandengekommen ist, hier die benötigten Zeilen:

RewriteEngine On
RewriteBase /
RewriteRule ^(typo3/|t3lib/|tslib/|fileadmin/|typo3conf/|typo3temp/|uploads/|showpic\.php|favicon\.ico) - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule .* index.php [L]

Im nächsten Schritt muss die Erweiterung noch über TypoScript aktiviert werden. Dazu fügt man den nachfolgenden Code in das Haupt-TypoScript-Template ein:

# Simulate Static Documents ausschalten da mit RealURL inkompatibel
config.simulateStaticDocuments = 0
# Konfiguration des <base> Tags
config.baseURL = http://www.ihre-domain.de/
# RealURL aktivieren
config.tx_realurl_enable = 1

Mit diesen Einstellungen ist die Erweiterung RealURL aktiv und TYPO3 generiert ab sofort statische URLs in der Form www.ihre-domain.de/eine-seite/. Wer tiefer in die Materie einsteigen möchte, um gezielte Änderungen am Aufbau der statischen URLs vorzunehmen, kann dies mithilfe einer Konfigurationsdatei tun. Dafür sind allerdings tiefer gehende Programmierkenntnisse erforderlich, weshalb hier nicht zuletzt auch aus Platzgründen nicht auf alle machbaren Einstellungen eingegangen werden kann. Ein Beispiel erläutert aber die prinzipielle Vorgehensweise:

Zur Bearbeitung der Konfigurationsdatei innerhalb von TYPO3 ist die Installation der Erweiterung RealURLConfigurator (einfach.st/realconfig) erforderlich. Außerdem muss in den Erweiterungseinstellungen von RealURL (zu erreichen über den Erweiterungsmanager) der Wert „Path to configuration file“auf „typo3conf/realurlconf.php“ angepasst und „Enable automatic configuration“ deaktiviert werden. Im Modul Realurlconf muss die Konfigurationsdatei durch Klick auf „Versuche anlegen“ und danach auf „Standardinhalt kopieren“ (Abbildung 1) angelegt werden. Nun können die gewünschten Einstellungen vorgenommen werden (Abbildung 2). Um die generierten URLs anstatt mit einem / optisch sauber mit .html enden zu lassen, wird der Wert von „defaultToHTMLsuffixOnPrev“ auf 1 gesetzt. Jetzt muss man nur noch den TYPO3-Cache leeren und ab sofort werden die URLs in der Form www.ihre-domain.de/eine-seite.html dargestellt. Die zahlreichen weiteren Einstellungsmöglichkeiten sind der RealURL-Dokumentation zu entnehmen (einfach.st/realdoc). Eine auf das Wesentliche reduzierte Vorlage der Konfigurationsdatei zum eigenen Ausbau finden Sie ebenfalls auf unserem Webserver unter einfach.st/realtxt.

Sprechende URLs gezielt festlegen

Mit der Installation von RealURL sind in den Seiteneigenschaften zusätzliche Felder hinzugekommen (Abbildung 3). Im Feld „Pfadsegment für untergeordnete Seiten“ kann und sollte in jedem Fall für jede Seite der URL definiert – und auch möglichst nicht mehr geändert – werden. Bleibt dieses Feld leer, wird der Seitentitel einer Seite für die statische URL herangezogen. Das Problem dabei ist, dass sich sonst bei einer Änderung des Seitentitels auch der URL ändert! Man müsste in diesem Fall manuell eine Weiterleitung einrichten, da TYPO3 bzw. RealURL diesen Schritt nicht automatisch übernimmt. Mit Aktivierung der Checkbox „Den gesamten Pfad überschreiben“ wird der gesamte Pfad überschrieben, also auch vorangestellte Unterverzeichnisse. Das bedeutet, man könnte die URL so gestalten, dass die Seite in der ersten Verzeichnisebene nach dem Domainnamen (z. B. www.domain.de/erste-ebene.html) liegt, selbst wenn die Seite im TYPO3-Seitenbaum in einem Unterverzeichnis eingeordnet wurde. Mit „Nicht in sprechende URL aufnehmen“ werden die URLs aller darunter liegenden Seiten eine Verzeichnisebene höher gestellt, da die Seite selbst nicht in den Pfad mit aufgenommen wird. Damit bietet RealURL aus SEO-technischer Sicht zahlreiche Möglichkeiten, URLs individuell und gezielt anzupassen.

Weiterleitungen erstellen

Auch bei der Erstellung von Weiterleitungen bietet RealURL Unterstützung. Weiterleitungen können mithilfe des Info-Moduls erstellt werden (Abbildung 4). Unter „Source URL“muss der alte URL exakt eingegeben werden – auch mit Unterverzeichnissen. Unter „Destination URL“ wird die neue Adresse eingegeben. Für eine permanente  Weiterleitung (301) muss jetzt nur noch die Checkbox aktiviert werden. Fertig!

Mit TYPO3 den Turbo einschalten

Wie beschleunigt man den Webseitenaufbau beim Besucher mit TYPO3 wohl am besten? Überspitzt gesagt, indem man es erst gar nicht als CMS nutzt! Genauer gesagt, indem man die typischen Eigenschaften eines CMS umgeht, dass Seiten bzw. deren einzelne Elemente eben erst bei der Anforderung durch den Besucher aus Datenbankfeldern geholt und zusammengebaut werden müssen (jede einzelne Datenbankabfrage kostet Zeit und das kann sich spürbar zu entprechend störenden Wartezeiten summieren – je nach aktueller Auslastung des Web- und Datenbankservers).

Genau diesen Ansatz verfolgt die TYPO3-Erweiterung Static File Cache (einfach.st/static). Diese Erweiterung produziert nämlich die Webseiten einmalig beim ersten Aufruf und legt sie dann als echte statische Seiten direkt auf dem Webserver ab. Der Abruf einer einzelnen, bereits fertigen HTML-Seite geht nämlich deutlich schneller als die vielen einzelnen Datenbankabfragen, die im Hintergrund laufen und jedes Mal neu ausgeführt werden müssen – bei jedem Seitenaufruf! Dies macht aber nur Sinn, wenn auf den Seiten keine echten dynamischen Inhalte verwendet werden, die wirklich aktuell und sich verändernd aus der Datenbank generiert werden müssen. Bei den meisten Webauftritten ist dies aber nicht der Fall, mit Ausnahme einzelner Bereiche mit dynamischen Inhalten. Einschränkungen gibt es weiterhin bei der zeitgesteuerten Publikation einzelner Seiten. Wer also vorher Webseiten anlegt und diese nicht sofort, sondern zu einem genau definierten Zeitpunkt, automatisch publizieren lassen möchte, muss diese Seiten vom Caching ausschließen. Das gilt auch für Seiten, die sog. TypoScript-Bedingungen enthalten. Der eigentliche Vorteil dieser Erweiterung liegt also darin, den trägen TYPO3-Apparat zu umgehen und die Seiten direkt und als fertige HTML-Datei zur Verfügung zu stellen.

Während der Installation über den Erweiterungsmanager sollten zwei Einstellungen vorgenommen werden (Abbildung 5). Wer mit „Cache-Control Headers“ nicht hundertprozentig vertraut ist, sollte „Send Cache-Control header“ unbedingt deaktivieren, da es sonst zu unerwünschten Nebenwirkungen kommen kann. Die Einstellung „Show generation timestamp signature“ führt dazu, dass im Quellcode der gecachten Seite ein Zeitstempel (<!-- cached statically on: 13-10-10 19:05 -->) mit ausgegeben wird, und zeigt so, dass die Erweiterung korrekt arbeitet. (Hinweis: Die gecachte Seite wird nicht angezeigt, solange man am TYPO3 Backend angemeldet ist. Es empfiehlt sich daher, einen anderen Browser für den Funktionstest zu verwenden!) Nach der Installation muss noch eine Weiche eingerichtet werden, die das TYPO3-System außen vor lässt und stattdessen die gecachte Seite an den Browser übermittelt. Hierfür wird die .htaccess-Datei erweitert, da die Weiche bereits auf der Webserverebene eingreifen muss. Die Erweiterung bringt eine ausführlich kommentierte Beispieldatei mit sich (_.htaccess im Ordner nc_staticfilecache/doc), aus der alle notwendigen Einstellungen entnommen werden können.

Mit der Installation dieser Erweiterung ist eine weitere Option in den Seiteneigenschaften hinzugekommen. Diese findet man unter „Erweitert“, mit der Aufschrift „Speichere Seitencache als statische Datei“ (Abbildung 6). Diese ist standardmäßig aktiviert. Wie der Name schon vermuten lässt, kann hier festgelegt werden, ob die jeweilige Seite als statische Datei gecached werden soll oder nicht. Falls eine Seite echte dynamische Inhalte enthält, was die Erweiterung im Regelfall bis auf zwei Ausnahmen zuverlässig erkennt, kann sie damit explizit vom Caching ausgeschlossen werden. Diese Ausnahmen sind, wie oben schon erwähnt, Seiten mit zeitgesteuerter Publikation und/oder TypoScript-Bedingungen, die manuell vom Caching mittels Deaktivierung ausgenommen werden müssen.

Die Dokumentation zu Static File Cache (einfach.st/filecache) beschreibt detailliert alle wesentlichen Einstellungsmöglichkeiten und verspricht ein maximales Geschwindigskeits-Boosting um den Faktor 230. Ob man diesen Wert tatsächlich mit allen Systemen erreicht, hängt dabei von vielen Faktoren ab. Tests der Redaktion haben gezeigt, dass sich eine Steigerung um den Faktor 50 bis 100 jedoch recht einfach erreichen lässt. Webseiten, die sich hundertmal schneller aufbauen als vorher, erhalten nicht nur von Suchmaschinen, sondern auch von den Besuchern deutlich mehr Liebe.