.. ================================================== .. FOR YOUR INFORMATION .. -------------------------------------------------- .. -*- coding: utf-8 -*- with BOM. .. include:: ../Includes.txt .. highlight:: typoscript .. _start: Introduction ============ Build Status ------------ .. image:: https://travis-ci.org/beardcoder/sitemap_generator.svg?branch=master :target: https://travis-ci.org/beardcoder/sitemap_generator .. image:: https://codeclimate.com/github/beardcoder/sitemap_generator/badges/gpa.svg :target: https://codeclimate.com/github/beardcoder/sitemap_generator Installation ------------ **Preparation: Include static TypoScript** *The extension ships some TypoScript code which needs to be included.* - Switch to the root page of your site. - Switch to the Template module and select Info/Modify. - Press the link Edit the whole template record and switch to the tab Includes. - Select Sitemap Generator (sitemap_generator) at the field Include static (from extensions) - You can override the root page ID plugin.tx\_sitemapgenerator.settings.urlEntries.pages.rootPageId - You can add custom doktypes. Per default the sitemap.xml only lists normal pages with "doktype=1". The option takes a comma-separated list of numbers. plugin.tx\_sitemapgenerator.settings.urlEntries.pages.allowedDoktypes - You can define doktypes which "end" the page tree, e.g. Backend User Section. Sub pages of pages of this doktype won't get fetched. - sitemap is available on rootpage with pagetype 1449874941 "/index.php?id=1&type=1449874941" Pages ~~~~~ :: plugin.tx_sitemapgenerator { urlEntries { pages = 1 pages { rootPageId = 1 allowedDoktypes = 1 stopPageTreeDoktypes = 6,199 additionalWhere = doktype!=6 } } } Plugin integration ~~~~~~~~~~~~~~~~~~ :: plugin.tx_sitemapgenerator { urlEntries { news = 1 news { active = 1 table = tx_news_domain_model_news additionalWhere = pid!=0 orderBy = title DESC limit = 0,10 lastmod = tstamp url = TEXT url { typolink.parameter = 9 typolink.additionalParams = &tx_news_pi1[controller]=News&tx_news_pi1[action]=detail&tx_news_pi1[news]={field:uid} typolink.additionalParams.insertData = 1 typolink.useCacheHash = 1 typolink.returnLast = url typolink.forceAbsoluteUrl = 1 } } } } Hide if not translated ~~~~~~~~~~~~~~~~~~~~~~ A record that has no translation will not be shown. :: plugin.tx_sitemapgenerator.urlEntries.pages { hidePagesIfNotTranslated = 1 } plugin.tx_sitemapgenerator.urlEntries.news { hideIfNotTranslated = 1 } Additional fields ~~~~~~~~~~~~~~~~~ :: plugin.tx_sitemapgenerator.urlEntries.news { changefreq = dbfield_for_changefreq priority = dbfield_for_priority } Custom value for fields ~~~~~~~~~~~~~~~~~~~~~~~ You can use the TYPO3 TypoScript syntax to fill fields :: plugin.tx_sitemapgenerator.urlEntries.news { changefreq = TEXT changefreq.value = daily } RealURL for beautiful sitemap.xml url ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: php $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT'] = [ 'fileName' => [ 'defaultToHTMLsuffixOnPrev' => 0, 'acceptHTMLsuffix' => 1, 'index' => [ 'sitemap.xml' => [ 'keyValues' => [ 'type' => 1449874941, ] ] ] ] ]; Google News-Sitemap ------------------- https://support.google.com/news/publisher/answer/74288?hl=en Activate for tx\_news ~~~~~~~~~~~~~~~~~~~~~ :: plugin.tx_sitemapgenerator.googleNewsUrlEntry = 1 RealURL for beautiful sitemap\_news.xml url ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: php $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT'] = [ 'fileName' => [ 'defaultToHTMLsuffixOnPrev' => 0, 'acceptHTMLsuffix' => 1, 'index' => [ 'sitemap_news.xml' => [ 'keyValues' => [ 'type' => 1451160842, ] ] ] ] ];