Cara Bulk Pin Pinterest Untuk Blogger

Cara Bulk Pin Pinterest Untuk Blogger - Bulk Pin atau pin masal merupkan fitur dari pinterest yang dapat kita gunakan untuk melakukan pin artikel dan gambar (thumbnail) artikel blog secara otomatis hanya dengan menggunakan url rss feeds yang tersedia.

Jadi saat kalian mempublish artikel baru maka pinterest juka akan dapat mempublish gambar dan url artikel baru ke akun pinterest kalian.

Pinterest sendiri merupakan situs pinboard yang sangat populer di mana kalian bisa mengunggah foto atau gambar yang biasa digunakan orang untuk mencari sebuah ide atau inpirasi dari sesuatu hal baik design, fashion, dll.

Untuk dapat menggunakan fitur ini sepertinya kalian memerlukan akun pinterest bisnis bukan yang personal, selain itu kalian perlu menclaim atau memverifikasi domain blog kalian ke pinterest.

Sebelumnya untuk blogger.com sendiri url feeds blogger dapat di gunakan secara langsung untuk bulk pin pinterest ini, namun beberapa waktu blakangan saya mendapatkan email dari pinterest bahwa gambar tidak ada di rss feeds blogger

Hal ini karena di feeds rss blogger menggnakan tag <media:thumbnail sedangkan pinterest mencari gambar melalui tag <image>, <enclosure>, dan <media:content>

Yang lebih aneh dan membuat saya bingung kenapa dulu pinterest bisa membaca tag <media:thumbnail sekarang sudah tidak bisa.

Untuk mengatasinya, saya menggunakan cloudflare worker untuk mengubah tag gambar yang ada pada blogger.

Membuat cloudflare worker untuk feeds rss blogger

  1. Pertama kalian harus punya akun cloudflare
  2. Kemudian kalian bisa Mengintegrasikan Custom Domain Blogger Dengan Cloudflare (langkah kedua ini bisa sebagai opsional saja jika kalian menginginkan mengunkan worker route agar url rss feed dapat terbaca langsung di domain kalian contoh: https://www.marwanto606.com/pin-feeds.xml, karena setelah saya coba menggunakan url langsung dari workers ataupun menggunkan feedburner masih dapat di hubungkan ke bulk pin pinterest nya)
  3. Selanjutnya kalian bisa buat worker terlebih dahulu di cloudflare pada menu Workers & Pages
  4. Setelah itu copykan script cloudflare worker untuk modifikasi rss feeds blogger dibawah ini
addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
  // Dapatkan subdomain dari URL
  const url = new URL(request.url);
  const hostname = url.hostname;

  // Set default feed URL
  let feedUrl = 'https://www.marwanto606.com/feeds/posts/default?redirect=none&alt=rss';

  // Jika akses dari URL default worker, gunakan URL feed default
  if (hostname === 'feeds.marwanto606.workers.dev') {
    return fetchAndModifyFeed(feedUrl);
  }

  return fetchAndModifyFeed(feedUrl);
}

async function fetchAndModifyFeed(feedUrl) {
  // Mengambil data dari URL feed
  const response = await fetch(feedUrl);

  if (response.status === 200) {
    // Mengambil isi dari respons
    let feedText = await response.text();

    // Menyesuaikan bagian <media:thumbnail> dengan menggunakan regex
    feedText = feedText.replace(
      /<media:thumbnail\s+xmlns:media="http:\/\/search\.yahoo\.com\/mrss\/"\s+url="([^"]+\/)s72-c(-rw)?\//g,
      '<enclosure url="$1s0/'
    );

    // Menghapus height dan width pada tag enclosure menggunakan regex
    feedText = feedText.replace(
      /<enclosure\s+url="([^"]+)"\s+height="[^"]+"\s+width="[^"]+"\/>/g,
      '<enclosure url="$1"\/>'
    );

    // Set header response untuk mengindikasikan bahwa ini adalah RSS feed
    const headers = new Headers(response.headers);
    headers.set('Content-Type', 'application/rss+xml');

    // Mengembalikan konten feed yang telah dimodifikasi sebagai respons
    return new Response(feedText, {
      status: 200,
      headers,
    });
  } else {
    // Jika gagal mengambil feed, berikan respons dengan kode status yang sesuai
    return new Response('Gagal mengambil feed', {
      status: response.status,
      statusText: response.statusText,
    });
  }
}

Keterangan: www.marwanto606.com kalian sesuaikan dengan url blog kalian dan feeds.marwanto606.workers.dev bisa kalian sesuaikan dengan url dari cloudflare workernya

  1. Lalu klik save and deploy (untuk menyimpan workernya)
  2. Untuk mengatur route nya kalian bisa masuk pada tab menu trigger dari worker tersebut lalu klik Add route.
  3. lalu masukkan url secara full contoh: https://www.marwanto606.com/pin-feeds.xml, pada Zone kalian pilih domain nya, dan tinggal di klik add route untuk menyimpannya
  4. Langkah terakhir tinggal mengirimkan url ke pinterest di menu bulk pin atau https://pinterest.com/settings/bulk-create-pins
  5. Selesai.

Repo sourcecode : https://github.com/marwanto606/cloudflare_worker/blob/main/pin_feeds_blogger

Next Post Previous Post
4 Comments
  • Fiat Trịnh Xuân Thọ
    Fiat Trịnh Xuân Thọ 05 Oktober, 2023

    Tôi đa thực hiện xong, rất tuyệt vời.
    Cảm ơn bạn
    https://www.ngonluanho.net/pin-feeds.xml

    • Marwanto606
      Marwanto606 05 Oktober, 2023

      nice sir,

  • Inputekno
    Inputekno 29 Juli, 2024

    Mas, saya membuat papan di pinterest perlabel, apakah harus membuat satu satu url feed nya di worker?

    • Marwanto606
      Marwanto606 30 Juli, 2024

      sepertinya harus begitu gan, kalo mau buat per labelnya

Add Comment
comment url