TYPO3 NoIndex für jede Seite unterschiedlich definieren
Durch die Anfrage von Wolfgang Wagner per Twitter vor ein paar Tagen, wurde ich daran erinnert, dass ich mich noch einmal um ein kleines Snippet von mir zu kümmern, dass es Seitenverwaltern erleichtern soll für jede Seite die Suchmaschinenindexierung zu definieren. Ich gehe dabei davon aus, dass standardmässig jede Seite im Index der Suchmaschinen auftauchen soll.
Was ist NoIndex gemeint?
NoIndex ist ein Begriff, der eingeführt wurde um Suchmaschinen einzelne Bestandteile einer Webseite vorzuenthalten. Die Suchmaschinen ermitteln diese MetaTag und ignorieren den Inhalt der aktuellen Seite bei Suchanfragen. Dies bietet sich zum Beispiel an um Adresse und Namen auf einer Seite im Impressum anzuzeigen, jedoch nicht bei der erst besten Suche mit der Seite und seinem Namen verbunden zu werden.
Umsetzung in TYPO3
In TYPO3 ist eine Umsetzung derzeit sehr schlecht implementiert. Per TYPOScript und templates für einzelne Seiten nur um diese aus den Suchmaschinen auszusperren ist es möglich, dies einem Redakteur zu vermitteln ist nicht immer ganz einfach und fördert die Übersicht der Templates ebenfalls nicht.
Daher habe ich zwei Stellen angefasst um eine Verwaltung einfacher zu machen.
Meine Implementierung erfordert den Seitenstil einer Seite als Optionsmöglichkeit, sollte diese aus irgendwelchen gründen bereits belegt sein, gilt es auf Basis dieses Codes eine neue Variante zu erarbeiten.
Im TYPOScript der obersten Seite ( root, es sollte die sein, mit dem Haupttemplate ) tragen wir als Konfiguration ein:
- TCEFORM.pages.layout.altLabels.1=NoIndex
Mit dieser Zeile benennen wir einen Seitenstil um, so dass er NoIndex heißt.
Anschließend fügen wir im Setup unseres Root-Templates folgendes ein:
- [globalVar = TSFE:page|layout = 1]
- page.meta.robots = noindex, follow
- [else]
- page.meta.robots = index, follow
- [end]
Nutzungsweise
Nun sollte ein Redakteur in der Lage sein einfach für jede Seite zu entscheiden ob sie öffentlich oder privat sein soll.
Dazu muss er auf der Seite, auf der er den Seitennamen benennt als Stil nur NoIndex auswählen. Schon ist eine Seite privat. Normalerweise ist eine Seite als öffentlich markiert.
Das ist alles?
Wie ich versprach, 3 Zeilen Code und alles läuft. Ich würde mich über eine Email freuen, sollte die von mir vorgeschlagene Lösung abgewandelt werden müssen. Auf dem Wege kann Sie anderen Lesern zur Verfügung gestellt werden.
Als Schreiber so eines Snippets freut man sich zudem zu hören, dass das Snippet in Seiten eingebaut wurde und funktioniert.