آنچه باید از فایل Robots.txt بدانید!

Robots.txt یک فایل متنی ساده اما قدرتمند است که رفتار و عملکرد خزنده(Crawler، Robot، Spider) موتور جستجو را در مواجه با یک وب سایت مشخص می کند، به عبارت ساده تر به کمک این فایل می توانید بخش های مجاز و غیر مجاز وب سایت تان را از طریق مجموعه ای از قوانین(Rules) به اسپایدرها تحمیل کنید تا آنها بدانند که از چه مواردی چشم پوشی کرده و چه چیزهایی را برای ثبت(ایندکس) به موتور جستجوی خود ارسال نمایند.

اگر پست آموزشی تعاریف اولیه سئو (SEO) به زبان ساده را مطالعه کرده باشید در آنجا گفتیم که موتور جستجو در مرحله دنبال کردن(خزیدن/Crawling) و فهرست بندی(indexing) سعی می کند صفحات وب را جستجو کرده و در دیتابیس خود ثبت نمایند.

همانطور که در تصویر زیر مشاهده می کنید وب سایت سمت چپ فاقد فایل robots.txt می باشد و خزنده موتور جستجو به کلیه بخش های آن حتی بخش مدیریت دسترسی دارد و می توانند همه صفحات آن را ایندکس کند، اما در سمت راست دسترسی به دایرکتوری های admin، private و tmp بلاک شده است و اسپایدر حق کرال کردن آن قسمت ها را ندارند.

robots.txt چیست

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

  • گوگل بات(GoogleBot) : اسپایدر متعلق به موتور جستجوی گوگل
  • BingBot : اسپایدر جستجوگر بینگ شرکت مایکروسافت
  • SlurpBot : خزنده جستجوگر Yahoo
  • YandexBot : بات موتور جستجوی روسی یاندکس
  • BaiduSpider : خزنده جستجوگر چینی بایدو

Robots.txt چگونه کار می کند؟

برای درک بهتر موضوع کار با یک مثال ادامه می دهیم، زمانی که اسپایدر گوگل بات به آدرسی مثل “https://your-domain.com/my-page.html” مراجعه می کند، قبل از شروع فرآیند کرال یا خزیدن ابتدا در ریشه سایت یعنی “https://your-domain.com/robots.txt” به دنبال فایل robots.txt می گردد و ضوابط موجود در آن را بررسی می کند، پس از آن اقدامات موردنیاز را انجام می دهد.

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

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

فایل robots.txt در public_html

اگر شک دارید که این فایل در روت وب سایت تان وجود دارد کافی است به انتهای نام دامنه خود “robots.txt/” را اضافه کنید، در صورتی که موجود باشد محتوای آن نشان داده خواهد شد.

مسیر فایل robots.txt

ساختار Robots.txt

ساختار این فایل بسیار ساده است اما برای پیاده سازی آن باید از دستورالعمل های زیر استفاده کنید:

  1. عامل(User Agent): از این فرمان برای مشخص کردن اسپایدر استفاده می شود، لیست کامل آنها را در Robots Database مشاهد کنید.
  2. اجازه دادن(Allow): مسیرهایی که اسپایدر می تواند کرال کرده و ایندکس کند.
  3. رد کردن(Disallow): مسیر فایل، دایرکتوری و آدرس هایی که اسپایدر نباید آنها را ایندکس کند.
  4. نقشه سایت(Sitemap): توسط این فرمان می توانید آدرس سایت مپ را به اسپایدر نشان دهید.

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

  1. * : به معنای همه چیز
  2. / : محل فایل و دایرکتوری
  3. # : توضیحات

کلیه دستوراتی که در ادامه بررسی خواهیم کرد را می توانید با یک ویرایشگر ساده مثل Notepad ویندوز انجام دهید و سپس فایل نهایی را از طریق FTP یا cPanel به هاست تان منتقل کنید.

ایجاد فایل robots.txt

 

۱- اسپایدرها می توانند صفحات وب سایت را بدون محدودیت ایندکس کنند.

User-agent: *
Allow: /

 

۲- اسپایدر Bing نباید صفحات وب را ایندکس کند، اما بقیه اسپایدرها می توانند اینکار را بدون محدودیت انجام دهند.

User-agent: BingBot
Disallow: /

 

۳- اسپایدرها نباید دایرکتوری های wp-admin و wp-includes وردپرس را ایندکس کنند.

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/

 

۴- اسپایدرها نباید صفحه page-name.html را ایندکس کنند.

User-agent: *
Disallow: /directory-name/page-name.html

 

۵- اسپایدرها نباید صفحات وب را ایندکس کنند، فقط GoogleBot مجاز است اینکار را انجام دهد.

User-agent: *
Disallow: /

User-agent: Googlebot
Allow: /

 

۶- اسپایدر گوگل نباید تصاویر jpg را ایندکس کند.

User-agent: Googlebot-Image
Disallow: /*.jpg

 

۷- در فایل robots.txt کلیه مسیرها باید به صورت نسبی مشخص شود به استثنای نقشه سایت(Sitemap) که می توانید مسیر آن را بدین صورت تعیین کنید.

User-agent: *
Sitemap: https://startuptuts.com/sitemap_index.xml

 

۸- برای افزودن توضیحات از # استفاده شده است.

# all robots
User-agent: * 

# Disallowed to crawl about page and sun image
Disallow: /about.html
Disallow: /images/sun.jpg

 

۹- اسپایدر GoogleBot نباید فایل های pdf و png موجود در دایرکتوری uploads را ایندکس کند.

User-agent: GoogleBot
Disallow: /uploads/*.pdf
Disallow: /uploads/*.png

 

۱۰- اسپایدرها نباید تصاویر دایرکتوری images که نامشان با background شروع می شود را ایندکس کنند.

User-agent: *
Disallow : /images/background*.jpg

 

۱۱- در مثال زیر اگر چه دسترسی به دایرکتوری images بلاک شده است، اما امکان ایندکس کردن دایرکتوری flowers وجود دارد.

User-agent: *
Disallow: /images
Allow: /images/flowers/

 

ابزارهای تولید Robots.txt

اگر حوصله سر و کله زدن با دستورات robots را ندارید می توانید از ابزارهای آنلاینی مثل Robots.txt Generator استفاده کنید، با اینکار دیگر نگران اعمال تنظیمات اشتباه نخواهید بود، فقط کافی است موارد لازم را مشخص کرده و روی گزینه “Create Robots.txt” یا “Create and Save as Robots.txt” کلیک کنید.

ابزار robots txt generator

تست Robots.txt

پس از ایجاد فایل robots.txt بهتر است با استفاده از ابزار Google Search Console بررسی های لازم را انجام دهید تا مطمئن شوید که تنظیمات شما به درستی انجام شده است.

تست فایل robots.txt در گوگل سرچ کنسول

 

اگر بنا به هر دلیلی فایل Robots را اصلاح کردید حتما تغییرات جدید را به صورت زیر بارگذاری نمائید.

تست فایل robots.txt

چه اتفاقی می افتد اگر Robots.txt 

۱- در Root وب سایت وجود نداشته باشد؟

در این صورت موتور جستجو صفحات وب را بدون محدودیت کرال کرده و برای ایندکس شدن به موتور جستجو ارسال می کند.

۲- دارای اشکالات و خطاهای فنی باشد؟

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

۳- موتور جستجو را به صورت اتفاقی بلاک کرده باشد؟

صفحات وب ایندکس نخواهند شد و در نتایج موتورهای جستجو(SERP) نشان داده نمی شوند. در بدترین حالت صفحات ایندکس شده قدیمی نیز از نتایج موتور جستجو حذف خواهند شد، در چنین وضعیتی پس از اصلاح فایل robots.txt از طریق ابزار Search Console از گوگل درخواست کنید تا صفحات شما را مجددا ایندکس کند، برای این منظور از گزینه URL Inspection (در نسخه قدیمی Fetch as Google که دیگر در دسترس نیست) استفاده کنید.

در تصویر زیر فقط برای یک صفحه درخواست ایندکس ارسال شده است، اما می توانید به وارد کردن آدرس دامنه(مثلا /https://startuptuts.com) از گوگل بخواهید کلیه صفحات وب سایت تان را مجددا بررسی و در صورت نیاز ایندکس کند.

ارسال درخواست ایندکس صفحات به گوگل

نکته ۱

به هیچ عنوان فایل های CSS و JS را بلاک نکنید، چرا که گوگل در فرآیند خزیدن و ایندکس کردن قادر است صفحات وب سایت را مثل یک کاربر واقعی مشاهده کرده و این کار می تواند مشکل ساز شود.

نکته ۲

اگر می خواهید برخی از صفحات وب سایت تان توسط موتور جستجو ایندکس نشود بهتر است به جای فایل Robots.txt متاتگ Robots را در تگ <head> صفحات مربوطه قرار دهید.

<meta name=”robots” content=”noindex”>

 

نکته ۳

با توجه به اینکه محتوای فایل robots به راحتی قابل مشاهده است به هیچ عنوان آدرس صفحات مهم وب سایت تان را در آن قرار ندهید، در عوض از یک دایرکتوری محافظت شده با کلمه عبور(Login) استفاده کنید تا امکان حدس زدن URL صفحات وجود نداشته باشد.

User-agent: *
Disallow: /private/

 

جمع بندی

تنظیم صحیح robots.txt در بحث سئو تکنیکال بسیار تاثیرگذار است، حتی کوچکترین اشتباه شما می تواند ترافیک ورودی و رتبه بندی وب سایت تان را تحت تاثیر قرار دهد، به همین دلیل بعد از هر تغییری هر چند کوچک تست و بررسی ها لازم را با ابزار Goole Webmaster Tools انجام دهید.

نظرات و سوالات کاربران

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

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