ref: 0c2544608cfae1e272da252c383c8fa72634eed7
dir: /docs/content/templates/sitemap.md/
--- title: "Sitemap Template" linktitle: "Sitemap" date: "2014-05-07" weight: 95 notoc: true menu: main: parent: 'layout' aliases: ["/layout/sitemap/"] prev: "/templates/rss" next: "/templates/404" --- A single Sitemap template is used to generate the `sitemap.xml` file. Hugo Automatically comes with this template file. **No work is needed on the users part unless they want to customize the sitemap.xml.** This page is of the type "node" and have all the [node variables](/layout/variables/) available to use in this template along with Sitemap-specific ones: **.Sitemap.ChangeFreq** The page change frequency<br> **.Sitemap.Priority** The priority of the page<br> In addition to the standard node variables, the homepage has access to all site pages through `.Data.Pages`. If provided Hugo will use /layouts/sitemap.xml instead of the internal one. ## Hugo’s sitemap.xml This template respects the version 0.9 of the [Sitemap Protocol](http://www.sitemaps.org/protocol.html). <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> {{ range .Data.Pages }} <url> <loc>{{ .Permalink }}</loc> <lastmod>{{ safeHtml ( .Date.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ with .Sitemap.ChangeFreq }} <changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }} <priority>{{ .Sitemap.Priority }}</priority>{{ end }} </url> {{ end }} </urlset> *Important: Hugo will automatically add the following header line to this file on render...please don't include this in the template as it's not valid HTML.* <?xml version="1.0" encoding="utf-8" standalone="yes" ?>