Hallo in die Runde,
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 = <link rel="canonical" href="{$config.baseURL}|" />
if.isFalse.field = canonical
}
lib.canonical.20 = TEXT
lib.canonical.20 {
wrap = <link rel="canonical" href="|" />
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? Oder eventuell eine Möglichkeit, nur die Parameter anzugeben, welche berücksichtigt werden sollen?
Jemand eine Idee?
Vielen Dank schon mal im Vorraus 🙂
Hallo.
Hast Du mal genauer drüber nachgedacht, was Du das tun willst? Eine normale URL einer Seite in TYPO3 wäre z.B. www.example.com/index.php?id=1. Bei Aufruf dieser Seite willst Du ein Canonocal-Tag erzeugen, das den Parameter "id" ausschließt => es bleibt für jede Seite www.example.com/index.php, weil Du den Identifier der Seite (id) ausschließt... o.O
Viele Grüße
Julian
Hallo Julian,
ich möchte ja nicht die id ausschließen, sondern region. diesen parameter brauche ich auf einigen seiten und auf anderen halt nicht.
ich habe bis jetzt keine möglichkeit gefunden explizit anzugeben, welche parameter mitgenommen werden sollen.
Du hast aber sowohl im TS als auch in Deiner Beschreibung die id mit zum Ausschluss erwähnt
addQueryString.exclude = id,region
dass id und region nicht bei der Generierung beachtet werden
=> falls die id nicht ausgeschlossen werden soll, dann sollte sie aus der Ausschlussliste raus ;-)
Alternativ kannst Du den typolink komplett händisch erzeugen, d.h. statt mit addQueryString alles vorhandene zu nehmen (und ggf. Ausschlüsse zu definieren) mit additionalParams explizit sagen,w as an Parameter genutzt werden soll.
Das habe ich bereits versucht, derzeit sieht mein ts so aus:
lib.canonical = COA
lib.canonical.10 = TEXT
lib.canonical.10 {
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,region
returnLast = url
additionalParams.cObject = COA
additionalParams.cObject {
10 = TEXT
10.dataWrap = &tx_ttnews[tt_news]={GP:tx_ttnews|tt_news}
10.if.isTrue.data = GP:tx_ttnews|tt_news
}
}
wrap = <link rel="canonical" href="{$config.baseURL}|" />
if.isFalse.field = canonical
}
Allerings wird der region-parameter trotzdem noch mit übergeben.
Ich bin etwas ratlos...#angry#
Bist Du Dir sicher, dass nichts im Cache hängt?
Zumindest beim letzten TS-Schnipsel sollte dürfte kein region-Parameter in den Link geraten.
Ein Cache-Problem ist es nicht.
Ich nehme an das Problem liegt darin, dass der region-parameter als linkVars gesetzt ist.
Das Problem war, dass der Parameter per LinkVars gesetzt war.
Lösung: Parameter leer übergeben.
Zumindest bei aktivertem RealURL funktioniert es prima.