DEPRECATION WARNING

This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.

Introduction

Build Status

https://travis-ci.org/beardcoder/sitemap_generator.svg?branch=master https://codeclimate.com/github/beardcoder/sitemap_generator/badges/gpa.svg

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

$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

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['realurl']['_DEFAULT'] = [
    'fileName' => [
        'defaultToHTMLsuffixOnPrev' => 0,
        'acceptHTMLsuffix' => 1,
        'index' => [
            'sitemap_news.xml' => [
                'keyValues' => [
                    'type' => 1451160842,
                ]
            ]
        ]
    ]
];