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 😉

Getagged mit:
Veröffentlicht unter Online Marketing
11 Kommentare auf “CANONICAL Tag für die Suchmaschinen
  1. mmirsch sagt:

    klingt vielversprechend,
    allerdings fehlt wird der wrap nicht angezeigt.

  2. Michael sagt:

    Danke, die spitzen Klammern hats bei der Eingabe zerschossen.

  3. Demeter sagt:

    Danke für das script
    reinkopieren, Klammern anpassen, baseUrl und fertig
    :))

  4. Michael sagt:

    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/

  5. 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.

  6. Schickes TS-Script.
    Alternativ bietet sich noch die Extension von Georg Ringer an:
    http://typo3.org/extensions/repository/view/canonical/1.0.0/info/

  7. Sarah sagt:

    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?

  8. Kurt sagt:

    Das ganze funktioniert gut, hat aber einen wesentlichen Hacken.
    coole_seite.html und coole_seite.html?L=0 (bzw. gehached) sind 2 identische Seiten. Dieses Skript erkennt die Seiten aber nicht als identisch an.

  9. Kurt sagt:

    Noch ein Nachtrag zu meinem Kommentar. Das Problem mit L=0 konnte ich wie folgt lösen:
    lib.canonical.typolink.addQueryString.exclude = id,L
    Damit wird L ignoriert. Damit es bei L=1 nicht ignoriert werden soll, sollte man noch das hier hinzufügen:
    [globalVar = GP:L = 1]
    lib.canonical.typolink.addQueryString.exclude = id
    [global]
    Das ganze habe ich allerdings nur mir simulateStaticDocuments getestet.

  10. Peter sagt:

    Vielen Dank für dieses hilfreiche Skript! Ich habe vergeblich versucht, das TS des Kollegen Fladi einzubinden und bin mit meinem tt_news gescheitert. 🙂
    Cheers – Peter

  11. Alex sagt:

    Die Lösung hier funktioniert zwar was das Generieren des kanonischen Link-Tags angeht, allerdings bleibt bei der Verwendung von tt_news das Problem bestehen, dass wenn man eine News in mehreren Kategorien hat für jede dieser Kategorien ein kanonischer Link erzeugt wird zur Detailansichtseite der News. Damit hat man wieder mehrere verschiedene Links, die auf den exakt gleichen Content linken und das ist genau das, was man nicht machen soll. Wie lässt sich das vermeiden?

4 Pings/Trackbacks für "CANONICAL Tag für die Suchmaschinen"
  1. TypoScrip-Lösung für den CANONICAL Tag…

    Hier ist DIE TypoScript Lösung für den neuen Canonical-Tag….

  2. 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…

  3. […] 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 […]

  4. […] 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 […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

*