Created
October 21, 2021 00:00
-
-
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{{ 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> |
It looks like the original sitemap.xml
is already able to disable a page by specifying Sitemap.Disable = true
?
Looks like it only happened last week: gohugoio/hugo@6738a3e
@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
This is a Hugo
sitemap.xml
template with the ability to hide certain pages to prevent search engines from finding them.Usage
/layouts/_default/sitemap.xml
.hidden
totrue
in the front matter of a page to exclude it from the sitemap.Notes
Beware that this only excludes the page from the sitemap. You also need to add
<meta name=robots content="noindex, nofollow">
to your html ifhidden
istrue
to prevent search engines from including the page.The original
sitemap.xml
template can be found here.