Mencegah Pengikisan Situs

Saya menjalankan situs web untuk klien di mana mereka menampilkan database informasi besar yang telah mereka kumpulkan secara akurat dan perlahan selama bertahun-tahun. Mereka menemukan data mereka di seluruh web di berbagai tempat. Kemungkinan besar karena scraper akan melalui halaman situs mereka berdasarkan halaman dan mengekstraksi informasi yang mereka butuhkan ke dalam database mereka sendiri. Dan jika Anda bertanya-tanya, mereka tahu itu data mereka karena satu bagian data yang ditanam di setiap kategori di situs mereka.

Saya telah melakukan banyak penelitian tentang ini beberapa hari terakhir, dan saya dapat memberi tahu Anda bahwa tidak ada solusi penampung yang sempurna. Saya telah menemukan beberapa hal yang harus dilakukan untuk mencapai hal ini sedikit lebih sulit untuk mereka. Inilah yang saya terapkan untuk klien.

Data terpatahkan Ajaxified

Jika Anda memiliki banyak data paginasi, dan Anda melakukan penyemprotan data dengan hanya menambahkan nomor yang berbeda di bagian akhir URL Anda, yaitu http://www.domain.com/kategori/programming/2 - Kemudian Anda membuat pekerjaan crawler yang jauh lebih mudah. Masalah pertama adalah, dalam pola yang mudah diidentifikasi, sehingga mengatur scraper longgar di halaman ini mudah sekali. Masalah kedua, terlepas dari URL halaman berikutnya dalam kategori, kemungkinan besar akan ada tautan berikutnya dan sebelumnya yang dapat mereka kaitkan.

Dengan memuat data yang dipaginasi melalui javascript tanpa pemuatan ulang halaman, ini secara signifikan mempersulit pekerjaan untuk banyak pencakar di luar sana. Baru-baru ini Google sendiri mulai mem-parsing javascript di halaman. Ada sedikit kerugian untuk memuat ulang data seperti ini. Anda menyediakan beberapa halaman yang lebih sedikit untuk Google untuk diindeks, tetapi, secara teknis, data paginasi semua harus menunjuk ke halaman kategori root melalui kanonikalisasi. Ajaxify halaman data Anda paged.

Acak hasil template

Scrapers sering akan sedikit disesuaikan untuk data Anda secara khusus. Mereka akan menempel ke div id tertentu atau kelas untuk judul, sel ke-3 di setiap baris untuk deskripsi Anda, dll. Ada pola yang mudah diidentifikasi untuk sebagian besar pencakar untuk bekerja dengan sebagian besar data yang berasal dari tabel yang sama, ditampilkan oleh template yang sama. Acak ID dan nama kelas Anda, masukkan kolom tabel kosong secara acak dengan lebar 0. Tampilkan data Anda dalam tabel di satu halaman, dalam divs gaya dan kombinasi pada template lain. Dengan menyajikan data Anda dapat diprediksi, itu dapat dikeruk secara prediktif dan akurat.

Pot Madu, tempat madu, wadah madu

Ini cukup rapi dalam kesederhanaannya. Saya telah menemukan metode ini di beberapa halaman tentang cara mencegah penggosokan situs.

  • Buat file baru di server Anda yang bernama gotcha.html.
  • Di file robots.txt Anda, tambahkan yang berikut:
    Agen pengguna: *
    Disallow: /gotcha.html
    Ini memberitahu semua robot dan spider di luar sana mengindeks situs Anda untuk tidak mengindeks file gotcha.html. Semua perayap web biasa akan menghormati keinginan file robots.txt Anda dan tidak mengakses file itu. yaitu, Google dan Bing. Anda mungkin benar-benar ingin menerapkan langkah ini, dan menunggu 24 jam sebelum melanjutkan ke langkah berikutnya. Ini akan memastikan bahwa perayap tidak sengaja diblokir oleh Anda karena fakta bahwa itu sudah merayap ketika Anda memperbarui file robots.txt Anda.
  • Tempatkan tautan ke gotcha.html di suatu tempat di situs web Anda. Tidak masalah dimana. Saya akan merekomendasikan di footer, namun, pastikan tautan ini tidak terlihat, dalam CSS, tampilan: tidak ada;
  • Sekarang, log IP / informasi umum dari pelaku yang mengunjungi halaman ini dan memblokir mereka. Sebagai alternatif, Anda dapat membuat skrip untuk memberi mereka data sampah yang salah. Atau mungkin pesan pribadi yang bagus dari Anda kepada mereka.

Pemirsa web biasa tidak akan dapat melihat tautan, sehingga tidak akan secara tidak sengaja diklik. Perayap tepercaya (Google misalnya), akan menghormati keinginan robots.txt Anda dan tidak mengunjungi file tersebut. Jadi, satu-satunya komputer yang harus tersandung di halaman ini adalah mereka dengan niat jahat, atau seseorang melihat kode sumber Anda dan secara acak mengklik (dan oh baik jika itu terjadi).

Ada beberapa alasan mengapa ini tidak selalu berhasil. Pertama, banyak pencakar tidak berfungsi seperti perayap web normal, dan jangan hanya menemukan data dengan mengikuti setiap tautan dari setiap laman di situs Anda. Scrapers sering dibangun untuk memperbaiki pada halaman tertentu dan hanya mengikuti struktur tertentu. Misalnya, scraper dapat dimulai pada halaman kategori, dan kemudian diberitahu hanya untuk mengunjungi URL dengan kata / data dalam siput. Kedua, jika seseorang menjalankan scraper mereka di jaringan yang sama dengan yang lain, dan ada IP bersama yang digunakan, Anda akan memiliki larangan seluruh jaringan. Anda harus memiliki situs web yang sangat populer memang untuk ini menjadi masalah.

Tulis data ke gambar dengan cepat

Temukan bidang data yang lebih kecil, tidak perlu string panjang teks karena ini dapat membuat penataan halaman menjadi sedikit lebih sulit. Output data ini di dalam gambar, saya merasa cukup yakin ada metode di hampir setiap bahasa pemrograman untuk menulis teks ke gambar secara dinamis (dalam php, imagettftext). Ini mungkin paling efektif dengan nilai numerik karena angka memberikan keuntungan SEO yang jauh lebih tidak signifikan.

Alternatif

Ini bukan pilihan untuk proyek ini. Memerlukan login setelah jumlah tampilan halaman tertentu, atau menampilkan jumlah data yang terbatas tanpa login. Misalnya, jika Anda memiliki 10 kolom, hanya tampilkan 5 untuk pengguna yang tidak masuk.

Jangan membuat kesalahan ini

Jangan repot-repot mencoba mencari semacam solusi berdasarkan agen pengguna bot. Informasi ini dapat dengan mudah dipalsukan oleh seorang pengeruk yang tahu apa yang mereka lakukan. Bot google misalnya dapat dengan mudah ditiru. Anda lebih dari mungkin tidak ingin melarang Google.

Lihat Juga