HUGO
News Docs Themes Community GitHub

Sitemap

Returns the sitemap settings for the given page as defined in front matter, falling back to the sitemap settings as defined in the site configuration.

Syntax

PAGE.Sitemap

Returns

config.SitemapConfig

Access to the Sitemap method on a Page object is restricted to sitemap templates.

Methods

changefreq
(string) How frequently a page is likely to change. Valid values are always, hourly, daily, weekly, monthly, yearly, and never. With the default value of "" Hugo will omit this field from the sitemap. See  details.
{{ .Sitemap.ChangeFreq }}
disable New in v0.125.0
(bool) Whether to disable page inclusion. Default is false. Set to true in front matter to exclude the page.
{{ .Sitemap.Disable }}
priority
(float) The priority of a page relative to any other page on the site. Valid values range from 0.0 to 1.0. With the default value of -1 Hugo will omit this field from the sitemap. See  details.
{{ .Sitemap.Priority }}

Example

With this site configuration:

sitemap:
  changeFreq: monthly
[sitemap]
  changeFreq = 'monthly'
{
   "sitemap": {
      "changeFreq": "monthly"
   }
}

And this content:

---
sitemap:
  changeFreq: hourly
title: News
---
+++
title = 'News'
[sitemap]
  changeFreq = 'hourly'
+++
{
   "sitemap": {
      "changeFreq": "hourly"
   },
   "title": "News"
}

And this simplistic sitemap template:

layouts/_default/sitemap.xml
{{ printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  {{ range .Pages }}
    <url>
      <loc>{{ .Permalink }}</loc>
      {{ if not .Lastmod.IsZero }}
        <lastmod>{{ .Lastmod.Format "2006-01-02T15:04:05-07:00" | safeHTML }}</lastmod>
      {{ end }}
      {{ with .Sitemap.ChangeFreq }}
        <changefreq>{{ . }}</changefreq>
      {{ end }}
    </url>
  {{ end }}
</urlset>

The change frequency will be hourly for the news page, and monthly for other pages.