====== Yoast SEO for TYPO3 (yoast_seo) ====== ===== Konfiguration ===== ==== Rendern des Appendix abhängig von DB-Feldern ==== Wer mit ''titleAppend'' eine gleichbleibende Endung (z.B. den Markennamen) an alle Seitentitel anhängt, möchte diese vielleicht bei einigen Seiten individuell anpassen können. Mit der folgenden Konfiguration wird der Appendix nicht im Titel verwendet, falls im //Seo Title//-Feld ein angepasster Titel gesetzt wurde. Wird diese Konfiguration verwendet, muss also bei individuell gesetzten SEO-Titeln der Appendix direkt im SEO-Feld hinzugefügt werden. === Seiten === Bei normalen Seiten in TYPO3 wird das Feld ''seo_title'' verwendet. Das folgende TypoScript fragt nicht nur das SEO-Feld ab, sondern setzt auch ein individuelles Trennzeichen zwischen Titel und Appendix. lib.yoastSEO { pageTitleComplete { 30.value = {$plugin.tx_sklein.websiteName} 30.stdWrap.noTrimWrap = | :: || // Don't render appendix if a custom value in the SEO title field is set: 30.if.isFalse.dataWrap = {field:seo_title} } } === News-Datensätze (EXT:news) === Bei Newsbeiträgen wird ein eigenes Feld für SEO-Titel verwendet, dass den Namen ''alternative_title'' trägt. Das folgende TypoScript fragt in zwei Schritten erst die News-UID im GET-Parameter ab (''{GP:tx_news_pi1|news}'' über ''data.insertData = 1''), danach erfolgt das Auslesen des Datenbankfeldes ''alternative_title'' im aktuellen Datensatz.\\ Ist dieses Titel-Feld leer, gilt die Bedingung ''if.isFalse'' als erfüllt und der Appendix wird ausgegeben. Wurde aber ein individueller Text in diesem Feld vergeben, entfällt der Anhang des Titels. [globalVar = GP:tx_news_pi1|news > 0] || [globalVar = GP:tx_news_pi1|news_preview > 0] lib.yoastSEO { // Don't render appendix if a custom value in the alternative_title field is set: pageTitleComplete.30.if.isFalse.cObject = TEXT pageTitleComplete.30.if.isFalse.cObject { data = DB:tx_news_domain_model_news:{GP:tx_news_pi1|news}:alternative_title data.insertData = 1 } } [global] ==== yoast_seo und Routing Enhancers ==== Sobald unter TYPO3 v9 ein ''PageTypeSuffix'' für sprechende URLs eingerichtet wird, muss dort ein Mapping für die Yoast-Vorschau im Backend hinzugefügt werden. Ansonsten erhält man in der Snippet Preview nur den Wert //undefined//. routeEnhancers: PageTypeSuffix: type: CustomPageType default: / index: index map: /: 0 yoast-snippetpreview.json: 1480321830