hugo/docs/content/en/templates/sitemap-template.md
2022-04-08 13:32:01 +02:00

87 lines
2.9 KiB
Markdown

---
title: Sitemap Templates
description: Hugo provides built-in sitemap templates.
date: 2017-02-01
categories: [templates]
keywords: [sitemap, xml, templates]
menu:
docs:
parent: "templates"
weight: 160
weight: 160
sections_weight: 160
draft: false
aliases: [/layout/sitemap/,/templates/sitemap/]
toc: true
---
## Overview
Hugo's built-in sitemap templates conform to v0.9 of the [sitemap protocol].
With a monolingual project, Hugo generates a sitemap.xml file in the root of the [`publishDir`] using the built-in [sitemap.xml] template.
With a multilingual project, Hugo generates:
- A sitemap.xml file in the root of each site (language) using the built-in [sitemap.xml] template
- A sitemap.xml file in the root of the [`publishDir`] using the built-in [sitemapindex.xml] template
## Configuration
Set the default values for [change frequency] and [priority], and the name of the generated file, in your site configuration.
{{< code-toggle file="config" >}}
[sitemap]
changefreq = 'monthly'
filename = 'sitemap.xml'
priority = 0.5
{{</ code-toggle >}}
changefreq
: How frequently a page is likely to change. Valid values are `always`, `hourly`, `daily`, `weekly`, `monthly`, `yearly`, and `never`. Default is `""` (change frequency omitted from rendered sitemap).
filename
: The name of the generated file. Default is `sitemap.xml`.
priority
: The priority of a page relative to any other page on the site. Valid values range from 0.0 to 1.0. Default is `-1` (priority omitted from rendered sitemap).
## Override Default Values
Override the default values for a given page in front matter.
{{< code-toggle file="news.md" fm=true >}}
title = 'News'
[sitemap]
changefreq = 'weekly'
priority = 0.8
{{</ code-toggle >}}
## Override Built-in Templates
To override the built-in sitemap.xml template, create a new file in either of these locations:
- layouts/sitemap.xml
- layouts/_default/sitemap.xml
When ranging through the page collection, access the _change frequency_ and _priority_ with `.Sitemap.ChangeFreq` and `.Sitemap.Priority` respectively.
To override the built-in sitemapindex.xml template, create a new file in either of these locations:
- layouts/sitemapindex.xml
- layouts/_default/sitemapindex.xml
## Disable Sitemap Generation
You may disable sitemap generation in your site configuration:
{{< code-toggle file="config" >}}
disableKinds = ['sitemap']
{{</ code-toggle >}}
[`publishDir`]: {{< relref "getting-started/configuration#publishdir" >}}
[change frequency]: <https://www.sitemaps.org/protocol.html#changefreqdef>
[priority]: <https://www.sitemaps.org/protocol.html#priority>
[sitemap protocol]: <https://www.sitemaps.org/protocol.html>
[sitemap.xml]: <https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/_default/sitemap.xml>
[sitemapindex.xml]: <https://github.com/gohugoio/hugo/blob/master/tpl/tplimpl/embedded/templates/_default/sitemapindex.xml>