Come escludere singole pagine dalla sitemap di Hugo
Introduzione
Questo post nasce dall’esigenza di controllare in modo preciso i contenuti del
file sitemap.xml
generato da Hugo. Normalmente infatti vengono inserite tutte
le pagine nella sitemap ma non sempre questo comportamento è corretto. Nel mio
caso, ad esempio, mi serve escludere alcune pagine, pertanto ho dovuto
modificare il template di default della sitemap XML.
Per questa modifica ho preso spunto quasi completamente dal post di Dereck Curry che ha riscontrato la stessa necessità.
Modificare il front matter
Per prima cosa va aggiunto un parametro nel “front matter” di Hugo per indicare se la pagina va inserita o meno nella sitemap. Nel caso in cui il parametro non sia presente allora si assume che la pagina debba essere visibile.
Nel mio caso ho aggiunto un parametro chiamato sitemap_exclude
e, gestendo il blog tramite un file in formato Org
con ox-hugo, il front matter è definito nel seguente modo:
:EXPORT_HUGO_CUSTOM_FRONT_MATTER+: :sitemap_exclude false
Mettendo il valore true
la pagina viene esclusa dalla sitemap.
Personalizzare il template sitemap
A questo punto basta aggiornare il template della sitemap che normalmente si trova su:
layouts/
_default/
sitemap.xml
Si può aggiungere un if
che verifica la presenza ed il valore del parametro sitemap_exclude
in modo da mostrare o meno la pagina. Ecco qui un esempio di come si può modificare il template default di Hugo. Nella riga 5 si verifica il parametro definito nel “front matter”.
|
|