cs_seo ist die TYPO3 SEO Extension für alle Fälle
Seit der ersten Veröffentlichung von cs_seo im Mai 2016 hat sich einiges getan. Dank dem zahlreichen Feedback unserer Kunden und der TYPO3-Community konnte der Funktionsumfang der Extension in den vergangenen Monaten stetig wachsen. Mit der neuen Version 1.4 ist es neben den Seiteneigenschaften nun auch möglich jede Art von Erweiterung, die eine Detail-Ansicht von Datensätzen bietet, für Suchmaschinen zu opmtieren. Darüberhinaus können ebenfalls Daten für Open Graph und Twitter Cards hinterlegt werden. Entwickler müssen lediglich zwei Schritte dafür beachten, Redakteure die neue Chancen nutzen. Was sonst noch hinzugekommen ist und was das ganze mit AngularJS zu tun hat, erfahren Sie in diesem Artikel.
AngularJS und Twitter Bootstrap im TYPO3-Backend
Mit dem neuen Backend-Modul, welches seit Version 1.3 in cs_seo enthalten ist, können Redakteure direkt die SEO- und Social-Media-Eigenschaften, wie Open Graph Tags und Twitter Cards, von mehreren Seiten bearbeiten. Außerdem ergibt sich so ein Überblick, welche Seiten schon optimiert sind und wo noch Nachholbedarf besteht.
Das Vorgehen ist relativ simpel. Der Redakteur klickt auf das Modul, wählt eine Seite im Seitenbaum und schon erhält er die Übersicht. Nun kann er die Eigenschaften via Doppelklick bearbeiten. Alle Änderungen werden automatisch gespeichert und können bei Bedarf im Listen-Modul wieder rückgängig gemacht werden. Die Vorschau der Seite bei den Google-Suchergebnissen ist hier ebenfalls integriert.
In der Tabelle selbst ist es möglich zu filtern, sortieren, Spalten zu verschieben oder ganz auszublenden. Für die Realisierung wurde das von Google entwickelte Framework AngularJS genutzt, welches sich mit Features, wie der Zwei-Wege-Datenbindung, optimal für diesen Anwendungsfall eignet. Ebenso kamen Twitter Bootstrap und das AngularJS Modul UI-Grid zum Einsatz. Durch die modernen Technologien gelang eine intuitive sowie elegante Integration in das neue TYPO3-Backend.
Mit cs_seo Datensätze einfach erweitern
Die Version 1.4 von cs_seo bietet die Möglichkeit sämtliche Datensätze die einzeln auf einer Seite angezeigt werden, mit SEO-Eigenschaften, Open Graph Tags und Twitter Cards Daten zu versehen. Das Rad muss somit nicht immer neu erfunden werden.
Für Extension-Authoren und TYPO3-Integratoren ist die Erweiterung sehr simpel. Zwei Schritte sind lediglich notwendig und schon können die Redakteure die Informationen pflegen.
1. Neues Feld in der ext_tables.sql hinzufügen
Damit die Datenbank erweitert wird, muss in einer ext_tables.sql, in der das Modell definiert ist, eine Spalte mit dem folgende SQL-Code hinzugefügt werden.
CREATE TABLE tx_myext_domain_model_mymod ( tx_csseo int(11) unsigned NOT NULL default '0', );
Ist der Code geschrieben, muss im Install-Tool der Database Analyzer ausgeführt werden, damit die Spalte auch wirklich in der Datenbank angelegt wird.
2. PageTSconfig hinterlegen
Im PageTSconfig werden die Informationen hinterlegt, welche Tabelle erweitert werden soll. Das Frontend reagiert darauf, wenn die Data-Eigenschaft einen Wert zurück liefert. Die Eigenschaft ist vom Typ getText. Der Wert wird als UID übernommen. In folgenden Code werden demnach die SEO-Properties vom Model mit der UID 2 gelesen, wenn der GET-Parameter tx_myext_pi1[mymod]=2 gesetzt ist.
tx_csseo { # new index and table name of the model 1 = tx_myext_domain_model_mymod # if the get parameter is set in the URL the cs_seo properties will be shown 1.enable = GP:tx_myext_pi1|mymod # if the model already has fields like title etc. define them as fallback 1.fallback { # cs_seo title field fallback = mymod title field title = title # cs_seo description field fallback = mymod description field description = description } }
Zusätzlich ist möglich Fallback-Felder zu definieren, beispielsweise, wenn das Model bereits ein Titel-Feld besitzt. Im Anschluss sollte noch der System-Cache geleert werden, damit das TCA erweitert wird. Schließlich sind es zwei kleine Schritte mit einer großen Wirkung. Weitere Information für Entwickler und Integratoren finden Sie im offiziellen Extension-Manual.
Update für TYPO3 v9.5 LTS
Ab cs_seo 4.x für TYPO3 v9.5 LTS entfällt der 1. Schritt. Es muss kein zusätzlicher Eintrag in der ext_tables.sql erfolgen. Allerdings ist der Database Analyzer einmal auszuführen, nachdem das PageTSconfig eingebunden wurde.
Ausblick
Wichtige Features wurden in die Extension cs_seo integriert, was nicht bedeutet, dass sie fertig ist. Wir sind stets bestrebt cs_seo zu erweitern und somit unseren Kunden ein gutes Werkzeug für die Suchmaschinenoptimierung zur Seite zu stellen. Features wie die Sitemap.xml werden bereits von guten Erweiterungen wie dd_googlesitemap oder sitemap_generator umgesetzt. Daher fokussieren wir uns weiterhin auf OnPage-Optimierungen, welche unserer Ansicht nach für TYPO3 noch wünschenswert sind. Welche Funktionen das im Detail sind, wird an dieser Stelle noch nicht verraten. Wir haben allerdings noch großes vor.
Einen Rückblick auf die Features bei der Veröffentlichung der Extension cs_seo finden Sie ebenfalls in unserem Blog. Informationen zu einer aktuelleren Version ebenfalls. Die Extension können Sie im TYPO3 Repository herunterladen. Haben Sie selbst noch Anregungen zur Extension cs_seo oder wünschen Sie, dass wir Ihnen bei der Integration behilflich sind, dann kontaktieren Sie uns einfach.
Kommentar von Michael
Wie wird den bei dieser TYPO3-EXT. der Title-Tag generiert? Ich habe schon über die Parameter
pageTitle = WEBSITETITLE
pageTitleSeparator = |
eine Lösung zu finden. Bis zum Update hatte ich MetaSEO verwendet und es über einen dortigen Parameter realisiert.
Kommentar von Marc
Hallo Michael,
in den TypoScript-Templates (Datensätzen) gibt es das Feld Website-Titel. Am besten füllst du das Feld im Root-TypoScript-Template aus.
Vielen Dank für den Hinweis. Wir werden die Dokumentation ebtsprechend erweitern.
Viele Grüße,
Marc
Kommentar von Emrah
Hallo clickstorm Team, kann ich auch bestimmte Angaben wie z.B. og:image für Facebook und Description aus dem Default übernehmen?
Kommentar von Marc
Hallo emrah,
ja das ist möglich. Einfach das entsprechende fallback-Feld angeben, ebenso wie bei dem Titel und der Beschreibung. Viele Grüße, Marc
Kommentar von EE
Hallo clickstorm Team,
leider funktioniert Punkt 2 bei Mehrsprachigkeit nicht.
Bei mir wird nur die Default Sprache angezeigt! Oder muss ich bei konfigurieren auf was achten? Vg. EE
Kommentar von Marc
Hallo EE, was meinst du hier genau? Wo wird nur die Default Sprache angezeigt? Nimm gerne Kontakt mit uns auf, damit genauer schauen können, wo das Problem liegt. Generell haben wir die Mehrsprachigkeit berücksichtigt und sie funktioniert auch. Viele Grüße, Marc