Bisakah crawler AI membaca konten yang dirender JavaScript?

Dipublikasikan

Jawaban singkat

Sering kali tidak. Googlebot merender JavaScript pada langkah terpisah di kemudian waktu, tetapi sebagian besar crawler AI tidak mendokumentasikan hal itu, dan Google sendiri mencatat bahwa tidak semua bot bisa menjalankan JavaScript. Jika teks Anda baru muncul setelah skrip berjalan, crawler AI mungkin menerima halaman kosong. Sajikan konten utama di HTML awal dengan server-side rendering atau halaman statis.

Single-page app dan framework sisi klien ada di mana-mana, dan di browser tampilannya baik-baik saja. Crawler yang hanya membaca HTML kiriman server Anda melihat hal lain: sebuah <div id="root"></div>, beberapa tag skrip, dan sedikit atau tanpa teks. Bagi jawaban AI, halaman seperti itu tidak punya apa pun untuk dikutip.

Di halaman ini
  1. Mengapa crawler AI melewatkan konten JavaScript?
  2. Bagaimana memeriksa apa yang diterima crawler?
  3. Halaman mana yang paling berisiko?
  4. Bagaimana memperbaiki konten yang hanya ada lewat JavaScript?
  5. Apakah layar login, persetujuan, dan paywall juga memblokir crawler AI?
  6. Bagaimana AISeeWhy mendeteksi halaman yang hanya mengandalkan JavaScript?

Mengapa crawler AI melewatkan konten JavaScript?

Menjalankan JavaScript itu mahal. Crawler harus mengunduh skrip, mengeksekusinya di mesin browser, dan menunggu data dimuat. Google melakukannya untuk Search: ia merayapi, mengantrekan halaman untuk dirender, dan merendernya dengan Chromium headless ketika sumber daya memungkinkan. Meski begitu, Google merekomendasikan server-side rendering atau prerendering karena lebih cepat bagi pengguna dan crawler, dan mencatat bahwa tidak semua bot bisa menjalankan JavaScript.

OpenAI, Anthropic, dan Perplexity tidak menyatakan dalam dokumentasi crawler mereka bahwa agen mereka mengeksekusi JavaScript. Apple menyatakan Applebot mungkin merender halaman di browser. Tanpa pernyataan yang jelas, asumsi yang aman untuk crawler AI adalah bahwa mereka hanya membaca HTML awal.

Bagaimana memeriksa apa yang diterima crawler?

Lihat HTML mentahnya, bukan halaman yang sudah dirender. Developer tools browser menampilkan DOM setelah skrip berjalan, yang bukan yang diterima crawler. Gunakan view-source, atau simpan HTML mentah dari command line lalu cari di dalamnya:

curl -s -o page.html \
  -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot" \
  https://example.com/page

# Is a sentence from your main text in the raw HTML?
grep -c "a sentence from your main content" page.html

Hasil 0 berarti kalimat itu tidak ada di HTML yang dikirim server, sehingga crawler yang tidak menjalankan skrip tidak akan menemukannya. Sekilas melihat file itu menjelaskan sisanya: artikel yang dirender server memuat teks lengkapnya di sana; kerangka sisi klien punya elemen root kosong dan daftar skrip.

Halaman mana yang paling berisiko?

Bagaimana memperbaiki konten yang hanya ada lewat JavaScript?

Perbaikannya adalah mengirim konten penting pada respons pertama. Pilih opsi teringan yang didukung stack Anda:

Anda tidak perlu mengubah seluruh aplikasi sekaligus. Mulailah dari halaman yang ingin Anda kutip: artikel, dokumentasi, halaman produk dan harga. Area akun dan dashboard boleh tetap di sisi klien, karena memang berada di balik login.

Hindari menyajikan halaman yang berbeda kepada crawler dan pengguna berdasarkan user agent. Merender HTML yang sama untuk semua orang lebih mudah dirawat dan menghindari keraguan soal cloaking.

Apakah layar login, persetujuan, dan paywall juga memblokir crawler AI?

Ya. Crawler tidak login, tidak mengklik banner cookie, dan tidak menyelesaikan tantangan. Anthropic menyatakan bot-nya tidak akan mencoba melewati CAPTCHA. Jika consent manager mengganti halaman dengan overlay layar penuh di HTML, atau mengalihkan pengunjung pertama ke halaman persetujuan, crawler mendapat itu, bukan konten Anda.

Pastikan halaman publik merender kontennya di HTML apa pun status persetujuannya, dengan banner sebagai overlay, bukan pengganti. Jaga halaman yang ingin Anda kutip tetap di luar tembok login, dan periksa bahwa crawler tidak dialihkan ke halaman masuk.

Bagaimana AISeeWhy mendeteksi halaman yang hanya mengandalkan JavaScript?

AISeeWhy membaca HTML awal sebagaimana diterima tiap crawler, tanpa menjalankan skrip. Ketika sebuah halaman nyaris tanpa teks yang terlihat tetapi punya elemen root framework dan skrip, ia melaporkan temuan P1 bahwa konten memerlukan JavaScript. Ia juga menandai pengalihan yang membawa crawler ke tempat lain daripada halaman yang diterima browser.

Pertanyaan yang sering diajukan

Apakah Googlebot merender JavaScript?

Ya. Google merayapi HTML, mengantrekan halaman untuk dirender, dan merendernya dengan Chromium headless ketika sumber daya memungkinkan. Google tetap merekomendasikan server-side rendering atau prerendering.

Apakah crawler ChatGPT, Claude, dan Perplexity menjalankan JavaScript?

Dokumentasi crawler vendor mereka tidak menyatakannya. Sampai vendor menyatakan sebaliknya, anggap crawler membaca HTML awal dan pastikan konten Anda ada di dalamnya.

Apakah dynamic rendering untuk bot ide yang baik?

Itu berfungsi sebagai solusi sementara tetapi menambah jalur rendering kedua yang harus dirawat. Server-side rendering atau HTML statis menyajikan konten yang sama untuk semua orang dan merupakan solusi jangka panjang yang lebih sederhana.

Apakah JSON-LD yang ditambahkan lewat JavaScript dianggap?

Google bisa membacanya setelah rendering, tetapi crawler yang tidak menjalankan skrip tidak akan melihatnya. Letakkan JSON-LD di HTML awal.

Sumber

Artikel lainnya