Google sitemap generator
This plugin produces a site map XML 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.
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 maintainership 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 the API changes between the Trac versions. This wiki now describes only the Trac 0.11 (and newer branches in the future). The description for the 0.10 branch is also available.
If you have any issues, create a new ticket.
Download the zipped source from here.
Download the source code into a directory of your choice, open a command line terminal and run this command:
python setup.py install
easy_install either on the downloaded source code or the SVN URL:
easy_install <downloaded zip file or dir> # or easy_install https://trac-hacks.org/svn/googlesitemapplugin/0.11
Activate the plugin and, optionally, the automatic notification in your Trac environment by adding this line to the section [components] of your
../conf/trac.ini file or use the IniAdminPlugin:
[components] tracgooglesitemap.plugin = enabled tracgooglesitemap.notify = enabled # optional, notifies Google to reload the sitemap when content has changed
Restart your web server 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:
- 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
- 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-encodingif the client supports it (Googlebot does) or by requesting the sitemap with a trailing
- 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.
This is what a sample sitemap XML could look like:
<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> <url> <loc>http://yourtracurl/tracproject/wiki/WikiStart</loc> <lastmod>2010-11-07T15:37:07Z</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>http://yourtracurl/tracproject/wiki/SomePage</loc> <lastmod>2010-11-07T16:22:35Z</lastmod> <changefreq>daily</changefreq> </url> </urlset>
More about the document format can be found here.
- 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
_fixtimemethod. This should fix #8152.
- 8547 by martin_s on 2010-08-30 21:57:39
Added encoding meta-comment and declared SVN keywords as unicode to avoid issues with non-english locales.