Cara Delay RSS Feeds Pada WordPress

You are currently viewing Cara Delay RSS Feeds Pada WordPress

Dengan RSS Feeds, pembaca setia sebuah blog bisa mendapat semua update terbaru dari blog tersebut melalui sebuah feed reader. Semua update ini bisa didapat seketika setelah pos terbaru muncul. Namun pada WordPress, pos yang muncul pada RSS Feed dapat didelay / ditunda dengan mudah bila kamu menginginkannya.

Kamu mungkin sedang menggunakan RSS Feeds tanpa kamu sadari karena fitur ini secara otomatis ada pada hampir setiap blog. Dengan fitur ini pembaca blog kamu akan selalu mendapat berita terbaru secara langsung melalui sebuah feed reader seperti Feedly.

Meski begitu, ada beberapa blogger yang tidak menyukai fitur ini dan lebih memilih untuk menonaktifkan RSS Feed. Beberapa blogger lainnya (seperti kamu yang sedang membaca artikel ini 🙂 ) mungkin lebih senang untuk mendelay pos terbaru mereka di RSS Feed.

Kenapa saya harus memberi delay pada pos yang muncul di RSS Feeds

Mungkin kamu bertanya-tanya, “kenapa sih saya harus mendelay pos saya?”

Setidaknya ada beberapa alasan kenapa banyak webmaster memilih untuk memberi jarak waktu penerbitan pos antara website mereka dan RSS Feeds, di antaranya:

  1. Memberi waktu pada Google Bots untuk mengindeks pos pada website terlebih dahulu.
  2. Mencegah content scrapper mendapatkan pos terbaru dari sebuah website dan membuatnya terindeks terlebih dahulu di situs mereka.
  3. Memberikan kamu kesempatan untuk memperbaiki kesalahan pada artikel.
  4. Mengutamakan pembaca yang langsung menuju situs mereka dan mereka yang berlangganan via email terlebih dahulu.

Mendelay pos di RSS Feeds pada WordPress

Ada dua cara agar pos yang muncul pada website kamu tidak ikut muncul seketika pada RSS Feeds. Kamu bisa menggunakan plugin atau melakukannya sendiri dengan menambahkan kode pada file functions.php.

1. Memberi delay pada pos dengan plugin Delay Posts in RSS Feed

Cara yang paling mudah bagi pengguna WordPress adalah dengan menggunakan plugin. Dan seperti biasa, selalu ada satu plugin untuk berbagai macam fungsi yang kamu inginkan, seperti memberi delay pada pos yang muncul di RSS Feeds.

Salah satu plugin yang bisa digunakan adalah Delay Posts in RSS Feed buatan InThisCode.

Cara kerja plugin ini sangat sederhana karena kamu hanya perlu menentukan seberapa lama delay yang kamu inginkan.

Setelah memasang dan mengaktifkan plugin Delay Posts in RSS Feed, masuk ke menu Settings » Delay Posts in RSS Feed. Di sini kamu bisa mengatur rentang waktu yang kamu inginkan dalam tiga macam time unit, yaitu dalam detik, menit, atau jam.

Settingan plugin delay posts in RSS yang akan memberi delay pada pos yang tampil di RSS Feed

2. Memberi delay pada pos dengan kode

Untuk kamu yang lebih suka melakukan modifikasi pada WordPress secara manual, kode di bawah ini bisa kamu tambahkan pada file functions.php untuk membuat pos pada RSS Feed muncul setelah beberapa saat.

// delay feed update after publish
add_filter('posts_where', 'publish_later_on_feed');
function publish_later_on_feed($where) {
    global $wpdb;
    if (is_feed()) {
        // timestamp in WP-format
        $now = gmdate('Y-m-d H:i:s');

        // value for wait; + device
        $wait = '5'; // integer

        // http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
        $device = 'MINUTE'; // MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

        // add SQL-sytax to default $where
        $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
    }
    return $where;
}

Dengan menggunakan kode di atas, pos pada RSS Feed akan mendapat delay selama 5 menit. Untuk mengubahnya, kamu cukup mengubah nilai variabel $wait dan ganti variabel $device dengan satuan waktu yang kamu inginkan (MINUTE » Menit, HOUR » Jam, DAY » Hari, WEEK » Minggu, MONTH » Bulan, dan YEAR » Tahun).

This Post Has 2 Comments

  1. mawar

    Terima kasih Informasi sangat bermanfaat dan menambah ilmu saya..keren

    1. Alifa Putri

      Hi mba mawar

      Terima kasih juga sudah mampir komentar 🙂

Leave a Reply