دستورات 'Disallow' توی فایل robots.txt چطور کار میکنن؟
دستورات مهم در robots.txt
پروتکل Sitemaps
ارتباط robots.txt با مدیریت ربات ها
humans.txt، پیامهای مخصوص آدم ها!
سوالات متداول
جمع بندی
robots.txt یه فایل ساده اما حیاتی برای هر سایته که به موتورهای جستجو میگه چه جاهایی از سایت رو ببینن و کجاها رو ندیده بگیرن. توی این مقاله، قراره با این فایل و کارکردهای جالبش بیشتر آشنا بشیم و بفهمیم چطور میشه سایت رو بهینهتر و هوشمندتر مدیریت کرد.
فایل robots.txt چیه؟
فایل robots.txt یه جور راهنما برای رباتهای وبه. این فایل که توی اکثر سایتها وجود داره، به رباتهای موتورهای جستجو میگه که کدوم قسمتهای سایت رو باید بگردن و از کدوم بخشها دوری کنن. اینطوری میتونی بخشهای مهم سایتت رو بهینه کنی و از دسترسی رباتها به جاهایی که نمیخوای جلوگیری کنی. اما نکته اینجاست که robots.txt بیشتر برای مدیریت رباتهای "خوب" مثل گوگل استفاده میشه و رباتهای "بد" معمولاً به این دستورات توجهی نمیکنن.
تصور کن رفتی باشگاه یا یه مرکز اجتماع و یه تابلوی "قوانین" رو دیوار نصب شده. این تابلو خودش قدرتی برای اجرا کردن اون قوانین نداره، ولی آدمهای خوب و مودب اون قوانین رو رعایت میکنن. ولی خب، اگه کسی بد باشه، شاید قوانین رو بشکنه و حتی از اونجا اخراج بشه. فایل robots.txt هم یه جورایی همینه. به رباتها میگه که چه جاهایی از سایت اجازه ورود دارن و چه جاهایی نه. رباتهای خوب گوش میدن، رباتهای بد نه.
ربات چیه؟ یه برنامه کامپیوتری خودکاره که با سایتها و اپلیکیشنها تعامل داره. رباتها هم مثل آدما خوب و بد دارن. یه نمونه از رباتهای خوب، همون ربات هایی هستن که صفحات وب رو میگردن و اطلاعاتشون رو توی نتایج جستجو نمایش میدن. اینجا همون فایل robots.txt به درد میخوره؛ کمک میکنه که رباتهای جستجوگر از سرور سایتت زیادی کار نکشن و به صفحاتی که نمیخوای عمومی بشن، دسترسی نداشته باشن.
راستی اگه میخوای بدونی این رباتهای جستجوگر دقیقاً چه شکلی هستن و چی کار میکنن، اینجا کلیک کن تا با دنیای جالب Crawlerها آشنا بشی!
robots.txt چطور کار میکنه؟
فایل robots.txt یه فایل متنی ساده ست. توش خبری از کدهای HTML نیست. این فایل توی سرور سایت قرار داره، درست مثل بقیه فایلهای سایت. برای دیدنش هم کافیه آدرس سایت رو بنویسی و بعد "/robots.txt" رو اضافه کنی. مثل: https://www.cloudflare.com/robots.txt این فایل معمولاً توی سایت لینک نمیشه، پس کاربرها خیلی بهش بر نمیخورن. ولی اکثر رباتهای جستجوگر، اول میرن این فایل رو چک میکنن قبل از اینکه بقیه سایت رو بگردن.
با اینکه این فایل دستوراتی رو برای رباتها مشخص میکنه، خودش نمیتونه اجراشون کنه. رباتهای خوب مثل جستجوگرها یا اون هایی که خبرها رو دنبال میکنن، اول به این فایل سر میزنن و دستورها رو اجرا میکنن. ولی رباتهای بد ممکنه کلاً نادیدش بگیرن یا حتی ازش استفاده کنن تا صفحات ممنوعه رو پیدا کنن.
رباتهای جستجوگر معمولاً دقیقترین دستورات موجود توی فایل robots.txt رو دنبال میکنن. اگه توی فایل دستورات متناقضی باشه، ربات اون دستوری که جزئی تره رو اجرا میکنه.
یه نکته مهم اینه که هر زیردامنه (subdomain) نیاز به فایل robots.txt خودش داره. مثلاً برای سایت cloudflare.com یه فایل robots.txt وجود داره، ولی زیردامنه هایی مثل blog.cloudflare.com یا community.cloudflare.com هم باید فایل خودشون رو داشته باشن.
چه پروتکل هایی توی فایل robots.txt استفاده میشن؟
اول باید بدونیم که "پروتکل" چیه؟ توی دنیای شبکه، پروتکل یعنی یه فرمت خاص برای دادن دستورات یا فرمان ها. حالا فایلهای robots.txt از دو تا پروتکل استفاده میکنن که خیلی مهم هستن.
پروتکل اصلی که توی این فایلها استفاده میشه، اسمش هست Robots Exclusion Protocol. این پروتکل به رباتها میگه که کدوم صفحات یا منابع رو نباید بگردن و باید ازشون دوری کنن. این دستورات به صورت خیلی ساده توی فایل robots.txt نوشته میشن.
اما یه پروتکل دیگه هم داریم به اسم Sitemaps protocol. این پروتکل رو میتونی مثل یه راهنما برای رباتها در نظر بگیری که بهشون نشون میده کدوم صفحات رو باید بگردن و از دستشون ندن. این کار باعث میشه که ربات ها، صفحههای مهم سایتت رو از دست ندن و همه جا رو درست بگردن.
مثال از یه فایل robots.txt
حالا بیا یه نگاهی بندازیم به فایل robots.txt مربوط به سایت www.cloudflare.com:
بیایم خط به خط بررسی کنیم که اینها چه معنی ای دارن.
User Agent چیه؟ عبارت 'User-agent: *' چه معنی ای داره؟
حالا برسیم به User Agent. هر کسی که توی اینترنت فعاله، یه User Agent داره. حالا این User Agent چی هست؟ برای آدم ها، این شامل اطلاعاتیه مثل نوع مرورگر و نسخه سیستم عامل، اما هیچ اطلاعات شخصی توش نیست. این کمک میکنه که سایتها محتوای سازگار با دستگاه و مرورگرت رو بهت نشون بدن. برای رباتها هم این User Agent میتونه به مدیرهای سایت کمک کنه بفهمن چه ربات هایی دارن سایت رو میگردن.
توی فایل robots.txt، مدیرهای سایت میتونن برای هر ربات خاص، دستورهای مخصوص بنویسن. مثلاً اگر بخوان یه صفحه توی نتایج گوگل نشون داده بشه، ولی توی بینگ نه، میتونن توی فایل robots.txt دو مجموعه دستور مختلف بذارن؛ یکی برای Bingbot و یکی برای Googlebot.
توی مثال سایت Cloudflare، از عبارت *"User-agent: " استفاده شده. این ستاره به معنی "wild card" یا همون هرچی هست، و یعنی دستورها برای همه رباتها هستن، نه یه ربات خاص.
چند نمونه از اسمهای رایج User Agent برای رباتهای موتور جستجو:
گوگل:
Googlebot
Googlebot-Image (برای تصاویر)
Googlebot-News (برای خبرها)
Googlebot-Video (برای ویدیوها)
بینگ:
Bingbot
MSNBot-Media (برای تصاویر و ویدیو)
بایدو:
Baiduspider
دستورات 'Disallow' توی فایل robots.txt چطور کار میکنن؟
دستور Disallow یکی از رایجترین دستورها توی پروتکل robots exclusion هست. این دستور به رباتها میگه که وارد یه صفحه یا مجموعه ای از صفحات نشن. البته این صفحات واقعاً "مخفی" نمیشن، فقط برای کاربران عادی گوگل یا بینگ نمایش داده نمیشن، چون احتمالاً زیاد به دردشون نمیخورن. ولی اگه کسی آدرس دقیق صفحه رو بدونه، میتونه همچنان واردش بشه.
حالا این دستور Disallow رو میشه به روشهای مختلفی استفاده کرد که چندتاش رو با هم مرور میکنیم:
مسدود کردن یک فایل خاص (یا همون یه صفحه وب)
فرض کن 7لرن بخواد رباتها رو از گشتن توی صفحه "آموزش HTML" منع کنه. دستورش این شکلی میشه:
Disallow: /learning/html/
توی این دستور، بعد از Disallow، اون قسمتی از URL که مربوط به صفحه "آموزش HTML" هست رو قرار میدیم. اینطوری رباتهای خوب دیگه سراغ این صفحه نمیرن و توی نتایج جستجو هم ظاهر نمیشه.
مسدود کردن یک پوشه کامل
گاهی بهتره به جای اینکه دونه دونه صفحات رو مسدود کنی، کل یه پوشه رو بلاک کنی. اگه چند تا صفحه همگی توی یه بخش از سایت قرار گرفته باشن، میتونی با یه دستور کل اون پوشه رو ببندی.
مثلاً:
Disallow: /__mesa/
این یعنی هیچ کدوم از صفحاتی که توی پوشه __mesa قرار دارن نباید توسط رباتها بررسی بشن.
دسترسی کامل به سایت
اگر بخوای به رباتها اجازه بدی که کل سایت رو بدون هیچ محدودیتی بگردن، در فایل robots.txt نیازی به استفاده از دستور Disallow نداری. در واقع، اگه هیچ دستوری برای Disallow ننویسی (یعنی خط Disallow: خالی باشه یا اصلاً توی فایل نباشه)، این به معنای اجازه کامل به همه ربات هاست که به هر جای سایت دسترسی داشته باشن.
Disallow:
اینجا به رباتها میگی که هیچ محدودیتی وجود نداره و میتونن کل سایت رو بگردن.
مخفی کردن کل سایت از ربات ها
اگه بخوای کلاً سایتت رو از دسترس رباتها خارج کنی، این دستور رو مینویسی:
Disallow: /
اینجا علامت "/" به معنی ریشه سایت هست، یعنی صفحه اصلی و همه صفحات دیگه ای که بهش لینک شدن. این دستور باعث میشه که هیچ رباتی نتونه سایت رو بگرده.
خلاصه اینکه، با گذاشتن یه اسلش ساده میتونی کل سایتت رو از دسترس موتورهای جستجو خارج کنی!
دستورات مهم در robots.txt
فایل robots.txt شامل یه سری دستوراته که به رباتهای موتورهای جستجو میگه کجاها از سایتت رو باید بگردن و کجاها رو نباید. این دستورات بهت کمک میکنن تا کنترل بهتری روی نحوه خزش رباتها توی سایتت داشته باشی. توی این بخش، با مهمترین این دستورات مثل Allow و Crawl-delay آشنا میشی
Allow: دستور Allow به رباتها اجازه میده که به یه صفحه یا پوشه خاص از سایت دسترسی داشته باشن. مثلاً اگه بخوای همه صفحات رو بلاک کنی ولی فقط یه صفحه خاص رو برای رباتها باز بذاری، از این دستور استفاده میکنی. البته یادت باشه که همه موتورهای جستجو این دستور رو نمیفهمن و ممکنه نادیده بگیرنش.
Crawl-delay: دستور Crawl-delay برای مدیریت زمان بندی درخواستهای ربات هاست. با این دستور میتونی تعیین کنی که رباتها بین هر درخواست چقدر صبر کنن، تا سرور سایتت زیاد تحت فشار قرار نگیره. مثلاً با این دستور:
Crawl-delay: 8
می گی که ربات باید بین هر درخواست 8 میلی ثانیه صبر کنه. البته گوگل این دستور رو نمیفهمه، ولی بقیه موتورهای جستجو معمولاً رعایتش میکنن. برای تنظیم میزان خزش گوگل باید به Google Search Console مراجعه کنی.
پروتکل Sitemaps
پروتکل Sitemaps به رباتها کمک میکنه تا بدونن کدوم صفحات سایتت رو باید بگردن. Sitemap یه فایل XML هست که شامل لیست تمام صفحات سایته. میتونی لینک این فایل رو توی robots.txt اضافه کنی تا رباتها چیزی رو از دست ندن. با این حال، این پروتکل فقط بهشون میگه چه صفحاتی وجود دارن، اما ترتیب یا اولویتی برای گشتن رباتها تعیین نمیکنه.
اگه میخوای بیشتر درباره سایت مپ بدونی و بفهمی چطور به رباتها کمک میکنه، اینجا کلیک کن تا مقاله کامل رو بخونی!
ارتباط robots.txt با مدیریت ربات ها
مدیریت رباتها یکی از مهمترین کارهایی هست که باید برای بهینه نگه داشتن سایت یا اپلیکیشن انجام بدی. حتی رباتهای خوب، مثل رباتهای موتورهای جستجو، اگه بیش از حد فعال بشن میتونن روی سرور فشار بیارن و باعث کند شدن یا حتی خرابی سایت بشن. اینجاست که یه فایل robots.txt درست حسابی به دادت میرسه! این فایل کمک میکنه تا فعالیت رباتهای خوب رو کنترل کنی و سایتت رو برای SEO بهینه نگه داری.
اما حواست باشه که robots.txt نمیتونه جلوی رباتهای بدجنس و مخرب رو بگیره. اگه یه ربات خرابکار تصمیم بگیره به سایتت حمله کنه، به این دستورات توجه نمیکنه. اینجاست که باید از راهکارهای حرفه ایتر استفاده کنی.
پیامهای مخفی بامزه (Easter Eggs) در robots.txt
توسعه دهندهها همیشه یه ذره خلاقیت و شوخی رو چاشنی کارشون میکنن، حتی توی فایلهای فنی مثل robots.txt. بعضی وقتها اونا یه سری پیامهای بامزه و مخفی توی این فایل میذارن که فقط رباتها (یا افرادی که به دنبال این فایلها میگردن) میتونن ببیننشون.
مثلاً توی robots.txt یوتیوب این پیام رو میتونی پیدا کنی: "ساخته شده در آینده دور (سال 2000) بعد از قیام رباتها در اواسط دهه 90 که همه انسانها رو از بین برد!"
یا مثلاً توی robots.txt سایت Cloudflare نوشته شده: "ربات عزیز، لطفاً مهربون باش."
اینا همون تخم مرغهای شانسی یا Easter Eggs هستن که برنامه نویسها برای شوخی و سرگرمی توی فایلها میذارن.
humans.txt، پیامهای مخصوص آدم ها!
فقط رباتها نیستن که فایل اختصاصی دارن! مثلاً گوگل یه فایل مخصوص آدمها به اسم humans.txt داره که میتونی از اینجا ببینیش: humans.txt گوگل. این فایلها بیشتر جنبه فان دارن و اطلاعاتی درباره تیم یا آدم هایی که پشت صحنه یه سایت کار میکنن رو به نمایش میذارن.
این پیامهای بامزه و مخفی نشون میدن که حتی توی کارهای فنی و جدی هم میشه خلاقیت و شوخ طبعی رو قاطی کرد و به کار یه حال و هوای باحال داد!😉
اگه میخوای سئو رو حرفه ای یاد بگیری و به راحتی سایتت رو توی نتایج جستجوی گوگل بالا بیاری، دوره متخصص سئو سون لرن رو از دست نده! این دوره بهت یاد میده چطور بهترین کلمات کلیدی رو پیدا کنی و سایتت رو به صدر نتایج برسونی.
سوالات متداول
1. آیا همه سایتها به robots.txt نیاز دارن؟
نه، اجباری نیست. ولی اگه میخوای رباتهای جستجوگر فقط بخشهای خاصی از سایتت رو ببینن و یا از بعضی قسمتها دور بمونن، حتماً بهش نیاز داری.
2. آیا robots.txt جلوی همه رباتها رو میگیره؟
نه دقیقاً. robots.txt بیشتر برای رباتهای خوب مثل گوگل و بینگ طراحی شده. رباتهای بد ممکنه دستورات این فایل رو نادیده بگیرن.
3. آیا استفاده از robots.txt به SEO سایت کمک میکنه؟
بله، اگه به درستی استفاده بشه. این فایل میتونه به رباتها کمک کنه فقط بخشهای مهم و مرتبط رو بگردن و این باعث میشه موتورهای جستجو صفحات درست رو ایندکس کنن.
4. آیا گوگل دستور Crawl-delay رو پشتیبانی میکنه؟
نه، گوگل این دستور رو متوجه نمیشه. برای تنظیم میزان خزش گوگل باید از Google Search Console استفاده کنی.
5. چطور میتونم مطمئن بشم که فایل robots.txt به درستی کار میکنه؟
می تونی از ابزارهای تست مثل Google Search Console استفاده کنی تا مطمئن بشی که رباتها دستورات robots.txt رو درست اجرا میکنن.
6. آیا میتونم یه صفحه رو از ایندکس شدن در گوگل خارج کنم؟
بله، با استفاده از دستور Disallow توی robots.txt میتونی مشخص کنی که گوگل و سایر موتورهای جستجو یه صفحه خاص رو نبینن.
7. آیا robots.txt برای محافظت از اطلاعات خصوصی کار میکنه؟
نه به طور کامل. اگه اطلاعات حساسی داری، بهتره از روشهای امنیتی دیگه مثل رمزگذاری یا محدودیت دسترسی استفاده کنی.
8. فرق بین Disallow و Allow چیه؟
Disallow به رباتها میگه که کجا نباید برن، در حالی که Allow بهشون میگه که به کجاها میتونن دسترسی داشته باشن.
9. آیا میتونم تمام سایت رو با robots.txt مخفی کنم؟
بله، با استفاده از دستور Disallow: / میتونی کل سایت رو از دسترس رباتها خارج کنی.
جمع بندی
فایل robots.txt به ظاهر یه فایل ساده و کوچیکه، اما نقش خیلی مهمی توی مدیریت سایت و بهینه سازی برای موتورهای جستجو داره. این فایل بهت کمک میکنه تا به رباتهای خوب مثل گوگل بگی که کجاها رو بگردن و از کجاها دوری کنن، و سایتت رو از فشار زیاد رباتها محافظت کنی. البته یادت باشه که robots.txt جلوی رباتهای بد رو نمیگیره و باید از راهکارهای حرفه ایتر برای این کار استفاده کنی.
در نهایت، داشتن یه robots.txt خوب و بهینه نه تنها باعث بهبود SEO سایتت میشه، بلکه تجربه بهتری برای کاربرانت رقم میزنه. پس وقتشه که نگاهی دقیقتر به این فایل کوچیک اما قدرتمند بندازی و مطمئن بشی که سایتت به بهترین شکل ممکن مدیریت میشه!