Sitemap Variable Di Hugo
icon-hugo

⛾ Home hugo Senin, 28 November 2022 (Diupdate: Kamis, 19 Januari 2023) - 📗 4 Menit

Kali ini kita akan belajar sitemap variable. Sedikit penjelasan mengenai sitemap, fungsi sitemap, dan variabel untuk sitemap.

Sitemap atau peta situs adalah kumpulan url yang digunakan mesin pencari untuk memudahkan mengindeks halaman di situs atau website.

Fungsi sitemap adalah sebagai peta atau penunjuk url untuk mesin pencari seperti google, bing, dll.

Umumnya sitemap berisi seluruh url dari halaman yang terdapat di situs.

Namun, kita juga dapat membatasi url yang ingin dimasukkan ke sitemap atau memprioritaskan url tertentu.

Di hugo kita dapat melakukan hal tersebut. Hugo menyediakan variabel khusus untuk memuat sebuah sitemap.

Selain itu, kita juga bisa menggunakan page variable untuk mengatur url di sitemap.

Menonaktifkan sitemap di hugo

Sebenarnya hugo sudah membuat sitemap secara otomatis, tanpa perlu kita melakukan apapun.

Sitemap di hugo secara otomatis dibuat saat kita melakukan build situs hugo dengan perintah hugo.

Kita juga dapat menonaktifkan fitur otomatis membuat sitemap ini.

Caranya adalah dengan menggunakan variabel konfigurasi situs bernama disableKinds.

Letakkan kode dibawah ini ke file konfigurasi situs (config.toml) untuk menonaktifkan pembuatan sitemap secara otomatis.

File config.toml:

1disableKinds = ['sitemap']

Untuk versi config.yaml:

1disableKinds:
2- sitemap

Mengubah nilai default sitemap di hugo

Di hugo, sitemap atau peta situs sudah memiliki nilai default atau bawaan.

Saat melakukan build hugo menggunakan perintah hugo. Hugo membuat sitemap berdasarkan nilai dari aturan default.

Untuk dapat mengubah nilai default tersebut. Kita perlu beberapa variabel konfigurasi situs khusus untuk mengatur nilai sitemap.

Berikut ini adalah beberapa variabel konfigurasi situs untuk sitemap.

1. changefreq

Digunakan untuk mengatur nilai frekuensi perubahan sitemap berdasarkan seberapa sering perubahan halaman yang terjadi di situs.

Misalnya, halaman memiliki beberapa artikel baru setiap hari atau kamu memperbarui artikel atau halaman tertentu setiap hari.

Nilai yang dapat digunakan untuk changefreq adalah always, hourly, daily, weekly, monthly, yearly, dan never.

Nilai defaultnya adalah "" yang menghilangkan perubahan frekuensi pada sitemap. Artinya sitemap tidak memiliki aturan perubahan (kapan aja berubah bisa).

2. filename

Digunakan untuk mengatur nama dari sitemap. Misalnya, kamu ingin mengubahnya ke bahasa indonesia agar lebih mudah dipahami. Dari sitemap.xml menjadi petasitus.xml.

3. priority

Digunakan untuk memberikan nilai prioritas ke halaman.

Nilai yang dapat digunakan untuk priority adalah 1.0 - 0.0 Semakin besar angkanya maka semakin diprioritaskan halaman tersebut.

Untuk halaman beranda (home page) biasanya nilai yang digunakan adalah 1.0 .

Ini digunakan agar mesin pencari lebih memperhatikan halaman dengan nilai priorias yang tinggi dibandingkan halaman dengan nilai prioritas yang rendah.

Mengubah nilai changefreq dan priority untuk halaman tertentu

Selain mengatur nilai frekuensi dan prioritas halaman secara massal di file konfigurasi situs.

Kita juga dapat menetapkan nilai frekuensi perubahan halaman dan nilai prioritas halaman di artikel atau konten itu sendiri.

Caranya adah dengan menetapkan nilai changefreq dan priority di bagian front matter artikel.

Lihat contoh dibawah ini:

front matter versi toml:

1+++
2title = "Postingan Pertama"
3description = "..."
4[sitemap]
5    changefreq = "weekly"
6    priority = 0.7
7+++

front matter versi yaml:

1---
2title: "Postingan Pertama"
3description: "..."
4sitemap:
5    changefreq: weekly
6    priority: 0.7
7---

Membuat sitemap kustom

Untuk membuat sitemap kustom, kita perlu sebuah file bernama sitemap.xml di dalam folder layouts.

Penggambaran letak filenya:

1layouts
2   ├── sitemap.xml

Setelah itu, kita dapat membuat sitemap kustom.

Perlu diperhatikan! membuat sitemap tidak bisa sembarangan (asal buat).

Kita perlu mengikuti rules atau aturan membuat sitemap seperti xml declarations, url set, dll.

Lihat contoh sitemap dibawah ini:

 1<?xml version="1.0" encoding="UTF-8"?>
 2<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 3   <url>
 4      <loc>http://www.example.com/</loc>
 5      <lastmod>2005-01-01</lastmod>
 6      <changefreq>monthly</changefreq>
 7      <priority>0.8</priority>
 8   </url>
 9   <url>
10      <loc>http://www.example.com/catalog?item=12&amp;desc=vacation_hawaii</loc>
11      <changefreq>weekly</changefreq>
12   </url>
13   <url>
14      <loc>http://www.example.com/catalog?item=73&amp;desc=vacation_new_zealand</loc>
15      <lastmod>2004-12-23</lastmod>
16      <changefreq>weekly</changefreq>
17   </url>
18   <url>
19      <loc>http://www.example.com/catalog?item=74&amp;desc=vacation_newfoundland</loc>
20      <lastmod>2004-12-23T18:00:15+00:00</lastmod>
21      <priority>0.3</priority>
22   </url>
23   <url>
24      <loc>http://www.example.com/catalog?item=83&amp;desc=vacation_usa</loc>
25      <lastmod>2004-11-23</lastmod>
26   </url>
27</urlset>

Mari mulai membuat sitemap kustom.

Gunakan page variable dan sitemap variable untuk membuat sitemap.

Ikuti rules atau aturan seperti contoh sebelumnya.

Atau gunakan sitemap dibawah ini dan letakkan ke layouts/sitemap.xml:

 1{{ printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
 2<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
 3  xmlns:xhtml="http://www.w3.org/1999/xhtml">
 4  {{ range .Data.Pages }}
 5  <url>
 6    <loc>{{ .Permalink }}</loc>{{ if not .Lastmod.IsZero }}
 7    <lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}{{ with .Sitemap.ChangeFreq }}
 8    <changefreq>{{ . }}</changefreq>{{ end }}{{ if ge .Sitemap.Priority 0.0 }}
 9    <priority>{{ .Sitemap.Priority }}</priority>{{ end }}{{ if .IsTranslated }}{{ range .Translations }}
10    <xhtml:link
11                rel="alternate"
12                hreflang="{{ .Language.Lang }}"
13                href="{{ .Permalink }}"
14                />{{ end }}
15    <xhtml:link
16                rel="alternate"
17                hreflang="{{ .Language.Lang }}"
18                href="{{ .Permalink }}"
19                />{{ end }}
20  </url>
21  {{ end }}
22</urlset>

Daftar Sitemap Variable

Beriku ini adalah daftar atau list dari variabel peta situs di hugo.

.Sitemap.ChangeFreq

Mereferensikan nilai frekuensi perubahan url di sitemap atau peta situs yang diatur di file konfigurasi situs (config.toml).

.Sitemap.Priority

Digunakan untuk mendapatkan halaman prioritas yang diatur di file konfigurasi situs atau di halaman konten itu sendiri.

.Sitemap.Filename

Digunakan untuk mendapatkan nama file sitemap atau peta situs.

Kategori: Hugo

captcha-img