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

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

  • फ़ाइल का नाम 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: नियम लागू न किया गया हो.
  • नियमों पर केस-सेंसिटिव (बड़े और छोटे अक्षरों में अंतर) का असर पड़ता है. उदाहरण के लिए, Disallow: /file.asp, http://www.example.com/file.asp पर लागू होता है, लेकिन http://www.example.com/FILE.asp पर नहीं.

robots.txt फ़ाइलों में ये निर्देश इस्तेमाल किए जाते हैं:

  • User-agent: [हर ग्रुप के लिए, एक या एक से ज़्यादा निर्देशों की ज़रूरत होती है] इस निर्देश की मदद से उस ऑटोमैटिक क्लाइंट का नाम पता चलता है जिस पर यह नियम लागू होता है. ऑटोमैटिक क्लाइंट को सर्च इंजन क्रॉलर के तौर पर जाना जाता है. यह किसी भी नियम के ग्रुप की पहली लाइन होती है. Google के उपयोगकर्ता एजेंट के नाम, Google के उपयोगकर्ता एजेंट की सूची में दिए गए हैं. इस उदाहरण में बताए गए तरीके से तारे का निशान (*) इस्तेमाल करने पर, सभी क्रॉलर दिखेंगे. इसमें, AdsBot क्रॉलर नहीं होंगे. उन्हें देखने के लिए, उनका नाम साफ़-साफ़ लिखना होगा. उदाहरण:
    # 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

sitemap को छोड़कर सभी डायरेक्टिव, प्रीफ़िक्स, सफ़िक्स या पूरी स्ट्रिंग के लिए, * वाइल्डकार्ड के साथ इस्तेमाल किया जा सकता है.

इन डायरेक्टिव से मेल नहीं खाने वाली लाइनों को नज़रअंदाज़ कर दिया जाएगा.

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

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

# Block googlebot from example.com/directory1/... and example.com/directory2/...
# but allow access to directory2/subdirectory1/...
# All other directories on the site are allowed by default.
User-agent: googlebot
Disallow: /directory1/
Disallow: /directory2/
Allow: /directory2/subdirectory1/

# Block the entire site from anothercrawler.
User-agent: anothercrawler
Disallow: /

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

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

robots.txt से जुड़े मददगार नियम

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

नियम नमूना
पूरी वेबसाइट को क्रॉल करने की अनुमति न दें. ध्यान रखें कि कुछ मामलों में वेबसाइट के यूआरएल अब भी इंडेक्स किए जा सकते हैं, भले ही वे क्रॉल न किए गए हों.

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 Images से मिली किसी खास इमेज पर रोक लगाएं:


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

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


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$