Skip to content

Instantly share code, notes, and snippets.

@irgendwr
Created October 21, 2021 00:00
Show Gist options
  • Save irgendwr/42a83567c56f38aafa86cd332014f564 to your computer and use it in GitHub Desktop.
Save irgendwr/42a83567c56f38aafa86cd332014f564 to your computer and use it in GitHub Desktop.
Hugo sitemap.xml with exclude/hide functionality. Save as `/layouts/_default/sitemap.xml`. Set `hidden` to `true` in your posts frontmatter to exclude a page from the sitemap.
{{ 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 .Data.Pages }}
{{- if and (.Permalink) (not .Params.hidden) -}}
<url>
<loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
<lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
<changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
<priority>{{ .Sitemap.Priority }}</priority>{{ end }}{{ if .IsTranslated }}{{ range .Translations }}
<xhtml:link
rel="alternate"
hreflang="{{ .Language.Lang }}"
href="{{ .Permalink }}"
/>{{ end }}
<xhtml:link
rel="alternate"
hreflang="{{ .Language.Lang }}"
href="{{ .Permalink }}"
/>{{ end }}
</url>
{{- end -}}
{{ end }}
</urlset>
@irgendwr
Copy link
Author

@xuhdev thanks for the update! Good to know that it's finally supported out of the box

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment