18 Reaktionen zu “SEO: Canonical URLs für eindeutige Seitenmarkierung”

Kommentare abonnieren (RSS) oder TrackBack URL

warum sollte die Suchmaschine die id=… Seite bekommen ? Ist der Webauftritt vor Launch htaccess geschützt und danach richtig konfiguriert, dürfen dies id= Seiten an keiner Stelle des Webauftritts mehr vorkommen. Damit sind sie für Google unsichtbar. Deshalb immer Preview-Server etc. htaccess schützen, sonst grast google Preview-Versionen ab…

fff am 09. Mai 2012 um 12:40

ich würd wenn schon, dann via htaccess rewrites dafür sorgen, dass 2 der 3 URLs umgeschrieben werden und dies der suchmaschine mit einem sauberen header mitgeteilt wird. so kommt es erst gar nicht zu der problematik…

tinu am 09. Mai 2012 um 13:23

Unsere Erweiterung „tq_seo“ bietet auch eine Canonical-URL an, basierend auf der Entscheidung ob eine Seite cachebar ist oder nicht.

Dies ist sehr entscheident, da man sonst schnell „Duplicate Content“ hat. Hier ist die „addQueryString“-Methode grundsätzlich fehlerbehaftet da hier nur eine Blacklist der Parameter eingebaut wird und man sonst alle Parameter blind übernimmt.
Ein „Angreifer“ kann somit eigene Parameter einbauen und bekommt jedesmal eine güntige Canonical-URL raus. Wenn er hiermit Google befüllt (z.B. durch Verlinkungen) kann für den Seitenbetreiber ein Schaden durch „Duplicate Content“ entstehen, da die Seite dann runtergestuft wird.

Eine reine TypoScript-Lösung ist in den meisten Fällen nicht realisierbar.

„tq_seo“ löst das Problem an dieser Stelle, benötigt aber ein korrekt konfiguriertes TYPO3 welches vollständig cachebare (und korrekter chash) Seiten ausliefert. Nur dann kann gewährleistet werden, dass die Parameter aus dem TYPO3 selbst und nicht von extern kommen.

Markus Blaschke am 09. Mai 2012 um 13:25

Hab noch was vergessen:

Sollte jemand versuchen über Parameter „Duplicate Content“ zu erstellen so verhindert „tq_seo“ dies (im Strict-Mode) indem es eine korrekte Canonical URL erstellt. Google weiß somit, dass die Seite eigentlich eine ganz andere URL hat.

Die Canonical URL ist somit schon wichtig um sich vor Suchmaschinenangriffen/-manipulationen zu schützen.

Markus Blaschke am 09. Mai 2012 um 13:28

Hier mal mein Ansatz um die Canoncial Tags zu machen. Bisher klappte der sehr gut mit realURL und auch tt_news etc zusammen.

page.headerData.200 = COA
page.headerData.200 {
wrap =

10 = TEXT
10 {
value < config.baseURL
wrap = |
}

20 = TEXT
20.typolink {
parameter = {page:uid}
parameter.insertData = 1

# Ohne Hash sieht es schoener aus
useCacheHash = 0

# Alle GET Parameter anhaengen
addQueryString = 1
addQueryString.method = GET

# ID Parameter aus Query String entfernen (sonst doppelt)
addQueryString.exclude = id
returnLast = url
}
}

Hendrik am 09. Mai 2012 um 14:50

addQueryString sollte auf keinen Fall für die Canonical URL verwendet werden. Stattdessen müssen benötigte GET-Parameter einzeln per additionalParams hinzugefügt werden.
Das Thema ist nicht ganz einfach und es gibt nicht das eine TS Snippet, das man einfach in jede Website werfen kann.
Ich habe dazu auch schon gebloggt: http://t3seo.de/canonical-tag-und-typo3/

Sebastian Michaelsen am 09. Mai 2012 um 23:25

Hast du ein funktionsfähiges Beispiel zum ausprobieren, woran man erkennt bzw. verdeutlicht dass addQueryString schlecht ist?

Danke und Gruß

Hendrik am 10. Mai 2012 um 09:17

Lies dir mal meine Kommentare durch, ich hatte das Problem bereits geschrieben.
Ein „addQueryString“ schützt nicht vor fremden „Duplicate Content“-„Angriffen“.

Markus Blaschke am 10. Mai 2012 um 09:32

example.com/ ist im Index und jemand verlinkt example.com/?foo=bar was den selben Inhalt liefert.

Ohne Canonical Tag
==================
Google ist da recht intelligent, erkennt solche überflüssigen Parameter meist und führt nur die stärkere URL (ohne Schrott-Parameter) als eigene Seite im Index.

Mit richtig konfiguriertem Canonical Tag
========================================
Die URL mit dem Schrott-Parameter zeigt im Canonical Tag auf die saubere Adresse und stellt somit auf jeden Fall sicher, dass die Schrott-URL nicht im Index landet.

Mit falsch konfiguriertem Canonical Tag
=======================================
Die URL mit dem Schrott-Parameter widerholt im Canonical Tag den Schrott-Parameter und besteht somit darauf eine eigene Seite zu sein. Wenn Google darauf einsteigt (was wahrscheinlich ist) hast du 2 URLs mit gleichem Inhalt im Index => Duplicate Content.

Sebastian Michaelsen am 10. Mai 2012 um 10:28

Danke für die ausführliche Erklärung.

Ich habe das mal mit meinem TypoScript ausprobiert. Es erscheint immer die richtige URL so wie gefordert ohne Schrott-Parameter.

Hendrik am 10. Mai 2012 um 10:32

Das solltest du nochmal testen (Cache ausschalten?). addQueryString hängt dir ja alle Parameter an, die du nicht explizit ausgeschlossen hast.

Sebastian Michaelsen am 10. Mai 2012 um 10:35

Sobald ihr dazu noch einen cHash ranhängen lasst kann man neben dem „Duplicate Content“-Problem sogar noch den TYPO3-Cache volllaufen lassen.
TYPO3 cached eine Seite nur, wenn der cHash richtig ist. Gibt man hierbei die URL inkl. aller Parameter einfach blind aus und generiert einen cHash, kann ein Angreifer dies ausnutzen um die Datenbank mit Cache-Einträgen (der cHash passt ja) zu überlasten. Sehr unschön, aber da ist TYPO3 unschuldig – der Entwickler will es ja so 🙂
Gerade bei großen Webseiten kann man den TYPO3-Cache schnell auf mehrere hundert GB größe Anwachsen lassen, was jeglichen OS- und Datenbank-Cache überlaufen lässt und die Seite bei Last in die Knie zwingen könnte.

Markus Blaschke am 10. Mai 2012 um 10:53

Die Loesung liest sich schlank und schick. Werde ich definitiv bald testen.

@sven_de_ka am 18. Mai 2012 um 22:05

Hallo!
Auch wenn der Beitrag schon etwas älter ist, danke dafür!
Eine Frage hätte ich aber: müsste da nicht für alle Fälle ein Escaping mit rein, da ja via Get Infos abgefragt und weiterverarbeitet werden?
Danke!
VG

Chris am 25. Dezember 2015 um 13:34

Hallo Chris,

ich glaube nicht, da die Infos ja nicht in die Ausgabe übernommen werden, sondern in das TypoLink Handling. Da werden diese im Linkbuilding verarbeitet. Das Resultat: Die Adresse. Kann glaub ich nicht schädlich sein….
Grüße,
Tim

Tim Lochmüller am 25. Dezember 2015 um 18:09

Ich habe dazu eine Frage:
Kann man das ganze mit den Parametern auch irgendwie „umkeheren“?
Ich würde nähmlich gerne alle beliebigen Parameter aus der canonical entfernen und nur eine liste bestimmter Parameter zulassen.
Hänge ich so z.B. bei einigen Seiten ?xyz-Parameter=1 an so steht das auch in der Canonical, da ich ja mit exclude nicht jeden beliebigen Parameter abdecken kann.
L.G.
Norbert

Norbert am 21. April 2016 um 10:10

was hilft bei:

unvollständige URL bei tx_news

da fehlt die domain, nur der relative phad steht drin.

die links von eingebauten bilder ausserhalb der tx_news sind vollständig.

???

rassloff am 18. November 2016 um 14:47

Ich würde auch die htaccess nutzen damit die URLs umgeschrieben werden. Trotzdem danke für den Beitrag.

David am 19. Dezember 2022 um 13:43

Kategorien

Archiv