Version 17 (modified by Martin Scharrer, 8 years ago) (diff)


Google sitemap generator


This plugin will produce a site maps XML file suitable for submission to the Google sitemap service. The sitemap is a way to describe your site's content other than depending on a crawler that follows every link. It's suitable for dynamic sites with lots of different URLs for basically the same content.

The maintainer-ship of this plugin for Trac 0.11+ was taken over by martin_s in May 2010. The new Trac 0.11 version was written from scratch, mainly because of great API changes between the Trac versions. This wiki now describes only the 0.11 (and newer branches in the future). The old description for the 0.10 branch? is also available.

The plugin can be configured to notify Google by sending a PING request to their site when content on your trac has changed (Trac 0.10 version only). For now, wiki pages and tickets are supported in the sitemap. Other things like source code and pages produced by other plugins could also be included if requested.


Download the source code into a directory of your choice, open a command line terminal and run this command:

python install

or use easy_install either on the downloaded source code or the SVN URL:

easy_install <downloaded zip file or dir>
# or

Activate the plugin and, optionally, the automatic notification in your Trac environment by adding this line to the section [component] of <your trac installation dir>/conf/trac.ini or use the IniAdminPlugin:

tracgooglesitemap.plugin = enabled
tracgooglesitemap.notify = enabled   # optional, notifies Google to reload the sitemap when content has changed

Restart your web- or trac-server.


The following options are supported. They must be placed under a [googlesitemap] section in the configuration file.

Path of the sitemap relative to the main URL. Default: 'sitemap.xml'.
Do not include wiki pages created by the listed users. Default: trac (excludes all standard Trac wiki pages).
Do not include the following wikis. The wildcards '*' and '?' are allowed and have there usual meaning.
Which realms (i.e. wiki or ticket) to list. Default: wiki,ticket.
Change frequency for all entries. Valid values: always, hourly, daily, weekly, monthly, yearly, never. Disabled if empty (default).
Compress sitemap, either by using HTTP gzip content-encoding if the client supports it (Googlebot does) or by requesting the sitemap with a trailing .gz.
Compression level used: 0 (low/fast) to 9 (high/slow). Default: 6.

The notifier can be told on which action Google should be notified about the sitemap change:

List of actions on which Google should be notified. The action names are based on the Trac permissions needed to execute the actions. Supported actions are: TICKET_CREATE, TICKET_DELETE, TICKET_MODIFY, WIKI_CREATE, WIKI_DELETE, WIKI_VERSION_DELETE, WIKI_MODIFY, WIKI_RENAME. By default Google will be notified when a ticket or wiki is created or modified, but not when it is deleted. Default: TICKET_CREATE, TICKET_MODIFY, WIKI_CREATE, WIKI_VERSION_DELETE, WIKI_MODIFY, WIKI_RENAME.

Bugs/Feature Requests

See existing bugs and feature requests, and feel free to create a new ticket.


Download the zipped source from [download:googlesitemapplugin here].


You can check out GoogleMapMacro for Trac 0.11 from here using Subversion, or browse the source with Trac.


This is how a sitemap XML could look like:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns=""

More about the document format can be found here.

Recent Changes

17141 by rjollos on 2018-04-16 20:45:09
TracGoogleSitemapPlugin 1.1: Conform to PEP8
15264 by rjollos on 2016-02-11 04:22:34
Remove unnecessary svn:mime-type on py files

svn:mime-type was set to "plain" for many files.

9514 by martin_s on 2010-11-24 20:42:18
Added missing else clause for _fixtime method. This should fix #8152.


Author: martin_s (Trac 0.11), datenimperator (Trac 0.10)
Maintainer: martin_s