Direkt zum Inhalt springen
News Image TYPO3 News Beiträge in Sitemap anzeigen lassen
TYPO3 Webentwicklung

TYPO3 News Beiträge in Sitemap anzeigen lassen

Erstellt am
Tags
# Development # Extensions # SEO # Sitemap # TYPO3 # TypoScript

Hier zeige ich dir wie du deine News Beiträge automatisch in die Sitemap eintragen lassen kannst.

Voraussetzung ist, dass du bereits eine Sitemap erstellt hast. Falls nicht, schau bitte hier wie du eine Sitemap für deine TYPO3 Homepage erstellst.

 

plugin.tx_seo {
 config {
   xmlSitemap {
     sitemaps {
       pages {
         config {
           ### Hier kannst du Doktypes ausschließen ###
           excludedDoktypes = 3, 4, 5
           ### Hier kannst du Doktypes ausschließen ###
           
           ### Seiten ausschließen die auf no_index eingestellt sind ###
           additionalWhere = AND (no_index = 0 OR no_follow = 0)
           ### Seiten ausschließen die auf no_index eingestellt sind ###
         }
       }
     }
   }
 }
}

plugin.tx_seo.config {
 xmlSitemap {
   sitemaps {
     news {
       provider = TYPO3\CMS\Seo\XmlSitemap\RecordsXmlSitemapDataProvider
       config {
         table = tx_news_domain_model_news
         sortField = sorting
         lastModifiedField = tstamp
         ### Die ID der Ordners in dem die News liegen ###
         pid = 11
         ### Die ID der Ordners in dem die News liegen ###
         recursive = 2
         url {
           ### Die ID der Detailseite angeben ###
           pageId = 3
           ### Die ID der Detailseite angeben ###
           fieldToParameterMap {
             uid = tx_news_pi1[news]
           }
           additionalGetParameters {
             tx_news_pi1.controller = News
             tx_news_pi1.action = detail
           }
           useCacheHash = 1
         }
       }
     }

   }
 }
}

 

Wenn du nun den Cache geleert hast und deine Sitemap aufrufst, solltest du nun deine News finden.

Du kannst die Einträge auch erweitern. Nehmen wir mal an, du hast zwei Systemordner mit News Beiträgen und zwei Detailseiten.

Hier ein Beispiel:

 

plugin.tx_seo.config {
 xmlSitemap {
   sitemaps {
     ### Hier den gewünschten Namen eingeben ###
     news {
     ### Hier den gewünschten Namen eingeben ###
       provider = TYPO3\CMS\Seo\XmlSitemap\RecordsXmlSitemapDataProvider
       config {
         table = tx_news_domain_model_news
         sortField = sorting
         lastModifiedField = tstamp
         ### Die ID der Ordners in dem die News liegen ###
         pid = 11
         ### Die ID der Ordners in dem die News liegen ###
         recursive = 2
         url {
           ### Die ID der Detailseite angeben ###
           pageId = 3
           ### Die ID der Detailseite angeben ###
           fieldToParameterMap {
             uid = tx_news_pi1[news]
           }
           additionalGetParameters {
             tx_news_pi1.controller = News
             tx_news_pi1.action = detail
           }
           useCacheHash = 1
         }
       }
     }
     ### Hier den gewünschten Namen eingeben ###
     webinare {
     ### Hier den gewünschten Namen eingeben ###
       provider = TYPO3\CMS\Seo\XmlSitemap\RecordsXmlSitemapDataProvider
       config {
         table = tx_news_domain_model_news
         sortField = sorting
         lastModifiedField = tstamp
         ### Die ID der Ordners in dem die News liegen ###
         pid = 12
         ### Die ID der Ordners in dem die News liegen ###
         recursive = 2
         url {
           ### Die ID der Detailseite angeben ###
           pageId = 4
           ### Die ID der Detailseite angeben ###
           fieldToParameterMap {
             uid = tx_news_pi1[news]
           }
           additionalGetParameters {
             tx_news_pi1.controller = News
             tx_news_pi1.action = detail
           }
           useCacheHash = 1
         }
       }
     }

   }
 }
}

 

Damit deine Einträge in der Sitemap als "Sprechende URL" angezeigt werden, erweitere in deiner Site Konfiguration die config.yaml um folgenden Code.

 

routeEnhancers:
 #News
 News:
   type: Extbase
   extension: News
   plugin: Pi1
   routes:
     -
       routePath: '/page-{page}'
       _controller: 'News::list'
       _arguments:
         page: '@widget_0/currentPage'
     -
       routePath: '/{news-title}'
       _controller: 'News::detail'
       _arguments:
         news-title: news
     -
       routePath: '/{category-name}'
       _controller: 'News::list'
       _arguments:
         category-name: overwriteDemand/categories
     -
       routePath: '/{tag-name}'
       _controller: 'News::list'
       _arguments:
         tag-name: overwriteDemand/tags
   defaultController: 'News::list'
   defaults:
     page: '0'
   aspects:
     news-title:
       type: PersistedAliasMapper
       tableName: tx_news_domain_model_news
       routeFieldName: path_segment
     page:
       type: StaticRangeMapper
       start: '1'
       end: '100'
     category-name:
       type: PersistedAliasMapper
       tableName: sys_category
       routeFieldName: slug
     tag-name:
       type: PersistedAliasMapper
       tableName: tx_news_domain_model_tag
       routeFieldName: slug

 

 

Extensions

Aktuelle Themen

Haben Sie Fragen zu diesem Artikel?

Bringen Sie Ihre Homepage auf ein neues Level. Schreiben Sie uns eine kurze Nachricht, damit wir uns anschauen können, wie wir Ihre Ziele erreichen. 

Ich berate Sie gerne! 
Rüdiger Zirks | SEO-Experte, TYPO3-Spezialist, 3D-Artist

 

Kontakt