Leitfaden zur professionellen Suchmaschinenoptimierung: SEO für TYPO3
In Bezug auf Suchmaschinenoptimierung hinkt TYPO3 „out of the box“ den aktuellen Anforderungen stark hinterher. Mit ein paar Vorbereitungen, dem richtigen TypoScript und einigen Erweiterungen lassen sich auf TYPO3 basierende Websites aber für die harte Konkurrenz fit machen. Der Artikel soll dabei helfen und erklärt die Hintergründe der verschiedenen Maßnahmen. Grundlage für eine erfolgreiche Suchmaschinenoptimierung ist dabei eine gute Basiskonfiguration.
Tuning für den Webserver
Die Vermeidung von doppelten Inhalten ist eine Voraussetzung für die erfolgreiche Suchmaschinenoptimierung. Die meisten Websitenbetreiber geben sich Mühe, eigene Texte zu verfassen und einmalige Inhalte zu schaffen. Viele haben dennoch das Problem, dass ihre Inhalte auf zwei verschiedenen Wegen erreichbar sind. Doppelter Inhalt tritt schon in dem Moment auf, in dem eine Website über eine Domain mit und ohne das Präfix „www“ erreichbar ist. Das erscheint auf den ersten Blick nicht unbedingt logisch, aber rein technisch handelt es sich um zwei verschiedene Adressen und damit um doppelten Inhalt. Sich für eine Schreibweise zu entscheiden und alle Anfragen an den Webserver entsprechend umzuschreiben, ist eine sichere Methode, dies zu verhindern.
# Add your own rules here # ... RewriteCond %{HTTP_HOST} ^domain\.tdl$ [NC] RewriteRule ^(.*)$ http://www.domain.tdl [R=301,L]
Listing 1
Listing 1 zeigt die Umschreibung von Anfragen an domain.tdl auf www.domain.tdl. Dabei ist es unerheblich, wie die vollständige Anfrage mit vollständigem Pfad durch Verzeichnisse und Dateien aussieht. Zusätzlich sendet der Webserver den HTTP-Header-Status 301. Übersetzt in die menschliche Sprache heißt das: Die Seite wurde permanent auf eine andere Adresse verlegt. In diesem Fall ist das die URL mit „www“. Der Header-Status ist die entscheidende Feinheit in Listing 1. Dieser gibt den Suchmaschinen zu verstehen, dass es sich bei der URL mit „www“ um die einzig zu beachtende Adresse handelt. Damit ist doppelten Inhalten wirksam vorgebeugt. Die Website muss allerdings durch einen Apache Webserver ausgeliefert werden, dem das Modul „mod_rewrite“ zur Verfügung steht.
In den Meta-Tags vieler Webseiten findet man die Angabe einer so genannten „baseurl“. Diese Angabe zeigt den Clients, dass sich relative Pfadangaben ohne vorangestellte Domain auf eine ebensolche bestimmte Domain beziehen. Auf das in diesem Zusammenhang im Folgenden beschriebene, nicht TYPO3-spezifische Problem wurde vor kurzem durch TYPO3-Kernentwickler Dmitry Dulepov hingewiesen [1].
<html> <head> <base href=“http://www.domain.tld/“ /> ... <head>
Listing 2
Leider interpretieren viele Clients, zu denen auch die Robots von Suchmaschinen gehören, die in Listing 2 dargestellte Anweisung nicht. Dadurch entsteht ein etwas subtileres Problem. Als anschauliches Beispiel betrachten wir die Seite http://www.domain.tdl/news/. Auf dieser Seite wird eine Grafik über „fileadmin/images/logo.gif“ referenziert. Falls der Client die „baseurl“ nicht interpretiert, wird er das GIF über die URL http://www.domain.tdl/news/fileadmin/img/logo.gif abrufen, die nicht existiert. Die Konsequenz ist der HTTP-Header-Status 404 „Seite nicht gefunden“. Ist TYPO3 so konfiguriert, dass eine eigene 404-Seite ausgegeben wird, und ist auf dieser Seite das gleiche GIF über den gleichen Pfad eingebunden, bleibt der Client in einer Rekursion gefangen und ruft so lange 404-Seiten auf, bis die Verbindung einen Timeout erfährt oder der Request abbricht. Für Google und Co. ist eine saubere Dateistruktur ein Qualitätsmerkmal zur Beurteilung einer Website. Viele falsche Pfadangaben senken das Ansehen einer Website also drastisch. Wenn man bedenkt, dass einige Websites nach Bekanntwerden dieses Problems bis zu 99 Prozent 404-Traffic vermeldeten, der nach einem eingebrachten Fix auf beinahe 0 Prozent zurückging, wird einem die Notwendigkeit zum Handeln bewusst. Abhilfe schafft ein weiterer Eintrag in der Datei „.htaccess“.
RewriteCond %{REQUEST_URI} ^.+(/(uploads|fileadmin|(typo3(conf|temp)))/.*) RewriteRule ^.*$ %1 [L,R=301]
Listing 3
Listing 3 zeigt eine TYPO3-spezifische Lösung. Wichtig ist, dass die Anweisungen direkt über der in Listing 4 angegebenen Zeile eingetragen werden.
RewriteRule ^(typo3|t3lib|tslib|fileadmin|typo3conf|typo3temp|uploads|showpic\.php|favicon\.ico)/ - [L]
Listing 4
Eine alternative, aber nicht universelle Lösung ist die Verwendung von „config.absRefPrefix = /“ im TypoScript-Setup. Da nicht besonders prominent, wird die Anweisung von vielen Erweiterungen nicht berücksichtigt, wodurch diese falsche URLs rendern und damit unserem Anliegen entgegenwirken.
TypoScript-Basics und SEO-Snippets
Nachdem die Voraussetzungen für die erfolgreiche Suchmaschinenoptimierung nun geschaffen sind, kommen wir zu den Grundlagen und einigen TypoScript-Snippets mit großer Wirkung.
config { doctype = xhtml_trans xmlprologue = none htmlTag_langKey = de_DE pageTitleFirst = 1 inlineStyle2TempFile = 1 removeDefaultJS = external } # HTML säubern lib { stdheader { stdWrap { # DIVs um Überschriften entfernen dataWrap = # Kommentare für Überschriften entfernen prefixComment = } # Klasse der ersten Überschrift auf einer Seite entfernen 3.headerClass = 3.headerClass.noTrimWrap = # <br /> nach Überschriften entfernen 10.stdWrap.wrap = } # unnötigen Quelltext durch rtehtmlarea entfernen parseFunc_RTE.nonTypoTagStdWrap { encapsLines { addAttributes.P.class = innerStdWrap_all.ifEmpty = } # Umschreibung in sematisch korrektes (X)HTML HTMLparser { tags { b.remap = strong i.remap = em } } } } tt_content { # Kommentare für Content-Elemente entfernen stdWrap.prefixComment = # Kommentare für Text-Elemente entfernen text.20.prefixComment = # Kommentare für Listen-Elemente entfernen bullets.20.stdWrap.prefixComment = # Kommentare für Tabellen entfernen table.20.stdWrap.prefixComment = # Anker vor Content-Elementen entfernen stdWrap.dataWrap = stdWrap.prepend.dataWrap = }
Listing 5
Listing 5 gehört in das Setup der RootPage. Die Angaben in der config sorgen für saubere Definitionen im HTML-Header. Dies gehört nun mal zu einem professionellen Dokumentenaufbau und teilt den Suchmaschinen mit, dass der Ersteller etwas von seinem Handwerk versteht. Der Inhalt könnte also umso interessanter sein – und das ist genau der Eindruck, den wir erwecken wollen. Zusätzlich werden CSS- und JavaScript-Anweisungen, die TYPO3 standardmäßig in den Quelltext schreibt, in externe Dateien ausgelagert. Der Quelltext wird sehr viel schlanker und das Verhältnis von Inhalt zu Quelltext verlagert sich in die für uns positive Richtung. Alle weiteren Angaben in Listing 5 werden benötigt, um dieses Verhältnis weiter zu verbessern. Der Abschnitt „HTML säubern“ sollte durch die eingefügten Kommentare selbsterklärend sein. Durch die intensive Quelltextbereinigung stehen allerdings einige Funktionen von TYPO3 nicht mehr zur Verfügung. Beispielsweise werden die durch „css styled content“ erzeugten Anker vor Inhaltselementen entfernt, die also nicht mehr als Sprungmarken referenziert werden können.
Durch TypoScript lässt sich darüber hinaus direkt und sehr einfach Einfluss auf die Gestaltung des title-Tags von Links nehmen.
NO.ATagTitle.field = description // subtitle // title
Listing 6
Listing 6 zeigt am Beispiel eines Links in einer durch TypoScript erstellten Navigation, wie es funktioniert. Der TypoScript-Parser betrachtet bei der Erzeugung des Link-Titels drei alternative Felder der verlinkten Seite. Die erste Wahl stellt die „description“ der Seite dar. Die „description“ entspricht dem Text für den gleichnamigen Meta-Tag. Ist dieser nicht vorhanden, betrachtet der Parser das Feld „subtitle“ und setzt diesen in den title-Tag ein. Schließlich wird der Seitentitel verwendet, sofern die beiden vorher betrachteten Felder leer sind.
Die „description“ steht erst seit TYPO3 4.2 standardmäßig zur Verfügung. Ältere Versionen sehen dieses Feld nur für Seiten vom Typ „Erweitert“ vor. Das Gleiche gilt für die „keywords“ und den „title“. Da es mehrere Möglichkeiten gibt, diese Meta-Tags auszugeben und die Extension „metatags“ [2] im weiteren Verlauf dieses Artikels vorgestellt wird, sei schon einmal gesagt, dass wir die „description“ mit Hilfe dieser Erweiterung jeder Seite, unabhängig von der verwendeten Version, zur Verfügung stellen und ausgeben werden.
Der schnelle Weg zur eigenen Marke
Der Seitentitel ist das übergeordnete Label, unter dem Suchmaschinen eine einzelne Seite in eine bestimmte Schublade einordnen. Entsprechend sollte dem Aufbau des Seitentitels ein wenig Aufmerksamkeit zukommen. Branding heißt das Stichwort, also Markenbildung. Die Marke ist in diesem Fall der Name Ihrer Website. Diese Marke sollte im Titel jeder Seite zusammen mit ein paar Schlagworten, die den Inhalt beschreiben, erwähnt werden. Da Sie Ihren Seiten bestimmt aussagekräftige Überschriften zuweisen, werden wir eben diese benutzen, um aus Ihrer Marke und der Überschrift den Seitentitel zu erzeugen. Dazu benutzen wir die Erweiterung „mf_pagetitle“ [3].
includeLibs.pagetitle = typo3conf/ext/mf_pagetitle/pagetitle.php plugin.mf_pagetitle.title = {page:title} – domain.tld config.titleTagFunction = user_pagetitle_class->changetitle
Listing 7
Die Erweiterung muss nur durch den Erweiterungsmanager (EM) installiert und, wie in Listing 7 gezeigt, eingebunden werden. Das Layout des Titels kann natürlich dem eigenen Geschmack angepasst werden. Die Methode wirkt sich auch auf den Titel von Seiten aus, in denen Erweiterungen wie „ttnews“ [4] oder „cal“ [5] zum Einsatz kommen. Als „page:title“ für Detailseiten wird dann die Überschrift des angezeigten Datensatzes verwendet.
Denjenigen, die sich schon immer gefragt haben, wie man zu den heiß begehrten Sitelinks in den Suchergebnissen von Google kommt, sei gesagt: Das ist der Weg. Die Voraussetzung ist allerdings eine Website mit einer großen Anzahl an Seiten und einem durchstrukturierten Seitenbaum. Für die Abzweigungen großer Hauptäste werden irgendwann die Sitelinks erscheinen.
Make it real
TYPO3 erzeugt URLs durch Anhängen der ID der aufgerufenen Seite an die Datei „index.php“. Dass Suchmaschinen dynamische URLs nicht indexieren, ist ein Gerücht, das lange Zeit heftig diskutiert und oft für wahr befunden wurde. Tatsächlich ist es falsch. Zur Suchmaschinenoptimierung gehört allerdings mehr, und daher ist es nicht verwunderlich, dass URL-Design mittlerweile eine eigene Disziplin ist. Eine URL sollte im besten Fall
- eine konsistente Ordner- und Dateistruktur simulieren,
- den Pfad von der Startseite über ein übergeordnetes Thema durch die Hierarchie untergeordneter Themen bis hin zu dem auf der Seite behandelten Aspekt repräsentieren,
- aus Keywords bestehen, die die durchlaufenen Themen des Pfads widerspiegeln, und
- den Pfad zu jeder Seite eineindeutig definieren, um zu verhindern, dass eine Seite über mehr als einen Pfad erreichbar ist.
TYPO3 bietet von Haus aus die Möglichkeit, aus URLs mehr als eine übergebene ID zu machen. Allerdings erfüllen diese URLs bis auf den zuletzt genannten keinen der obigen Punkte. Abhilfe schaffen die Erweiterungen „realurl“ [6] und „cooluri“ [7]. Die deutlich populärere Extension „realurl“ glänzt dadurch, dass die Generierung von URLs absolut konfigurierbar ist. Der Umgang mit „realurl“ ist allerdings gewöhnungsbedürftig. Die schier uneingeschränkte Konfigurierbarkeit kann einen anfangs etwas hilflos dastehen lassen. Außerdem muss „realurl“ direkt in der Datei „typo3conf/localconf.php“ konfiguriert werden, da die Regeln zur Erzeugung der URLs dem TYPO3-Core bekannt sein müssen. Hier hilft die Erweiterung „aeurltool“ [8]. Nach der Installation durch den EM erscheint im Backend im Modul „Tools“ der Menüpunkt „UrlTool“. Damit lässt sich „realurl“ einfach konfigurieren. Das Einbinden der Extensions ist denkbar einfach, wie Listing 8 zeigt.
tx_realurl_enable = 1 simulatStaticDocuments = 0 baseURL = http://www.domain.tdl/
Listing 8
Die erste Zeile aktiviert die Erweiterung „realurl“, Zeile zwei deaktiviert die native Umschreibung durch TYPO3. Diese stünde mit „realurl“ in Konflikt. Die letzte Zeile definiert die Domain der Website und setzt gleichzeitig die „baseurl“ im HTML-Header.
Alternativ steht über die Info-Anzeige im EM „Enable automatic configuration“ zur Verfügung. Das bietet allerdings keine Flexibilität und erlaubt es nicht, die für die eigene Website optimalen URLs zu komponieren. Es ist daher eine gute Idee, diese Option zu deaktivieren, da sie mit der Konfiguration durch „aeurltool“ in Konflikt steht. Für „aeurltool“ wird kein TypoScript benötigt.
Die Konfiguration durch „aeurltool“ erfolgt über ein PHP-Array, das über die Option „RealUrl-Konfiguration“ zugänglich ist. Das Array entspricht dem Eintrag, der in die Datei „localconf.php“ gehört, und enthält neben grundlegenden Einstellungen für jeden Parameter der normalerweise kryptischen URLs von TYPO3 einen Alias. Das Array ermöglicht es, „realurl“ für fast jede Erweiterung zu konfigurieren, die Parameter in die URL einbringt. Eine Vorlage, die in der Regel direkt übernommen werden kann, findet sich auf typo3.org [9]. Definitionen für „ttnews“ sind schon enthalten.
Voraussetzung für den Einsatz von „realurl“ ist das Apache-Modul „mod_rewrite“. Mit anderen Webservern kann die Erweiterung unter Umständen erfolgreich eingesetzt werden, allerdings werden diese vom Entwickler Dmitry Dulepov nicht explizit unterstützt.
404 – Google, übernehmen Sie!
Ein weiteres für die Suchmaschinenoptimierung nützliches Feature von „aeurltool“ ist die einfache Festlegung einer 404-Seite. Unter „404-Fehlerbehandlung“ muss die Seite ausgewählt und das Häkchen hinter „404-Fehlerseite verwenden“ gesetzt werden, fertig. Eine gute 404-Fehlerseite ist sehr wertvoll. Mit einem netten Text und nützlichen Inhalten kann man die Besucher der Website bei der Stange halten, obwohl sie scheinbar nicht gefunden haben, was sie erwarteten. Ein entscheidender Punkt ist, dass die kommende Version der Google-Toolbar eine Google-Suchseite anzeigen wird, wenn bei einem 404-Header-Status nicht wenigstens 512 Kb Daten ausgeliefert werden. Dadurch werden die Besucher von der eigenen Seite geholt und das nur, weil die Inhalte über eine andere URL erreichbar sind. In den USA wird die neue Toolbar bereits öffentlich getestet [10]. Höchste Zeit also, aktiv zu werden.
Meta-Tags kontrollieren
Die Zeit, in der alle irgendwie interessant erscheinenden Keywords in „title“, „description“ und „keywords“ gestopft wurden, ist unbestreitbar vorbei. Einige sind der Meinung, die Meta-Tags erführen von Suchmaschinen überhaupt keine Beachtung mehr. Sicher reicht es schon lange nicht mehr, Begriffe einfach nur in die Meta-Tags zu packen und die Sache ist geritzt, aber gleichzeitig hat eine Seite auf den vorderen Plätzen in den Suchergebnissen sehr wahrscheinlich gut definierte Meta-Tags. Egal sind sie also nicht.
Tatsächlich sind die Regeln für die Definition von Meta-Tags relativ gut bekannt. Die „description“ sollte nicht länger als 160 Zeichen sein. Alles darüber hinaus wird von den Robots ignoriert. Pro Seite sollte man sich für drei bis fünf Keywords entscheiden. Der „title“ sollte individuell für jede Seite gesetzt werden und ein bis maximal drei Keywords enthalten, fertig. Der Seitentitel wurde bereits weiter oben behandelt. Die Kontrolle über die „description“ und die „keywords“ erlangen wir durch die Extension „metatags“.
Es ist hilfreich, das durch „metatags“ mitgelieferte TypoScript vollständig in das TypoScript der RootPage zu übernehmen, denn die meisten Parameter werden neu gesetzt. In den Constants werden Meta-Tags definiert, die global für die Website verwendet werden. Diese umfassen von den „keywords“ bis zum „author“ die gängigsten Meta-Tags. An dieser Stelle ist es wichtig, die „description“ leer zu lassen. In Bezug auf Suchmaschinenoptimierung ist es eine schlechte Idee, die gleiche „description“ für viele Einzelseiten zu verwenden. Wer seine Website durch die Google Webmaster Tools überwachen lässt, wird die Warnungen diesbezüglich nicht übersehen haben. Die „description“ muss also für jede Seite über die Seiteneigenschaften definiert werden. Globale Keywords zu benutzen, ist kein guter Tipp, aber auch nicht unbedingt schädlich. Allerdings ist es günstiger, mehrmals die gleichen Keywords zu benutzen, als Seiten zu haben, in denen diese fehlen. Tragen Sie als Keywords also die drei bis fünf prägnantesten Begriffe für Ihre Website ein. Der Meta-Tag „robots“ muss auf „index,follow“ gesetzt werden. Die restlichen Meta-Tags sind optional.
Im Setup gibt es drei Konfigurationsbereiche: Über „global“ werden die seitenweit geltenden, eben definierten Meta-Tags übernommen. Unter „local“ wird festgelegt, welche Felder einer Seite für „description“ und „keywords“ verwendet werden. Voreingestellt sind sinnvollerweise die gleichnamigen, durch die Erweiterung eingeführten Felder der Seiteneigenschaften. Über „flags“ wird geregelt, ob die unter „global“ definierten Keywords und „description“ auch für Seiten gelten, die eigentlich eigene Definitionen für diese Felder besitzen. Für die Suchmaschinenoptimierung setzen wir diese Optionen auf „0“. Zuletzt wird festgelegt, ob die Meta-Tags zusätzlich nach dem Dublin-Core (DC)-Schema [11] ausgegeben werden.
Interessant ist, dass die Erweiterung auf jedes Feld eines beliebigen Datensatzes zugreifen kann. Das ermöglicht, individuelle Meta-Tags für Seiten mit dynamischen Inhalten zu generieren. Das ist ein besonderes Feature von „metatags“, denn die Alternativen erlauben es nicht, Meta-Tags für einzelne Datensätze zu definieren.
[gloablVar = TSFE:id=ID, ...] plugin.meta { local > local { # Registrieren des Untertitels als description description.data = register:newsSubheader description.stdWrap.crop = 160 # Registrieren der Stichworte als keywords keywords.data = regsiter:newsKeywords } } [global]
Listing 9
Listing 9 zeigt die Einrichtung für Single-Anzeigen von „ttnews“. In der ersten Zeile werden die Seiten-IDs angegeben. Als „description“ wird der Untertitel benutzt. Da dieser oft längere Texte enthält, werden nur die ersten 160 Zeichen übernommen. Für die „keywords“ werden die Stichworte registriert. Nun brauchen diese Felder der „ttnews“-Datensätze nur noch passende Inhalte. Wer die Ausgabe von Meta-Tags nach dem DC-Schema deaktiviert hat, muss deren Ausgabe wiederholen.
page.headerData.999 > page.headerData.999 < plugin.meta
Listing 10
Listing 10 zeigt den entsprechenden Ausschnitt aus dem TypoScript der Erweiterung. Dieser muss auch im eigenen TypoScript vorkommen. Das Ausschalten der DC-Tags wird sonst ignoriert.
Quelltextbereinigung
Die vorgestellten Erweiterungen erzeugen zum Teil wieder Quelltext, der der Optimierung entgegenwirkt. Die Erweiterung „sourceopt“ [12] hält eine erfrischend einfache Lösung bereit: Sie kann ohne Konfiguration eingesetzt werden, ist aber zusätzlich durch TypoScript anpassbar. Die Erweiterung „metatags“ führt zum Beispiel einen Verweis auf das DC-Schema in den HTML-Header ein, der auch ausgegeben wird, wenn man DC-Meta-Tags unterbindet. „Sourceopt“ hat sogar für diesen Fall eine Option und ermöglicht es zudem, die Version von TYPO3 aus dem HTML-Header zu entfernen. Damit ist Angreifern ein wichtiger Hinweis genommen, wie das System zu knacken ist. Wer möchte, kann sogar den TYPO3-Copyright-Kommentar entfernen. Das liegt allerdings nicht im Sinne der TYPO3-Entwickler und deshalb sollte aus Gründen der Fairness darauf verzichtet werden.
Sorgenkind XML-Sitemap
Für die Generierung einer XML-Sitemap gibt es mehrere Erweiterungen. Leider schöpfen die meisten das volle Potenzial einer Sitemap nicht aus. Zusätzlich hängt die Konfiguration jeweils von den Einstellungen bezüglich der Generierung von URLs ab. Eine besondere Aufgabe ist die Unterscheidung von Seiten mit statischen und dynamischen Inhalten. Traversiert die Erweiterung lediglich den Seitenbaum, tauchen die verschiedenen Datensätze in der Sitemap nicht auf. Eine Erweiterung, die für Datensätze beliebiger Erweiterungen eingerichtet werden kann, ist „mc_googlesitemap“ [13].
Die Extension führt drei neue Inhaltselemente ein: eine Sitemap für Seiten, eine für Inhalte und einen Sitemap-Index. Um eine Sitemap zu erzeugen, wird eine neue Seite angelegt. In diese Seite fügt man eine Sitemap ein. Als Menütyp wählt man nun eine Google Sitemap für Inhalte, Seiten oder den Index aus. Die Einstellungen, um die richtigen URLs in die richtige Sitemap zu bekommen, werden zusammengeklickt. Die Sitemap für dynamische Inhalte benötigt darüber hinaus die GET-Parameter, über die TYPO3 Inhalte aus der Datenbank holt. Für jeden Teil der Website entsteht so eine Sitemap. Der Sitemap-Index fasst diese wieder zusammen.
„mc_googlesitemap“ ist sehr flexibel. Ein großes Manko ist allerdings die fest programmierte Erzeugung von URLs. Dadurch stimmen die URLs in der Sitemap nicht unbedingt mit den durch TYPO3 generierten überein, obwohl diese trotzdem gültig sind. Eine solche Sitemap führt dazu, dass Suchmaschinen wieder doppelte Inhalte finden. Gleichzeitig werden Sitemaps, die ausschließlich durch Parameter-URLs zugänglich sind, von den Suchmaschinen in der Regel nicht akzeptiert, wodurch auf die Umschreibung von URLs nicht verzichtet werden kann und für die Suchmaschinenoptimierung nicht verzichtet werden sollte.
Der Aufwand, die Konfiguration von TYPO3 und der Sitemap aufeinander abzustimmen, hängt von den Regeln zur Erzeugung von URLs ab. Ob sich die Arbeit lohnt, muss individuell entschieden werden. Das Argument, eine Sitemap erleichtere den Suchmaschinen das Finden der Inhalte, sollte dabei nicht zu viel Gewicht haben. Müssen Inhalte den Suchmaschinen extra durch die Sitemap zugänglich gemacht werden, ist bei der Optimierung grundsätzlich etwas schiefgelaufen. Die Sitemap sollte dazu dienen, den Suchmaschinen Änderungen am Inhalt und der Seitenstruktur mitzuteilen. Eine gute interne Linkstruktur ersetzt eine Sitemap nicht.
Fazit
TYPO3 bietet zusammen mit einigen Erweiterungen fast alle für eine erfolgreiche Suchmaschinenoptimierung notwendigen Features. Die Einarbeitung erfordert etwas Zeit, die man sich allerdings leisten sollte, denn der Aufwand lohnt sich. Ist das System erst einmal konfiguriert und auf die persönlichen Vorlieben und Theorien ausgerichtet, braucht man nur noch die Inhalte einzupflegen. Ein so erweitertes und eingerichtetes TYPO3 erfüllt dann die Anforderungen an ein CMS auch in Bezug auf SEO voll und ganz.
Listing 3 führt bei mir zu einem Internal Server Error. Woran kann das liegen?
Wir haben Deine Frage an den Autor weitergeleitet und auf Deinen Kommentar verwiesen. Bislnag habe ich allerdings noch keine Antwort.
Vielen Dank.
Konntet ihr den Fehler reproduzieren?
Hallo Günter, spontan aus der Luft gegriffen kann ich leider nur raten, weshalb die Zeilen aus Listing 3 zu einem Internal Server Error führen. Bitte überprüfe zunächst, ob der Code in der .htaccess vor der Zeile RewriteRule ^(typo3|t3lib|tslib|fileadmin|typo3conf|typo3temp|uploads|showpic\.php|favicon\.ico)/ – [L] steht. Evtl. wird TYPO3 von einem Unterordner in DOCUMENT_ROOT ausgeliefert? In diesem Fall müssen die Regeln entsprechend angepasst werden.