فایل Robots.txt چیست؟ چه تاثیری بر سئو دارد؟

فایل Robots.txt یک فایل متنیست که وبمسترها با ایجاد آن می توانند ربات های موتورهای جستجو را در هنگام پایش وب سایت راهنمایی کنند. فایل robots.txt جزیی از پروتکلی با نام REP است که به استانداردسازی نحوه پایش وب توسط رباتها و چگونگی دسترسی و ایندکس محتوا و ارائه آن به کاربران می پردازد. پروتکل REP همچنین شامل نحوه برخورد با متا تگ Robots و دستوراتی دیگری مانند فالو کردن لینک ها نیز است.

در عمل فایل های robots.txt به user agent ها (مانند ربات های موتورهای جستجو) اشاره می کنند که کدام صفحات را پایش و به کدام مسیرها کاری نداشته باشند. این راهنمایی ها در قالب دستوراتی مانند Allow و Disallow به آنها داده می شود.

فایل robots.txt چیست

فرمت ابتدایی این فایل به شکل زیر است:

User-agent: [user-agent نام]

Disallow: [یو آر الی که نبایست پایش گردد]

با استفاده از این فایل می توان دستورات متفاوتی برای user agent های مختلف نوشت. کافیست که هر یک از مجموعه دستورات برای یک user agent را با یک خط فاصله از دیگری متمایز کنیم. به تصویر زیر توجه کنید:

نمونه فایل robots.txt

در صورتی که چندین مجموعه دستور برای چند user agent در فایل robots.txt ایجاد شده باشد، هر user agent دستورات مختص به خود را می خواند. به عنوان مثال به تصویر زیر دقت کنید:

نمونه فایل robots.txt

با توجه به دستورات بالا، user agent با نام msnbot تنها به مجموعه دستورات قسمت اول توجه می کند. در صورتی که user agent وارد شده به سایت جز هیچ یک از این گزینه ها نباشد، دستورات قسمت دوم که با user-agent: * آغاز شده است را دنبال می کند.

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

در ادامه مثال هایی را از فایل robots.txt برایتان آماده کرده ایم. دقت داشته باشید که این فایل در مسیر روت سایت یعنی آدرس www.example.com/robots.txt قرار دارد.

جلوگیری از دسترسی تمام پایشگر ها به کل وب سایت:

User-agent: *

Disallow: /

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

دسترسی دادن به تمام صفحات سایت به تمام پایشگرها:

User-agent: *

Disallow:

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

بلاک کردن دسترسی یک پایشگر به خصوص از یک فولدر مشخص:

User-agent: Googlebot

Disallow: /example-subfolder/

این دستورات به پایشگر Googlebot (ربات پایشگر گوگل) اعلام می کند که یو آر ال های شامل www.example.com/example-subfolder/ پایش نکند.

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

User-agent: Bingbot

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

این دستورات به پایشگر Bingbot (ربات پایشگر بینگ) اعلام می کند که صرفا یو آر ال www.example.com/example-subfolder/blocked-page.html را پایش نکند.

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

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

  • پایش وب برای یافتن محتوای جدید
  • ایندکس کردن محتوا برای جستجو کنندگانی که به دنبال آن هستند

موتورهای جستجو برای پایش وب سایت ها لینک ها را دنبال کرده و از یک سایت به سایتی دیگر می روند. به این رفتار آنها خزیدن یا Spidering نیز گفته می شود.

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

اطلاعات مکمل درباره فایل robots.txt

  • فایل robots.txt برای یافته شدن توسط پایشگرها بایست در مسیر ریشه سایت قرار داشته باشد.
  • فایل Robots.txt نسبت به حروف بزرگ و کوچک حساس است. به عبارتی نام صحیح این فایل robots.txt است. (اشکالی مانند Robots.txt یا robots.TXT قابل قبول نیست)
  • برخی از ربات ها ممکن است که دستورات فایل robots.txt را نادیده بگیرند. این موضع بیشتر در مورد پایشگرهای غیر موجه مانند ربات های یابنده ایمیل ها برقرار است.
  • فایل robots.txt در معرض عموم قرار دارد. به عبارتی هر شخصی می تواند دستورات آن را مشاهده کند. بنابراین اطلاعات خصوصی خود را در آنجا قرار ندهید.
  • هر یک از ساب دامین های وب سایت بایستی دارای فایل robots.txt مختص به خود باشند. به عبارت دیگر blog.example.com و example.com بایستی هر یک دارای فایل robots.txt مجزایی در مسیر خود باشند.
  • برای قرار دادن کامنت می توانید از کاراکتر # در ابتدای توضیحات استفاده نمایید.
  • ماکسیمم سایز قابل پشتیبانی برای فایل robots.txt، 500 کیلو بایت است. بنابریان حجم آن را زیر این عدد نگه دارید.
  • مسیر نقشه های سایت را می توانید در انتهای دستورات فایل robots.txt به مانند تصویر زیر قرار دهید.

درج نقشه سایت در robots.txt

در ادامه به بررسی بیشتر هر یک از این نکات پرداخته ایم.

دستورات قابل پشتیبانی در فایل robots.txt

در حالت کلی پنج نوع دستور برای این فایل وجود دارد که شامل موارد زیر است:

  • User-agent: اشاره به یک پایشگر به خصوص (غالبا نام ربات های موتورهای جستجو). لیستی از user agent های معمول را می توانید در اینجا مشاهده کنید.
  • Disallow: دستوری برای بلاک کردن دسترسی به یک قسمت از وب سایت. در یک خط تنها می توان از یک دستور Disallow استفاده کرد.
  • Allow: این دستور به Googlebot اعلام می کند که می تواند به یک آدرس زیرمجموعه دسترسی داشته باشد، حتی اگر مسیر مجموعه اصلی آن در خطی دیگر از فایل robots.txt بلاک شده باشد.
  • Crawl-delay: به زمانی گفته می شود که پایشگر بایستی قبل از بارگذاری پایش محتوای صفحه صبر کند. البته این دستور غالبا از طرف گوگل نادیده می شود.
  • Sitemap: اشاره به نقشه های سایت XML. دقت داشته باشید که این دستور تنها توسط گوگل، Ask، بینگ و یاهو پشتیبانی می شود.

تطابق الگوها

دستورات فایل robots.txt در هنگام ایجاد یک الگو برای تحت پوشش دادن گستره ای از یو آر ال ها می تواند کمی پیچیده نیز باشد. گوگل و بینگ از عبارت قاعده مند (regular expressions) در هنگام استفاده در فایل robots.txt پشتیانی می کنند و متخصصین سئو می توانند از آنها استفاده بهینه ای نمایند. دوکاراکتر مرسوم در اینجا * و $ هستند.

  • کارکتر * برای اشاره به وجود هر گونه کارکتری در ابتدا، انتها یا وسط یک آدرس به کار می رود.
  • کارکتر $ نیز برای اشاره به پایان یافتن یک یو آر ال استفاده می شود.

گوگل لیستی از الگوهای تطبیقی و مثال ها را در اینجا گرداوری کرده است.

اولویت بندی دستورات robots.txt

هنگامی که چندین دستور بر روی یک یو آر ال اعمال می شوند، دستوری که دارای بیشترین کاراکتر است مورد پذیرش قرار می گیرد. به عنوان مثال ببینیم که چه اتفاقی بر روی یو آر ال “/home/search/shirts” با توجه به فایل robots.txt زیر می افتد:

Disallow: /home

Allow: *search/*

Disallow: *shirts

در این سناریو یو آر ال مورد نظر پایش خواهد شد، چرا که دستور Allow دارای 9 کاراکتر است. در حالی که دستور Disallow تنها 7 کاراکتر دارد. در صورتی که می خواهید این یو آر ال حتما بلاک شود می توانید کاراکترهای دستور Disallow را به شکل زیر افزایش دهید:

Disallow: *******************/shirts

همچنین در شرایطی که تعداد کاراکترها برابر باشد، دستور Disallow در اولویت قرار می گیرد. به عنوان مثال یو آر ال “/search/shirts” با توجه دستورات زیر بلاک خواهد شد:

Disallow: /search

Allow: *shirts

فایل robots.txt در کجا بایستی قرار داشته باشد؟

موتورهای جستجو و دیگر پایشگرهای وب پس از ورود به یک سایت  می دانند که بایستی به دنبال یک فایل robots.txt باشند. اما آنها تنها در یک مسیر مشخص (مسیر ریشه وب سایت) به دنبال این فایل هستند. اگر یک پایشگر در مسیر www.example.com/robots.txt هیچ فایلی را مشاهده نکند، فرض را بر این قرار می دهند که هیچ فایل robots.txt در این وب سایت وجود ندارد.

حتی اگر این فایل در سایر مسیر ها وجود داشته باشد، پایشگر متوجه حضور آن نخواهند شد. بنابراین برای حصول اطمینان تاکید می کنیم که آن را در مسیر روت وب سایت قرار دهید.

چرا وب سایت شما به فایل robots.txt نیاز دارد؟

با استفاده از فایل robots.txt می توان به مدیریت دسترسی پایشگر ها در وب سایت پرداخت. با اینکه این امکان می تواند در صورت اشتباه شما کمی خطر ناک نیز باشد، اما از طرفی بسیار کارامد نیز است.

برخی از استفاده های مثبت از فایل robots.txt عبارتند از:

  • جلوگیری از ایجاد مشکل محتوای تکراری (دقت داشته باشید که در اغلب سناریو ها استفاده از متا robots گزینه بهتریست)
  • خصوصی نگه داشتن بخشی از وب سایت (به عنوان مثال بخش ادمین سایت)
  • جلوگیری از ایندکس شدن صفحات نتایج جستجوی داخلی وب سایت
  • اشاره به نقشه وب سایت
  • جلوگیری از ایندکس شدن برخی از فایل ها (مانند فایل های PDF) در وب سایت
  • ایجاد تاخیر در پایش وب سایت برای جلوگیری از فشار زیاد بر روی سرور وب سایت
  • بهینه سازی بودجه پایشی (Crawl Budget)

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

موارد قابل مخفی کردن توسط robots.txt

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

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

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

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

چگونه اقدام به ساخت فایل robots.txt کنیم؟

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

نکات سئو درباره فایل robots.txt

در ادامه توجه شما را به نکاتی جلب می کنیم که رعایت آن ها در ساخت فایل robots.txt موجب سئو هر چه بهتر وب سایت شما خواهد شد.

  1. از بلاک نبودن محتواهای اصلی سایت اطمینان حاصل کنید.
  2. لینک های حاضر در صفحات بلاک شده توسط فایل robots.txt دنبال نخواهند شد. این مسئله بدین معناست که در صورت عدم وجود آن لینک در هیچ کجای وی یا یک صفحه بلاک نشده دیگر از وب سایت شما، توسط موتورهای جستجو دیده نشده و در نتیجه ایندکس نخواهد شد. ثانیا اعتباری از صفحه بلاک شده به لینک های آن منتقل نمی گردد. در صورتی که دارای صفحاتی هستید که در کنار ایندکس نشدن نیاز است که اعتبار آنها به لینک ها انتقال یابد، بایستی دنبال مکانیسم دیگری باشید.
  3. هیچگاه از فایل robots.txt برای پنهان کردن داده های حساس و خصوصی وب سایت از نتایچ جستجو استفاده نکنید. چرا که ممکن است لینک این گونه صفحات در جایی دیگر از سایت قرار داشته و کاربران به آن دسترسی پیدا کنند. راهکار بهتر برای جلوگیری از دسترسی به این گونه صفحات، قرار دادن پسورد برای دستریست.
  4. بسیاری از موتورهای جستجو دارای چندین user agent هستند. به عنوان مثال گوگل از Googlebot برای جستجوی ارگانیک استفاده می نماید. همچنین از Googlebot-Image برای جستجوی تصاویر وب سایت ها بهره می برد. اغلب user agent ها از یک موتور جستجو، از همان دستورالعمل کلی برای یکی از user agent ها استفاده کرده و نیازی به تعریف دستورات متنوع برای هر یک نیست. اما در صورتی که نیاز به تعاریف دستورات متفاوت برای user agent های مختلف دارید، میتوانید با فراغ بال آنها را در فایل robots.txt تعریف کنید.
  5. موتورهای جستجو محتوای فایل robts.txt را کش کرده و معمولا روزی یک بار آن را بروزرسانی می نمایند. در صورت تغییر در فایل robots.txt می توانید آن را از طریق ابزار مربوطه در گوگل سرچ کنسول، تغییرات صورت گرفته را سریعا بروزرسانی کنید.
  6. جلوگیری از دسترسی به یک سری از آدرس های سایت به معنای پاک شدن آنها از ایندکس گوگل نخواهد بود. به عبارتی دیگر اگر دسترسی به صفحه ایندکس شده ای را توسط فایل robots.txt بلاک کنید، همچنان آن صفحه در نتایج جستجو قابل رویت است. در تصویر زیر نمونه ای از این صفحات را مشاهده می کنید.
    جلوگیری از نوایندکس شدن صفحات توس robots.txt
    در تصویر بالا گوگل اعلام می کند که چنین صفحه ای وجود دارد، اما اطلاعات آن از دید گوگل قابل مشاهده نیست، چرا که جلوی دسترسی به آن گرفته شده است. برای جلوگیری از چنین مشکلی ابتدا بایست صفحات مورد نظر را با استفاده از متا robots نوایندکس نمود و پس از خارج شدن آن صفحات از ایندکس گوگل، اقدام به بلاک نمودن آدرس ها کرد.
  7. فولدرهای حاوی فایل های CSS و جاوا اسکریپت مورد نیاز در وب سایت را بلاک نکنید. چرا که گوگل علاقه مند به مشاهده وب سایت به شکلیست که برای کاربران به نمایش در می آید. گوگل این گونه می تواند وب سایت را از دید موبایل فرندلی بودن بررسی نماید.
  8. بهتر است که یک مجموعه دستور مشترک برای تمام user agent ها داشته باشید تا در هنگام بروزرسانی فایل robots.txt دچار سردرگمی نشوید.

Robots.txt و وردپرس

هر آنچه که در مورد فایل robots.txt تاکنون یادگرفتید در وب سایت های وردپرسی نیز قابل انجام است. در گذشته پیشنهاد می شد که مسیر های wp-admin و wp-includes را در فایل robots.txt بلاک کنیم. اما از سال 2012 به بعد چنین کاری لازم نیست، چرا گه ورودپرس به واسطه کد @header( ‘X-Robots-Tag: noindex’ ); به نوایندکس صفحات موجود در آدرس های یاد شده می پردازد.

وردپرس به صورت پیشفرض دارای فایل فیزیکی برای robots.txt نیست، اما شما با تایپ آدرس https://www.yourdomain.com/robots.txt در مرورگر خود صفحه متنی با مقادیر زیر مشاهده می کنید:

User-agent: *

Disallow: /wp-admin/

Allow: /wp-admin/admin-ajax.php

با زدن تیک عدم نمایش سایت برای موتورهای جستجو در تنظیمات وردپرس، مقادیر robots.txt به مقادیر زیر تغییر می کند:

عدم نمایش سایت برای موتورهای جستجو در تنظیمات وردپرس

User-agent: *

Disallow: /

همانطور که مشاهده نمودید، این مقادیر، جلوی دسترسی به سایت را برای موتورهای جستجو میگیرد.

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

مقایسه robots.txt، متا robots و x-robots

تفاوت هایی بین موارد ذکر شده وجود دارد. robots.txt در واقع یک فایل واقعیست، در حالی که robots و x-robots جز داده های متا هستند. آنها دارای عملکرد متفاوت از یکدیگر می باشند. فایل robots.txt به کنترل پایش صفحات وب سایت پرداخته، در حالی که متا robots و x-robots به مدیریت ایندکس صفحات سایت در موتورهای جستجو می پردازند.

جمع بندی

نیازی به صرف زمان زیادی برای پیکر بندی فایل robots.xt نیست. تنها یک بار آن را ساخته و توسط گوگل سرچ کنسول تست کنید. دقت داشته باشید که صفحات اصلی را از دید ربات ها پنهان نمی کنید. این اقدام تنها بایست در ابتدای ساخت وب سایت انجام شده و در آینده در هنگام بررسی سئو سایت مورد توجه قرار گیرد.

2 دیدگاه

  1. سلام
    بخاطر اینکه سرعت وب سایت من پایین نیاد میخواهم فقط برای گوگل و بینگ یاهو سایتم را قابل دسترس کنم باید دستور را چه قرار دهم
    سایت من وردپرس است
    User-agent: آیا باید نام همه آنها را اینجا قرار دهم ؟
    Disallow: /wp-admin/
    Allow: /wp-admin/admin-ajax.php

    • کافیست user-agent: * را در فایل robots.txt قرار دهید. دستورات برای همه بات های فوق اعمال می شود. اما اگر منظور سایر بات هاست، احتمالا به دستورات فایل robots.txt توجهی نخواهند کرد.

پاسخی بگذارید

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