CANONICAL Tag für die Suchmaschinen
Seit neuestem haben sich ja einige der großen Suchmaschinen auf die Veröffentlichung des sog. CANONICAL Tags geeinigt. Der Canonical-Tag soll grob gesprochen die Indizierung eines Inhalts unter mehreren Seiten-URLS verhindern (Bsp.: Wenn ein externer Link z.B. Affiliate-Parameter enthält). Hierzu kann im HEAD-Bereich der Website ein Tag mit der Original-Referenz eingefügt werden, welche dann auch als einzige indiziert wird und in den Ergebnisseiten auftaucht:
Link vom Affiliate-Partner: http://www.marit.ag/leistungen/typo3/index.html?xy_3=7893aF
Link aus einer Extension: http://www.marit.ag/index.php?id=87
Canonical Referenz und zu indizerende URL: <link rel=”canonical” href=”http://www.marit.ag/leistungen/typo3/index.html” />
Um das in TYPO3 clever zu lösen, hat Sven ein TypoScript gebaut, welches die ganze Thematik recht treffend löst. Das TypoScript baut den aktuellen Link mit Berücksichtigung aller erlaubter URL-Parameter mithilfe des cHash auf. Alle von TYPO3 nicht explizit erlaubten URL-Parameter fliegen dann raus. Das klappt soweit mit allen Extensions, die sich der cHash-Logik bedienen, z.B. tt_news, cal :
lib.canonical = TEXT
lib.canonical {
typolink {
parameter = {page:uid}
parameter.insertData = 1
useCacheHash = 1
# add all get parameters from the current URL
addQueryString = 1
addQueryString.method = GET
# remove the page id from the parameters so it is not inserted twice
addQueryString.exclude = id
returnLast = url
}
#Eckige Klammern mit spitzen Tag-Klammern ersetzten:
wrap = [link rel="canonical" href="http://www.marit.ag/|" /]
}
page.headerData.930 < lib.canonical
PS: das haben die Amigos von fladi.de und COMSOLIT Blog nicht hinbekommen


TypoScrip-Lösung für den CANONICAL Tag…
Hier ist DIE TypoScript Lösung für den neuen Canonical-Tag….
klingt vielversprechend,
allerdings fehlt wird der wrap nicht angezeigt.
Danke, die spitzen Klammern hats bei der Eingabe zerschossen.
Typo3: Canoncial-Tag gegen Duplicate Content in Suchmaschinen…
Auf der Suche nach der Problemlösung von “canoncial urls” in Typo3 und Allgemein Webseiten-Projekten mit Extensions / Scripten bin ich auf den Internetauftritt der Marit AG gestoßen und konnte mir für Typo3 (TypoScript) einen sehr ange…
Danke für das script
)
reinkopieren, Klammern anpassen, baseUrl und fertig
Es gibt nun auch eine Extension von Georg Ringer, welche scheinbar interne Duplikate (Mountpoints) erkennt und mit dem Canonical Tag ausweist:
http://typo3.org/extensions/repository/view/canonical/1.0.0/info/
[...] im TypoScript erzeugen, in meinem derzeitigen Relaunch-Projekt sieht der entsprechende Code so aus, vielen Dank dafür übrigens an die Marit AG: #Canonical-Tag zur Verhinderung von Duplicate Content in Seitenheader einfügen. lib.canonical [...]
Das funktioniert zwar, leider wird der cHash bei mir auch in allen Seiten eingefügt, die ihn gar nicht brauchen.
Gibt es dafur eine gute Lösung? Mit fällt nur ein, jeweils für die Seiten das typoscript einmal mit und einmal ohne addQueryString zu kopieren.
Schickes TS-Script.
Alternativ bietet sich noch die Extension von Georg Ringer an:
http://typo3.org/extensions/repository/view/canonical/1.0.0/info/
[...] Such nach der Möglichkeit ein Canonical Tag meiner TYPO3 Seite hinzuzufügen bin ich im Blog der Marit AG auf ein nettes Codesnippet gestoßen mit dem das ganze möglich ist. Dabei wird stets die richtige [...]
ich habe ein problem. ich möchte gerne einen parameter ausschließen bei der erzeugung des canonical tags.
hier mein code:
lib.canonical = COA
lib.canonical.10 = TEXT
lib.canonical.10 {
typolink {
parameter = {page:uid}
parameter.insertData = 1
useCacheHash = 1
addQueryString = 1
addQueryString.method = GET
addQueryString.exclude = id,region
returnLast = url
}
wrap =
if.isFalse.field = canonical
}
lib.canonical.20 = TEXT
lib.canonical.20 {
wrap =
data = page : canonical
insertData = 1
if.isTrue.field = canonical
}
page.headerData.930 < lib.canonical
addQueryString.exclude = id,region sollte dafür sorgen, dass id und region nicht bei der generierung beachtet werden, oder habe ich da etwas falsch verstanden?
gibt es eine möglichkeit einen parameter auszuschließen?
jemand eine idee?