Trailerbild
Certified TYPO3 Integrator
Meine aktuelle Buchempfehlung:

Links

Website meiner Frau Martina Thiele:
externer Link folgtwww.tagesmutter- luebbecke.de

Zur Webseite vom Ferienhaus auf Usedom von meinem Bruder Christian Thiele:
externer Link folgtwww.am-jungfernberg.de

Aktuelles:

Telefonanbieter Alice betrügt Kunden!

Meiner Schwiegermutter wurde ohne einen Vertrag unterzeichnet zu haben, von Alice zunächst die...

 

1. TYPO3-Workshop in Ägypten

Poolanlage des Hotels

Am 26. Oktober findet in Ägypten der erste TYPO3-Workshop statt, an dem man neben TYPO3 auch noch...

 
Kat: TYPO3

Neue TYPO3 Versionen schließen mehrere Sicherheitslücken im Core!

Aufgrund mehrerer Sicherheitslücken wird geraten, auf die TYPO3-Versionen 4.2.4, 4.1.8 oder 4.0.10...

 
Kat: TYPO3, Sicherheit
Sie sind hier: Startseite » TYPO3 » TYPO3-Tutorials » Google Sitemap mit TS

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

Sourcecode für Text-Editor optimiert zeigen.

  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 = LOAD_REGISTER
  25.     9 {
  26.         # 2 = ID of home page
  27.         datum.data = DB:pages:2:SYS_LASTCHANGED
  28.         datum.ifEmpty.field = crdate
  29.         datum.strftime = %Y-%m-%d
  30.     }
  31.     10 = TEXT
  32.     10 {
  33.         value (
  34.     <url>
  35.         <loc>http://{$myConfig.domain}/</loc>
  36.         <lastmod>{register:datum}</lastmod>
  37.     </url>
  38. )
  39.         insertData = 1
  40.     }
  41.     11 = RESTORE_REGISTER
  42.    
  43.     # The MENU
  44.     30 = HMENU
  45.     30 {
  46.         special = directory
  47.         special.value = 1
  48.         # 15,8,5
  49.         # Startseite manuell!
  50.         excludeUidList = 2
  51.        
  52.         1 = TMENU
  53.         1 {
  54.             expAll = 1
  55.             NO = 1
  56.             NO {
  57.                 doNotShowLink = 1
  58.                
  59.                 stdWrap2 {
  60.                     cObject = CASE
  61.                     cObject {
  62.                         key.field = doktype
  63.                         1 = COA
  64.                         1 {
  65.                             2 = TEXT
  66.                             2.char = 9
  67.                            
  68.                             3 = TEXT
  69.                             3.value = <url>
  70.                            
  71.                             4 = TEXT
  72.                             4.char = 10
  73.                            
  74.                             5 = TEXT
  75.                             5 {
  76.                                 noTrimWrap = |    <loc>http://{$myConfig.domain}/|</loc>|
  77.                                 typolink {
  78.                                     parameter.field = uid
  79.                                     returnLast = url
  80.                                 }
  81.                                 htmlSpecialChars = 1
  82.                             }
  83.                            
  84.                             7 = TEXT
  85.                             7.char = 10
  86.                            
  87.                             8 = TEXT
  88.                             8.char = 9
  89.                            
  90.                             9 = TEXT
  91.                             9.char = 9
  92.                            
  93.                             10 = TEXT
  94.                             10.value = <lastmod>
  95.  
  96.                             20 = TEXT
  97.                             20.field = SYS_LASTCHANGED
  98.                             20.ifEmpty.field = crdate
  99.                             20.strftime = %Y-%m-%d
  100.  
  101.                             30 = TEXT
  102.                             30.value = </lastmod>
  103.                            
  104.                             31 = TEXT
  105.                             31.char = 10
  106.                            
  107.                             35 = TEXT
  108.                             35.char = 9
  109.                            
  110.                             40 = TEXT
  111.                             40.value = </url>
  112.                             41 = TEXT
  113.                             41.char = 10
  114.                         }
  115.                         default = TEXT
  116.                         # default.field = uid
  117.                         # default.wrap = <leer>|</leer>
  118.                     }
  119.                 }
  120.             }
  121.         }
  122.         2 < .1
  123.         3 < .1
  124.         4 < .1
  125.     }
  126. }