Web Development
Oliver Thiele

Google Sitemap mit TypoScript
Es muss nicht immer eine Extension installiert werden ;)

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)

Page.t3s

TypoScript
  1. /**
  2.  * Google Sitemap
  3.  * @author Oliver Thiele
  4.  * @version 0.0.2
  5.  */
  6.  
  7. page >
  8. page = PAGE
  9. page {
  10. config {
  11. noCache = 1
  12. disableAllHeaderCode = 1
  13. additionalHeaders = Content-Type: text/xml
  14. }
  15. wrap (
  16. <?xml version="1.0" encoding="UTF-8"?>
  17. <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">|
  18. </urlset>
  19. )
  20. 5 = TEXT
  21. 5.char = 10
  22.  
  23. # Home
  24. 9 {
  25. # 2 = ID of home page
  26. datum.data = DB:pages:2:SYS_LASTCHANGED
  27. datum.ifEmpty.field = crdate
  28. datum.strftime = %Y-%m-%d
  29. }
  30. 10 = TEXT
  31. 10 {
  32. value (
  33. <url>
  34. <loc>http://{$myConfig.domain}/</loc>
  35. <lastmod>{register:datum}</lastmod>
  36. </url>
  37. )
  38. }
  39.  
  40. # The MENU
  41. 30 = HMENU
  42. 30 {
  43. special = directory
  44. special.value = 1
  45. # 15,8,5
  46. # Startseite manuell!
  47. excludeUidList = 2
  48.  
  49. 1 = TMENU
  50. 1 {
  51. expAll = 1
  52. NO = 1
  53. NO {
  54. doNotShowLink = 1
  55.  
  56. stdWrap2 {
  57. key.field = doktype
  58. 1 = COA
  59. 1 {
  60. 2 = TEXT
  61. 2.char = 9
  62.  
  63. 3 = TEXT
  64. 3.value = <url>
  65.  
  66. 4 = TEXT
  67. 4.char = 10
  68.  
  69. 5 = TEXT
  70. 5 {
  71. noTrimWrap = | <loc>http://{$myConfig.domain}/|</loc>|
  72. parameter.field = uid
  73. returnLast = url
  74. }
  75. }
  76.  
  77. 7 = TEXT
  78. 7.char = 10
  79.  
  80. 8 = TEXT
  81. 8.char = 9
  82.  
  83. 9 = TEXT
  84. 9.char = 9
  85.  
  86. 10 = TEXT
  87. 10.value = <lastmod>
  88.  
  89. 20 = TEXT
  90. 20.field = SYS_LASTCHANGED
  91. 20.ifEmpty.field = crdate
  92. 20.strftime = %Y-%m-%d
  93.  
  94. 30 = TEXT
  95. 30.value = </lastmod>
  96.  
  97. 31 = TEXT
  98. 31.char = 10
  99.  
  100. 35 = TEXT
  101. 35.char = 9
  102.  
  103. 40 = TEXT
  104. 40.value = </url>
  105. 41 = TEXT
  106. 41.char = 10
  107. }
  108. default = TEXT
  109. # default.field = uid
  110. # default.wrap = <leer>|</leer>
  111. }
  112. }
  113. }
  114. }
  115. 2 < .1
  116. 3 < .1
  117. 4 < .1
  118. }
  119. }

© Copyright 2003-2017 Web Development Oliver Thiele. All rights reserved. - Diese Seite wurde am 21.04.2015 um 17:34 erstellt.
Letzte Änderung: 20.05.2015 16:53:51
Google-Sitemap,SEO,Suchmaschinenoptimierung,TypoScript,Totorial,How-To,XML

oliver-thiele.de Trustcheck Seal