Menambahkan Sitemap.xml SEO pada Blog Hugo

JagoTekno - Secara bawaan HUGO sudah memberikan fitur sitemap pada setiap situs yang dibuat, hanya saja itu belum aktif. Terlebih jika anda membuat theme hugo sendiri. Maka modul sitemap harus diaktifkan terlebih dahulu.

Cara mengaktifkan sitemap di situs Hugo adalah cukup dengan meambahkan kode berikut pada file config.toml.

[sitemap]    
  changefreq = 'monthly'        
  filename = 'sitemap.xml'    
  priority = 0.5    

Setelah itu pastikan pada base url pada config.toml mengarah pada situs anda, bukan ditulis / saja.

baseURL = "https://namasitus .com/"

Setelah website Hugo anda live, secara otomatis anda bisa mengakses halaman /sitemap.xml anda dan mendapatkan sejumlah halaman yang terdapat pada situs anda.

Selanjutnya jika perlu gunakan cara berikut untuk membuat situs Hugo anda lebih SEO.

Konfigurasi sitemap.xml dan robot.txt HUGO yang SEO

Pengetahuan saya seputar SEO mengenai hal ini adalah saya tidak ingin index halaman tags dan categories pada SERP (search engine result page).

Karena halaman itu memang tidak perlu untuk diindex. Kecuali anda memang butuh halaman tersebut untuk dioptiomasi dengan lebih baik pada situs anda.

Jadi, saya pikir halaman yang perlu diindex oleh google hanyalah halaman artikel saja.

Untuk itu kita perlu melakukan exclude halaman taxonomy, dalam hal ini halaman tags dan categories di hugo.

Caranya cukup mudah.

  1. Copy baris ini lalu letakkan pada bagian <head> template hugo anda.
{{ if or (ne .Kind "page") (and (eq .Kind "page") (eq .Params.sitemap_exclude true)) }}
  <meta name="robots" content="noindex, nofollow" />
{{ end }}
  1. Kemudian buatlah file sitemap.xml pada /layouts/ lalu isi dengan kode ini. Ini adalah hasil modifikasi kode original dari sitemap original hugo
{{ 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">
<!-- exclude index taxonomy -->
  {{ $pages := where $.Site.RegularPages ".Params.sitemap_exclude" "!=" true }}
<!-- end -->
  {{ range $pages }}
    {{- if .Permalink -}}
  <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="{{ .Language.Lang }}"
                href="{{ .Permalink }}"
                />{{ end }}
    <xhtml:link
                rel="alternate"
                hreflang="{{ .Language.Lang }}"
                href="{{ .Permalink }}"
                />{{ end }}
  </url>
    {{- end -}}
  {{ end }}
</urlset>
  1. Setelah itu buat sebuah file robots.txt di dalam /layouts/ lalu paste kode ini di dalamnya
User-agent: *

Disallow: /tags/
Disallow: /categories/
Disallow: 404.html

Sitemap: {{ "sitemap.xml" | absLangURL }}

Selesai.

Anda bisa melakukan preview terlebih dahulu sebelum build situs hugo anda. Pada halaman /sitemap.xml anda tidak akan mendapatkan halaman /tags/ dan /categories/ dan setelah situs live, tunggu robot.txt bekerja untuk melakukan crawl dari awal terhadap situs anda.

Pastikan untuk memasukkan url sitemap.xml pada google search console, dengan cara cukup menambahkan /sitemap.xml setelah nama situs anda.

Akhir kata

Pada artikel ini kita sudah belajar bagaimana cara mengaktifkan sitemap dan setting robot.txt dan sitemap.xml Hugo supaya lebih SEO.

Semoga bermanfaat.

Ref : https://gohugo.io/templates/sitemap-template/

Ditulis oleh Rafi pada Tuesday, 29 March 2022

Baca juga

comments powered by Disqus