
Robot.txt file چیست؟
Robots.txt یک فایل متنی است که مدیران وب یا وب مستران برای راهنمایی رباتهای وب (به طور معمول رباتهای موتور جستجو) ایجاد میکنند. فایل robots.txt بخشی از پروتکل خروج رباتها (REP) است، این پروتکل شامل گروهی از استانداردهای وب است که نحوه خزیدن وب ، دسترسی و فهرست بندی محتوای رباتها را تنظیم میکنند و این مطالب را به کاربران ارائه میدهند. REP همچنین شامل دستورالعملهایی مانند رباتهای متا، و همچنین دستورالعملهای صفحه، زیرشاخه- یا سایت در مورد چگونگی رفتار موتورهای جستجو با لینکها است (مانند "follow" یا "nofollow").
در عمل، پروندههای robots.txt نشان میدهد که آیا برخی از عوامل کاربری (نرم افزار جستجوی وب) میتوانند قسمتهایی از وب سایت را خزنده کنند یا خیر. این دستورالعملهای خزنده با "اجازه ندادن (disallow)" یا "اجازه دادن (allow)" به رفتار برخی از عوامل کاربری (یا همه) مشخص میشوند.
فرمت اولیه:
User-agent: [user-agent name]Disallow: [URL string not to be crawled]
دو خط بالا با هم یک پرونده کامل robots.txt در نظر گرفته می شوند - اگرچه یک پرونده ربات می تواند شامل چندین خط عامل کاربر و دستورالعمل شود (به عنوان مثال ، اجازه نمیدهد، تأخیر خزیدن و غیره ...را می دهد).
در یک فایل robots.txt، هر مجموعه از دستورالعملهای عامل کاربر (user-agent directives) به عنوان یک مجموعه گسسته ظاهر میشوند ، که با یک برک لاین (Break line) می شوند:
در یک فایل robots.txt با چندین دستور User-agent ، هر یک از قوانین را allow یا disallow، فقط برای کاربر(ها) مشخص شده. در آن مجموعه جدا شده از خط جدا شده خاص اعمال می شود. اگر پرونده حاوی قانونی باشد که برای بیش از یک عامل کاربر (User-Agents) نوشته شده باشد ، یک خزنده فقط به گروه خاص دستورالعمل ها توجه می کند (و دستورالعمل ها را دنبال می کند).
مثال:
در ادامه برخی از مثالهای مربوط به فایل Robots.txt را می آوریم. این مثالها از سایت www.example.com هستند:
url دسترسی به فایل Robot.txt این سایت طبعا این URL است: www.example.com/robots.txt
برای بستن راه Crawler که به تمام صفحات دسترسی داشته باشد از دستور زیر استفاده میکنیم:
User-agent: * Disallow: /
دستور دادن به ربات که به همه محتواها دسترسی داشته باشد. این دستور به ربات اجازه میدهد که به تمام صفحات دسترسی داشته باشد:
User-agent: * Disallow:
برای بستن یک قسمت از سایت یا یک مجموعه فولدرها از کدها از دستور زیر استفاد میکنیم:
User-agent: Googlebot Disallow: /example-subfolder/
دقت کنید که این دستور فقط به ربات گوگل میگوید که از این دستور طبعیت کند. و url فوق را نخواند.
برای عدم اجازه به ربات تا یک صفحه خاص را نخواند از دستور زیر استفاده میکنیم:
User-agent: Bingbot Disallow: /example-subfolder/blocked-page.html
دقت کنید که سینتکس بالا فقط برای موتور جستجو بینگ کاربرد دارد.
Robot.txt file چگونه کار میکند؟
موتورهای جستجو دو کار اساسی دارند:
- جستجو کردن وب برای کشف محتواها
- ایندکس کردن محتوا به منظور یافتن محتوا برای کاربرانی که نیاز به آن دارند.
برای خزیدن به سایتها، موتورهای جستجو پیوندها را دنبال میکنند تا از یک سایت به سایت دیگر بروند. در نهایت، از طریق میلیاردها پیوند و وب سایت خزیده می شوند. این رفتار رباتها گاهی اوقات به عنوان "عنکبوتیک یا spidering" شناخته می شود.
پس از ورود به یک وب سایت اما قبل از spidering آن ، خزنده جستجو به دنبال یک فایل robots.txt خواهد بود. اگر یک مورد پیدا کند، خزنده قبل از ادامه در صفحه ابتدا آن فایل را می خواند. از آنجا که فایل robots.txt حاوی اطلاعاتی درباره چگونگی خزیدن موتور جستجو است، اطلاعات یافت شده در آنجا دستورالعملها خزنده را راهنمایی میکند تا بهتر عمل نماید. اگر فایل robots.txt حاوی دستورالعملی نباشد که فعالیت user-agent را مجاز بداند (یا اگر سایت دارای فایل robots.txt نباشد) ، به جستجوی اطلاعات دیگر ادامه می دهد.
چگونه Robots.txt سریع تری داشته باشیم؟
* فیال robots.txt باید در بالاترین Directory قرار بگیرد.
* Robots.txt به حروف کوچک و بزرگ حساس است: فایل باید "robots.txt" نامگذاری شود (نه Robots.txt ، robots.TXT یا موارد دیگر).
* برخی از رباتها (User-Agetnt) ممکن است پرونده robots.txt شما را نادیده بگیرند. این امر خصوصاً در خزندهای شیطانی مانند رباتهای مخرب یا اسپم کنندههای آدرس ایمیل معمول است.
* فایل robots.txt به صورت عمومی در دسترس است: فقط کافیست robots.txt/ را به انتهای هر دامنه اصلی اضافه کنید تا دستورالعمل های آن وب سایت را ببینید (اگر آن سایت دارای پرونده robots.txt باشد). این بدان معنی است که هر کسی میتواند ببیند شما چه صفحاتی را میخواهید یا نمی خواهید تا خزنده شود، بنابراین از آنها برای پنهان کردن اطلاعات کاربر خصوصی استفاده نکنید.
هر زیر دامنه در یک دامنه ریشه از پرونده های جداگانه robots.txt استفاده میکند. این بدان معنی است که هر دو blog.example.com و example.com باید پروندههای robots.txt خود را داشته باشند (در blog.example.com/robots.txt و example.com/robots.txt).
به طور کلی بهترین روش برای تعیین مکان هر نقشه سایت مرتبط با این دامنه در پایین فایل robots.txt است. مثالی اینجا:
سینتکسهای تخصصی و مهم فایل Robot.txt
زبان Robots.txt را می توان "زبان" فایلهای robots.txt دانست. پنج اصطلاح رایج وجود دارد که به احتمال زیاد در پرونده ربات ها با آنها روبرو شده اید. آنها عبارتند از:
User-agent: خزنده وب خاص که به یک ربات خاص اعلام میکند تا دستورالعملهای خاصی را اجرا کند
Disallow: دستوری که به ربات گفته می شود URL خاصی را ایندکس نکند. برای هر URL فقط یک خط "Disallow" مجاز است.
Allow(فقط برای Googlebot قابل اجرا است): دستوری که به Googlebot می گوید می تواند به یک صفحه یا زیر پوشه دسترسی پیدا کند حتی اگر صفحه اصلی یا پوشه فرعی آن مجاز نباشد.
Crawl-delay: خزنده یا ربات قبل از بارگذاری و ایندکس محتوای صفحه، باید چند ثانیه صبر کند. توجه داشته باشید که Googlebot این دستور را تأیید نمی کند، اما میزان دفعات ایندکس می تواند در Google Search Console تنظیم شود.
Sitemap: برای فراخوانی مکان هر نقشه سایت XML مرتبط با این URL استفاده می شود. توجه داشته باشید این دستور فقط توسط Google ، Ask ، Bing و Yahoo پشتیبانی می شود.
Robot.txt را در کجای سایت خود قرار دهیم؟
هر زمان که رباتها به سایتی می آیند ، رباتهای خزنده و سایر رباتها (مانند خزنده فیس بوک، Facebot) میدانند که به دنبال یک فایل robots.txt بگردند. اما، آنها فقط آن فایل را در یک مکان خاص جستجو می کنند: دایرکتوری اصلی (معمولاً دامنه ریشه یا صفحه اصلی شما). اگر یک نماینده کاربری یا ربات به وب سایت www.example.com/robots.txt مراجعه کند و پرونده رباتی را در آنجا پیدا نکند ، فرض میکند سایت فاقد یک پرونده است و به دنبال خزیدن همه چیز در صفحه (و شاید حتی در کل سایت) است. پس اگر فایل robots.txt داشته باشید، اما رباتهای خزنده آن را دنبال نکنند، انگار اصلا چنین فایلی ندارید. بنابراین، برای اطمینان از یافتن فایل robots.txt ، همیشه آن را در دایرکتوری اصلی یا دامنه ریشه خود قرار دهید.
چرا به فایل Robot.txt نیاز دارید؟
فایل robot.txt دسترسی خزندهها را به مناطق خاصی از سایت شما کنترل میکنند. اگر به طور تصادفی به ربات گوگل یا Googlebot اجازه ندهید تا به جستجوی کل سایت خود بپردازد، این بسیار خطرناک است. اما شرایطی وجود دارد که یک فایل robot.txt میتواند بسیار مفید هم باشد.
برخی از موارد استفاده از این قرار اند:
1) جلوگیری از نمایش محتوای تکراری در SERP (توجه داشته باشید که رباتهای متا اغلب گزینه بهتری برای این کار هستند)
2) خصوصی نگه داشتن کل بخشهای یک وب سایت
3) جلوگیری از نمایشِ صفحاتِ نتایج جستجوی داخلی در SERP عمومی
4) تعیین مکان نقشه سایت (ها)
5) جلوگیری از ایندکس کردن موتورهای جستجو در پروندههای خاص وب سایت شما (تصاویر ، PDF و غیره)
مشخص کردن تأخیر خزیدن به منظور جلوگیری از سربار شدن سرورهای شما هنگام بارگیری همزمان چندین محتوای خزنده ها
6) اگر در سایت شما هیچ چیزی وجود ندارد که بخواهید دسترسی ربات را به آن کنترل کنید ، ممکن است به هیچ وجه به یک پرونده robots.txt نیازی نداشته باشید.
بهترین اقدامات SEO در حوزه فایل robots.txt
1) اطمینان حاصل کنید که هیچ محتوا یا بخشی از وب سایت خود را که میخواهید index شود، مسدود نگردد.
2) پیوندهای صفحات مسدود شده توسط robots.txt دنبال نخواهد شد. اینجا یک نکته مهم است: ارزش پیوند را نمی توان از صفحه مسدود شده به مقصد پیوند منتقل کرد. اگر صفحاتی دارید که می خواهید ارزش به آنها منتقل شود ، از مکانیسم مسدود کردن دیگری به غیر از robots.txt استفاده کنید.
3) برای جلوگیری از نمایش داده های حساس (مانند اطلاعات کاربر خصوصی) در نتایج SERP از robots.txt استفاده نکنید. از آنجا که صفحات دیگر ممکن است مستقیماً به صفحه حاوی اطلاعات خصوصی پیوند دهند (بنابراین دستورالعملهای robots.txt را در دامنه ریشه یا صفحه اصلی شما دور می زنند) ، ممکن است همچنان ایندکس شود. اگر می خواهید صفحه خود را از نتایج جستجو مسدود کنید ، از روش دیگری مانند حفاظت از رمز عبور یا دستورالعمل متنی noindex استفاده کنید.
4) بعضی از موتورهای جستجو چندین عامل کاربر، User agent یا کاربر دارند. به عنوان مثال ، Google از Googlebot برای جستجوی ارگانیک و Googlebot-Image برای جستجوی تصویر استفاده میکند. اکثر رباتهای یک موتور جستجو از قوانین یکسانی پیروی می کنند، بنابراین نیازی به تعیین دستورالعمل برای هر یک از خزندههای متعدد موتور جستجو نیست ، اما داشتن توانایی انجام این کار به شما امکان می دهد نحوه ایندکس شدن محتوای سایت خود را به خوبی تنظیم کنید.
5) یک موتور جستجو محتوای robots.txt را ذخیره می کند ، اما معمولاً حداقل یک بار در روز محتوای ذخیره شده را به روز میکند. اگر فایل را تغییر دهید و بخواهید سریعتر از آنچه در حال بروزرسانی است آن را به روز کنید ، می توانید آدرس robots.txt خود را به Google ارسال کنید.