robots.txt के बारे में जानकारी

robots.txt फ़ाइल बनाना

अगर आप साइट को होस्ट करने वाली WIX या Blogger जैसी किसी सेवा का इस्तेमाल करते हैं, तो शायद आपको robots.txt फ़ाइल बनाने या उसमें बदलाव करने की ज़रूरत न हो.

शुरुआत करना

robots.txt फ़ाइल आपकी साइट के रूट में होती है. इसलिए, साइट www.example.com के लिए robots.txt फ़ाइल www.example.com/robots.txt में रहेगी. robots.txt एक सामान्य टेक्स्ट फ़ाइल हाेती है, जो रोबोट एक्सक्लूज़न स्टैंडर्ड का पालन करती है. robots.txt फ़ाइल में एक या एक से ज़्यादा नियम होते हैं. हर नियम उस वेबसाइट में किसी क्रॉलर को एक खास फ़ाइल पाथ देखने से रोकता (या देखने देता) है.

यहां दो नियमों वाली एक सामान्य robots.txt फ़ाइल दी गई है. इसके बारे में नीचे समझाया गया है:

# Group 1
User-agent: Googlebot
Disallow: /nogooglebot/

# Group 2
User-agent: *
Allow: /

Sitemap: http://www.example.com/sitemap.xml

 

इसका मतलब है:

  1. "Googlebot" क्रॉलर नाम का उपयोगकर्ता एजेंट http://example.com/nogooglebot/ फ़ोल्डर या दूसरी सब-डायरेक्ट्री क्रॉल नहीं कर सकते.
  2. बाकी सभी उपयोगकर्ता एजेंट पूरी साइट देख सकते हैं. (इसे शामिल न करने पर भी नतीजा यही होता, क्योंकि पूरी एक्सेस सिर्फ़ एक मानी हुई बात है, असलियत में पूरी एक्सेस मिलनी मुश्किल है.)
  3. साइट की साइटमैप फ़ाइल http://www.example.com/sitemap.xml पर मौजूद है

इसके लिए ज़्यादा जानकारी वाला उदाहरण हम आगे देंगे.

robots.txt के बुनियादी दिशा-निर्देश

robots.txt फ़ाइलों के बारे में कुछ बुनियादी दिशा-निर्देश यहां दिए गए हैं. हमारी सलाह है कि आप robots.txt फ़ाइलों का पूरा सिंटैक्स पढ़ें, क्योंकि robots.txt सिंटैक्स में कुछ खास चीज़ें हाेती हैं, जिनमें मामूली गलती होने पर भी आपकी साइट पर बुरा असर पड़ सकता है. इसलिए, इस सिंटैक्स को ठीक तरह से समझना ज़रूरी है.

robots.txt की जगह अाैर उसके फ़ॉर्मैट की जानकारी

robots.txt फ़ाइल बनाने के लिए आप किसी भी टेक्स्ट एडिटर का इस्तेमाल कर सकते हैं. टेक्स्ट एडिटर ऐसा होना चाहिए, जो मानक UTF-8 टेक्स्ट फ़ाइल बना सके. किसी वर्ड प्रोसेसर का इस्तेमाल न करें क्योंकि वर्ड प्रोसेसर अक्सर अपने ही फ़ॉर्मैट में फ़ाइल सेव करते हैं. साथ ही, ये प्रोसेसर कर्ली काेट (“ ”) जैसे अनचाहे वर्ण जोड़ सकते हैं, जिससे क्रॉलर को क्रॉल करते समय परेशानी हो सकती है.

अपनी साइट के लिए robots.txt फ़ाइलें लिखने या उनमें बदलाव करने के लिए robots.txt की जाँच करने वाले टूल का इस्तेमाल करें. आप इस टूल का इस्तेमाल करके अपनी साइट के काम करने के तरीके और सिंटैक्स की जाँच कर सकते हैं.

फ़ॉर्मैट और जगह के नियम:

  • फ़ाइल का नाम robots.txt होना चाहिए
  • आपकी साइट में सिर्फ़ एक robots.txt फ़ाइल हो सकती है.
  • robots.txt फ़ाइल उस वेबसाइट होस्ट के रूट में होनी चाहिए जिस पर वह लागू होती है. उदाहरण के लिए, http://www.example.com/ के नीचे दिए गए सभी यूआरएल नियंत्रित करने के लिए robots.txt फ़ाइल का http://www.example.com/robots.txt पर होना ज़रूरी है. यह किसी दूसरी सब-डायरेक्ट्री में नहीं हो सकती ( उदाहरण के लिए, http://example.com/pages/robots.txt पर). अगर आपको नहीं पता कि आप अपनी वेबसाइट के रूट तक कैसे पहुंच सकते हैं या इसके लिए आपको अनुमति की ज़रूरत है, तो वेबसाइट को होस्ट करने की सेवा देने वाली कंपनी से संपर्क करें. अगर आप अपनी वेबसाइट के रूट तक नहीं पहुंच पा रहे हैं, तो ब्लॉक करने का वैकल्पिक तरीका, जैसे मेटा टैग इस्तेमाल करें.
  • robots.txt फ़ाइल सब-डोमेन (उदाहरण के लिए, http://website.example.com/robots.txt) या बिना मानक वाले पोर्ट (उदाहरण के लिए, http://example.com:8181/robots.txt) पर लागू हो सकती है.
  • # के निशान के बाद की कोई भी सामग्री टिप्पणी मानी जाती है.

सिंटैक्स

  • robots.txt, UTF-8 से सुरक्षित की गई एक टेक्स्ट फ़ाइल होनी चाहिए (जिसमें ASCII शामिल है). वर्णों के दूसरे सेट का इस्तेमाल नहीं किया जा सकता.
  • robots.txt फ़ाइल में एक या एक से ज़्यादा समूह होते हैं.
  • हर समूह में कई नियम या डायरेक्टिव (यानी निर्देश) हाेते हैं. एक पंक्ति में एक ही डायरेक्टिव होता है.
  • समूह में नीचे दी गई जानकारी शामिल होती है:
    • समूह किन पर लागू हाेते हैं (उपयोगकर्ता एजेंट)
    • वह एजेंट किस तरह की डायरेक्ट्री या फ़ाइलें इस्तेमाल कर सकता है, और/या
    • वह एजेंट किस तरह की डायरेक्ट्री या फ़ाइलें इस्तेमाल नहीं कर सकता.
  • समूह को ऊपर से नीचे के क्रम में प्रोसेस किया जाता है. एक उपयोगकर्ता एजेंट सिर्फ़ एक नियम सेट से ही मेल खा सकता है. वह पहला नियम सेट, जो दिए गए उपयोगकर्ता एजेंट से सबसे ज़्यादा मिलता-जुलता है, उसी से उपयोगकर्ता एजेंट मेल खाता है.
  • डिफ़ॉल्ट रूप से, ऐसा माना जाता है कि कोई उपयोगकर्ता एजेंट किसी भी ऐसे पेज या डायरेक्ट्री को क्रॉल कर सकता है, जिस पर Disallow: नियम से रोक नहीं लगी होती.
  • नियमों पर अक्षर छोटे-बड़े होने का असर पड़ता है. उदाहरण के लिए, http://www.example.com/file.asp पर Disallow: /file.asp नियम लागू होता है, लेकिन http://www.example.com/File.asp पर नहीं.

robots.txt फ़ाइलों में नीचे दिए गए डायरेक्टिव इस्तेमाल होते हैं:

  • User-agent: [समूह के हिसाब से एक या एक से ज़्यादा ज़रूरी है ] उस सर्च इंजन रोबॉट (वेब क्रॉलर सॉफ़्टवेयर) का नाम, जिस पर नियम लागू होता है. यह किसी नियम की पहली लाइन होती है. ज़्यादातर उपयोगकर्ता-एजेंट के नाम वेब रोबोट के डेटाबेस या उपयोगकर्ता-एजेंट की Google की सूची में शामिल होते हैं. पाथ के प्रीफ़िक्स (उपसर्ग), सफ़िक्स (प्रत्यय), या पूरी स्ट्रिंग के लिए * वाइल्डकार्ड के साथ इस्तेमाल किया जा सकता है. नीचे दिए गए उदाहरण में बताए गए तरीके से तारे का निशान (*) इस्तेमाल करने पर, यह सभी क्रॉलर दिखाएगा. इसमें AdsBot क्रॉलर नहीं होंगे, जिन्हें देखने के लिए उनका नाम साफ़-साफ़ लिखना होगा. (Google के क्रॉलर के नामों की सूची देखें.) उदाहरण:
    # Example 1: Block only Googlebot
    User-agent: Googlebot
    Disallow: /
    
    # Example 2: Block Googlebot and Adsbot
    User-agent: Googlebot
    User-agent: AdsBot-Google
    Disallow: /
     
    # Example 3: Block all but AdsBot crawlers
    User-agent: * 
    Disallow: /
  • Disallow: [हर नियम में कम से कम एक या एक से ज़्यादा Disallow या Allow वाले पेज या डायरेक्ट्री] रूट डोमेन से जुड़ी डायरेक्ट्री या पेज, जिसे उपयोगकर्ता-एजेंट क्रॉल नहीं कर सकता. अगर यह एक पेज है, तो इसका पूरा नाम वैसा ही होना चाहिए, जैसा ब्राउज़र में दिखाया गया है. अगर यह एक डायरेक्ट्री है, तो इसका नाम '/' के निशान से खत्म होना चाहिए.  पाथ के प्रीफ़िक्स (उपसर्ग), सफ़िक्स (प्रत्यय), या पूरी स्ट्रिंग के लिए * वाइल्डकार्ड के साथ इस्तेमाल किया जा सकता है.
  • Allow: [हर नियम में कम से कम एक या एक से ज़्यादा Disallow या Allow वाली वाले पेज या डायरेक्ट्री] रूट डोमेन से जुड़ी डायरेक्ट्री या पेज, जिसे अभी-अभी बताए गए उपयोगकर्ता-एजेंट से क्रॉल किया जाना चाहिए. इसे Disallow की जगह बदलकर इस्तेमाल किया जाता है, ताकि अनुमति न दी गई डायरेक्ट्री में सब-डायरेक्ट्री या पेज को क्रॉल करने की मंज़ूरी दी जा सके. अगर यह एक पेज है, तो इसका पूरा नाम वैसा ही होना चाहिए, जैसा ब्राउज़र में दिखाया गया है. अगर यह एक डायरेक्ट्री है, तो इसका नाम '/' के निशान से खत्म होना चाहिए. पाथ के प्रीफ़िक्स (उपसर्ग), सफ़िक्स (प्रत्यय), या पूरी स्ट्रिंग के लिए * वाइल्डकार्ड के साथ इस्तेमाल किया जा सकता है.
  • Sitemap: [वैकल्पिक, हर फ़ाइल में शून्य या उससे ज़्यादा] इस वेबसाइट के लिए साइटमैप की जगह. सभी ज़रूरी शर्तें पूरी करने वाला यूआरएल होना चाहिए; Google http/https/www.non-www के विकल्प काे नहीं मानता या उनकी जाँच नहीं करता है. साइटमैप यह बताने का एक अच्छा तरीका है कि Google को आपकी साइट पर किस तरह की सामग्री क्रॉल करनी चाहिए, बजाय इसके कि वह किस तरह की सामग्री क्रॉल कर सकता है या नहीं कर सकता है. साइटमैप के बारे में ज़्यादा जानें. उदाहरण:
    Sitemap: https://example.com/sitemap.xml
    Sitemap: http://www.example.com/sitemap.xml

दूसरे नियमों को अनदेखा कर दिया जाता है.

एक और उदाहरण फ़ाइल

robots.txt फ़ाइल में नियमों के एक या एक से ज़्यादा समूह होते हैं. हर समूह की शुरुआती User-agent लाइन होती है, जिससे नियमों का लक्ष्य तय होता है. यहां दो समूह वाली फ़ाइल दी गई है. साथ दी गई टिप्पणियां हर समूह के बारे में बताती हैं:

# googlebot को example.com/directory1/... और example.com/directory2/...क्रॉल करने पर रोक लगाएं
# लेकिन directory2/subdirectory1/...देखने दें
# साइट की बाकी सभी डायरेक्ट्री देखने की मंज़ूरी डिफ़ॉल्ट रूप से होती है.
User-agent: googlebot
Disallow: /directory1/
Disallow: /directory2/
Allow: /directory2/subdirectory1/

# किसी अन्य क्रॉलर को पूरी साइट को क्रॉल करने की अनुमति न दें.
User-agent: anothercrawler
Disallow: /

पूरा robots.txt सिंटैक्स

आप पूरा robots.txt सिंटैक्स यहां देख सकते हैं. कृपया पूरा दस्तावेज़ पढ़ें, क्योंकि robots.txt सिंटैंक्स में कुछ ऐसे मुश्किल हिस्से हैं, जिन्हें समझना ज़रूरी है.

काम के robots.txt नियम

ये रहे कुछ काम के robots.txt नियम:

नियम नमूना
पूरी वेबसाइट को क्रॉल करने की अनुमति न दें. ध्यान रखें कि कुछ मामलों में वेबसाइट के यूआरएल अब भी इंडेक्स किए जा सकते हैं, भले ही वे क्रॉल न किए गए हों. ध्यान दें: यह अलग-अलग AdsBot क्रॉलर नहीं दिखाता, उन्हें देखने के लिए उनका नाम साफ़-साफ़ लिखना ज़रूरी है.
User-agent: *
Disallow: /
किसी डायरेक्ट्री के नाम के बाद फ़ॉरवर्ड स्लैश (/) लगाकर उस डायरेक्ट्री और उसकी सामग्री काे क्रॉल करने की मंज़ूरी न देने का विकल्प चुना जा सकता है. याद रखें कि निजी सामग्री तक पहुंच रोकने के लिए robots.txt इस्तेमाल नहीं करनी चाहिए: इसके बजाय सही प्रमाणीकरण इस्तेमाल करें. जिन यूआरएल को robots.txt ने मंज़ूरी नहीं दी है, उन्हें बिना क्रॉल किए अभी भी इंडेक्स किया जा सकता है. robots.txt फ़ाइल को कोई भी व्यक्ति देख सकता है. इससे आपकी निजी सामग्री के जगह से जुड़ी जानकारी का खुलासा हो सकता है.
User-agent: *
Disallow: /calendar/
Disallow: /junk/
सिर्फ़ एक क्रॉलर को क्रॉल करने की मंज़ूरी दें
User-agent: Googlebot-news
Allow: /

User-agent: *
Disallow: /
एक क्रॉलर को छोड़कर बाकी सभी क्रॉलर को क्रॉल करने की मंज़ूरी दें
User-agent: Unnecessarybot
Disallow: /

User-agent: *
Allow: /

स्लैश के बाद पेज को शामिल करके एक वेब पेज पर क्रॉल करने की मंज़ूरी न दें:

User-agent: *
Disallow: /private_file.html

Google इमेज से मिली किसी खास इमेज पर रोक लगाएं:

User-agent: Googlebot-Image
Disallow: /images/dogs.jpg

अपनी साइट पर Google इमेज से मिलने वाली सभी इमेज पर रोक लगाएं:

User-agent: Googlebot-Image
Disallow: /

किसी खास तरह की फ़ाइल क्रॉल करने की मंज़ूरी न दें (उदाहरण के लिए, .gif):

User-agent: Googlebot
Disallow: /*.gif$

पूरी साइट क्रॉल करने की मंज़ूरी न दें, लेकिन उन पेजों पर AdSense विज्ञापन दिखाएं. Mediapartners-Google क्रॉलर को छोड़कर अन्य सभी वेब क्रॉलर को मंज़ूरी न दें. इसे लागू करने के बाद, आपके पेज खोज नतीजों में दिखाई नहीं देते हैं, लेकिन Mediapartners-Google वेब क्रॉलर अभी भी यह तय करने के लिए उनका विश्लेषण कर सकता है कि आपकी साइट पर आने वाले लोगों को कौनसे विज्ञापन दिखाए जाने हैं.

User-agent: *
Disallow: /

User-agent: Mediapartners-Google
Allow: /
किसी खास स्ट्रिंग पर खत्म होने वाले यूआरएल देखें, $ इस्तेमाल करें. उदाहरण के लिए, नमूना कोड उन सभी यूआरएल को रोक देता है जो .xls के साथ खत्म होते हैं:
User-agent: Googlebot
Disallow: /*.xls$
क्या यह उपयोगी था?
हम उसे किस तरह बेहतर बना सकते हैं?