Google sitemap generator


This plugin produces a site map file 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 is suitable for dynamic sites with lots of different URLs for basically the same content and it allows your web site to be found better and searched better.

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.

The sitemap is implemented in the XML format. This is what a sample sitemap XML could look like:

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

More about the document format can be found on the Google developers page.

Fork: A fork on GitHub has been created with some improvements/fixes. Feel free to suggest new features.

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

Bugs/Feature Requests

Existing bugs and feature requests for GoogleSitemapPlugin are here.

If you have any issues, create a new ticket.


11 / 12


2 / 3


1 / 1


Download the zipped source from here.

The plugin is also available on PyPI.


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


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
pip install svn+

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

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

Restart your web server or Trac server:

$ trac-admin /path/to/env deploy /deploy/path


The following options are supported. They must be placed under a [googlesitemap] section in the ../conf/trac.ini 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 to list, ie wiki or ticket. 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.

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 Scharrer

Last modified 15 months ago Last modified on Feb 27, 2023, 8:46:37 AM