TYPO3: SEO/Vermeidung von Duplicate-Content mit Canonical-Urls

TYPO3 Framework und CMS

Auf der Suche nach einer Lösung von Duplicate Content in TYPO3, stieß ich auf die Extension "ods_seo" (SEO Buddy). Die Extension hängt sich in den TypoScript-Code (page.headerData) und überprüft in der Datenbank, welches die eindeutige URL zu der aufgerufenen Seite ist und setzt diese als META-Tag (canonical) im Head-Bereich der Seite. Denn um die Duplicate Content Problematik zum Beispiel in TYPO3 zu lösen, gibt es seit längerem das “Canonical Meta-Tag”, dass die größten Suchmaschinen im Internet, Google, Yahoo! und Microsoft unterstützen.Im Head-Bereich der Internetseite wird nun unter den bekannten MetaTags wie "robots", "language", und weitere MetaTags auch der"rel=canoncial" Tag eingebunden.

Der Canonical MetaTag sieht wie folgt aus:

<link  rel="canonical" href="http://www.domain.de/pagename/" />

Im Framework TYPO3 hat man automatisch Duplicate Content, da eine Inhaltsseite  zum Beispiel über "http://www.domain.de/index.php?id=1" oder über "http://www.domain.de/?id=64", "http://www.domain.de/pagename" oder http://www.domain.de/pagename/ (via RealUrl umgeschrieben) erreichbar ist. Die Extension "ods_seo" versucht dies zu verhindern, indem in der Datenbank geschaut wird, welches die wirklich eindeutige aufrufbare Url für die angeforderte Seite ist.

Die Konfiguration der TYPO3-Extension ist denkbar einfach. Ebenfalls steht im TER auf typo3.org eine recht kurze aber ausführliche Anleitung zur Grundkonfiguration der Extension zur Vermeidung von Duplicate-Content zur Verfügung.
Wichtig zu wissen ist, dass ihr bei dem Einsatz dieser Extension einen modernen Server zur Verfügung hat, der auch größere Datenbankabfragen problemlos in kurzer Zeit verarbeiten kann. Die TYPO3 Extension schaut bei jedem Seitenaufruf in der Datenbank nach der eindeutigen (Unique-URL) Adresse. Sofern die Extension RealUrl installiert wurde, wird auf die Datenbanktabelle von RealUrl zurückgegriffen. Ist der Internetauftritt in diversen Sprachen und mit mehr als 500 Inhaltsseiten vorhanden, können die Datenbankabfragen sehr rechen- und zeitintensiv werden.

Bei dem Einsatz dieser Extension sollte ebenfalls beachtet werden, dass die eigens geschriebenen Extensions für das TYPO3-Frontend über das TYPO3-Framework generiert werden und nicht händisch durch eigene Funktionen erzeugt werden. Sind die Links durch eigene PHP-Funktionen generiert, so kann die Canonical-Extension nicht greifen, da diese Urls nicht in der RealUrl-Datenbanktabelle stehen oder von TYPO3 gecached wurden. Daher nutzt bitte in euren Frontend-Extensions immer die TYPO3-Kernfunktionen.

TYPO3-Kernfunktionen (tslib_pibase) zur Generierung von Links in Frontend-Extensions:

  • pi_getPageLink ($id, $target='', $urlParameters=array())
  • pi_linkToPage ($str, $id, $target='', $urlParameters=array())
  • pi_linkTP ($str, $urlParameters=array(), $cache=0, $altPageId=0)
  • pi_linkTP_keepPIvars ($str, $overrulePIvars=array(), $cache=0, $clearAnyway=0, $altPageId=0)
  • pi_linkTP_keepPIvars_url ($overrulePIvars=array(), $cache=0, $clearAnyway=0, $altPageId=0)

Möglicherweise werdet ihr bei der Generierung der Canonical-Url einen GET-Parameter "cHash" erhalten. Dies scheint in der Extension "ods_seo" Probleme zu bereiten. Abhilfe schafft generell nur das Entfernen der Codezeilen in der "_pi1" der Extension, die den "cHash" berücksichtigen.

Tags: , , , , , , , ,

Hinterlasse eine Nachricht