Edgewall Software
Modify

Ticket #1880 (new enhancement)

Opened 7 years ago

Last modified 17 months ago

Support for Google Sitemaps

Reported by: Martijn Pieters <mj@…> Owned by: jonas
Priority: normal Milestone: unscheduled
Component: general Version: devel
Severity: normal Keywords:
Cc: ufs@…, werdlerk@…
Release Notes:
API Changes:

Description

Google can index websites more efficiently and more frequently when a site provides information about the site in the form of a Google Sitemap; a centralized description of site content including information about change frequency and last update time.

Trac already has such information at the ready; all it needs to provide is the XML file itself and perhaps offer a few other niceties such as a sitemap index and automatic resubmission when pages change.

Trac could be extended to provide the following features:

Sitemap

http://www.google.com/webmasters/sitemaps/docs/en/protocol.html

The sitemap lists every wiki page, roadmap milestone, changeset and ticket, with last-modification date. Perhaps the homepage of a trac project can be marked with a higher priority, and changesets can be marked with a changefreq tag set to 'never', while the timeline could marked as changing 'always'.

The spec leaves it open an what URL to present the map; it needs to be registered explicitly with Google the first time. However, it may be that in the future the file will be autodiscovered much like robots.txt is; by trying the /sitemap.gz URL. As such Trac should probably offer the sitemap under that URL; gzipping the generated content is easy enough.

Sitemaps Index

http://www.google.com/webmasters/sitemaps/docs/en/protocol.html#sitemapLocation

In a multiproject configuration using TracModPython the ModPythonHandler could provide for a /sitemaps.gz URL that lists the sitemaps for all the Trac projects it knows about using a sitemapindex document.

Automatic resubmission

http://www.google.com/webmasters/sitemaps/docs/en/submit.html#ping

Google allows for automatic notification of changes to sitemaps using a very simple HTTP GET API. Trac could automatically call this API whenever it learns of a change (wiki edits, ticket activity, etc.). This should be configurable, defaulting to 'off' as sitemaps have to be registered explicitly first (although there is no penalty for calling the API without having registered).

Attachments

Change History

comment:1 Changed 6 years ago by Pedro Algarvio <ufs@…>

  • Cc ufs@… added

comment:2 Changed 6 years ago by Pedro Algarvio <ufs@…>

  • Milestone set to 1.0
  • Version changed from 0.8.4 to devel

I was going to ask about robots.txt, and then I found this ticket.

Guess this is the way to go.

I'm listening.

comment:3 Changed 5 years ago by Koen Werdler <werdlerk@…>

  • Cc werdlerk@… added

comment:4 Changed 5 years ago by Koen Werdler <werdlerk@…>

This plugin made by datenimperator creates a sitemap.xml:
http://www.trac-hacks.org/wiki/GoogleSitemapPlugin

I'm not sure if this is the most recent version since the developer has his own repository at his own website - http://voidblog.de/wiki/GoogleSitemap .

comment:5 Changed 5 years ago by Koen Werdler <werdlerk@…>

Correction; the links on trac-hacks.org already point to his own site.

comment:6 Changed 22 months ago by cboos

  • Milestone changed from 1.0 to unscheduled

Milestone 1.0 deleted

View

Add a comment

Modify Ticket

Change Properties
<Author field>
Action
as new
as The resolution will be set. Next status will be 'closed'
to The owner will be changed from jonas. Next status will be 'new'
The owner will be changed from jonas to anonymous. Next status will be 'assigned'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.