فایل robots.txt چیست و چه کاربردی دارد؟

فایل robots.txt چیست و چه کاربردی دارد؟

All about robots.txt file

فایل robots.txt

 

فایل robots.txt چیست؟

فایل robots.txt یک فایل متنی است که وب مستران برای دستور دادن به ربات های وب (عموما ربات های موتورهای جستجو) استفاده می کنند. این فایل به ربات ها اعلام می کند که چگونه صفحات وب سایت را پیمایش (Crawl) کنند. فایل robots.txt بخشی از Robots Exclusion Protocol (REP) می باشد که گروهی از استانداردهای وب می باشد که مشخص می کند ربات های موتورهای جستجو چگونه باید وب سایت ها را پیمایش کنند، به محتوا دست یابند و آنها را ایندکس کنند و این محتوا را در دسترس کاربران قرار دهند.

پروتکل REP همچنین شامل دایرکتیوهایی مانند meta robots می شوند که اعلام می کند موتورهای جستجو چگونه با لینک های صفحات وب رفتار کنند. مانند "follow" یا "nofollow" .

در عمل، فایل robots.txt دسترسی user agent ها را به برخی از صفحات یک وب سایت را تنظیم می کند. این دسترسی می تواند allowing یا disallowing باشد.

 

فرمت پایه (Basic Format):

User-agent: [user-agent name]

Disallow: [URL string not to be crawled]

دو خط فوق یک فایل robots.txt کامل را تشکیل می دهند. اگرچه یک فایل robots.txt می تواند شامل چندین خط از user agent ها و directive ها باشد. مانند disallow و allow و crawl-delay و…

 در داخل یک فایل robots.txt هر بخش از user-agent ها و directive ها بصورت جدا می باشند که با یک Line Break (اینترEnter) با هم فاصله دارند. تصویر زیر را ملاحظه کنید:

هر بخش از user-agent ها و directive ها بصورت جدا می باشند

 

در تصویر بالا سه مجموعه از user-agent و directive را مشاهده می کنید که با یک اینتر از هم جدا شده اند.

در یک فایل robots.txt با چندین user-agent و directive (مطابق تصویر زیر) هر دستور allow یا disallow مختص همان مجموعه است. تصویر زیر را در این زمینه ملاحظه نمائید:

user-agent های discobot، slurp و msnbot بصورت اختصاصی تعریف شده اند

 

در تصویر فوق، user-agent های discobot، slurp و msnbot بصورت اختصاصی تعریف شده اند و هریک دستورات مختص خود را دارند (allow و disallow). پس این user-agent ها فقط به دستورات بخش خود نگاه می کند و آنها را اجرا می کنند. سایر user-agent ها (به غیر از سه مورد مذکور) دستورات بخش user-agent: * را اجرا می کنند.

 

مثالی از فایل robots.txt:

فایل ربات در سایت نمونه example.com در آدرس زیر وجود دارد:

www.example.com/robots.txt

حالت اول: دسترسی تمام خزنده های وب به تمام صفحات وب سایت example.com را بلاک می کند:

User-agent: *

Disallow: /

تعریف دستورات فوق در فایل robots.txt به موتورهای جستجو می گوید که هیچ صفحه ای از سایت example.com را پیمایش و ایندکس نکند.

 

حالت دوم: دسترسی تمام خزنده های وب به تمام صفحات وب سایت example.com آزاد است:

User-agent: *

Disallow:

تعریف دستور فوق در فایل ربات باعث می شود خزنده های موتور جستجو به تمام صفحات و فولدرهای سایت example.com دسترسی داشته باشند.

 

حالت سوم: دسترسی خزنده های مشخصی به یک فولدر خاص از وب سایت example.com بلاک می شود:

User-agent: Googlebot

Disallow: /example-subfolder/

با دستور فوق در فایل robots.txt دسترسی خزنده گوگل یعنی Googlebot را به فولدر example-subfolder و تمام صفحات زیرمجموعه آنرا بلاک می کنیم.

 

حالت چهارم: دسترسی خزنده های مشخصی به یک صفحه خاص از وب سایت example.com بلاک می شود:

User-agent: Bingbot

Disallow: /example-subfolder/blocked-page.html

با تعریف دستور فوق در فایل robots.txt دسترسی خزنده بینگ یعنی Bingbot به صفحه blocked-page.html را بلاک می کنیم.

 

فایل robots.txt چگونه کار می کند؟

موتورهای جستجو دو وظیفه اصلی دارند:

  • پیمایش وب برای کشف و یافتن محتوا
  • ایندکس کردن محتوا به منظور ارائه به کاربران در صورت نیاز آنها

 

نحوه پیمایش وب سایت توسط خزنده‌های گوگل:

برای پیمایش یک وب سایت، موتورهای جستجو از طریق لینک ها از یک سایت به سایت دیگر هدایت می شوند. پیمایش سایت ها از این طریق به "Spidering" معروف است. خزنده ها پس از رسیدن به یک وب سایت و قبل از پیمایش آن، بدنبال فایل robots.txt می گردند. اگر خزنده این فایل را پیدا کند، قبل از ورود به صفحه، فایل ربات را می خواند. زیرا فایل ربات شامل اطلاعاتی است که به موتورجستجو اعلام می کند چگونه باید یک وب سایت را مورد پیمایش قرار دهد. اگر فایل robots.txt شامل هیچ دایرکتیوی نباشد که دسترسی خزنده موتورجستجو را محدود و بلاک کند (یا اینکه سایت دارای فایل robots نباشد)، خزنده موتورجستجو (Crawler) تمام صفحات و فولدرهای آن سایت را پیمایش و ایندکس خواهد کرد.

مثالی از فایل robots.txt

 

نکاتی دیگر درباره فایل robots.txt:

  • به منظور پیدا شدن فایل robots.txt آنرا در بالاترین سطح وب سایت خود قرار دهید. یعنی در root هاست.
  • نام فایل ربات حساس به حروف بزرگ و کوچک (Case Sensitive) می باشد. نام این فایل بصورت robots.txt صحیح می باشد و نام های Robots.txt یا robots.TXT یا … اشتباه می باشند.
  • برخی از user-agent ها (ربات ها) ممکن است فایل robots.txt را نادیده بگیرند. مانند ربات های ایمیل و…
  • فایل robots.txt در دسترس عموم قرار دارد و شما می توانید در انتهای نام دامین هر سایتی، عبارت /robots.txt را اضافه کنید و تمام دایرکتیوهای آن سایت را مشاهده کنید. مانند: https://mohtava.info/robots.txt
  • هر ساب دامین (Subdomain) فایل ربات مختص خود را دارد. بعنوان مثال sub.example.com و example.com هر کدام دارای فایل ربات خاص خود می باشند: sub.example.com/robots.txt و example.com/robots.txt
  • توصیه می شود تمام نقشه های سایت (Sitemaps) را نیز در فایل robots.txt تعریف کنیم. بعنوان مثال در فایل ربات وب سایت WorkDay.com نقشه سایت xml نیز اعلام شده است: https://www.workday.com/robots.txt

 

تعریف نقشه سایت در فایل robots.txt

 

نکات فنی فایل robots.txt:

اصطلاحاتی که در یک فایل robots مورداستفاده قرار می گیرد شامل ۵ مورد زیر می باشد:

  • User-agent: بیانگر یک خزنده وب خاص می باشد که دستوراتی را برای آن در فایل رباتها (معمولا موتورهای جستجو) تعریف می کنید. لیستی از تمام user-agent های موجود را می توانید در وب سایت robotstxt.org مشاهده کنید.
  • Disallow: این دستور به user-agent اعلام می کند که یک URL خاص را پیمایش نکند. برای هر URL فقط مجاز به استفاده از یک Disallow می باشید.
  • Allow: این دستور تنها برای خزنده گوگل یعنی Googlebot قابل استفاده می باشد. با تعریف دستور Allow به گوگل‌بات اعلام می کنید که امکان دسترسی و پیمایش و ایندکس یک URL خاص را خواهد داشت. حتی اگر این URL در یک فولدر و یا ساب دامین بلاک شده باشد.
  • Crawl-delay: بیانگر تعداد میلی‌ثانیه ای می باشد که خزنده موتورجستجو باید بین لود شدن صفحه تا پیمایش آن منتظر بماند. توجه داشته باشید که گوگل‌بات (Googlebot) نمی تواند این دستور را بفهمد و اجرا کند اما از طریق Crawl Rate در کنسول جستجوی گوگل (Google Search Console یا Google Webmaster Tools) می توانید تنظیمات مربوط به تاخیر پیمایش خزنده را انجام دهید.
  • Sitemap: برای اعلام مسیر دسترسی به نقشه xml سایت بکار می رود. دقت کنید که این دستور تنها توسط Google و Bing و Yahoo! پشتیبانی و اجرا می شود.

 

تطبیق الگو (Pattern-Matching):

موتورهای جستجوی گوگل و بینگ برای مشخص کردن صفحات و زیرفولدرها از Regular Expression استفاده می کنند. کاراکترهای مورداستفاده در این زمینه علامت دلار ($) و ستاره (*) می باشد:

  • $ : بیانگر هر ترتیبی از کاراکترها (Sequence of Characters) می باشد.
  • * : مشخص کننده پایان URL می باشد.

گوگل لیست کامل و جامعی از کاراکترها و فرمت ها در این زمینه را در وب سایت support.google.com پیشنهاد می دهد.

 

محل قرارگیری فایل robots.txt:

وقتی خزنده موتورهای جستجو (مانند Facebot برای فیسبوک و Googlebot برای گوگل) وارد وب سایتی می شوند، ابتدا سراغ فایل رباتها در یک جای خاص می گردند و اینجا جایی نیست جز فولدر اصلی وب سایت (root سایت یا main directory). وقتی یک user-agent در مسیر www.example.com/robots.txt فایلی را پیدا نکند، تصور می کند آن وب سایت هیچ فایل رباتی ندارد و شروع به پیمایش تمام صفحات و فولدرهای سایت example می کند. حتی اگر فایل robots.txt در مسیر example.com/index/robots.txt و یا www.example.com/homepage/robots.txt وجود داشته باشد، خزنده موتورهای جستجو قادر به یافتن آن نیستند و فرض می کنند این سایت فایل robots ندارد!

بنابراین به منظور انجام شدن دستورالعمل های فایل robots توسط خزنده ها (Crawler) باید فایل robots.txt را در دایرکتوری اصلی و ریشه سایت قرار دهید.

 

دلایل اهمیت فایل robots.txt:

فایل رباتها دسترسی خزنده ها را به مسیرهای خاصی از وب سایت محدود می کند. اگرچه استفاده ناردست از این فایل ممکن است خزنده ها را از پیمایش کل وب سایت منع کند و تمام صفحات وب سایت را بلاک کند! مواردی وجود دارد که این فایل می تواند بسیار کاربردی و سودمند باشد.

 

موارد کاربرد فایل robots.txt:

  • جلوگیری از انتشار محتوای تکراری (Duplicate Content) در صفحه نتایج موتورجستجو (SERP: Search Engine Result Page)
  • محرمانه و خصوصی کردن بخش هایی از وب سایت و از دسترس عموم خارج کردن کل این بخش ها
  • جلوگیری از نمایش نتایج جستجوی داخلی سایت در نتایج عمومی موتورهای جستجو (Public SERP)
  • تعیین محل قرارگیری نقشه یا نقشه های سایت (Sitemap)
  • جلوگیری از پیمایش و ایندکس شدن صفحات و یا فایل های خاصی از وب سایت (مانند .pdf یا .ppt)
  • درنظر گرفتن تاخیر پیمایش (Crawl Delay) به منظور جلوگیری از overload شدن سرور سایت

 

نکته: اگر درنظر ندارید بخشی از وب سایت تان را از دید موتورهای جستجو پنهان کنید، احتمالا نیازی به داشتن فایل robots.txt ندارید.

 

چک کردن وجود فایل robots.txt:

اگر مطمئن نیستید وب سایت شما دارای فایل robots.txt می باشد یا خیر، براحتی با تایپ /robots.txt در انتهای دامین سایت تان، از این موضوع مطلع شوید. بعنوان مثال، فایل ربات سایت mohtava.info در مسیر mohtava.info/robots.txt قابل دسترسی می باشد. در صورتی که وارد این مسیر شدید و هیچ فایل متنی ربات پیدا نمایش داده نشد، مسلما سایت شما فایل ربات ندارد.

 

نحوه ایجاد فایل robots.txt:

اگر متوجه شدید سایت تان فایل robots.txt ندارد و یا خواستید آنرا بطور کلی تغییر دهید، براحتی می توانید یک فایل ربات جدید بسازید. با مراجعه به این مقاله از وب سایت گوگل می توانید فرآیند ایجاد فایل robots.txt را پیگیری کنید و توسط این ابزار قادر خواهید بود فایل ربات سایت خود را از لحاظ فرمت و نگارش چک کنید.

 

مطالعه بیشتر:

 

منبع: https://moz.com/learn/seo/robotstxt


برچسب‌ها:

robots.txtایجاد فایل robotsخزندهخزنده گوگلخزنده موتورجستجوفایل robotsفایل robots.txtفایل رباتفایل رباتهافایل متنی رباتنقشه سایت

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

16 + هفت =