Memahami dasar-dasar SEO JavaScript

JavaScript adalah bagian penting dari platform web dengan berbagai fiturnya yang mengubah web menjadi platform aplikasi yang canggih. Jadikan aplikasi web Anda, yang dikembangkan dengan teknologi JavaScript, dapat ditemukan melalui Google Penelusuran, agar Anda dapat menemukan pengguna baru dan berinteraksi kembali dengan pengguna yang sudah ada saat mereka menelusuri konten yang disediakan oleh aplikasi web Anda. Meskipun Google Penelusuran menjalankan JavaScript dengan versi Chromium yang selalu baru, ada beberapa hal yang dapat Anda optimalkan.

Panduan ini menjelaskan cara Google Penelusuran memproses JavaScript dan praktik terbaik untuk menyempurnakan aplikasi web JavaScript untuk Google Penelusuran.

Cara Googlebot memproses JavaScript

Googlebot memproses aplikasi web JavaScript melalui tiga fase utama:

  1. Crawling
  2. Rendering
  3. Pengindeksan

Googlebot meng-crawl, merender, dan mengindeks halaman web.

Googlebot mengambil URL dari antrean crawl, meng-crawl URL tersebut, lalu meneruskannya ke tahap pemrosesan. Tahap pemrosesan mengekstrak link yang kembali pada antrean crawl dan mengantrekan halaman untuk rendering. Halaman beralih dari antrean render ke perender yang meneruskan HTML yang telah dirender kembali ke pemrosesan yang mengindeks konten dan mengekstrak link untuk memasukannya ke antrean crawl.

Saat Googlebot mengambil URL dari antrean crawling dengan membuat permintaan HTTP, pertama-tama Googlebot akan memeriksa apakah Anda mengizinkan crawling. Googlebot akan membaca file robots.txt. Jika file tersebut menandai URL Anda sebagai tidak boleh di-crawl, Googlebot tidak akan membuat permintaan HTTP ke URL ini dan akan melewatinya.

Selanjutnya, Googlebot akan mengurai respons untuk URL lain dalam atribut href link HTML dan menambahkan URL tersebut ke antrean crawl. Jika Anda tidak ingin link ditemukan, gunakan mekanisme nofollow.

Crawling URL dan penguraian respons HTML sangat efektif pada situs klasik atau halaman yang dirender di sisi server di mana HTML dalam respons HTTP memuat semua konten. Beberapa situs JavaScript mungkin menggunakan model app shell di mana HTML awal tidak memuat konten sebenarnya, dan Googlebot perlu menjalankan JavaScript agar dapat melihat konten halaman sebenarnya yang dihasilkan JavaScript.

Googlebot mengantrekan semua halaman web untuk dirender, kecuali jika header atau tag meta robot memberi tahu Googlebot untuk tidak mengindeks halaman tersebut. Halaman mungkin berada dalam antrean selama beberapa detik, tetapi bisa juga lebih lama. Begitu resource Googlebot memungkinkan, Chromium headless akan merender halaman tersebut dan menjalankan JavaScript. Googlebot kembali mengurai HTML yang telah dirender untuk menemukan link, dan mengantrekan URL yang ditemukannya untuk di-crawling. Googlebot juga menggunakan HTML yang telah dirender untuk mengindeks halaman.

Perlu diingat bahwa sisi server atau pra-render masih merupakan ide bagus karena menjadikan situs Anda lebih cepat bagi pengguna dan crawler. Selain itu, tidak semua bot dapat menjalankan JavaScript.

Mendeskripsikan halaman dengan cuplikan dan judul unik

Judul yang unik dan deskriptif serta deskripsi meta yang berguna dapat membantu pengguna mengidentifikasi hasil terbaik untuk tujuan mereka dengan cepat. Lihat panduan kami untuk membaca penjelasan cara membuat judul dan deskripsi yang baik.

Anda dapat menggunakan JavaScript untuk menyiapkan atau mengubah deskripsi meta serta judul.

Menulis kode yang kompatibel

Browser menawarkan banyak API, dan JavaScript adalah bahasa yang berkembang cepat. Googlebot memiliki beberapa keterbatasan terkait fitur API dan JavaScript yang didukungnya. Untuk memastikan kode Anda kompatibel dengan Googlebot, ikuti panduan memecahkan masalah JavaScript.

Menggunakan kode status HTTP yang bermakna

Googlebot menggunakan kode status HTTP untuk mengetahui apakah terjadi masalah saat meng-crawl halaman.

Sebaiknya Anda menggunakan kode status yang bermakna untuk memberi tahu Googlebot jika ada halaman yang tidak boleh di-crawl atau diindeks, seperti kode 404 untuk halaman yang tidak dapat ditemukan, atau kode 401 untuk halaman yang memerlukan login. Anda dapat menggunakan kode status HTTP untuk memberi tahu Googlebot jika sebuah halaman telah dipindahkan ke URL baru, sehingga indeks dapat diperbarui berdasarkan kondisi tersebut.

Berikut ini daftar kode status HTTP dan waktu penggunaannya:

Status HTTP Waktu penggunaan
301 / 302 Halaman telah dipindahkan ke URL baru.
401 / 403 Halaman tidak tersedia karena masalah izin.
404 / 410 Halaman tidak tersedia lagi.
5xx Terjadi kesalahan di sisi server.

Menggunakan tag meta robot dengan hati-hati

Anda dapat mencegah Googlebot mengindeks halaman atau mengikuti link dengan tag meta robot. Misalnya, tambahkan tag meta berikut ke bagian atas halaman untuk mencegah Googlebot mengindeks halaman tersebut:

<!-- Googlebot won't index this page or follow links on this page -->
<meta name="robots" content="noindex, nofollow">

Anda dapat menggunakan JavaScript untuk menambahkan tag meta robot ke sebuah halaman atau mengubah konten halaman itu. Kode contoh berikut menunjukkan cara mengubah tag meta robot dengan JavaScript untuk mencegah pengindeksan halaman saat ini jika panggilan API tidak menampilkan konten.

fetch('/api/products/' + productId)
  .then(function (response) { return response.json(); })
  .then(function (apiResponse) {
    if (apiResponse.isError) {
      // get the robots meta tag
      var metaRobots = document.querySelector('meta[name="robots"]');
      // if there was no robots meta tag, add one
      if (!metaRobots) {
        metaRobots = document.createElement('meta');
        metaRobots.setAttribute('name', 'robots');
        document.head.appendChild(metaRobots);
      }
      // tell Googlebot to exclude this page from the index
      metaRobots.setAttribute('content', 'noindex');
      // display an error message to the user
      errorMsg.textContent = 'This product is no longer available';
      return;
    }
    // display product information
    // ...
  });
    

Jika noindex ditemukan dalam tag meta robot sebelum menjalankan JavaScript, Googlebot tidak akan merender atau mengindeks halaman itu.

Memperbaiki gambar dan konten yang lambat dimuat

Gambar dapat menguras bandwidth dan menurunkan performa. Salah satu strategi yang dianjurkan adalah menggunakan pemuatan lambat untuk memuat gambar hanya saat pengguna akan melihatnya. Untuk memastikan implementasi pemuatan lambat Anda search-friendly (cocok untuk penelusuran), baca panduan pemuatan lambat kami.