Panduan ini membantu Anda mengidentifikasi dan mengatasi masalah JavaScript yang mungkin memblokir halaman Anda, atau
konten tertentu pada halaman yang didukung JavaScript, sehingga tidak ditampilkan di Google Penelusuran. Meskipun
Googlebot menjalankan JavaScript, ada beberapa perbedaan dan batasan yang perlu
Anda perhitungkan saat mendesain halaman dan aplikasi Anda untuk mengakomodasi cara crawler mengakses dan
merender konten Anda.
Googlebot didesain untuk menjadi fitur web yang selalu mematuhi pedoman ekosistem Android. Crawling adalah
prioritas utamanya,
dengan tetap memastikan hal tersebut tidak menyulitkan pengguna yang mengunjungi situs. Googlebot dan
komponen Web Rendering Service (WRS) terus menganalisis dan mengidentifikasi resource yang
tidak berkontribusi terhadap konten halaman yang penting, dan mungkin tidak mengambil resource tersebut. Misalnya,
permintaan pelaporan dan error yang tidak berkontribusi pada konten halaman yang penting, dan jenis
permintaan serupa lainnya tidak digunakan atau tidak diperlukan untuk mengekstrak konten halaman yang penting.
Jika Anda menduga bahwa masalah JavaScript mungkin memblokir halaman Anda, atau konten
tertentu pada halaman yang didukung JavaScript, agar tidak muncul di Google Penelusuran, ikuti langkah-langkah di bawah ini:
Untuk menguji cara Google meng-crawl dan merender URL, gunakan
Pengujian Situs Mobile-Friendly
atau Alat Inspeksi URL di Search
Console. Anda dapat melihat resource yang dimuat, output dan pengecualian konsol JavaScript, DOM yang
dirender, dan informasi selengkapnya.
Selain itu, kami juga merekomendasikan pengumpulan dan pengauditan error JavaScript yang ditemukan oleh
pengguna, termasuk Googlebot, di situs Anda untuk mengidentifikasi potensi masalah yang dapat memengaruhi
rendering konten.
Tampilkan contoh
Berikut adalah contoh yang menunjukkan cara mencatat error JavaScript yang dicatat di
pengendali onerror global.
window.addEventListener('error', function(e) {
var errorText = [
e.message,
'URL: ' + e.filename,
'Line: ' + e.lineno + ', Column: ' + e.colno,
'Stack: ' + (e.error && e.error.stack || '(no stack trace)')
].join('\n');
// Example: log errors as visual output into the host page.
// Note: you probably don't want to show such errors to users, or
// have the errors get indexed by Googlebot; however, it may
// be a useful feature while actively debugging the page.
var DOM_ID = 'rendering-debug-pre';
if (!document.getElementById(DOM_ID)) {
var log = document.createElement('pre');
log.id = DOM_ID;
log.style.whiteSpace = 'pre-wrap';
log.textContent = errorText;
if (!document.body) document.body = document.createElement('body');
document.body.insertBefore(log, document.body.firstChild);
} else {
document.getElementById(DOM_ID).textContent += '\n\n' + errorText;
}
// Example: log the error to remote service.
// Note: you can log errors to a remote service, to understand
// and monitor the types of errors encountered by regular users,
// Googlebot, and other crawlers.
var client = new XMLHttpRequest();
client.open('POST', 'https://example.com/logError');
client.setRequestHeader('Content-Type', 'text/plain;charset=UTF-8');
client.send(errorText);
});
Pastikan untuk mencegah error soft 404.
Di aplikasi web satu halaman (SPA), hal ini bisa jadi sangat sulit.
Agar halaman error tidak diindeks, Anda dapat menggunakan salah satu atau kedua strategi berikut:
Mengalihkan ke URL yang servernya merespons dengan kode status 404.
Tampilkan contoh
fetch(`https://api.kitten.club/cats/${id}`)
.then(res => res.json())
.then((cat) => {
if (!cat.exists) {
// redirect to page that gives a 404
window.location.href = '/not-found';
}
});
Menambahkan atau mengubah tag meta robots menjadi noindex.
Jangan gunakan URL fragmen untuk memuat konten yang berbeda.
Jangan andalkan persistensi data untuk menayangkan konten.
Gunakan pelacakan sidik jari konten untuk mencegah masalah penyimpanan ke cache dengan Googlebot.
Pastikan aplikasi Anda menggunakan
deteksi fitur
untuk semua API penting yang diperlukan dan menyediakan perilaku
penggantian atau polyfill jika berlaku.
Pastikan konten Anda berfungsi dengan koneksi HTTP.
Pastikan komponen web Anda dirender seperti yang diharapkan.
Gunakan Pengujian Situs Mobile-Friendly atau
Alat Inspeksi URL untuk
mengetahui apakah HTML yang dirender memiliki semua konten yang Anda harapkan.
Jika masalah ini telah diperbaiki, tanda centang hijau akan muncul dan tidak ada error yang ditampilkan. Jika Anda masih
melihat error, posting di
Grup Kerja
Situs JavaScript di Penelusuran.