فایل Robots.txt مجموعه ای از دستورالعمل ها برای باتها (bots) است. این فایل در فایل های منبع (Root) اغلب وب سایت ها قرار دارد. فایل های Robots.txt به طور عمده برای مدیریت کنش های بات های خوب چون خزنده های وب استفاده می شوند، چرا که بات های بد احتمالا از این قوانین تبعیت می کنند. شاید پیچیده به نظر بیاید، از اینرو با مثالی موضوع را تشریح خواهیم کرد.
یک” مجموعه دستورالعمل” را در نظر بگیرید، دستورالعمل هایی که مجموعه رفتارها را در یک محیط تعیین می کنند. مثلا یک سالن ورزشی یا کافه را در نظر بگیرید که علائمی بر روی دیواره هایش قرار داده شده است، علائمی که قسمت های مجاز برای ورود، کدهای رفتاری و درکل نوع کنش در این فضا را مشخص می کند.
مثلا علامت “کشیدن سیگار ممنوع” این علامت و دیگر علائم مشابه به خودی خود قدرتی ندارند تا افراد را مجبور به اطاعت کنند، اما افراد خوب از آنها تبعیت می کنند و افراد بد احتمالا این قوانین را زیرپا می گذارند و از این بابت با جریمه هایی مثل ممنوعیت ورود مواجه می شوند.
بات چیست؟
یک بات اینترنتی، ربات اینترنتی یا به طور ساده بات، نرم افزاری است که کنش هایی اتوماتیک را در اینترنت به صورت مکرر به اجرا می گذارد. بات در واقع یک برنامه ی کامپیوتری اتوماتیک است که با وب سایت ها و اپلیکیشن ها تعامل دارد. بات ها شامل دو دسته بات های خوب و بد می شود و یک نوع از بات های خوب، تحت عنوان بات خزنده وب شناخته می شود. این بات ها، وب سایت ها را مورد کاوش قرار داده و محتواها را می یابند. این محتواها در نتایج موتورهای جستجو به نمایش در می آید.
یک فایل robots.txt، در واقع کنش های این خزنده های وب را کنترل یا مدیریت می کند.
یک فایل robots.txt چگونه کارمی کند؟
یک فایل robots.txt، فایلی متنی است که کد html ندارد (به همین دلیل پسوند.txt دارد). این فایل، مثل تمام فایل های یک وب سایت، بر روی سرور وب پذیرش می شود. در واقع، این فایل در هر وب سایتی بواسطه تایپ URL کامل در صفحه اصلی و بعد از آن اضافه کردن robots.txt قابل بازدید است. این فایل به هیچ نقطه ی دیگری در سایت مرتبط نیست، و به همین دلیل بعید است که کاربران به آن ورود کنند، اما اغلب بات های خزنده وب، پیش از کاوش بقیه سایت، آن را مورد جستجو قرار می دهند.
همانطور که گفتیم، دستورالعمل هایی را برای بات ها فراهم می آورد اما قدرت اعمال و اجرای این دستورالعمل ها را ندارد. یک بات خوب، مثلا خزنده وب یا یک بات تامین خبر، ابتدا و پیش از مشاهده هر صفحه ی دیگری بر یک دامنه، این فایل را مورد بازدید قرار می دهد و از دستورالعمل ها پیروی می کند. یک بات بد، یا به طور کامل فایل robots.txt را مورد اغماض قرار می دهد و یا اینکه آن را مورد پردازش قرار می دهد تا صفحات وب ممنوعه را بیابد.
یک بات خزنده وب، از مجموعه ای از دستورالعمل های ویژه در فایل robots.txt تبعیت می کند.
از چه پروتکل هایی در یک فایل robots.txt استفاده می شود؟
در شبکه، یک پروتکل، فرمت یا چارچوبی است که در آن دستورالعمل ها و فرمان ها ارائه می شود. فایل آن از دسته ای از پروتکل های مختلف استفاده می کند. پروتکل اصلی تحت عنوان پروتکل ممانعت ربات خوانده می شود. این پروتکل در واقع به بات ها می گوید که کدام صفحات وب ها و منابع را بازدید نکنند. دستورالعمل های ساختار و فرمت این پروتکل ها در فایل robots قرار داده می شود.
دیگر پروتکلی که برای این فایل استفاده می شود پروتکل sitemaps است. این پروتکل را می توان یک پروتکل شمول ربات دانست. Sitemaps به یک خزنده وب، صفحاتی که می تواند بازدید کند را نشان می دهند. این کار این اطمینان را حاصل می سازد که یک بات خزنده، هیچ صفحه مهمی را مورد اغماض قرار نمی دهد.
نمونه ی یک فایل robots.txt
در اینجا نمونه ای از یک فایل robots.txt ارائه می شود:
User-agent:*
Disallow: /_mesa
https://shanargroup.com/robots.txt
در ادامه تمام این موارد و دستورهای متنی اعمالی را تشریح خواهیم کرد.
User agent چیست؟
هر فرد یا برنامه ی فعالی در اینترنت یک user agent دارد، یعنی یک نام مشخص. برای کاربران واقعی، این نام شامل اطلاعاتی در ارتباط با نوع مرورگر و سیستم عامل است ،البته بدون اطلاعات شخصی. برای بات ها، user agent یا نام کاربر، به اجراکنندگان وب سایت این امکان را می دهد که نوع این بات هایی که در سایت هستند را شناسایی کنند.
در یک فایل robots.txt، مجریان وب سایت می توانند دستورالعمل هایی برای بات هایی خاص ارائه دهند.
منظور ازdisallow و نوع کارکرد ان
فرمان disallow متداول ترین پروتکل اعمال ممنوعیت است. وب سایت هایی که بعد از disallow قرار داده می شوند، وب سایت هایی هستند که اجازه ورود به آن ها وجود ندارد.
ممانعت از ورود به یک دایرکتوری
گاهی مسدود کردن و ممانعت ایجاد کردن برای ورود به چندین صفحه لازم است و فهرست کردن تمام آنها به صورت تکی، اثربخش نیست. اگر تمام این صفحات مورد اشاره در یک بخش یکسان از وب سایت مورد بحث باشند، یک فایل robots.txt می تواند دایرکتوری که حاوی این سایت ها می باشد را مسدود کند.
به عنوان یکی از این موارد disallow: /_mesa/ در بالا می باشد.
این فایل بدان معناست که تمام صفحات درون دایرکتوری _mesa قابل ورود نیستند.
دسترسی کامل
برای اینکه دسترسی کامل اعمال شود این دستور اعمال می شود:
Disallow:
این دستور به بات ها این اجازه را می دهد که کل وب سایت را مورد کاوش قرار دهند، چرا که هیچ ممنوعیتی اعمال نشده است.
عدم دسترسی کامل
Diasallow: /
علامت”/” در اینجا به معنای عدم دسترسی موتورهای جستجو است. به عبارت دیگر یک علامت اسلش ساده به معنای پنهان سازی کل وب سایت از فضای اینترنت است.
نتیجه گیری
در این مطلب کوتاه، به صورتی مختصر و مفید با فایل robots.txt و کارکردهای آن آشنا شدیم. اما این مبحث به این موارد محدود نمی شود و بخش های مختلف و متنوع دیگری دارد که توضیح تمام این ها در این مطلب ممکن نبود.