Exclude taxonomy Kinds from 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">
  {{ $exclude := slice "tags" "categories" }}
  {{ range .Pages }}
    {{ if not (in $exclude .Data.Plural) }}
      <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 would be cleaner to define the list of taxonomies to exclude in the site configuration file:

[params]
taxonomiesExcludedFromSitemap = ["tags", "categories"]

And then:

{{ if not (in .Site.Params.taxonomiesExcludedFromSitemap .Data.Plural) }}
1 Like