Im TYPO3 gibt es verschiedene Wege, eine Seite mit Inhalten über die URL-Eingabe anzuzeigen.
Zum Beispiel gibt uns die Seite http://www.domain.tld/index.php?id=39 die selben Inhalte wie http://www.domain.tld/ich-liebe-canonical-urls.html oder auch http://www.domain.tld/ich-liebe-canonical-urls/.
Die Suchmaschine bekommt alle 3 Links und verwaltet diese als 3 verschiedene Seiten. Da die Seite aber die selben Inhalte haben, straft die Suchmaschine die Seite(n) wegen Duplicate Content ab.
Hilfe bekommt man durch einen kleine Zeile im Header der Seite, dem Canonical Tag.
Im TYPO3 gibt man an, welche URL nun die richtige ist und setzt sie in diesen Canonical Tag. Somit weiß die Suchmaschine auch beim Besuch der „anderen“ zwei Seiten, dass die wirklich richtige Seite unter der URL im Canonical Tag erreichbar ist.
Schwierig wird dieses Unterfangen, wenn es weitere Parameter in der URL gibt, die z.B. tt_news und andere Extensions benötigen. Man braucht einige Parameter, aber beileibe nicht alle. Im Beispiel tt_news ist der Parameter backPid z.B. unnötig, da er die Inhalte nicht wesentlich beeinflußt.
Da die Extension „canonical“ unter der 4.6.8 nicht mehr funktioniert, habe ich mir ein TypoScript-Schnipsel aufgebaut, welches die meisten meiner Fälle abdeckt. Natürlich muss dieses Schnipsel je nach Anforderung angepasst werden, doch das meiste dürfte überall passen:
page.headerData.778 = TEXT # Aktuelle Seite page.headerData.778.typolink.parameter.data = TSFE:id # Gib nur die URL zurück page.headerData.778.typolink.returnLast = url # Erstelle eine absolute URL page.headerData.778.typolink.forceAbsoluteUrl = 1 # Fügt alle GET-Parameter hinzu, wie z.B. tt_news, L und auch cHash page.headerData.778.typolink.addQueryString = 1 page.headerData.778.typolink.addQueryString.method = GET # Schliesst bestimmte Parameter aus, z.B. cHash oder auch backPid von tt_news page.headerData.778.typolink.addQueryString.exclude = cHash,backPid # Wrappen und mit dem richtigen Tag einbinden. # Das Leerzeichen nach dem öffnenden Tag bitte entfernen page.headerData.778.wrap = < link rel="canonical" href="|" /> |
Ich hoffe, einige können damit etwas anfangen.
Das TypoScript ist natürlich nicht die eierlegende Wollmilchsau für jede Seite, sondern fordert besonders beim Parameter exclude noch Nacharbeit.
Diese kann übrigens darunter einfach mit folgendem Snippet bearbeitet werden.
page.headerData.778.typolink.addQueryString.exclude := addToList(extParam1, extParam2) |