Geonode logo
Geonode Team

Geonode Team

Dikemas kini: 7 Oktober 2026

Diterbitkan: 2 September 2026

Perangkap Honeypot dalam Web Scraping: Panduan Lengkap

Perangkap honeypot adalah konten yang ditempatkan pada suatu halaman secara khusus agar hanya klien otomatis yang akan berinteraksi dengannya. Manusia tidak akan pernah melihatnya; crawler yang tidak waspada akan langsung mengikutinya. Contohnya berkisar dari tautan tak terlihat di bagian footer hingga labirin tak berujung dari halaman-halaman yang dihasilkan secara otomatis, yang dirancang untuk menghabiskan anggaran komputasi crawler selama berhari-hari. Panduan ini membahas enam jenis perangkap yang akan Anda temui, cara menghindarinya, dan — karena informasi yang sama berlaku bagi kedua belah pihak — cara perangkap tersebut diterapkan.

Sikap kami, sebagaimana telah kami nyatakan: kami adalah Geonode dan kami menjual layanan proxy, sehingga dari segi kepentingan komersial, kami berada di pihak crawler dalam hal ini. Faktanya, sebagian besar cara menghindari honeypot hanyalah dengan melakukan crawling dengan benar, dan langkah paling efektif yang tidak memerlukan biaya apa pun adalah: patuhi robots.txt. Sebagian besar perangkap ditempatkan di jalur yang telah diminta oleh situs agar crawler tidak mengunjunginya, sehingga crawler yang patuh tidak akan pernah menemukannya. Sisanya dapat dihindari dengan merender CSS, tidak mengirimkan formulir yang tidak diminta, dan membatasi jangkauan perayapan Anda. Tidak ada satu pun dari hal tersebut yang mengharuskan Anda membeli apa pun dari kami, dan perayap yang membutuhkan proxy untuk menghindari perangkap honeypot adalah perayap yang telah melakukan kesalahan yang lebih mendasar.

Apa Itu Perangkap Honeypot

Definisinya lebih bersifat perilaku daripada teknis: ini adalah konten yang hanya akan berinteraksi dengan klien otomatis, yang ditempatkan di sana agar interaksi tersebut mengidentifikasi klien tersebut sebagai klien otomatis.

Logikanya sederhana dan cukup sulit untuk dibantah. Pengunjung manusia menggunakan browser, yang menerapkan CSS, merender tata letak, dan menampilkan apa yang terlihat. Sebuah crawler yang mengurai HTML melihat semua elemen dalam markup secara sama — termasuk tautan yang dirancang agar tidak terlihat, bidang formulir yang tersembunyi di luar layar, dan jalur yang tidak ditautkan oleh siapa pun dari tempat mana pun yang biasanya dilihat oleh manusia.

Berinteraksi dengan salah satu dari hal tersebut merupakan sinyal yang kuat. Meskipun tidak mutlak, karena alat aksesibilitas dan browser mode teks juga berperilaku berbeda, namun sinyal ini cukup kuat sehingga situs-situs mengambil tindakan berdasarkan hal tersebut.

Konsekuensinya bervariasi tergantung situsnya. Beberapa situs mencatat dan mengabaikannya. Beberapa membatasi frekuensi akses. Beberapa memblokir alamat tersebut. Beberapa menyajikan konten yang dikurangi kualitasnya tanpa batas waktu, yang merupakan hasil terburuk karena terlihat seperti keberhasilan. Dan beberapa situs kini melakukan tindakan yang lebih rumit, yang akan dibahas di bawah ini.

Enam Jenis yang Akan Anda Temui

1. Tautan tak terlihat. Tautan yang diberi gaya dengan display: none, visibility: hidden, dimensi nol, warna yang menyatu dengan latar belakang, atau ditempatkan di luar layar. Terdapat dalam kode HTML, tetapi tidak muncul di halaman yang ditampilkan.

<a href="/trap/do-not-follow" style="display:none">Products</a>
<a href="/hidden" class="visually-hidden">Sitemap</a>

Bentuk yang paling umum, dan paling mudah dihindari.

2. Jalur yang dilarang. URL yang hanya muncul di robots.txt di bawah direktif Disallow, tanpa tautan dari mana pun. Satu-satunya cara untuk menemukannya adalah dengan membaca berkas pengecualian dan kemudian mengabaikannya — yang menjadikan permintaan ke jalur tersebut sebagai sinyal yang hampir sempurna atas ketidakpatuhan yang disengaja.

3. Bidang formulir tersembunyi. Bidang yang disembunyikan dengan CSS dan tidak pernah diisi oleh manusia. Setiap pengiriman yang berisi nilai untuk bidang tersebut berasal dari sesuatu yang mengurai HTML. Umum ditemukan pada formulir komentar dan alur pendaftaran, di mana hal ini merupakan langkah anti-spam yang sah dan efektif.

4. Ruang URL tak terbatas. Tidak selalu disengaja, namun sama-sama merugikan dalam kedua kasus. Kalender dengan tautan "bulan depan" menghasilkan URL yang tak terbatas. Navigasi berfacet pada katalog besar menghasilkan ledakan kombinatorial. Crawler tanpa batasan kedalaman dan pola akan mengikuti tautan-tautan ini hingga ada yang menghentikannya.

5. Perangkap waktu. Konten yang muncul hanya setelah jeda tertentu, atau formulir yang menolak pengiriman yang diselesaikan lebih cepat daripada yang bisa dilakukan manusia. Hal ini menjebak klien yang bertindak seketika, bukan klien yang mengurai markup.

6. Konten yang diracuni atau dihasilkan. Kategori terbaru, dan cukup substansial sehingga layak mendapatkan bagian tersendiri.

Perangkap AI dan Labirin yang Digenerasi

Sebuah perkembangan yang benar-benar baru, dan inilah alasan mengapa topik ini telah mengalami perubahan dalam beberapa tahun terakhir.

AI Labyrinth dari Cloudflare adalah contoh yang paling banyak diterapkan. Cloudflare menggambarkannya sebagai "pendekatan mitigasi baru yang menggunakan konten yang dihasilkan AI untuk memperlambat, membingungkan, dan menghabiskan sumber daya Crawler AI."

Mekanismenya: Workers AI menghasilkan berbagai halaman HTML dengan topik yang beragam, disimpan di R2 untuk pengiriman cepat, dan halaman-halaman umpan ini ditautkan dari halaman asli melalui tautan tersembunyi yang "tidak terlihat oleh pengunjung manusia namun dapat diakses oleh bot crawler".

Penjelasan Cloudflare mengenai mengapa hal ini berhasil merupakan pernyataan paling tajam tentang prinsip honeypot yang pernah ditulis:

Tidak ada manusia sungguhan yang akan menelusuri hingga empat tautan ke dalam labirin omong kosong yang dihasilkan AI.

Yang terpenting, konten yang disajikan “nyata dan berkaitan dengan fakta ilmiah, hanya saja tidak relevan atau eksklusif bagi situs yang sedang di-crawl” — sehingga crawler tidak dapat mendeteksinya dengan memeriksa apakah teks tersebut koheren. Teks tersebut memang koheren. Hanya saja, isinya tentang hal lain.

Fitur ini tersedia di semua paket Cloudflare termasuk paket gratis, dan mengaktifkannya hanya memerlukan satu tombol di bagian manajemen bot tanpa "konfigurasi tambahan".

Alat independen bekerja berdasarkan prinsip yang sama. Nepenthes menghasilkan labirin halaman tak terbatas tanpa tautan keluar. Iocaine beroperasi sebagai proxy terbalik dan mengambil langkah tambahan yang perlu dipahami: ia "meracuni" URL yang disajikannya, sehingga crawler yang kemudian kembali menyamar sebagai browser tetap dapat diidentifikasi karena antrian permintaannya hanya berisi URL yang pernah diberikan oleh tarpit. Itu adalah penanda yang bertahan lama, bukan sekadar penanda sesaat.

Ada dua implikasi bagi siapa pun yang menjalankan crawler.

Deteksi berdasarkan kualitas konten tidak akan berhasil. Halaman-halaman tersebut koheren dan faktual. Yang mengidentifikasinya adalah bahwa halaman-halaman tersebut tidak relevan dengan situs, tidak tertaut dari mana pun yang dapat ditemukan pengguna, dan jumlahnya tak terbatas.

Membatasi perayapan kini menjadi hal yang esensial, bukan sekadar untuk kerapian. Sebuah crawler tanpa batasan kedalaman, batasan jumlah halaman, dan deteksi duplikat dapat menghabiskan hari-hari waktu komputasi dan gigabyte bandwidth berbatas pada konten yang tidak bermakna, tanpa menerima kesalahan apa pun. Dengan sistem penagihan per gigabyte, hal itu berarti tagihan nyata untuk sesuatu yang tidak berguna.

Cara Menghindarinya Tanpa Harus Berbuat Curang

Setiap langkah di sini adalah hal yang seharusnya dilakukan oleh crawler yang dirancang dengan baik.

Patuhi Prinsip "robots.txt". Hal ini saja sudah dapat menghindari sebagian besar jebakan, karena jalur yang dilarang adalah tempat di mana situs-situs menempatkannya. Kini hal ini telah menjadi standar — RFC 9309 — dengan pencocokan berdasarkan spesifisitas, bukan urutan, dan kami telah membahas cara membacanya dengan benar dalam cara membaca berkas robots.txt.

Periksa visibilitas yang dihitung sebelum mengikuti tautan. Di browser headless, hal ini cukup mudah:

const links = await page.$$eval('a[href]', els =>
  els.filter(el => {
    const s = getComputedStyle(el);
    const r = el.getBoundingClientRect();
    return s.display !== 'none' && s.visibility !== 'hidden' &&
           parseFloat(s.opacity) > 0 && r.width > 1 && r.height > 1;
  }).map(el => el.href)
);

Perhatikan getComputedStyle daripada membaca atribut style yang disertakan — tautan yang disembunyikan oleh aturan lembar gaya tidak memiliki gaya inline yang dapat diperiksa.

Tanpa browser, terapkan heuristik: lewati tautan yang gaya inline-nya berisi display:none atau visibility:hidden, lewati teks tautan kosong, lewati nama kelas seperti hidden, visually-hidden, dan sr-only, serta waspadai tautan yang nilai href-nya tidak muncul di mana pun dalam teks yang terlihat.

Batasi perayapan secara mutlak. Kedalaman maksimum, jumlah halaman maksimum, dan anggaran per domain. Bukan sebagai cadangan — melainkan sebagai penghentian mutlak. Ini adalah satu-satunya pertahanan terhadap ruang tak terbatas yang berfungsi terlepas dari cara pembentukannya.

Deteksi pengulangan. Penghashing konten mendeteksi halaman yang dihasilkan yang berbeda secara permukaan. Analisis pola URL mendeteksi jalur yang terus bertambah tanpa batas. Jika sebuah direktori telah menghasilkan dua ratus halaman dan tidak menunjukkan tanda-tanda akan berhenti, hentikan dan periksa.

Jangan kirimkan formulir yang tidak Anda minta. Perangkap bidang tersembunyi hanya menjebak klien yang mengisi setiap kolom yang mereka temukan.

Batasi laju dan atur kecepatan. Waktu yang mirip manusia menghindari perangkap waktu dan sekaligus mengurangi sinyal lainnya.

Identifikasi diri Anda. Crawler dengan nama dan URL kontak adalah crawler yang dapat diizinkan oleh operator. Ini bukanlah langkah penghindaran perangkap secara tepat, tetapi mengubah apa yang terjadi setelah Anda terperangkap.

Mendeteksi Perangkap di Alam Liar

Tanda-tanda bahwa Anda telah terjebak di dalamnya, disusun secara kasar berdasarkan seberapa cepat tanda-tanda tersebut muncul.

Jumlah halaman tidak stabil. Antrian terus bertambah alih-alih berkurang, yang merupakan peringatan paling awal dan paling mudah untuk dipantau.

Kontennya koheren namun tidak relevan. Halaman-halaman yang terbaca dengan baik namun tidak ada hubungannya dengan topik sebenarnya dari situs tersebut. Ini adalah ciri khas AI Labyrinth.

URL mengikuti pola yang dihasilkan secara otomatis. Jalur yang panjang, struktur segmen yang tidak biasa, dan tidak ada pengulangan URL yang biasanya Anda temui di situs asli.

Tidak ada tautan masuk dari sumber yang masuk akal. Halaman-halaman tersebut saling tertaut satu sama lain, tetapi tidak ada tautan masuk dari luar.

Waktu responsnya seragam secara mencurigakan. Konten yang dihasilkan disajikan dari cache; halaman asli bervariasi.

Kualitas data Anda menurun tanpa perubahan tingkat kesalahan. Ini adalah sinyal paling jelas pada tahap akhir, dan alasan mengapa penting bahwa semua respons mengembalikan kode 200.

Kontrol praktisnya adalah penegasan yang berjalan secara terus-menerus, bukan pemeriksaan manual: jika rasio URL baru yang ditemukan terhadap halaman yang diambil tidak menurun selama proses perayapan, berarti ada sesuatu yang menghasilkan URL lebih cepat daripada yang dapat Anda konsumsi, dan tidak ada perayapan situs terbatas yang berperilaku seperti itu.

Untuk Pemilik Situs: Menerapkannya

Sekilas tentang sisi lainnya, karena pemahaman yang sama berlaku untuk keduanya.

Kolom formulir tersembunyi adalah solusi paling efektif. Mudah ditambahkan, efektif melawan pengiriman formulir otomatis, dan tidak berdampak pada pengguna sungguhan. Beri nama kolom tersebut dengan nama yang tidak mencolok, sembunyikan menggunakan CSS dalam lembar gaya (stylesheet) alih-alih secara inline, dan tolak setiap pengiriman yang mengisinya.

Tautan tersembunyi dapat mendeteksi crawler yang tidak menampilkan halaman. Efektif, dan sebaiknya dipadukan dengan larangan robots.txt agar crawler yang patuh tidak terjebak. Menghukum crawler yang berperilaku baik karena jebakan yang tidak Anda kecualikan adalah masalah yang Anda ciptakan sendiri.

Tarpit yang dikelola kini dapat diaktifkan atau dinonaktifkan. Fitur Cloudflare tersedia di semua paket, termasuk yang gratis, dan tidak memerlukan konfigurasi, sehingga dapat diakses oleh situs mana pun.

Aksesibilitas adalah kendala sesungguhnya. Pembaca layar dan browser teks tidak menerapkan gaya visual seperti yang dilakukan browser pengguna yang dapat melihat. Perangkap yang menggunakan display: none umumnya aman karena teknologi bantu menghormatinya; perangkap yang menggunakan posisi di luar layar atau teks transparan mungkin diumumkan kepada pengguna pembaca layar, yang kemudian mengikutinya dan terblokir. Jika Anda menerapkan ini, uji dengan pembaca layar.

Dan tentukan apa yang sebenarnya Anda inginkan. Mesin pencari, mitra perbandingan harga, alat aksesibilitas, layanan pemantauan, dan agen AI semuanya mengirimkan lalu lintas otomatis, dan sebagian di antaranya Anda inginkan. Perangkap menyeluruh akan menangkap semuanya. Mengecualikan crawler yang diketahui baik berdasarkan user agent, dan menempatkan perangkap hanya pada jalur yang sudah dilarang oleh robots.txt, adalah pengaturan yang menangkap lalu lintas yang Anda tolak dan membiarkan sisanya lewat.

Kapan Harus Berhenti Daripada Beradaptasi

Keputusan yang perlu disampaikan secara gamblang, mengingat kami adalah penyedia layanan yang produknya biasanya berupa “adaptasi”.

Jika sebuah situs telah menerapkan perangkap, itu berarti situs tersebut telah menyampaikan pesan tertentu. Ditambah dengan larangan "robots.txt" dan ketentuan yang melarang akses otomatis, pesan tersebut tidak ambigu, dan terus mencoba mengelakinya adalah pilihan yang memiliki konsekuensi di luar aspek teknis.

Alternatifnya seringkali lebih baik dan hampir selalu lebih murah:

Minta izin. Sebuah email yang menjelaskan siapa Anda dan apa yang Anda butuhkan seringkali menyelesaikan masalah ini lebih cepat daripada yang orang duga, dan feed mitra akan menghilangkan seluruh masalah.

Periksa apakah ada API resmi. Banyak situs yang menerapkan perlindungan ketat juga menerbitkan API, tepatnya agar pengguna yang sah memiliki tempat untuk mengakses data.

Periksa apakah data tersebut tersedia di tempat lain. Kumpulan data publik, arsip, dokumen resmi, penyedia berlisensi.

Kurangi apa yang Anda butuhkan. Sebagian besar proses pengikisan data mengumpulkan jauh lebih banyak daripada yang dibutuhkan. Permintaan yang lebih kecil lebih mudah dipenuhi melalui cara-cara yang sah.

Dan poin praktisnya: tarpits dirancang agar Anda menanggung biaya lebih besar daripada yang ditanggung situs tersebut. Cloudflare menghasilkan halaman sekali saja dan menyajikannya dari penyimpanan; Anda membayar per gigabyte, per jam komputasi, dan dalam bentuk waktu pengembangan. Asimetri tersebut disengaja, dan tidak akan membaik seiring dengan upaya yang Anda lakukan.

Pertanyaan Lainnya

Apa itu perangkap honeypot dalam web scraping?

Konten yang ditempatkan pada suatu halaman yang hanya akan berinteraksi dengan klien otomatis — tautan tak terlihat, bidang formulir tersembunyi, atau jalur yang ditautkan dari tempat yang tidak akan pernah dicari oleh manusia. Berinteraksi dengannya akan mengidentifikasi klien sebagai bot, dan situs akan merespons dengan mencatat aktivitas, membatasi frekuensi, atau memblokirnya.

Bagaimana cara menghindari perangkap honeypot?

Patuhi aturan "robots.txt", karena banyak perangkap berada di jalur yang dilarang. Periksa visibilitas yang dihitung sebelum mengikuti tautan, bukan dengan mengurai HTML mentah. Jangan mengisi kolom formulir yang tidak ditampilkan kepada Anda. Dan batasi perayapan Anda dengan batas kedalaman dan jumlah halaman yang ketat, yang merupakan satu-satunya pertahanan terhadap ruang tak terbatas.

Apa itu AI tarpit?

Sebuah sistem yang menyajikan labirin tak berujung dari halaman-halaman yang dihasilkan secara otomatis kepada perayap otomatis untuk menghabiskan sumber dayanya. AI Labyrinth dari Cloudflare menghasilkan konten yang koheren dan faktual, namun sama sekali tidak relevan dengan situs tersebut, yang ditautkan secara tersembunyi dari halaman-halaman asli. Fitur ini tersedia di semua paket, termasuk paket gratis, hanya dengan mengaktifkan satu tombol.

Bisakah saya mendeteksi honeypot sebelum terjebak di dalamnya?

Sebagian. Menampilkan halaman dan memeriksa gaya yang dihitung dapat mendeteksi tautan tersembunyi dengan andal. Labirin yang dihasilkan lebih sulit dideteksi, karena kontennya koheren — sinyal-sinyalnya berupa antrian yang terus bertambah, konten yang tidak relevan dengan situs, dan pola URL yang tidak berulang. Membatasi jangkauan perayapan adalah pertahanan yang selalu efektif.

Apakah tautan tersembunyi merugikan SEO atau aksesibilitas?

Teks tersembunyi secara historis dianggap sebagai manipulasi oleh mesin pencari, sehingga perangkap biasanya dipasangkan dengan perintah robots.txt untuk melarang akses. Aksesibilitas menjadi masalah yang lebih besar: display: none dihormati oleh teknologi bantu, tetapi teks di luar layar atau transparan mungkin diumumkan kepada pengguna pembaca layar yang kemudian mengikutinya.

Apa yang terjadi jika crawler saya menemui honeypot?

Hal ini bervariasi. Beberapa situs mencatatnya, beberapa membatasi frekuensi akses, beberapa memblokir alamat tersebut, dan beberapa menyajikan konten yang terdegradasi tanpa batas waktu — yang merupakan skenario terburuk, karena semua respons mengembalikan kode status 200 sementara kualitas data Anda menurun secara diam-diam. Tarpits melakukan hal yang berbeda: mereka terus menyajikan konten kepada Anda, selamanya.

Apakah perangkap honeypot legal?

Menempatkannya di situs Anda sendiri sepenuhnya legal — Anda yang memutuskan apa yang akan disajikan. Apa yang dilakukan situs dengan identifikasi yang dihasilkan diatur oleh syarat dan ketentuannya. Dari sisi crawler, memicu perangkap tersebut tidak melanggar hukum; hal itu mungkin melanggar syarat layanan, yang merupakan masalah kontrak.

Bagaimana cara mencegah crawler saya membuang-buang uang di tarpit?

Batas ketat pada kedalaman dan jumlah halaman per domain, hashing konten untuk mendeteksi halaman yang hampir duplikat, serta peringatan ketika rasio URL yang baru ditemukan terhadap halaman yang diambil gagal menurun. Tanpa hal-hal tersebut, crawler berbatas kuota dapat menghabiskan waktu berhari-hari dan gigabyte untuk halaman yang dihasilkan sambil melaporkan tingkat keberhasilan yang sempurna.

Kesimpulan

Perangkap honeypot didasarkan pada satu asumsi: bahwa crawler melihat kode sumber, sementara pengguna manusia melihat halaman yang sudah ditampilkan. Selebihnya hanyalah variasi — tautan tak terlihat, bidang tersembunyi, jalur yang hanya disebutkan di robots.txt, atau labirin yang tak berujung.

Semua pertahanan tersebut adalah hal-hal yang seharusnya dilakukan oleh crawler yang dirancang dengan baik, terlepas dari situasinya. Patuhi robots.txt, karena di situlah banyak perangkap berada dan kepatuhan tidak memerlukan biaya apa pun. Periksa visibilitas yang dihitung daripada mengurai HTML mentah. Biarkan formulir apa adanya kecuali jika ditampilkan kepada Anda. Dan batasi perayapan Anda dengan batas yang ketat, yang merupakan satu-satunya langkah yang melindungi Anda dari labirin buatan yang isinya sengaja dibuat tidak dapat dibedakan dari tulisan asli.

Kategori terakhir ini telah mengubah dinamika ekonomi. Sebuah "tarpit" yang dikelola menghasilkan halamannya sekali dan menyajikannya dari cache; sementara crawler membayar per gigabyte dan per jam komputasi, serta selalu menerima respons 200. Asimetri inilah intinya—kini tersedia bagi situs mana pun hanya dengan satu tombol, dan tidak akan menyerah pada upaya apa pun.

Hal ini membuat opsi yang tidak glamor ini layak untuk dipertimbangkan dengan serius. Sebuah situs yang telah menerapkan perangkap telah memberi tahu Anda sesuatu, dan meminta umpan, memeriksa API, atau mencari data di tempat lain biasanya lebih cepat, lebih murah, dan lebih tahan lama daripada mencoba mengalahkan seseorang yang telah mengatur agar Anda kalah.