Scraping Konten
Atur cara ChattyBox merayapi situs web dan mengindeks konten untuk respons AI.
Buka tab Settings chatbot. Simpan Website URL di General Settings dengan Save Changes, lalu pilih mode dan Maximum Pages di Scraping Configuration dan pilih Save Config. Scrape Now memulai tugas dengan nilai formulir scraping saat ini dan membuka halaman progresnya. Dasbor tetap memerlukan Website URL tersimpan, bahkan untuk mode URL Manual.
:::warning Hanya HTML publik
Crawler mengambil HTML; crawler tidak menjalankan browser atau merender JavaScript. Saat ini crawler tidak membaca atau menerapkan robots.txt. Kirim hanya konten yang Anda berwenang untuk indeks, dan gunakan pemilihan sumber eksplisit—bukan aturan robots—untuk mengecualikan halaman yang tidak diinginkan. Autentikasi, penyelesaian CAPTCHA, dan crawl jaringan privat tidak didukung.
:::
Untuk peluncuran konten publik, lihat panduan chatbot AI untuk situs web sebelum menguji jawaban dengan sitasi.
Mode Scraping
ChattyBox mendukung empat mode scraping:
1. Hanya Beranda
Mengikis hanya Website URL yang tersimpan, yang dapat berupa halaman tertentu dan bukan root situs. Cocok untuk landing page atau evaluasi satu halaman.
2. Mode Sitemap (Direkomendasikan)
Berikan URL sitemap untuk menemukan halaman, termasuk halaman pada sitemap turunan. Hanya URL halaman pada origin Website URL yang dipertahankan; filter, batas halaman, dan anggaran refresh tetap berlaku. Sitemap adalah sumber penemuan, bukan jaminan bahwa setiap URL di dalamnya akan diindeks.
https://example.com/sitemap.xml
Jika Sitemap URL kosong, ChattyBox mencoba /sitemap.xml, lalu /sitemap_index.xml. Jika keduanya tidak menghasilkan URL, crawler kembali hanya ke Website URL tersimpan. Sitemap eksplisit yang tidak menghasilkan URL membuat tugas gagal, bukan fallback. Penemuan sitemap bertingkat memiliki batas kedalaman.
3. Mode Crawl
Mulai dari URL publik dan biarkan ChattyBox menemukan halaman pada situs yang sama. Mode crawl pertama-tama mencoba /sitemap.xml dan /sitemap_index.xml konvensional. Jika keduanya tidak menghasilkan URL, crawler mengikuti tautan same-origin dari halaman awal hingga kedalaman yang dikonfigurasi (default: 3).
Jika sitemap konvensional menghasilkan URL, mode crawl menggunakan URL tersebut; crawler tidak mengikuti tautan untuk mengisi kekosongan sitemap yang tidak lengkap. Saat penemuan tautan, crawler melewati URL akun, login, checkout, pencarian, dan aset yang umum. Tinjau halaman yang benar-benar diindeks; heuristik ini bukan batas privasi.
4. URL Manual
Tentukan URL publik yang tepat, satu per baris. Gunakan ini saat Anda ingin mengontrol halaman yang diindeks secara presisi. Halaman ini tidak diperluas dengan mengikuti tautan; batas halaman dan refresh tetap berlaku.
https://example.com/pricing
https://example.com/features
https://example.com/about
https://example.com/faq
Pemilihan URL Lanjutan
Dasbor menyediakan mode, sitemap/URL manual, jumlah halaman maksimum, dan jadwal refresh. Dasbor tidak menyediakan pola include/exclude atau kedalaman crawl maksimum; gunakan konfigurasi sebagai kode untuk pengaturan tersebut. Nilai include/exclude adalah substring URL yang peka huruf besar-kecil, bukan glob atau ekspresi reguler; kecocokan exclude menang. Saat crawl tautan, halaman yang terfilter tidak ditelusuri, sehingga mengecualikan halaman awal dapat menghentikan penemuan.
Untuk situs multibahasa, sertakan secara eksplisit versi bahasa publik yang Anda perlukan. Penemuan sitemap dan crawl tautan tetap pada origin yang sama, sehingga bahasa pada subdomain lain memerlukan pemilihan sumber sendiri. Locale widget tidak menerjemahkan atau mengindeks konten yang tidak ada.
Batas Halaman
maxPages menyimpan permintaan; setiap proses membatasi penemuan dan pemilihan keluar ke min(permintaan, max(kapasitas halaman penyedia saat ini, halaman proyek yang sudah ada dan diketahui)). Pada kapasitas nol atau ditolak, hanya halaman yang sudah ada dan diketahui yang dapat diperbarui; tanpa halaman tersebut tidak ada penemuan keluar untuk halaman tak dikenal. Ini tidak mengubah entitlement pool pemilik.
Bedakan halaman tersimpan dengan pekerjaan refresh bulanan. Maximum Pages membatasi URL yang dipilih untuk satu tugas dan ruang yang tersedia untuk halaman baru. URL yang sudah diindeks diprioritaskan jika berada dalam set yang ditemukan. Mengubah sumber atau menurunkan batas tidak otomatis menghapus halaman lama.
| Paket | Halaman tercakup | Anggaran refresh halaman bulanan | Frekuensi refresh tercepat |
|---|---|---|---|
| Free | 10 | 500 | Mingguan |
| Starter | 150 | 5.000 | Harian |
| Pro | 5.000 | 100.000 | Harian |
| Business | 25.000 | 250.000 | Harian |
Pro dan Business dapat mengaktifkan kelebihan halaman pay-as-you-go (PAYG) opsional di Account & Billing. Free dan Starter tetap memiliki batas keras. PAYG halaman saat ini tidak menaikkan anggaran refresh bulanan crawler yang terpisah.
Menyegarkan Konten
- Scraping ulang otomatis bersifat opt-in. Free mengizinkan proses mingguan atau bulanan; paket berbayar juga mengizinkan harian. Jadwal bulanan berarti interval 30 hari.
- Scrape Now bukan tombol retry tanpa batas. Interval minimum sejak tugas scraping terakhir dibuat adalah tujuh hari di Free atau 24 jam di paket berbayar, termasuk setelah tugas gagal. Tugas yang pending atau berjalan juga memblokir scraping manual lain.
- Halaman baru dan halaman dengan teks terekstrak yang berubah masing-masing memakai satu unit anggaran refresh bulanan. Halaman tidak berubah hanya memperbarui metadata scraping.
- Anggaran refresh dibagikan di seluruh proyek pemilik (atau workspace lama) dan direset pada awal setiap bulan kalender UTC; ini bukan kuota per chatbot atau per scraping.
- Pembaruan yang berhasil mengganti teks halaman tersimpan. Fetch gagal atau halaman blok/error yang ditolak mempertahankan konten lama. Menghapus URL dari sitemap atau pilihan sumber tidak menghapusnya dari basis pengetahuan; hapus halaman yang tidak diinginkan di Content.
Progres dan Pengindeksan Parsial
Buka tugas di Content > Scrape Jobs untuk melihat status, jumlah halaman, stempel waktu, serta estimasi laju/waktu tersisa. Penemuan terjadi sebelum total halaman terpilih diketahui, sehingga jumlah nol pada awal tugas tidak selalu berarti macet. Jumlahnya adalah halaman yang disimpan, termasuk halaman tidak berubah, bukan embedding vektor yang selesai.
Completed berarti proses berakhir, bukan setiap URL terpilih berhasil. Tugas dapat selesai dengan halaman tersimpan lebih sedikit setelah fetch gagal atau batas halaman/refresh tercapai. Bandingkan jumlah tersimpan dan daftar Content dengan URL yang Anda harapkan. Detail tugas menampilkan maksimal 200 halaman tersimpan dan bukan laporan kegagalan lengkap per URL.
Partially indexed berarti teks terekstrak halaman melampaui batas penyimpanan 512 KiB UTF-8. Hanya bagian awal yang disimpan; tugas selesai dengan halaman demikian menampilkan Completed with warnings. Peringatan ini mengenai teks yang terpotong, bukan semua URL yang gagal atau terlewati. Pisahkan referensi panjang menjadi halaman publik yang lebih kecil bila bagian penting terpotong.
Konten yang berubah mengantrikan tugas embedding terpisah. Tinjau status indeks/rebuild dan uji jawaban representatif sebelum peluncuran; badge scrape selesai saja tidak memvalidasi kualitas pengambilan.
Ekstraksi dan Pemeliharaan Konten
ChattyBox membaca judul halaman dan lebih dahulu memilih teks dari <main>, lalu <article>, kemudian elemen dengan role="main", sebelum fallback ke teks body. Crawler mempertahankan judul, heading, paragraf, daftar, serta teks kode dan tabel. Navigasi, footer, skrip, gaya, elemen tersembunyi tertentu, banner persetujuan, iframe, canvas, SVG, dan objek embed dikecualikan melalui heuristik HTML.
Content mendukung penghapusan halaman, Clear All, dan Rebuild Index. Rebuild hanya membuat ulang embedding dari teks yang sudah tersimpan; tindakan ini tidak mengambil situs, mengembalikan halaman terhapus, atau memulihkan teks terpotong. Proyek yang terkunci konfigurasi menolak scraping, penghapusan halaman, dan rebuild manual dari dasbor; gunakan alur deployment konfigurasi.
Pemecahan Masalah
Halaman tidak dikikis?
- Pastikan URL dapat diakses publik dan server menerima request HTML biasa tanpa login, CAPTCHA, atau tantangan bot.
- Periksa mode, origin, URL terpilih, kuota halaman, serta anggaran refresh; aturan robots tidak dikonsultasikan.
- Untuk fallback crawl tautan, pastikan tautan penting dapat dijangkau dari URL awal dalam batas kedalaman.
Konten tidak muncul dalam respons?
- Scrape ulang setelah perubahan dipublikasikan, ketika cooldown refresh mengizinkan.
- Sajikan teks penting dalam HTML awal; konten yang hanya dimuat JavaScript tidak dirender.
- Pastikan konten ada di body utama, bukan iframe; periksa peringatan pengindeksan parsial dan tunggu tugas embedding.
Perlu kontrol lebih?
Untuk sumber yang tidak didukung atau kegagalan ekstraksi berulang, hubungi support@chattybox.ai dengan contoh URL publik. Jangan kirim kredensial atau mengasumsikan crawl terautentikasi maupun rendering JavaScript didukung.