باتها(bots) نرم افزارهایی هستند که برای انجام وظایفی خاص برنامه نویسی میشوند و میتوانند گروهی از فعالیتها را به صورت مداوم و با سرعت بالایی به انجام برسانند. یک فایل robots.txt مجموعهای از دستورالعملها برای هدایت باتها است که به طور معمول در بین فایلهای سورس اکثر وبسایتها یافت میشود. این فایل عمدتا برای مدیریت فعالیت باتهای خوب مانند باتهای موتورهای جستجو موسوم به web crawlerها استفاده میگردد. Web crawlerها محتوای صفحات وب را مورد بررسی و رتبه بندی قرار میدهند تا به این ترتیب محتوای این صفحات در صورت جستجوی کلمات کلیدی کاربر به او نمایش داده شود. فایل robots.txt به این خزندهها کمک میکند تا وب سرور میزبان وبسایت را تحت فشار قرار ندهند و یا صفحاتی که برای نمایش در معرض عموم طراحی نشده اند را رتبهبندی ننمایند. این فایل معمولا نخستین فایل بررسی شده توسط یک بات موتور جستجو میباشد.
فایل robots.txt را میتوان به عنوان یک تابلو تعیین هنجار که بر دیوار یک باشگاه ورزشی نصب شده است در نظر گرفت. این تابلو به خودی خود قدرتی برای اعمال توصیههایی که میکند ندارد، اما اعضای خوب سازمان این موارد را رعایت میکنند در حالیکه اعضای هنجارشکنی کرده و در ادامه عضویت آنها نیز باطل میشود.
فایل robots.txt چگونه عمل میکند؟
این فایل تنها یک فایل تکست با پسوند .txt بدون هیچ کد HTML میباشد و مانند باقی فایلهای وبسایت توسط وب سرور میزبانی میگردد. به همین دلیل نیز عموما فایل robots.txt هر وبسایتی با تایپ آدرس کامل سایت و اضافه نمودن /robots.txt در انتهای آن در مرورگر قابل مشاهده میباشد.
تمامی زیردامنهها فایل robots.txt مخصوص به خود را نیاز دارند. همچنین همانطور که پیشتر نیز گفته شد، این نکته لازم به ذکر است که این فایل تنها بیانگر دستورالعملها میباشد و نمیتواند آنها را به باتها تحمیل نماید.
چه پروتکلهای در فایل robots.txt مورد استفاده قرار میگیرند؟
در علم شبکه یک پروتکل، فرمتی برای ارائه دستورالعملها میباشد. فایل robots.txt از چندین پروتکل استفاده مینماید. پروتکل اصلی مورد استفاده Robots Exclusion نام دارد. این پروتکل راهی برای بیان این موضوع است که باتها میبایست از چه منابع و صفحاتی اجتناب کنند. دستورالعملهای این پروتکل در خود فایل robots.txt قرار داده میشوند.
پروتکل مورد استفاده دیگر، sitemaps میباشد. کاربرد این پروتکل به نوعی مخالف مورد قبلی میباشد و به یک خزنده صفحات مجاز به بررسی را معرفی میکند. این پروتکل اطمینان حاصل میکند تا تمامی صفحات مورد نظر بررسی و رتبه بندی گردند.
در تصویر زیر نمونهای دیگر از یک فایل robots.txt را مشاهده مینمایید و در ادامه به شرح دقیق مطالب ذکر شده در آن خواهیم پرداخت.
دستور User-agent: * به چه معناست؟
هر شخص و یا برنامهای که در فضای اینترنت فعالیت میکند دارای یک user agent یا نام اختصاص داده شده است. درخصوص کاربران حقیقی این عبارت شامل اطلاعاتی مانند نوع مرورگر و نسخه سیستم عامل میباشد و البته که اطلاعات شخصی کاربر را در برنمیگیرد. این دادهها به وبسایتها کمک میکند تا محتوای متناسب با سیستم فرد را نمایش دهند. درخصوص باتها، user agent به ادمینهای وبسایت کمک میکند تا از نوع باتهایی که در حال بررسی سایت آنها هستند مطلع گردند.
در یک فایل robots.txt، ادمین وبسایت با نوشتن دستورات مختلف برای user agent باتها قادر خواهد بود تا دستورالعملهای مشخصی را برای باتهای مورد نظر خود تعیین نماید. برای مثال چنانچه یک ادمین قصد داشته باشد تا صفحهای خاص در نتایج مرورگر گوگل نمایش داده شود ولی در بینگ نمایش داده نشود، میتواند دو دسته دستور متفاوت را به شرح زیر در فایل robots.txt ایجاد کند:
در ابتدای یک دسته عبارت “User-agent:Bingbot” و در ابتدای دسته دیگر میبایست عبارت “User-agent:Googlebot” درج گردد. در عبارت User-agent: * کاراکتر ستاره بدین معناست که دستورات برای تمامی باتها قابل اجرا هستند و بات خاصی مورد نظر نیست.
اسامی user-agent باتهای برخی از موتور جستجوها به شکل زیر میباشد:
Googlebot
Googlebot-Image (for images)
Googlebot-News (for news)
Googlebot-Video (for video)
:Bing
Bingbot
MSNBot-Media (for images and video)
دستور Disallow
این دستور جز معمول ترین موارد به کار رفته در پروتکل exclusion رباتها میباشد و به آنها اعلام میکند تا صفحات قید شده بعد از این دستور را مورد بررسی قرار ندهند. صفحاتی که به این ترتیب دیده نمیشوند لزوما پنهان نشده اند، بلکه ممکن است دارای محتوایی باشند که مناسب کاربران عادی موتورهای جستجو نیست. حتی در اکثر موارد چنانچه بازدیدکنندگان یک سایت مسیر صفحه را بدانند میتوانند با ورود به سایت و رفتن به ان مسیر محتویات صفحه را مشاهده نمایند.
نوشتن این دستور به طرق زیر ممکن است:
- بلاک کردن یک فایل یا صفحه:
برای مثال اگر بخواهیم دسترسی باتها به همین مقاله را بلاک کنیم از دستور زیر استفاده خواهیم کرد
/چیست؟-robots.txt-مقالات/فایل/:Disallow
توجه داشته باشید بعد از عبارت disallow، بخشی از آدرس که بعد از قسمت صفحه اصلی میآید(در این مثال www.server.ir) وارد خواهد شد. به این ترتیب باتهای خوب دسترسی به آدرس مذکور را نخواهند داشت و صفحه در نتایج موتورهای جستجو نیز نمایش داده نخواهد شد.
- بلاک کردن یک دایرکتوری:
برای بلاک کردن چندین صفحه که در یک دایرکتوری هستند از دستور زیر استفاده میشود
/Disallow: /directory name
و به این ترتیب تمامی صفحات موجود در دایرکتوری مذکور توسط باتها مورد بررسی قرار نخواهد گرفت.
- دسترسی کامل:
دستور زیر این اجازه را به باتها میدهد تا تمامی صفحات و محتوای باتها را مورد بررسی قرار دهند.
:Disallow
- پنهان کردن تمام وبسایت از باتها
وارد کردن دستور زیر باعث میشود باتهای موتورهای جستجو وارد هیچ یک از صفحات سایت شما نشوند.
/ :Disallow
عبارت / بیانگر روت وبسایت و صفحه مادر میباشد ولذا با بلاک کردن آن، امکان بررسی سایر صفحات نشئت گرفته از آن نیز برای باتها صلی میشود.
سایر دستورات پروتکل Exclusion
- دستور Allow: همانطور که انتظار میرود، این عبارت به باتها اجازه میدهد به یک صفحه یا دایرکتوری خاص دسترسی داشته باشند و در مواقعی کاربرد دارد که تمامی سایت بلاک شده و تنها دسترسی باتها به این صفحات مد نظر ادمین میباشد. البته این دستور توسط برخی موتورهای جستجو شناخته نمیشود.
- دستور Crawl-delay: این دستور به منظور جلوگیری از تحت فشار قراردادن وب سرور یک سایت توسط باتهای موتورهای جستجو استفاده میشود و به ادمینها اجازه میدهد تا میزان زمانی را برای صبر کردن بین هر درخواست ارسال شده توسط باتها به وب سرور برحسب میلی ثانیه تعیین نمایند.
Crawl-delay: 8
اگرچه گوگل این دستور را به رسمیت نمیشناسد، اما توسط سایر موتورهای جستجو قابل تشخیص است. در خصوص گوگل، ادمینها میتوانند crawl frequency را در کنسول گوگل سرچ برای وبسایتشان تغییر دهند.
نقش پروتکل sitemaps در فایل robots.txt
این پروتکل به باتها کمک میکند تا بفهمند چه موارد در یک سایت میبایست بررسی شود. یک sitemap فایلی XML و لیستی از تمامی صفحات یک وبسایت است که توسط ماشینها خوانده میشود. از طریق پروتکل sitemaps، لینک خواندن این sitemapها در فایل robots.txt گنجانده میشود. فرمت این دستور به شکل “Sitemaps:” و به دنبال آن آدرس فایل XML به مانند آنچه در تصویر فایل robots.txt بالا مشاهده مینمایید است. این پروتکل اطمینان حاصل میکند تا صفحهای از دید باتها جا نماند.
عالی و کاربردی با مثال های عینی. ممنون