Google Sitemap mit TypoScript
Auch ohneExtension und nur mit TypoScript kann man eine einfache Google-Sitemap erstellen. Die hier gezeigte Lösung generiert eine Sitemap mit 4 Ebenen. Als Besonderheit wird die Startseite nur mit der Domain verlinkt, also ohne index.html oder /index/.
Für die Funktion muss nur die Zeile 27 angepasst werden. Hier muss die Seiten-UID 2 durch die eigene ID ersetzt werden.
Zusätzlich muss in den Konstanten myConfig.domain = domain.tld eingetragen werden. domain.tld ersetzen sie natürlich mit ihrer eigenen Domain (bei mir wäre dies z.B. www.oliver-thiele.de)
TypoScript
- /**
- * Google Sitemap
- * @author Oliver Thiele
- * @version 0.0.2
- */
- page >
- page = PAGE
- page {
- config {
- noCache = 1
- disableAllHeaderCode = 1
- additionalHeaders = Content-Type: text/xml
- }
- wrap (
- <?xml version="1.0" encoding="UTF-8"?>
- <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">|
- </urlset>
- )
- 5 = TEXT
- 5.char = 10
- # Home
- 9 = LOAD_REGISTER
- 9 {
- # 2 = ID of home page
- datum.ifEmpty.field = crdate
- datum.strftime = %Y-%m-%d
- }
- 10 = TEXT
- 10 {
- value (
- <url>
- <loc>http://{$myConfig.domain}/</loc>
- <lastmod>{register:datum}</lastmod>
- </url>
- )
- insertData = 1
- }
- 11 = RESTORE_REGISTER
- # The MENU
- 30 = HMENU
- 30 {
- special = directory
- special.value = 1
- # 15,8,5
- # Startseite manuell!
- excludeUidList = 2
- 1 = TMENU
- 1 {
- expAll = 1
- NO = 1
- NO {
- doNotShowLink = 1
- stdWrap2 {
- cObject {
- key.field = doktype
- 1 = COA
- 1 {
- 2 = TEXT
- 2.char = 9
- 3 = TEXT
- 3.value = <url>
- 4 = TEXT
- 4.char = 10
- 5 = TEXT
- 5 {
- noTrimWrap = | <loc>http://{$myConfig.domain}/|</loc>|
- typolink {
- parameter.field = uid
- returnLast = url
- }
- htmlSpecialChars = 1
- }
- 7 = TEXT
- 7.char = 10
- 8 = TEXT
- 8.char = 9
- 9 = TEXT
- 9.char = 9
- 10 = TEXT
- 10.value = <lastmod>
- 20 = TEXT
- 20.field = SYS_LASTCHANGED
- 20.ifEmpty.field = crdate
- 20.strftime = %Y-%m-%d
- 30 = TEXT
- 30.value = </lastmod>
- 31 = TEXT
- 31.char = 10
- 35 = TEXT
- 35.char = 9
- 40 = TEXT
- 40.value = </url>
- 41 = TEXT
- 41.char = 10
- }
- default = TEXT
- # default.field = uid
- # default.wrap = <leer>|</leer>
- }
- }
- }
- }
- 2 < .1
- 3 < .1
- 4 < .1
- }
- }

www.tagesmutter- luebbecke.de