Membuat Custom XML Sitemap di Hugo
Apa itu Sitemap?
Sitemap adalah file yang berisi daftar semua halaman penting dari sebuah website. Alasan menyimpan semuanya dalam satu file “XML Sitemap” adalah karena ini membantu crawler menemukan semua halaman di satu tempat, dibandingkan menemukannya melalui link internal.
Sitemap di Hugo
Hugo sudah menyediakan template XML sitemap secara default, Namun template XML sitemap yang disediakan secara default akan me-list seluruh URL yang terkait dengan situs termasuk taxonomy seperti tag, series, dan category. URL direktori content lainnya juga ikut dalam sitemap seperti direktori blog sehingga pada sitemap URL www.example.com/blog/juga ikut terdaftar pada sitemap. URL tersebut tidak dikehendaki untuk berada pada sitemap Google Search Console sehingga menyebabkan error saat submit sitemap.
Membuat Custom Sitemap di Hugo
Buat file
sitemap.xmlletakan dalam di folder layout, isi filesitemap.xmldengan kode di bawah ini{{ 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 .Site.RegularPages -}} {{ if not .Params.robotsdisallow -}} <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="{{ .Lang }}" href="{{ .Permalink }}" />{{ end -}} <xhtml:link rel="alternate" hreflang="{{ .Lang }}" href="{{ .Permalink }}" />{{ end -}} </url> {{ end -}} {{ end -}} </urlset>Letakan kode meta berikut dalam tag
<head>{{ with .Params.robotsdisallow }} <meta name="robots" content="noindex, nofollow, noarchive"> {{ end }}Tambahkan parameter
robotsdisallow: truepada halaman yang tidak ingin muncul di sitemap.xml. Contoh, saya tidak ingin menampilkan halaman/blog/contoh1/. Caranya sebagai berikut:- Pada halaman
content/blog/contoh1/index.md, - Tambahkan
robotsdisallow: truepada fileindex.mdseperti berikut:+++ title = Contoh1 robotsdisallow: true +++
- Pada halaman
Simpan dan submit ke Google.
Sekian tutorial dari saya, semoga bermanfaat dan selamat mencoba…!





