RevealTheme logo

Cara kerja detektor RevealTheme

Saat Anda memasukkan URL ke salah satu detektor kami, banyak hal terjadi dalam dua detik sebelum Anda melihat hasilnya. Inilah penjelasan teknis bagi yang penasaran, termasuk keterbatasan yang tidak dapat kami atasi dengan rekayasa.

Langkah 1: Mengambil HTML publik

Saat Anda mengirim URL, server kami mengambil halaman web publik dari URL tersebut menggunakan User-Agent browser standar. Ini adalah HTML yang sama yang akan diterima browser Anda jika Anda mengunjungi situs tersebut secara langsung. Kami tidak menerobos dinding berbayar, tidak mengekstrak konten yang dilindungi login, dan tidak menggunakan autentikasi apa pun.

Pengambilan menggunakan batas waktu 20 detik. Kami mengikuti hingga 10 pengalihan (yang mencakup pengalihan HTTP → HTTPS, www → tanpa-www, dan pengalihan menurut negara). Jika situs mengembalikan respons 4xx atau 5xx, atau tidak merespons dalam jendela batas waktu, kami mengembalikan kesalahan «tidak dapat diakses» yang jelas alih-alih menebak.

Langkah 2: Mendeteksi platform

Sebelum mencoba mengidentifikasi tema tertentu, kami memeriksa CMS apa yang menjalankan situs tersebut. Kami mencari sidik jari dari 7 platform yang didukung —WordPress, Shopify, Magento, Joomla, Drupal, Moodle, dan PrestaShop— dan memilih kecocokan terkuat.

Jika Anda mengirim URL Shopify ke detektor WordPress kami (atau sebaliknya), kami memberi tahu Anda dan menautkan ke detektor yang benar. Tanpa tebakan, tanpa positif palsu.

Langkah 3: Deteksi tema

Khusus untuk WordPress, referensi tema biasanya muncul di HTML halaman pada jalur seperti wp-content/themes/NAMA_TEMA/style.css. Kami mengekstrak setiap referensi tersebut dari bagian mana pun dalam dokumen: tag link, tag script, JavaScript inline, blok JSON-LD, bahkan konten teks. Ini mendeteksi tema yang telah disembunyikan oleh situs yang sangat dioptimalkan dari alat deteksi standar.

Untuk setiap tema yang terdeteksi, kami mencoba mengambil file style.css tema tersebut. Header file itu berisi nama resmi tema, penulis, versi, URI, dan deskripsi, langsung dari pengembang tema. Itulah sumber informasi tema yang kaya yang kami tampilkan di samping hasil deteksi.

Langkah 4: Deteksi plugin

Deteksi plugin menggunakan dua pendekatan paralel. Pertama, kami mengekstrak setiap jalur file yang cocok dengan wp-content/plugins/NAMA_PLUGIN/. Kedua, kami menjalankan puluhan pemeriksaan berbasis tanda tangan: kami mencari struktur HTML tertentu, nama kelas CSS, variabel JavaScript inline, dan header respons HTTP yang secara unik mengidentifikasi plugin populer seperti Elementor, Yoast SEO, WPForms, WooCommerce, Wordfence, dan lainnya.

Desain pendekatan ganda mendeteksi plugin yang menyembunyikan jalur filenya (melalui caching atau pengelompokan sumber daya) tetapi tetap meninggalkan tanda tangan khas. Untuk setiap plugin yang terdeteksi, kami mencarinya di Direktori Plugin WordPress.org untuk memperkaya hasil dengan nama resmi plugin, deskripsi, penulis, dan tangkapan layar.

Langkah 5: Pencarian hosting + DNS

Untuk mengidentifikasi penyedia hosting, kami melakukan pencarian DNS pada domain dan memeriksa alamat IP, ASN, dan DNS terbalik. Kami mencocokkannya dengan basis data rentang IP yang dikenal dari penyedia hosting untuk mengidentifikasi penyedianya. Akurasi tinggi untuk hosting utama (AWS, Cloudflare, Hostinger, SiteGround, dll.) dan lebih rendah untuk penyedia niche.

Apa yang tidak dapat kami lakukan

Beberapa kasus di mana deteksi tidak akan berhasil, sebagus apa pun kode kami:

  • Tantangan bot Cloudflare. Situs dengan perlindungan bot Cloudflare yang ketat (layar «Melakukan verifikasi keamanan...») memblokir pengambil kami sama seperti mereka memblokir permintaan otomatis mana pun. Tidak ada cara bersih untuk menghindarinya.
  • Tema kustom intensif. Jika sebuah tema telah dimodifikasi sedemikian rupa hingga setiap referensi ke nama tema asli telah dihapus dari HTML, kami tidak punya apa pun untuk dideteksi.
  • Caching agresif dengan jalur sumber daya yang ditulis ulang. Plugin seperti LiteSpeed Cache, WP Rocket, dan Rocket Loader Cloudflare terkadang menulis ulang URL sumber daya untuk menyembunyikan sumbernya. Deteksi berbasis tanda tangan kami menangkap sebagian besar, tetapi tidak semuanya.
  • Situs ekspor statis. Situs WordPress yang telah diekspor ke HTML statis kehilangan sebagian besar tanda tangan saat-jalan yang memungkinkan deteksi.

Apa yang tidak kami lakukan

Kami sering ditanya. Jawabannya adalah tidak:

  • Kami tidak menyimpan URL yang Anda kirim
  • Kami tidak mencatat alamat IP untuk tujuan pemasaran
  • Kami tidak membagikan data deteksi dengan penyedia
  • Kami tidak menerobos autentikasi, robots.txt, atau kontrol akses lainnya
  • Kami tidak menjalankan detektor pada IP internal/privat (127.0.0.1, 10.x.x.x, dll.) demi alasan keamanan

Detail privasi lengkap ada di Kebijakan Privasi kami.

Akses API

Saat ini kami tidak menawarkan API publik, tetapi akses terprogram terbatas tersedia berdasarkan permintaan untuk agensi dan peneliti. Tulis ke hello@revealtheme.com dengan kasus penggunaan Anda dan volume permintaan yang diperkirakan.

Mengapa tidak open source?

Aturan deteksi adalah inti produk, dan kami memperbaruinya dengan sering seiring berkembangnya tema dan plugin. Membuka kodenya akan memperlambat irama pembaruan kami. Meski begitu, kami menerbitkan artikel terperinci tentang teknik deteksi di blog kami: cari «deteksi» untuk menemukannya.

Siap mencobanya?

Gunakan detektor yang sesuai dengan situs yang ingin Anda inspeksi: