Exclude pages of a category from Hugo's sitemap.xml
Hugo automatically generates a sitemap for your site. It ships with a built-in template file observing the v0.9 of the
Sitemap Protocol.(
Source) It is
possible to exclude just certain pages from the sitemap.xml
generated by Hugo. You can follow @TacticallyCreative’s
suggestion in the
Hugo forum, and
- add a page variable e.g.
private: true
to those certain pages, and - have Hugo use a custom
sitemap.xml
template inlayouts/_default/sitemap.xml
, taken from the original off the docs, adjusted to skip private pages.
This did work pretty well, but I would have had to set all pages of a specific category private: true
and none else.
So let us adapt the approach to look for a given category. Naturally, the also works for a tag analogously.
Here is my layouts/_default/sitemap.xml
:
|
|
The important bit here is the if not (...)
clause in line 4: Only pages not having the category “the family blog”
will appear in the sitemap. Beyond that, it is the original template.
Note that from now on, you and I will no longer get updates to that template automatically by Hugo.