Cara Membuat Sitemap Custom xml Website Blogger di Cloudflare Worker

Ingin punya sitemap yang hanya berisi postingan blog tanpa halaman statis seperti About, Contact, atau Privacy Policy? Kamu bisa membuatnya sendiri secara otomatis menggunakan Cloudflare Worker. Gratis, cepat, dan mudah!


Sitemap custome website untuk blogger
Gambar: Sitemap custome website untuk blogger

1. Tujuan & Konsep Dasar

Sitemap custom ini bekerja dengan logika sederhana:

  1. Mengambil data dari feed JSON Blogger (/feeds/posts/default?alt=json)
  2. Menyusun XML sitemap hanya dari postingan
  3. Menyajikannya lewat URL https://domainkamu.com/sitemap-custom.xml
  4. Tanpa menyertakan halaman statis (hanya artikel)

2. Manfaat SEO Sitemap Custom

Manfaat penggunaan SEO Sitemap Custom terletak pada kemampuannya memberikan arah yang lebih terstruktur dan efisien bagi mesin pencari dalam memahami isi situs. Dengan sitemap custom, pemilik website dapat memprioritaskan artikel-artikel penting menggunakan tag <priority> serta menampilkan hanya halaman yang relevan bagi pencarian, sehingga proses pengindeksan menjadi lebih terarah.

Selain itu, adanya tag <lastmod> yang diperbarui secara akurat membantu Google mengenali konten terbaru yang perlu di-crawl ulang, sehingga pengindeksan dapat berlangsung lebih cepat dan efektif.

Dari segi tampilan dan organisasi, sitemap custom juga memberikan kesan yang lebih rapi dan profesional karena dapat menggambarkan struktur situs secara jelas, termasuk pengelompokan berdasarkan kategori seperti pendidikan, berita, atau tutorial.

Tidak hanya itu, sitemap jenis ini juga memberikan kontrol penuh terhadap proses indexing, memungkinkan pemilik situs untuk mengecualikan halaman-halaman yang tidak memiliki nilai SEO signifikan, seperti halaman “privacy policy” atau “kontak”.

Dengan demikian, sitemap custom tidak hanya meningkatkan efisiensi pengindeksan, tetapi juga membantu strategi SEO secara keseluruhan agar lebih optimal. Berikut ini gambar review perbandingan antara sitemap custome dengan sitemap default atau sitemap bawaan dari blogger:

review perbandingan sitempat custome blogger dan default
Gambar: review perbandingan sitemap custome blogger dan default

3. Persiapan Awal

  • Pastikan kamu sudah punya akun Cloudflare
  • Domain blog kamu sudah terhubung dan Aktif di Cloudflare


Tampilan menu membuat Worker dan Routenya di Cloudflare
Gambar: Tampilan Domain Terhubung dan Aktif di Cloudflare

Kode Worker Sitemap Custom untuk Blogger hanya akan berfungsi jika domain menggunakan mode Proxy (ikon awan oranye) di Cloudflare.

Pastikan record "www" yang mengarah ke "ghs.google.com" sudah berstatus Proxied, karena jika dalam mode DNS Only (awan abu-abu), maka Worker tidak akan dijalankan dan sitemap tidak akan diproses melalui Cloudflare. Dengan kata lain, agar kode berjalan dengan benar, domain harus melewati proxy Cloudflare.

4. Buat Worker di Cloudflare

  1. Login ke Cloudflare Dashboard
  2. Pilih menu Workers & Pages
  3. Klik Create Worker
  4. Hapus kode bawaan “Hello World”
  5. Paste kode di atas
  6. Klik Save
Tampilan menu membuat Worker sitemap xml di Cloudflare
Gambar: Tampilan menu membuat Worker sitemap xml di Cloudflare

5. Tulis Kode Worker

Salin kode berikut (ganti alamat feed dengan blog kamu):

addEventListener('fetch', event => {
  const url = new URL(event.request.url);
  if (url.pathname === '/sitemap-custom.xml') {
    return event.respondWith(handleSitemap());
  }
  return event.respondWith(fetch(event.request));
});

async function handleSitemap() {
  const feedBase = 'https://www.penaeducasi.com/feeds/posts/default';
  const maxResults = 100;

  try {
    const allEntries = [];
    let startIndex = 1;
    let fetchMore = true;

    while (fetchMore && startIndex <= 500) {
      const res = await fetch(`${feedBase}?alt=json&max-results=${maxResults}&start-index=${startIndex}`);
      const json = await res.json();
      const entries = json.feed.entry || [];

      allEntries.push(...entries);
      fetchMore = entries.length === maxResults;
      startIndex += maxResults;
    }

    const postUrls = allEntries.map(entry => {
      const url = entry.link.find(l => l.rel === 'alternate').href;
      const updated = entry.updated.$t.split('T')[0];
      const title = entry.title.$t
        .replace(/--/g, '—')
        .replace(/&/g, '&amp;')
        .replace(/</g, '&lt;')
        .replace(/>/g, '&gt;');

      return `
  <url>
    <loc>${url}</loc>
    <!-- ${title} -->
    <lastmod>${updated}</lastmod>
    <priority>1.0</priority>
  </url>`;
    });

    const sitemapXml = `<?xml version="1.0" encoding="UTF-8"?>
  <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  ${postUrls.join('\n')}
  </urlset>`;

    return new Response(sitemapXml, {
      headers: {
        'Content-Type': 'application/xml; charset=UTF-8',
        'Cache-Control': 'public, max-age=3600'
      }
    });

  } catch (err) {
    return new Response('Gagal membuat sitemap: ' + err.message, { status: 500 });
  }
}
💡 Ganti URL feed (feedBase) dengan milik kamu sendiri, misalnya https://namablogmu.com/feeds/posts/default. atau ganti tulisan yang berwarna merah dengan domain kamu sendiri
Tampilan menu menulis sitemap custome xml di Cloudflare
Gambar: Tampilan menu menulis sitemap custome xml di Cloudflare

6. Buat Route untuk Sitemap

Supaya sitemap bisa diakses dari domain kamu, buat route dengan langkah berikut:

  1. Buka tab Triggers di dalam Worker
  2. Klik Add Route
  3. Masukkan route seperti ini:
    https://domainkamu.com/sitemap-custom.xml
  4. Pastikan zona (domain) sudah benar
  5. Klik Save Route
Dengan langkah ini, setiap permintaan ke /sitemap-custom.xml akan diarahkan ke kode Worker kamu.
Tampilan menu membuat route sitemap custome xml di Cloudflare
Gambar: Tampilan menu membuat route sitemap custome xml di Cloudflare

7. Deploy Worker

  1. Kembali ke tab Overview
  2. Klik tombol Deploy
  3. Tunggu sampai status berubah menjadi Deployed
Tampilan menu deploy kode worker sitemap custome xml di Cloudflare
Gambar: Tampilan menu kode worker di Cloudflare

8. Uji Coba Sitemap Custom

Buka di browser:

https://domainkamu.com/sitemap-custom.xml

Kalau berhasil, tampilannya akan mirip seperti ini:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://www.penaeducasi.com/contoh-posting.html</loc>
    <!-- Contoh Judul Postingan -->
    <lastmod>2025-07-24</lastmod>
    <priority>1.0</priority>
  </url>
</urlset>
Tampilan sitemap custome xml
Gambar: Tampilan sitemap custome xml

9. Tambahkan ke Google Search Console

  1. Buka Google Search Console
  2. Pilih properti situs kamu
  3. Buka menu Sitemaps
  4. Masukkan:
    sitemap-custom.xml
  5. Klik Submit

10. Tips Tambahan

  • Cache lebih lama: ubah nilai max-age jika situs jarang update.
  • Atur prioritas otomatis: ubah nilai <priority> sesuai tanggal posting.
  • Per label: buat beberapa Worker berbeda untuk sitemap per kategori.

11. Hasil Akhir

Kamu sekarang punya sitemap otomatis yang:

  • Selalu update saat ada posting baru
  • Tidak menyertakan halaman statis
  • Bisa diakses dari domain utama
  • Gratis, tanpa hosting tambahan

12.Penutup

Dengan setup ini, kamu tidak perlu lagi repot mengatur sitemap bawaan Blogger. Cukup sekali atur di Cloudflare, sitemap kamu akan selalu terbarui secara otomatis.



Hashtag

#SitemapBlogger #CloudflareWorker #SEOOptimization #XMLSitemap #BloggerTutorial

Keyword Utama

Sitemap Custom Blogger, Cloudflare Worker Sitemap, Cara Membuat Sitemap Blogger, Sitemap XML untuk Blogger, Sitemap Otomatis di Cloudflare, SEO Sitemap Blogger, Tutorial Cloudflare Worker, Sitemap Custom XML

Lebih baru Lebih lama

نموذج الاتصال