PHPackages                             silverstripe/googlesitemaps - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. silverstripe/googlesitemaps

Abandoned → [wilr/silverstripe-googlesitemaps](/?search=wilr%2Fsilverstripe-googlesitemaps)Silverstripe-vendormodule[Utility &amp; Helpers](/categories/utility)

silverstripe/googlesitemaps
===========================

SilverStripe support for the Google Sitemaps XML, enabling Google and other search engines to see all urls on your site. This helps your SilverStripe website rank well in search engines, and to encourage the information on your site to be discovered quickly.

3.1.0(2y ago)78588.9k↓43.6%93[3 issues](https://github.com/silverstripe-labs/silverstripe-googlesitemaps/issues)8BSD-3-ClausePHPPHP ^8.1CI passing

Since Jan 3Pushed 2mo ago14 watchersCompare

[ Source](https://github.com/silverstripe-labs/silverstripe-googlesitemaps)[ Packagist](https://packagist.org/packages/silverstripe/googlesitemaps)[ Docs](https://github.com/wilr/silverstripe-googlesitemaps)[ RSS](/packages/silverstripe-googlesitemaps/feed)WikiDiscussions main Synced 3d ago

READMEChangelog (10)Dependencies (3)Versions (35)Used By (8)

Google Sitemaps Module
======================

[](#google-sitemaps-module)

[![CI](https://github.com/wilr/silverstripe-googlesitemaps/actions/workflows/ci.yml/badge.svg)](https://github.com/wilr/silverstripe-googlesitemaps/actions/workflows/ci.yml)[![Version](https://camo.githubusercontent.com/0cf76ab15f8c3b7dc7cfee8a56b436cfa0c1cc4f034ab5a4a3b7a14281be2196/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f77696c722f73696c7665727374726970652d676f6f676c65736974656d6170732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/wilr/silverstripe-googlesitemaps)[![License](https://camo.githubusercontent.com/fa23675f38baf80164158dd869868befe1f9404637f203265fc01971503eaf9b/687474703a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f77696c722f73696c7665727374726970652d676f6f676c65736974656d6170732e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)

Maintainer Contact
------------------

[](#maintainer-contact)

- Will Rossiter (Nickname: wrossiter, willr)

Installation
------------

[](#installation)

> composer require "wilr/silverstripe-googlesitemaps"

If you're using Silverstripe 5 then version `3` or `dev-main` will work.

For Silverstripe 4 use the `2.x` branch line.

Documentation
-------------

[](#documentation)

Provides support for the [Sitemaps XML Protocol](http://www.sitemaps.org/protocol.html), enabling Google, Bing and other search engines to index the web pages on your site. This helps your SilverStripe website rank well in search engines, and to encourage the information on your site to be discovered by Google quickly.

Any new pages published or unpublished on your website automatically update the Sitemap.

The XML Sitemap can be accessed by going to

Static cache and gzipped sitemaps (sitemap.xml.gz)
--------------------------------------------------

[](#static-cache-and-gzipped-sitemaps-sitemapxmlgz)

Google's [sitemap protocol](https://www.sitemaps.org/protocol.html) recommends serving sitemaps as gzipped `.xml.gz` files. This module can render the sitemap index and all sub-sitemaps to disk on a schedule and serve those static files on subsequent requests, including a `/sitemap.xml.gz` endpoint.

Enable the static cache in YAML:

```
Wilr\GoogleSitemaps\GoogleSitemap:
  enable_static_cache: true
  enable_gzip: true
  static_cache_path: 'sitemaps'
  regenerate_time: 3600
```

Generate the files manually:

```
sake dev:tasks:GenerateGoogleSitemapTask

```

Or, if you have [silverstripe/queuedjobs](https://github.com/symbiote/silverstripe-queuedjobs)installed, queue the bundled `GenerateGoogleSitemapJob` and it will re-queue itself every `regenerate_time` seconds (defaulting to hourly):

```
use Symbiote\QueuedJobs\Services\QueuedJobService;
use Wilr\GoogleSitemaps\Jobs\GenerateGoogleSitemapJob;

singleton(QueuedJobService::class)->queueJob(new GenerateGoogleSitemapJob());
```

`enable_gzip` is opt-in but transparently downgrades to XML-only output if the running PHP build does not have zlib support.

See `docs/en/index.md` for the full configuration reference.

Multi-language sites (Fluent)
-----------------------------

[](#multi-language-sites-fluent)

If `tractorcow/silverstripe-fluent` is installed the module automatically expands the sitemap index so every (class, page) entry is emitted once per configured locale, with URLs like `/sitemap.xml/sitemap///` — the structure recommended by the [sitemaps protocol](https://www.sitemaps.org/protocol.html) for multi-language sites. Each sub-sitemap renders inside a `FluentState::withState()`block so locale filtering happens in SQL.

The integration is purely additive (`Only: classexists` guarded) so installs without Fluent are unaffected. See `docs/en/index.md` for how to opt out and the available extension hooks.

Usage Overview
--------------

[](#usage-overview)

See docs/en for more information about configuring the module.

Troubleshooting
---------------

[](#troubleshooting)

- Flush this route to ensure the changes take effect (e.g )
- When using the static cache, regenerate after publishing changes via `sake dev:tasks:GenerateGoogleSitemapTask` or wait for the scheduled job.

Running tests
-------------

[](#running-tests)

```
composer install
vendor/bin/phpunit

```

To generate code coverage (requires Xdebug or PCOV installed and enabled):

```
composer test:coverage

```

Reports are written to `coverage/html/index.html` (HTML), `coverage/clover.xml`(Clover, useful for CI), and a textual summary on stdout.

###  Health Score

61

—

FairBetter than 98% of packages

Maintenance57

Moderate activity, may be stable

Popularity53

Moderate usage in the ecosystem

Community40

Growing community involvement

Maturity83

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 61.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~124 days

Recently: every ~211 days

Total

34

Last Release

817d ago

Major Versions

0.2.x-dev → 1.2.02013-08-28

1.8.0 → 2.0.02018-03-01

1.x-dev → 2.1.02018-03-19

1.6.1 → 2.1.32018-09-25

2.2.1 → 3.0.02023-05-18

### Community

Maintainers

![](https://www.gravatar.com/avatar/b0cba8b534e20e6ab4fff555a97b237a18436ebca1446fc0b29c8a8b504038b9?d=identicon)[GuySartorelli](/maintainers/GuySartorelli)

![](https://avatars.githubusercontent.com/u/111025?v=4)[Ingo Schommer](/maintainers/chillu)[@chillu](https://github.com/chillu)

---

Top Contributors

[![wilr](https://avatars.githubusercontent.com/u/101629?v=4)](https://github.com/wilr "wilr (144 commits)")[![dhensby](https://avatars.githubusercontent.com/u/563596?v=4)](https://github.com/dhensby "dhensby (15 commits)")[![chillu](https://avatars.githubusercontent.com/u/111025?v=4)](https://github.com/chillu "chillu (8 commits)")[![rlehmann](https://avatars.githubusercontent.com/u/833021?v=4)](https://github.com/rlehmann "rlehmann (7 commits)")[![robbieaverill](https://avatars.githubusercontent.com/u/5170590?v=4)](https://github.com/robbieaverill "robbieaverill (5 commits)")[![Oliver996](https://avatars.githubusercontent.com/u/783116?v=4)](https://github.com/Oliver996 "Oliver996 (5 commits)")[![BrookeNZ](https://avatars.githubusercontent.com/u/4251008?v=4)](https://github.com/BrookeNZ "BrookeNZ (4 commits)")[![mikenz](https://avatars.githubusercontent.com/u/6816?v=4)](https://github.com/mikenz "mikenz (4 commits)")[![lerni](https://avatars.githubusercontent.com/u/472115?v=4)](https://github.com/lerni "lerni (4 commits)")[![UndefinedOffset](https://avatars.githubusercontent.com/u/1391558?v=4)](https://github.com/UndefinedOffset "UndefinedOffset (4 commits)")[![satrun77](https://avatars.githubusercontent.com/u/166450?v=4)](https://github.com/satrun77 "satrun77 (3 commits)")[![tomspeak](https://avatars.githubusercontent.com/u/2415569?v=4)](https://github.com/tomspeak "tomspeak (3 commits)")[![lozcalver](https://avatars.githubusercontent.com/u/1655548?v=4)](https://github.com/lozcalver "lozcalver (3 commits)")[![patricknelson](https://avatars.githubusercontent.com/u/4269377?v=4)](https://github.com/patricknelson "patricknelson (3 commits)")[![edwilde](https://avatars.githubusercontent.com/u/415374?v=4)](https://github.com/edwilde "edwilde (2 commits)")[![tractorcow](https://avatars.githubusercontent.com/u/936064?v=4)](https://github.com/tractorcow "tractorcow (2 commits)")[![jyrkij](https://avatars.githubusercontent.com/u/9883?v=4)](https://github.com/jyrkij "jyrkij (2 commits)")[![joernroeder](https://avatars.githubusercontent.com/u/270540?v=4)](https://github.com/joernroeder "joernroeder (2 commits)")[![fonsekaean](https://avatars.githubusercontent.com/u/143939?v=4)](https://github.com/fonsekaean "fonsekaean (2 commits)")[![xini](https://avatars.githubusercontent.com/u/1152403?v=4)](https://github.com/xini "xini (2 commits)")

---

Tags

silverstripeseogooglesitemaps

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/silverstripe-googlesitemaps/health.svg)

```
[![Health](https://phpackages.com/badges/silverstripe-googlesitemaps/health.svg)](https://phpackages.com/packages/silverstripe-googlesitemaps)
```

###  Alternatives

[silverstripe/userforms

UserForms enables CMS users to create dynamic forms via a drag and drop interface and without getting involved in any PHP code

1371.1M85](/packages/silverstripe-userforms)[symbiote/silverstripe-advancedworkflow

Adds configurable workflow support to the CMS, with a GUI for creating custom workflow definitions.

46302.4k9](/packages/symbiote-silverstripe-advancedworkflow)[cyber-duck/silverstripe-seo

A SilverStripe module to optimise the Meta, crawling, indexing, and sharing of your website content

4351.3k](/packages/cyber-duck-silverstripe-seo)[hubertusanton/silverstripe-seo

SEO module for Silverstripe

4523.3k2](/packages/hubertusanton-silverstripe-seo)[axllent/silverstripe-trailing-slash

Ensure that a single trailing slash is always added to the URL

11188.5k5](/packages/axllent-silverstripe-trailing-slash)[silverstripers/seo

SEO for SilverStripe websites

1145.4k](/packages/silverstripers-seo)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
