Alt Sitemap is a Statamic addon for creating sitemaps to help search engines discover URLs on your site
- Create basic sitemaps detailing and of all entries in your Statamic site.
- Set priority of entire collections/taxonomies
- Set priority of specific entries/terms
- Exclude certain entries/terms from the sitemap.
- Exclude entire collections/taxonomies from the sitemap.
- Split large sitemaps into an index of per-collection/taxonomy child sitemaps.
- PHP 8.1+ (PHP 8.3+ when using Statamic 6)
- Statamic 4.x, 5.x, or 6.x
You can search for this addon in the Tools > Addons section of the Statamic control panel and click install, or run the following command from your project root:
composer require alt-design/alt-sitemapAfter installation, access your sitemap at /sitemap.xml
Only entries/terms with a public URL are listed. A collection (or taxonomy) with no Route configured produces no URLs, so its entries will never appear in the sitemap — split or not. Set a route in CP > Collections > your collection > Configure Collection > Routing & URLs.
- Set priorities for entire collections/taxonomies in CP > Tools > Alt Sitemap.
- Exclude entire collections/taxonomies in CP > Tools > Alt Sitemap.
- Set entry/term priorities in the entry/term under the Alt Sitemap tab. Entry priorities will override collection/taxonomy priorities.
- Priorities are set as 0.5 by default.
- Exclude entries/terms from the sitemap in the entry under the Alt Sitemap tab.
- is set to the last updated date of the entry/term.
Very large sitemaps can be broken up so crawlers index them more reliably. Enable Split into child sitemaps in CP > Tools > Alt Sitemap. When enabled, /sitemap.xml becomes a sitemap index that links to smaller child sitemaps, each named by handle:
/sitemap-products.xml
/sitemap-blog.xml
/sitemap-brands.xml
...
Choose which collections/taxonomies get their own child sitemap with Collections/Taxonomies with their own sitemap. Anything you don't select (and manually registered items) is bundled into a single /sitemap-other.xml. Leave both pickers empty to split every collection and taxonomy by its handle.
Priorities and exclusions still apply throughout.
Add a single, or multiple items to the sitemap, using code similar to the following in a service provider's boot() (e.g. AppServiceProvider) method.
Using registerItem() to register a single item.
$this->callAfterResolving(
AltSitemapController::class,
function ($altSitemapController) {
$altSitemapController->registerItem(
[
'/url-1',
]
);
}
);
Using registerItems() to register multiple items at once.
$this->callAfterResolving(
AltSitemapController::class,
function ($altSitemapController) {
$altSitemapController->registerItems(
[
[
'/url-1',
],
[
'/url-2',
Carbon::create(2024,10,23,12,20,0, 'UTC'),
],
[
'/url-3',
Carbon::create(2024,10,23,12,20,0, 'UTC'),
0.8
],
]
);
}
);
Drop us a big shout-out if you have any questions, comments, or concerns. We're always looking to improve our addons, so if you have any feature requests, we'd love to hear them.
- Alt Redirect Addon
- Alt Sitemap Addon
- Alt Akismet Addon
- Alt Password Protect Addon
- Alt Cookies Addon
- Alt Inbound Addon
- Alt Google 2FA Addon
Send us a postcard from your hometown if you like this addon. We love getting mail from other cool peeps!
Alt Design
St Helens House
Derby
DE1 3EE
UK