wiki:GoogleSitemapPlugin

Version 17 (modified by martin_s, 5 years ago) (diff)

--

Google sitemap generator

Description

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.

Installation

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

python setup.py install

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

easy_install <downloaded zip file or dir>
# or
easy_install http://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 [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.

Configuration

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

sitemappath
Path of the sitemap relative to the main URL. Default: 'sitemap.xml'.
ignoreusers
Do not include wiki pages created by the listed users. Default: trac (excludes all standard Trac wiki pages).
ignorewikis
Do not include the following wikis. The wildcards '*' and '?' are allowed and have there usual meaning.
listrealms
Which realms (i.e. wiki or ticket) to list. Default: wiki,ticket.
changefreq
Change frequency for all entries. Valid values: always, hourly, daily, weekly, monthly, yearly, never. Disabled if empty (default).
compress_sitemap
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
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:

notifyon
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

Download the zipped source from here.

Source

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

Example

This is how a 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.

Recent Changes

[9514] by martin_s on 2010-11-24 21:42:18
tracgooglesitemap/plugin.py
Added missing else clause for _fixtime method. This should fix #8152.
[8547] by martin_s on 2010-08-30 23:57:39
Added encoding meta-comment and declared SVN keywords as unicode to avoid issues with non-english locales.
[8422] by martin_s on 2010-08-23 13:11:45
Removed outdated variable rev from setup file.

Author/Contributors

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