रोबोट्स.टेक्स्ट फ़ाइल और उसकी त्रुटियों का पूरा गाइड
रोबोट्स.टेक्स्ट एक टेक्स्ट फ़ाइल है जिसमें साइट पेजों को इंडेक्स करने के लिए निर्देश (निर्देशिकाएँ) होते हैं। इस फ़ाइल का उपयोग करके, आप खोज रोबोट्स को बता सकते हैं कि वेब रिसोर्स पर कौन से पेज या सेक्शन क्रॉल किए जाएँ और इंडेक्स (खोज इंजन डेटाबेस) में दर्ज किए जाएँ और कौन से नहीं।
रोबोट्स.टेक्स्ट फ़ाइल साइट की रूट में स्थित है और domain.com/robots.txt
पर उपलब्ध है।
एसईओ के लिए रोबोट्स.टेक्स्ट क्यों आवश्यक है?
यह फ़ाइल खोज इंजनों को आवश्यक निर्देश देती है जो सीधे वेबसाइट की खोज इंजन में रैंकिंग की प्रभावशीलता को प्रभावित करती है। रोबोट्स.टेक्स्ट का उपयोग करने से मदद मिलती है:
- खोज इंजनों के क्रॉलर द्वारा डुप्लिकेट सामग्री या उपयोगकर्ताओं के लिए गैर-उपयोगी पेजों (जैसे आंतरिक खोज परिणाम, तकनीकी पेज, आदि) के स्कैनिंग को रोकना।
- वेबसाइट के सेक्शनों की गोपनीयता बनाए रखना (उदाहरण के लिए, आप सीएमएस में सिस्टम जानकारी को एक्सेस से ब्लॉक कर सकते हैं);
- सर्वर ओवरलोड से बचना;
- मूल्यवान पेजों के क्रॉलिंग पर क्रॉलिंग बजट को प्रभावी रूप से खर्च करना।
दूसरी ओर, यदि रोबोट्स.टेक्स्ट में त्रुटियाँ हैं, तो खोज इंजन साइट को गलत तरीके से इंडेक्स करेंगे, और खोज परिणामों में गलत जानकारी शामिल होगी।
आप गलती से उपयोगी पेजों को इंडेक्स करने से रोक सकते हैं जो आपके साइट की खोज इंजनों में रैंकिंग के लिए आवश्यक हैं।
नीचे रोबोट्स.टेक्स्ट फ़ाइल का उपयोग करने के निर्देशों के लिंक हैं।
लैब्रिका पर "रोबोट्स.टेक्स्ट त्रुटियाँ" रिपोर्ट की सामग्री
यह वह है जो आप हमारी "रोबोट्स.टेक्स्ट त्रुटियाँ" रिपोर्ट में पाएँगे:
- "रीफ्रेश" बटन - जब आप इस पर क्लिक करते हैं, तो रोबोट्स.टेक्स्ट फ़ाइल में त्रुटियों पर डेटा रिफ्रेश हो जाएगा।
- रोबोट्स.टेक्स्ट फ़ाइल में सामग्री।
- यदि कोई त्रुटी मिलती है, तो लैब्रिका त्रुटी का विवरण देता है।
लैब्रिका द्वारा पता लगाई जाने वाली रोबोट्स.टेक्स्ट त्रुटियाँ
टूल निम्नलिखित प्रकार की त्रुटियों को खोजता है:
निर्देश को नियम से ":" प्रतीक द्वारा अलग किया जाना चाहिए
आपकी रोबोट्स.टेक्स्ट फ़ाइल में प्रत्येक वैध लाइन में फ़ील्ड नाम, कोलन, और मान होना चाहिए। स्पेस वैकल्पिक हैं लेकिन पठनीयता के लिए अनुशंसित हैं। हैश प्रतीक "#" का उपयोग टिप्पणी जोड़ने के लिए किया जाता है, जो इसके सामने रखी जाती है। खोज इंजन रोबोट "#" प्रतीक के बाद और लाइन के अंत तक सभी टेक्स्ट को अनदेखा करेगा।
मानक प्रारूप:
<field>:<value><#optional-comment>
त्रुटी का एक उदाहरण:
User-agent Googlebot
":" वर्ण गायब है।
सही विकल्प:
User-agent: Googlebot
खाली निर्देश और खाली नियम
यूजर-एजेंट निर्देश में खाली स्ट्रिंग का उपयोग अनुमत नहीं है।
यह प्राथमिक निर्देश है जो इंगित करता है कि आगे के इंडेक्सिंग नियम किस प्रकार के खोज रोबोट के लिए लिखे गए हैं।
त्रुटी का एक उदाहरण:
User-agent:
कोई यूजर-एजेंट निर्दिष्ट नहीं किया गया।
सही विकल्प:
User-agent: the name of the bot
उदाहरण के लिए:
User-agent: Googlebot or User-agent: *
प्रत्येक नियम में कम से कम एक "Allow" या "Disallow" निर्देश होना चाहिए। Disallow इंडेक्सिंग से एक सेक्शन या पेज को बंद करता है। "Allow" जैसा कि इसका नाम इंगित करता है, पेजों को इंडेक्स करने की अनुमति देता है। उदाहरण के लिए, यह क्रॉलर को एक सबडायरेक्टरी या पेज को क्रॉल करने की अनुमति देता है जो सामान्य रूप से प्रोसेसिंग से ब्लॉक है।
ये निर्देश इस प्रारूप में निर्दिष्ट किए जाते हैं:
directive: [path], जहाँ [path] (पेज या सेक्शन का पथ) वैकल्पिक है।
हालाँकि, यदि आप एक तरीका निर्दिष्ट नहीं करते हैं, तो रोबोट्स Allow और Disallow निर्देशों को अनदेखा करते हैं। इस मामले में, वे सभी सामग्री को स्कैन कर सकते हैं।
एक खाली निर्देश Disallow:
निर्देश Allow: /
के समान है, जिसका अर्थ है, "कुछ भी नकारो नहीं।"
साइटमैप निर्देश में त्रुटी का एक उदाहरण:
Sitemap:
साइटमैप का पथ निर्दिष्ट नहीं किया गया।
सही विकल्प:
Sitemap: https://www.site.com/sitemap.xml
नियम से पहले कोई यूजर-एजेंट निर्देश नहीं है
नियम हमेशा यूजर-एजेंट निर्देश के बाद आना चाहिए। पहले यूजर एजेंट नाम के सामने एक नियम रखना इस मतलब है कि कोई स्कैनर भी इसे फॉलो नहीं करेगा।
त्रुटी का एक उदाहरण:
Disallow: /category User-agent: Googlebot
सही विकल्प:
User-agent: Googlebot Disallow: /category
"User-agent: *" के रूप का उपयोग
जब हम User-agent: *
देखते हैं तो इसका मतलब है कि नियम सभी खोज रोबोट्स के लिए सेट किया गया है।
उदाहरण के लिए:
User-agent: * Disallow: /
यह सभी खोज रोबोट्स को संपूर्ण साइट को इंडेक्स करने से रोकता है।
एक रोबोट के लिए केवल एक यूजर-एजेंट निर्देश होना चाहिए और सभी रोबोट्स के लिए केवल एक User-agent: *
निर्देश।
यदि रोबोट्स.टेक्स्ट फ़ाइल में एक ही यूजर एजेंट के लिए अलग-अलग नियमों की सूचियाँ कई बार निर्दिष्ट की जाती हैं, तो खोज रोबोट्स के लिए यह तय करना मुश्किल हो जाएगा कि कौन से नियमों पर विचार करना है। परिणामस्वरूप, रोबोट को पता नहीं होगा कि किस नियम का पालन करना है।
त्रुटी का एक उदाहरण:
User-agent: * Disallow: /category User-agent: * Disallow: /*.pdf.
सही विकल्प:
User-agent: * Disallow: /category Disallow: /*.pdf.
अज्ञात निर्देश
एक निर्देश मिला जो खोज इंजन द्वारा समर्थित नहीं है।
इसके कारण निम्नलिखित हो सकते हैं:
- एक गैर-मौजूद निर्देश की वर्तनी की गई;
- वाक्यविन्यास त्रुटियाँ की गईं, निषिद्ध प्रतीक और टैग का उपयोग किया गया;
- यह निर्देश अन्य खोज इंजन रोबोट्स द्वारा उपयोग किया जा सकता है।
त्रुटी का एक उदाहरण:
Disalow: /catalog
"Disalow" निर्देश मौजूद नहीं है। शब्द की वर्तनी में गलती हुई थी।
सही विकल्प:
Disallow: /catalog
रोबोट्स.टेक्स्ट फ़ाइल में नियमों की संख्या अधिकतम अनुमत से अधिक है
खोज रोबोट्स रोबोट्स.टेक्स्ट फ़ाइल को सही ढंग से प्रोसेस करेंगे यदि इसका आकार 500 KB से अधिक नहीं है। फ़ाइल में अनुमत नियमों की संख्या 2048 है। इस सीमा से अधिक सामग्री को अनदेखा किया जाता है। इससे बचने के लिए, प्रत्येक पेज को बाहर करने के बजाय अधिक सामान्य निर्देशों का उपयोग करें।
उदाहरण के लिए, यदि आपको PDF फ़ाइलों के स्कैनिंग को ब्लॉक करने की आवश्यकता है, तो प्रत्येक एकल फ़ाइल को ब्लॉक न करें। इसके बजाय, निर्देश के साथ .pdf वाले सभी URL को अस्वीकार करें:
Disallow: /*.pdf
नियम अनुमत लंबाई से अधिक है
नियम 1024 वर्णों से अधिक नहीं होना चाहिए।
गलत नियम प्रारूप
आपकी रोबोट्स.टेक्स्ट फ़ाइल को UTF-8 एन्कोडेड प्लेन टेक्स्ट में होना चाहिए। खोज इंजन गैर-UTF-8 वर्णों को अनदेखा कर सकते हैं। इस मामले में, रोबोट्स.टेक्स्ट फ़ाइल से नियम काम नहीं करेंगे।
खोज रोबोट्स द्वारा रोबोट्स.टेक्स्ट फ़ाइल में निर्देशों को सही ढंग से प्रोसेस करने के लिए, सभी नियम Robot Exclusion Standard (REP) का पालन करते हुए लिखे जाने चाहिए, जिसका Google समर्थन करता है और अधिकांश प्रसिद्ध खोज इंजन।
राष्ट्रीय वर्णों का उपयोग
रोबोट्स.टेक्स्ट फ़ाइल में राष्ट्रीय वर्णों का उपयोग निषिद्ध है। मानक-अनुमोदित डोमेन नाम प्रणाली के अनुसार, एक डोमेन नाम केवल लैटिन वर्णमाला के अक्षरों, 0 से 9 तक की संख्याओं और हाइफ़न के सीमित सेट से बना सकता है। यदि डोमेन में गैर-ASCII वर्ण (राष्ट्रीय वर्णमाला सहित) होते हैं, तो इसे Punycode में वैध वर्ण सेट में परिवर्तित किया जाना चाहिए।
त्रुटी का एक उदाहरण:
User-agent: Googlebot Sitemap: https: //bücher.tld/sitemap.xml
सही विकल्प:
User-agent: Googlebot Sitemap: https://xn-bcher-kva.tld/sitemap.xml
एक अमान्य वर्ण का उपयोग किया गया हो सकता है
विशेष वर्ण "*" और "$" का उपयोग अनुमत है। वे निर्देशों की घोषणा में पता पैटर्न निर्दिष्ट करते हैं ताकि उपयोगकर्ता को ब्लॉक करने के लिए अंतिम URL की बड़ी सूची लिखनी न पड़े।
उदाहरण के लिए:
Disallow: /*.php$
किसी भी PHP फ़ाइलों के इंडेक्सिंग को रोकता है।
- तारांकन "*" किसी भी अनुक्रम और किसी भी संख्या में वर्णों को दर्शाता है।
- डॉलर साइन "$" पते के अंत को दर्शाता है और "*" चिह्न के प्रभाव को सीमित करता है।
उदाहरण के लिए, यदि /*.php सभी पथों से मेल खाता है जिसमें .php. हैं, तो /*.php$ केवल उन पथों से मेल खाता है जो .php में समाप्त होते हैं।
"$" प्रतीक मूल्य के बीच में लिखा गया है
"$" चिह्न का उपयोग केवल एक बार और केवल एक नियम के अंत में किया जा सकता है। यह इंगित करता है कि इसके सामने का वर्ण अंतिम होना चाहिए।
त्रुटी का एक उदाहरण:
Allow: /file$html
सही विकल्प:
Allow: /file.html$
नियम "/" या "*" से शुरू नहीं होता है
एक नियम केवल "/" और "*" वर्णों से शुरू हो सकता है।
पथ मूल्य साइट की रूट डायरेक्टरी के सापेक्ष निर्दिष्ट किया जाता है जहाँ रोबोट्स.टेक्स्ट फ़ाइल स्थित है और रूट डायरेक्टरी को इंगित करने वाले स्लैश "/" से शुरू होना चाहिए।
त्रुटी का एक उदाहरण:
Disallow: products
सही विकल्प:
Disallow: /products
या
Disallow: *products
इस पर निर्भर करता है कि आप इंडेक्सिंग से क्या बाहर करना चाहते हैं।
गलत साइटमैप URL प्रारूप
साइटमैप खोज इंजन क्रॉलर के लिए है। वे अनुशंसाएँ शामिल करते हैं कि कौन से पेज पहले क्रॉल किए जाएँ और किस आवृत्ति पर। एक साइटमैप होने से रोबोट्स को आवश्यक पेजों को तेज़ी से इंडेक्स करने में मदद मिलती है।
साइटमैप URL में होना चाहिए:
- पूर्ण पता
- प्रोटोकॉल पदनाम (HTTP: // या HTTPS: //)
- साइट नाम
- फ़ाइल का पथ
- फ़ाइलनाम
त्रुटी का एक उदाहरण:
Sitemap: /sitemap.xml
सही विकल्प:
Sitemap: https://www.site.ru/sitemap.xml
"Crawl-delay" निर्देश का गलत प्रारूप
Crawl-delay निर्देश रोबोट के लिए एक पेज के लोडिंग के अंत और अगले के लोडिंग की शुरुआत के बीच न्यूनतम अवधि सेट करता है।
Crawl-delay निर्देश का उपयोग उन मामलों में किया जाना चाहिए जहाँ सर्वर भारी रूप से लोड है और क्रॉलर की अनुरोधों को प्रोसेस करने के लिए समय नहीं है। सेट अंतराल जितना बड़ा होगा, उतनी कम संख्या में डाउनलोड एक सेशन में होंगे।
अंतराल निर्दिष्ट करते समय, आप पूर्णांक मान और भिन्नात्मक मान दोनों का उपयोग कर सकते हैं। एक अवधि विभाजक के रूप में उपयोग की जाती है। माप इकाई सेकंड में है:
त्रुटियाँ शामिल हैं:
- कई निर्देश Crawl-delay;
- Crawl-delay निर्देश का गलत प्रारूप।
त्रुटी का एक उदाहरण:
Crawl-delay: 0,5 second
सही विकल्प:
Crawl-delay: 0.5
नोट: Google Crawl-delay निर्देश का समर्थन नहीं करता। एक Google बॉट के लिए, आप Search Console वेबमास्टर पैनल में हिट की आवृत्ति सेट कर सकते हैं। हालाँकि, Bing और Yahoo बॉट्स Crawl-delay निर्देश का पालन करते हैं।
लाइन में BOM (Byte Order Mark) - U + FEFF वर्ण है
BOM (Byte Order Mark - बाइट अनुक्रम मार्कर) U + FEFF के रूप का एक वर्ण है, जो टेक्स्ट की शुरुआत में स्थित है। यह यूनिकोड वर्ण जानकारी पढ़ने पर बाइट्स की अनुक्रम निर्धारित करने के लिए उपयोग किया जाता है।
मानक कार्यक्रमों का उपयोग करके फ़ाइल बनाने और संपादित करने पर, संपादक स्वचालित रूप से UTF-8 एन्कोडिंग को BOM टैग के साथ असाइन कर सकते हैं।
BOM एक अदृश्य वर्ण है। इसका कोई ग्राफिकल अभिव्यक्ति नहीं है, इसलिए अधिकांश संपादक इसे नहीं दिखाते। लेकिन कॉपी करते समय, यह प्रतीक एक नए दस्तावेज़ में स्थानांतरित किया जा सकता है।
.html फ़ाइलों में बाइट अनुक्रम मार्कर का उपयोग करते समय, डिज़ाइन सेटिंग्स भ्रमित हो जाती हैं, ब्लॉक स्थानांतरित हो जाते हैं और अपठनीय वर्ण सेट दिखाई दे सकते हैं, इसलिए वेब स्क्रिप्ट और CSS फ़ाइलों से टैग को हटाना अनुशंसित है।
BOM टैग से कैसे छुटकारा पाएँ?
BOM से छुटकारा पाना काफी मुश्किल है। इसे करने का एक आसान तरीका संपादक में फ़ाइल खोलना है जो दस्तावेज़ की एन्कोडिंग बदल सकता है और इसे BOM के बिना UTF-8 एन्कोडिंग के साथ फिर से सहेज सकता है।
उदाहरण के लिए, आप नोटपैड ++ संपादक को मुफ्त में डाउनलोड कर सकते हैं। फिर PTO टैग वाली फ़ाइल को इसमें खोलें और "एन्कोडिंग" मेनू टैब में "UTF-8 (BOM के बिना)" आइटम चुनें।
रोबोट्स.टेक्स्ट वैलिडेटर त्रुटियों को कैसे ठीक करें?
एक रोबोट्स.टेक्स्ट फ़ाइल खोज इंजन क्रॉलर को बताती है कि वह कौन से पेज एक्सेस कर सकता है और नहीं। विशिष्ट त्रुटियाँ और सुधार शामिल हैं:
- रोबोट्स.टेक्स्ट रूट डायरेक्टरी में नहीं होना। इसे ठीक करने के लिए आपको बस अपनी फ़ाइल को रूट डायरेक्टरी में ले जाना होगा।
- वाइल्डकार्ड वर्णों जैसे * (तारांकन) और $ (डॉलर साइन) का खराब उपयोग। यदि वे गलत स्थान पर हैं तो आपको इस वर्ण को खोजना और स्थानांतरित करना या हटाना होगा।
- विकास में साइटों को एक्सेस देना। जब एक साइट निर्माणाधीन है तो आप इसे क्रॉल होने से रोकने के लिए disallow निर्देश का उपयोग कर सकते हैं, हालाँकि, लॉन्च होने के बाद इन्हें हटाना होगा।
- यदि आप देखते हैं:
User-Agent: * Disallow: /
यह आमतौर पर मतलब है कि लाइव पेज अभी भी ब्लॉक है। - अपनी रोबोट्स.टेक्स्ट में साइटमैप URL नहीं जोड़ना। एक साइटमैप URL खोज इंजन बॉट्स को आपकी साइट का स्पष्ट दृश्य देता है।