इस गाइड से आपको ऐसी JavaScript समस्याओं को पहचानने और उन्हें ठीक करने में मदद मिलती है जिनसे शायद, आपके पेज या JavaScript के कंट्रोल वाले पेजों के खास कॉन्टेंट को Google Search में दिखाए जाने में रुकावट आ रही हो. Googlebot, JavaScript पर काम करता है, लेकिन इस स्थिति में आपको अपने पेज और ऐप्लिकेशन डिज़ाइन करते समय इनके अंतर और सीमाओं का ध्यान रखना होगा. साथ ही, यह देखना होगा कि क्रॉलर आपके कॉन्टेंट को एक्सेस और रेंडर कैसे करते हैं. 'Google सर्च' के लिए अपनी JavaScript साइट को बेहतर कैसे बनाया जाए, इसके बारे में हमारी JavaScript SEO की बुनियादी चीज़ों की गाइड में ज़्यादा जानकारी दी गई है.
Googlebot को वेब का एक अच्छा सदस्य बनने के लिए डिज़ाइन किया गया है. क्रॉल करना इसकी मुख्य प्राथमिकता है. इसमें इस बात का ध्यान रखा जाता है कि यह साइट पर आने वाले उपयोगकर्ताओं के अनुभव को खराब न करे. Googlebot और उसके वेब रेंडरिंग सेवा (WRS) कॉम्पोनेंट, ऐसे संसाधनों का विश्लेषण और उनकी पहचान करते रहते हैं जो पेज के ज़रूरी कॉन्टेंट के लिए योगदान नहीं देते. साथ ही, हो सकता है कि ऐसे संसाधनों को शामिल न किया जा सके. उदाहरण के लिए,
रिपोर्टिंग और गड़बड़ी के ऐसे अनुरोध जो पेज के ज़रूरी कॉन्टेंट में योगदान नहीं देते हैं. इसी तरह के दूसरे
अनुरोध जिन्हें पेज के ज़रूरी कॉन्टेंट को निकालने के लिए इस्तेमाल नहीं किया गया है या जो ज़रूरी नहीं हैं. क्लाइंट-साइड
के आंकड़े, शायद आपकी साइट पर
Googlebot और WRS की गतिविधि को पूरी तरह से या सही तरीके से न दिखाएंं. अपनी साइट पर Googlebot और WRS की गतिविधि के साथ-साथ सुझाव/शिकायत/राय को मॉनिटर करने के लिए
Search Console का
इस्तेमाल करें.
अगर आपको लगता है कि JavaScript की समस्याओं की वजह से आपके पेज या JavaScript का इस्तेमाल करके, बनाए गए
पेजों के खास कॉन्टेंट को Google Search में दिखाए जाने में रुकावट आ रही है, तो यह तरीका अपनाएं. अगर आपको पक्के तौर पर यह नहीं पता कि JavaScript ही मुख्य वजह है, तो मुख्य समस्या का पता लगाने के लिए
डीबग करने की हमारी सामान्य गाइड
देखें.
Search Console में
मोबाइल-फ़्रेंडली जांच
या यूआरएल जांचने वाला टूल इस्तेमाल करके देखें कि Google किसी यूआरएल
को कैसे क्रॉल और रेंडर करता है. साइट पर लोड किए गए रिसॉर्स की सूची, JavaScript कंसोल का आउटपुट और अपवाद, रेंडर किया गया
DOM, और ज़्यादा जानकारी देखी जा सकती है.
इसके अलावा, हमारा सुझाव है कि आप
कॉन्टेंट के रेंडर होने के तरीके पर असर डालने वाली समस्याओं की पहचान करें. इसके लिए, आपको अपनी साइट पर
उपयोगकर्ताओं और Googlebot को मिलने वाली JavaScript की गड़बड़ियां इकट्ठा करके उनका ऑडिट करना होगा.
उदाहरण दिखाएं
यहां दिए गए उदाहरण में दिखाया गया है कि global onerror handler में लॉग की गई JavaScript की गड़बड़ियों को कैसे लॉग किया जाता है.
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);
});
सॉफ़्ट 404 गड़बड़ियों पर रोक ज़रूर लगाएं.
एक पेज के ऐप्लिकेशन (एसपीए) में, यह खास तौर से मुश्किल हो सकता है.
गड़बड़ी वाले पेजों को इंडेक्स होने से रोकने के लिए, आप इनमें से एक या दोनों रणनीतियां अपनाएंं:
उस यूआरएल पर रीडायरेक्ट करें जहां सर्वर जवाब में 404 स्टेटस कोड देता है.
उदाहरण दिखाएं
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';
}
});
अलग-अलग कॉन्टेंट लोड करने के लिए, फ़्रैगमेंट वाले यूआरएल इस्तेमाल न करें.
कॉन्टेंट दिखाने के लिए, डेटा के बने रहने पर भरोसा न करें.
Googlebot की मदद से कैश मेमोरी में सेव होने की समस्याओं से बचने के लिए, कॉन्टेंट फ़िंगरप्रिंट की सुविधा का इस्तेमाल करें.
पक्का करें कि आपका ऐप्लिकेशन सभी ज़रूरी एपीआई के लिए,
सुविधा की पहचान
का इस्तेमाल करता हो. साथ ही, ये एपीआई जहां ज़रूरत हो, फ़ॉलबैक
या polyfill उपलब्ध कराते हों.
पक्का करें कि आपका कॉन्टेंट एचटीटीपी कनेक्शन के साथ काम करता है.
पक्का करें कि आपके वेब कॉम्पोनेंट ठीक तरह से रेंडर हुए हों.
यह जांचने के लिए कि रेंडर किए गए एचटीएमएल में वह पूरा कॉन्टेंट मौजूद है जिसकी आपको को उम्मीद थी, मोबाइल-फ़्रेंडली जांच या
यूआरएल जांचने वाला टूल
इस्तेमाल करें.
समस्या को ठीक कर लेने पर, हरे रंग का सही का निशान दिखता है और गड़बड़ियां नहीं दिखती हैं. अगर आपको अब भी गड़बड़ियां दिखती हैं, तो JavaScript के सर्च वर्किंग ग्रुप में पोस्ट करें.