This page looks best with JavaScript enabled

Cara Membuat Sitemap di hugo

 ·  ☕ 2 min read
Views

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.xml letakan dalam di folder layout, isi file sitemap.xml dengan kode di bawah ini

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{{ 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>

1
2
3
{{ with .Params.robotsdisallow }}
<meta name="robots" content="noindex, nofollow, noarchive">
{{ end }}

Tambahkan parameter robotsdisallow: true pada 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: true pada file index.md seperti berikut:

+++
title = Contoh1
robotsdisallow: true
+++

Simpan dan submit ke Google.

Sekian tutorial dari saya, semoga bermanfaat dan selamat mencoba…!

Share on

Made Wiguna
WRITTEN BY
Made Wiguna
Web Developer