Robots.txt چیست؟
فایل robots.txt مجموعه ای از دستورالعمل ها برای ربات ها است. این فایل در فایل های منبع اکثر وب سایت ها قرار دارد. فایلهای Robots.txt بیشتر برای مدیریت فعالیتهای رباتهای خوب مانند خزندههای وب در نظر گرفته شدهاند، زیرا رباتهای بد احتمالاً دستورالعملها را دنبال نمیکنند.
ربات یک برنامه کامپیوتری خودکار است که با وب سایت ها و برنامه ها در تعامل است. ربات های خوب و ربات های بد وجود دارند و یکی از ربات های خوب، ربات خزنده وب نامیده می شود.
این رباتها صفحات وب را می خزند ( crawl ) میکنند و محتوا را فهرستبندی میکنند تا در نتایج موتورهای جستجو نشان داده شوند.
کاربرد فایل robots.txt
فایل robots.txt فقط یک فایل متنی بدون کد نشانه گذاری HTML است. فایل robots.txt مانند هر فایل دیگری در وب سایت بر روی وب سرور میزبانی می شود. در واقع، فایل robots.txt برای هر وب سایت را میتوان با تایپ URL کامل برای صفحه اصلی و سپس افزودن /robots.txt مشاهده کرد. مانند: https://www.cloudflare.com/robots.txt این فایل به جای دیگری در سایت پیوند داده نشده است، بنابراین کاربران به احتمال زیاد به آن برخورد نمی کنند، اما اکثر ربات های خزنده وب ابتدا قبل از خزیدن بقیه سایت، این فایل را جستجو می کنند.
در حالی که یک فایل robots.txt دستورالعمل هایی را برای ربات ها ارائه می دهد، نمی تواند دستورالعمل ها را اجرا کند. یک ربات خوب، مانند یک خزنده وب یا یک ربات فید خبری، سعی می کند قبل از مشاهده هر صفحه دیگری در یک دامنه، ابتدا از فایل robots.txt بازدید کند و دستورالعمل ها را دنبال کند. یک ربات بد فایل robots.txt را نادیده می گیرد یا آن را پردازش می کند تا صفحات وب ممنوعه را پیدا کند.
یک ربات خزنده وب از خاص ترین مجموعه دستورالعمل ها در فایل robots.txt پیروی می کند. اگر دستورات متناقضی در فایل وجود داشته باشد، ربات از دستور granular پیروی می کند.
نکته مهمی که باید به آن توجه داشت این است که همه زیر دامنه ها به فایل robots.txt خود نیاز دارند. به عنوان مثال، در حالی که www.cloudflare.com فایل مخصوص به خود را دارد، همه زیر دامنه های Cloudflare (blog.cloudflare.com، community.cloudflare.com و غیره) نیز به فایل خود نیاز دارند.
چه پروتکل هایی در فایل robots.txt استفاده می شود؟
در شبکه، پروتکل قالبی برای ارائه دستورالعمل ها یا دستورات است. فایل های Robots.txt از چند پروتکل مختلف استفاده می کنند. پروتکل اصلی Robots Exclusion Protocol نام دارد. این راهی است برای اینکه به ربات ها بگویید از کدام صفحات وب و منابع اجتناب کنند.
دستورالعمل های فرمت شده برای این پروتکل در فایل robots.txt گنجانده شده است.
پروتکل دیگری که برای فایل های robots.txt استفاده می شود، پروتکل Sitemaps است که می توان یک پروتکل گنجاندن ربات ها در نظر گرفت. نقشههای سایت به خزنده وب نشان میدهند که در کدام صفحات میتوانند بخزند. این عمل کمک می کند تا اطمینان حاصل شود که یک ربات خزنده هیچ صفحه مهمی را از دست نخواهد داد.
User agent چیست؟ User agent* به چه معناست؟
هر شخص یا برنامه ای که در اینترنت فعال است یک "User agent" یا یک نام اختصاص یافته خواهد داشت. برای کاربران انسانی، این شامل اطلاعاتی مانند نوع مرورگر و نسخه سیستم عامل است، اما اطلاعات شخصی ندارد. به وبسایتها کمک میکند محتوایی را نشان دهند که با سیستم کاربر سازگار است. برای ربات ها، عامل کاربر (از لحاظ نظری) به مدیران وب سایت کمک می کند تا بدانند چه نوع ربات هایی در سایت خزیده اند.
بخوانید: طراحی سایت چقدر زمان می برد
در فایل robots.txt، مدیران وب سایت می توانند با نوشتن دستورالعمل های مختلف برای عوامل کاربر ربات، دستورالعمل های خاصی را برای ربات های خاص ارائه دهند. به عنوان مثال، اگر مدیری بخواهد صفحه خاصی در نتایج جستجوی Google نمایش داده شود اما در جستجوهای Bing نباشد، میتواند دو مجموعه از دستورات را در فایل robots.txt شامل شود: یک مجموعه قبل از "User-agent: Bingbot" و یک مجموعه. قبل از "User agent: Googlebot".
ستاره در User agent به این معنی است که دستورالعمل ها برای همه ی رباتها اعمال می شود، نه برای یک ربات خاص.
ربات های robots.txt عبارت اند از:
ربات های گوگل:
• Googlebot
• Googlebot-Image (for images)
• Googlebot-News (for news)
• Googlebot-Video (for video)
ربات های بینگ:
• Bingbot
• MSNBot-Media (for images and video)
چگونه دستورات 'Disallow' در فایل robots.txt کار می کنند؟
دستور Disallow رایج ترین دستور در پروتکل حذف روبات ها است. به رباتها میگوید که به صفحه وب یا مجموعهای از صفحات وب که پس از دستور آمده است دسترسی نداشته باشند. صفحات غیرمجاز لزوماً "پنهان" نیستند - آنها فقط برای کاربران عادی Google یا Bing مفید نیستند، بنابراین به آنها نشان داده نمی شوند. در بیشتر مواقع، کاربر در وب سایت اگر بداند که در کجا آنها را پیدا کند، همچنان می تواند به این صفحات پیمایش کند.
مسدود کردن یک صفحه وب خاص
اگر بخواهید ربات های گوگل صفحه ای را crawl نکنند چنین دستوری را باید بنویسید:
Disallow: /learning/bots/what-is-a-bot/
پس از دستور "disallow"، بخشی از URL صفحه ای که می خواهید ربات های گوگل آن را نخزند وارد می کنید و قبل از صفحه مورد نظر آدرس صفحه اصلی را هم باید وارد کنید.
مسدود کردن یک دایرکتوری
گاهی اوقات به جای فهرست کردن همه صفحات به صورت جداگانه، مسدود کردن چندین صفحه به طور همزمان کارآمدتر است. اگر همه آنها در یک بخش از وب سایت باشند، یک فایل robots.txt می تواند دایرکتوری حاوی آنها را مسدود کند.
مثال :
غیر مجاز: /__mesa/
این بدان معنی است که تمام صفحات موجود در فهرست __mesa نباید خزیده شوند.
اجازه دسترسی کامل
چنین دستوری به صورت زیر خواهد بود:
dissallwo:
این به ربات ها می گوید که می توانند کل وب سایت را مرور کنند، زیرا هیچ چیزی غیرمجاز نیست.
مخفی کردن کل سایت از دید ربات ها
Disallow: /
"/" در اینجا نشان دهنده "ریشه" در سلسله مراتب یک وب سایت یا صفحه ای است که همه صفحات دیگر از آن منشعب می شوند، بنابراین شامل صفحه اصلی و تمام صفحات پیوند شده از آن می شود. با این دستور، ربات های موتورهای جستجو به هیچ وجه نمی توانند وب سایت را بخزند.
به عبارت دیگر، یک اسلش می تواند کل یک وب سایت را از اینترنت قابل جستجو حذف کند!
چه دستوراتی بخشی از پروتکل حذف روبات ها هستند؟
Allow:
همانطور که انتظار می رود، دستور "Allow" به ربات ها می گوید که مجاز به دسترسی به یک صفحه وب یا فهرست خاص هستند. این دستور به رباتها اجازه دسترسی به یک صفحه وب خاص را میدهد، در حالی که بقیه صفحات وب موجود در فایل را غیرمجاز میکند. همه موتورهای جستجو این دستور را نمی شناسند.
Crawl-Delay:
فرمان تاخیر خزیدن به این معنی است که ربات های عنکبوتی موتورهای جستجو به مدیران اجازه می دهد تا مدت زمانی را که ربات باید بین هر درخواست منتظر بماند، در میلی ثانیه تعیین کنند. در اینجا یک مثال از دستور Crawl-Delay برای انتظار 8 میلی ثانیه است:
Crawl-delay: 8
گوگل این فرمان را نمی شناسد، اگرچه موتورهای جستجوی دیگر آن را تشخیص می دهند. برای Google، مدیران میتوانند فرکانس خزیدن را برای وبسایت خود در کنسول جستجوی Google تغییر دهند.
پروتکل سایت مپ چیست؟ چرا در robots.txt گنجانده شده است؟
پروتکل نقشه سایت به ربات ها کمک می کند تا بدانند چه چیزی را در خزیدن خود در یک وب سایت قرار دهند.
نقشه سایت یک فایل XML است که به شکل زیر است:
این یک لیست قابل خواندن ماشینی از تمام صفحات یک وب سایت است. از طریق پروتکل Sitemaps، پیوندهای سایت مپ را می توان در فایل robots.txt قرار داد. قالب این است: "Sitemaps:" و سپس آدرس وب فایل XML. می توانید چندین نمونه را در فایل Cloudflare robots.txt در بالا مشاهده کنید.
در حالی که پروتکل نقشه سایت کمک می کند تا اطمینان حاصل شود که ربات های عنکبوتی وب در هنگام خزیدن یک وب سایت چیزی را از دست ندهند، ربات ها همچنان روند خزیدن معمول خود را دنبال می کنند. نقشههای سایت، رباتهای خزنده را مجبور نمیکنند تا صفحات وب را بهطور متفاوتی اولویتبندی کنند.
robots.txt چگونه با مدیریت ربات ارتباط دارد؟
مدیریت رباتها برای راهاندازی یک وب سایت یا برنامه ضروری است، زیرا حتی فعالیت خوب رباتها میتواند بر سرور مبدا مازاد بر ارزش افزوده وارد کند و یک ویژگی وب را کند یا از بین ببرد. یک فایل robots.txt که به خوبی ساخته شده است، یک وب سایت را برای سئو بهینه نگه می دارد و فعالیت خوب ربات را تحت کنترل نگه می دارد.
با این حال، یک فایل robots.txt کار زیادی برای مدیریت ترافیک ربات های مخرب انجام نمی دهد. یک راه حل مدیریت ربات مانند Cloudflare Bot Management یا Super Bot Fight Mode می تواند به مهار فعالیت مخرب ربات بدون تأثیر روی ربات های ضروری مانند خزنده های وب کمک کند.
منبع: https://www.cloudflare.com/
در این مقاله از ریچتک به برسی فایل Robots.txt پرداختیم لطفا نظراتتون رو با ما در بخش نظرات در میون بگذارید.