rel="canonical" in Contao verwenden

(Kommentare: 15)

Nutzung des Header-Tags rel="canonical" in Contao

Sogenannter "duplicate content" also Seiten mit gleichen Inhalten werden von Suchmaschinen wie Google nicht gerne gesehen. Idealerweise vermeidet man das - aber nicht immer lässt es sich vermeiden. In diesem Fall sollte mit dem Tag rel="canonical" im Seitenkopf definiert werden, welche Seite das "Original" ist. Diese Anleitung beschreibt, wie das mit Contao umgesetzt werden kann.

Beispiele bei denen so etwas nötig sein kann sind unter anderem: Inhaltsgleiche Seiten, die über Parameter umsortiert werden, gleichartige Firmen- oder Kontaktinformationen auf mehreren Unternehmenswebseiten, länderspezifische Webseiten mit gleichen Informationen, nur teilweise übersetzte Webseiten für andere Sprachen, ...

Eine ausführliche Erklärung zu rel="canonical" gibt es direkt bei Google. Hier nun eine Erklärung, wie dieser Tag in Contao gesetzt werden kann.

Benötigt:

  • Contao-Erweiterung rel-canonical (Hinweis: Die Versionsnummern der Erweiterungen entsprechen der unterstützen Contao-Version. Also 2.0.0 für Contao 2.11.x und 3.0.0 für Contao 3.x.)

Anleitung:

  1. Installiere die oben genannte Erweiterung über die Erweiterungsverwaltung von Contao. Installiere dabei die Version 2.x der Erweiterung für Contao 2.11 und 3.x für Contao 3.
  2. Pro Seite, für die ein rel="canonical" gesetzt werden soll, öffne diese in der Seitenstruktur und suche dort den Abschnitt "Tag rel canonical" (er sollte direkt nach denMetainformationen der Seite folgen). Wähle dort, ob die Originalseite (also die, auf die verlinkt werden soll) in der selben Installation liegt ("intern") oder auf einer anderen Webseite ("extern"). Anschließend kannst du dann entweder eine Seite aus dem Seitenbaum wählen oder eine externe URL eingeben.
  3. Möchtest du einen rel="canonical"-Tag wieder löschen, setzt du die Einstellung auf der Seite einfach wieder auf "nicht setzen".

Screenshots:

Hier noch einige Screenshots der Version für Contao 3. In Contao 2.11 sehen die Screens leicht anders aus, die Funktion ist aber identisch.

Seite ohne rel="canonical"
Inaktives rel canonical in Contao

Seite mit "internem" rel="canonical"
Internes rel canonical

Seite mit "externem" rel="canonical"
Externe rel-canonical-Angabe

Zurück

Einen Kommentar schreiben

Kommentar von Anton Meier |

Hallo Jan, super Sache!

Eine Frage hätte ich: wenn ich den Tag auf eine meiner Startseite (diese wird ja in Contao als Startpunkt einer Seite und als die nächste, untergeordnete startseite.html oder home.html definiert) setzen will – wie gehe ich da am besten vor?

Bearbeite ich die untergeordnete startseite.html oder home.html und wähle dann als Original den Startpunkt aus?

Kommentar von Anton Meier |

Danke für die schnelle Antwort!
Sollte ich dann auf rel="canonical" verzichten?

Kommentar von Anton Meier |

Mir geht es um den Startpunkt der Website und die untergeordnete, erste Seite (startseite.html oder home.html etc).

Beide erzeugen Duplicate Content.

Ich hatte bereits deinen Beitrag http://www.contao-anleitungen.de/post/duplicate-content-der-startseite-vermeiden.html gelesen. Die Erweiterung googlesitemap wird ab Contao 3.x im ER nicht ausgegeben.

Ich dachte der rel="canonical" Tag würde dieses Problem beheben können.

Kommentar von Dieter Haskamp |

Wenn ich den rel canonical auf die selbe Seite setze dann meldet das Modul doch einen Zirkelbezug. Verstehe ich da was falsch?

Kommentar von Nicky Hoff |

Hallo Jan, du hast sicherlich Recht, dass Contao selbst immer die Schreibweise www.some.tld/ benutzt, aber die Seite www.some.tld/index.html bleibt trotzdem weiterhin von extern aufrufbar (wenn ich Sie direkt in der Browserzeile eingebe), soweit ich das hier nachvollziehen kann.

Kommentar von Kim |

Was Dieter geschrieben hat, konnte ich heute auch reproduzieren: Ich habe die Seiten auf sich selbst gesetzt, wodurch ich den Fehler "Ungültiges Weiterleitungsziel (Zirkelbezug)!" erhalte.

Kommentar von Geraldo |

Hallo Jan
für 2.10 mit der 2-er Version kann ich dieses Problem auch bestätigen

Kommentar von Dieter Haskamp |

Hallo,
wenn man den canonical auf die Seite setzt in der man ihn einrichtet gibt es immer noch den Zirkelbezug. Ist das so gewollt?

Kommentar von Irfan |

Hallo zusammen,

zunächst herzlichen Dank für die Erstellung dieses Artikels. Ich habe meine Website mit Contao umgesetzt, Xovi zeigt mir seit drei Wochen Dublcate Content bei den Referenzen (ca88 Seiten), die mit Meta Models erstellt wurden. Würde auch das Contao rel="canoncial" Extension wirken oder brauche Ich für die Behebung von DC eine Meta Models Extension? Bitte um Feedback, da ich nicht mehr weiterkomme.

Kommentar von Irfan |

Hallo Jan,

besten dank für das schnelle Feedback. Vor dem Update meiner Website benutzte ich catalog, nach dem Update musste ich meta models benutzen. Davor bestand das DC Problem nicht, danach schon. Weisst Du welches Metamodels Modul ich genau downloaden muss?

Kommentar von Stan |

Hallo Jan,
Also, das Problem worum es geht liegt darin, dass unsere Website mit Metamodels programmierte Seiten (88 Unterseiten an der Zahl) die gleichen Title Tags und die gleichen Description zuweist. Google nimmt das natürlich als Dublicate Content auf...kennst Du eine Lösung dafür? Mit Catalog hat alles bestens geklappt, bis wir auf Meta Models umsteigen mussten. Danke im Voraus. Grüße aus Berlin.

Kommentar von Christoph |

Zum Thema "Zirkelbezug":
Normalerweise muss man bei mehreren Domains die Option "externe Seite" wählen, um Google anzuzeigen: "Diese Seite (z. B.: meineseite/hauptseite1.html) ist meine Hauptseite (statt meine-seite/hauptseite1.html)
Wenn man auf der gleichen Domain mehrere Seiten gleichen Inhalts hat, nimmt man die Option "Interne Seite" und verweist in Contao auf die Seite, die einem am wichtigsten ist.

Kommentar von digital instinct |

super! nach einem solchen Tool habe ich schon lange gesucht, da es sonst doch recht umständlich wäre bei eigenen und Kundensystemen das umzustellen.
5 stars :)

Kommentar von Michel |

Danke für das Plugin, ist es möglich den canonical tag übers eigene Modul zu überschreiben? Brauche ich an ein paar Stellen.

Also wie es auch mit dem Seitentitel geht: $objPage -> pageTitle = $produkt["title"];

Kommentar von Robert |

Servus Jan,
viele Dank für die praktische Erweiterung. Eine Frage zur Handhabung bei News: Generell ist es ja sinnvoll, "Auf diese Seite" zu verweisen. Das Problem ist jedoch, dass bei Social Shares mit URL-Parametern diese dadurch auch im canonical-Tag übernommen werden. Die bessere Lösung wäre hier die Wahl "Externe Seite" und dort dann die News-URL eintragen. Oder gibt es eine Alternative?

Danke & Gruß,
Robert