Logo
Kontakt

E-Mail: info(at)studio1.de
Telefon: 03606 67960
Fax: 03606 6796 20

Kontakt­                   ­Newsletter

Support

Supportanfrage stellen im: 

IT Service Desk

Profitipp: Von sprechenden Unterseiten oder: Was sind die Vorteile von RealURL?

25Okt2016
Gutes SEO mit RealURL, ein klarer Wettbewerbsvorteil mit sprechenden Unterseiten

Im Studio1® arbeiten wir mit Vorliebe mit dem Open Source Content Management System TYPO3, weil es die nachhaltigste Lösung für unsere Kunden bietet; gerade für größere Websites mit verschiedenen Bereichen und Redakteuren bietet sich dieses System an. Für Programmierer ist dieses CMS freilich sehr komplex, aber die vielen verfügbaren Extensions machen die Seite bis in das kleinste Detail aussteuerbar.

Heute wollen wir eine Extension vorstellen, mit der die Websites aus SEO-Sicht optimiert werden können: RealURL bietet die user- und suchmaschinenfreundliche Möglichkeit, typische TYPO3-URLs nach dem Schema /index.pHP?id=12345 in vereinfachte URLs nach dem Schema/path/to/blog umzuwandeln.

Suchmaschinenoptimierung de luxe – Der schöne Schein der URLs

Exklusive TYPO3 page-IDs funktionieren zwar sehr gut, werden aber gemeinhin als „hässlich“ wahrgenommen – und werden von den Suchmaschinen auch schlechter gewertet. Lang kodierte URLs sind aus meiner Sicht daher absolut zu vermeiden: Sie sind nicht anwenderfreundlich und lassen jedem SEO-Beauftragten im Unternehmen die Haare sträuben. Bei älteren TYPO3-Versionen hat man noch mit simulateStaticDocuments gearbeitet, jedoch musste die ID trotzdem in der URL angegeben werden, und das war und ist alles andere als wünschenswert. Außerdem würde bei dieser Lösung nur der aktuelle Seitenname angezeigt und nicht die komplette rootline. Daher möchten wir im Folgenden nicht nur allgemein beschreiben, wie man im TYPO3 diese so genannten speaking urls generieren kann, sondern auch spezielle Anwendungsfälle beschreiben und Vorbehalte wegen vermeintlicher Sicherheitstücken zerstreuen.

RealURL: Die Schritt-für-Schritt-Anleitung für alle Fälle

Die allgemeine Vorgehensweise ist eigentlich nicht kompliziert: RealURL wird erst einmal einfach „nur“ installiert. Dabei wird automatisch eine Konfigurationsdatei angelegt, in der die Grundfunktionalität bereitgestellt wird. Wenn aber eine andere Extension eingesetzt wird (wie z.B. t3ext_blog), ergibt sich daraus schon ein spezieller Anwendungsfall. Das Problem ist dann folgendes: Will man die GET-Parameter verstecken, muss RealURL ein Pfadsegment pro Parameter erstellen. In einem solchen Fall reicht die automatische Konfigurationsdatei von RealURL nicht mehr aus. Die Lösung: Man legt eine eigene Konfigurationsdatei an, in der die GET-Parameter versteckt werden. Bei vielen Parametern ergibt sich dadurch aber eine URL-Struktur mit vielen Segmenten. Um die URLs in der Ausgabe dann zu kürzen, setzt man also im Rahmen von RealURL einfach zwei benutzerdefinierte Funktionen ein: Sie müssen mit nur wenigen Zeilen in einer eigenen Konfigurationsdatei angelegt werden, um die Struktur zu erhalten, die man aus SEO-Sicht haben möchte: An der Stelle vom TYPO3-Server zum Browser (Client) und umgekehrt. Diese Funktionen kodieren und dekodieren die URL-Segmente an der entsprechenden Stelle dann einfach.  

Das vornehmliche Ziel ist es also, die URLs so lesbar wie möglich zu machen, sowohl für den User als auch für die Suchmaschine. Die RealURL-Extension übersetzt zwischen den page-IDs und (virtuellen) URLs, welche einfach zu lesen und zu merken sind. Die URLs werden auch gecached, sodass die Übersetzung von der URL zu der ID sehr schnell geht. Prinzipiell wird also die index.php nach wie vor über die GET-Parameter aufgerufen, nur dass diese dann mit RealURL und eventuellen Zusatzfunktionen kodiert und dekodiert werden. Für den User ist das Ergebnis sehr positiv: Die Location lässt sich jederzeit in der Adresszeile ablesen, auch das ist auch gerade für größere Seiten von Vorteil.

Zunächst einmal wird die Extension hier konfiguriert:

Die zwei Zusatzfunktionen folgen diesem Schema: 


Hier die Dekodier-Funktion für den TYPO3-Server:

Und die Kodier-Funktion für den Browser sieht dann so aus:

Sicherheit geht vor – mit der aktuellsten Version auf jeden Fall

Die Vorbehalte gegenüber dieser Extension beziehen sich nur auf ältere Versionen und lassen sich folgendermaßen beschreiben: Ganz prinzipiell verarbeitet TYPO3 bei jedem Seitenaufruf eine ganze Reihe an Informationen. Dabei ist das Abarbeiten des Typoscripts und das Rendern des Templates wohl das Zeitaufwändigste. Um die Ladezeiten zu verkürzen, haben sich die TYPO3-Entwickler überlegt, die fertig abgearbeiteten und gerenderten Seiten mittels Cache in einer Datenbanktabelle zu speichern. Hierbei wird für jede Seite ein Eintrag in der Tabelle generiert. Um auszuschließen, dass die Tabelle überflutet wird, prüft TYPO3 vorher, ob die Seite auch vorhanden ist. RealURL nutzt dieses Verfahren ebenfalls und übergibt per GET-Parameter einen Cachewert. Sollte nun die Tabellengröße begrenzt sein, ist es in den RealURL-Versionen 2.0.0 bis 2.0.14 möglich, mittels so genannter DoS (Denial of Service) die Tabelle zu attackieren, indem sie mit willkürlichen Cachewerten bei sehr vielen Seitenaufrufen überflutet wird und die gesamte Website dann nicht mehr funktioniert. Diese Sicherheitslücke ist seit Version 2.0.15 geschlossen. 
Sollten Sie also eine der betroffenen Versionen im produktiven Einsatz haben, empfehle ich Ihnen, so schnell wie möglich auf die aktuellste Version zu updaten.

Und falls jemand ganz prinzipielle Vorbehalte gegenüber der sehr zeitaufwändigen SEO-Optimierung hat: Man möchte mit seiner Seite ja auch nicht erst auf Seite 1000 erscheinen. Und auch wenn Google seine Richtwerte in sehr kurzen Zeitintervallen ändert: Sprechende Seiten sind eine Grundanforderung und immer sinnvoll. Und TYPO3 ist es sowieso. 

Unser Profi der Woche: Fabian Ruhlandt, Fachinformatiker für Anwendungsentwicklung