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

اهمیت فایل Robots.txt در سئو: هر آنچه نیاز است بدانید

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

به کمک فایل robots.txt می توان فایل های درون یک دایرکتوری، تمامی دایرکتوری ها، زیر شاخه ها یا کل دامنه ها را از خزیدن ربات ها حذف کرد.

فایل ربات اولین سندی است که یک ربات قبل از بازدید از وب سایت در نظر می‌گیرد.

ربات های اصلی مانند گوگل و بینگ به دستورالعمل ها پایبند هستند.

هنگام پیاده سازی robots.txt به اقدامات زیر توجه کنید:

  • هنگام ایجاد تغییرات در robots.txt مراقب باشید: این فایل پتانسیل این را دارد که بخش‌هایی از وب‌سایت را برای موتورهای جستجو از دسترس خارج کند.
  • فایل robots.txt باید در ریشه وب سایت شما قرار داشته باشد (به عنوان مثال https://www.kabodseo.ir/robots.txt).
  • فایل robots.txt فقط برای دامنه کامل از جمله پروتکل (http یا https) معتبر است.
  • هر ربات یا user-agent رفتار متفاوتی با دستورالعمل ها دارد.
  • در این فایل دستورالعمل اختصاصی تر و و اولین دستورالعمل منطبق ارجحیت اجرایی دارد.
  • بهتر است از دستورالعمل تاخیر در خزیدن crawl-delay برای موتور های جستجو اصلی استفاده نکنید.

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

این دستورالعمل ها را (directives) می نامند. در صورتی که دستورالعملی نباشد تمام آدرس های سایت برای خزنده ها قابل کراول می باشد.

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

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

Kevin Indig, Director of SEO

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

با استفاده از فایل robots.txt می‌توانید از محتوای duplicate جلوگیری کنید از نمونه های آن می‌توان به صفحاتی اشاره کرد که صرفا برای کاربر ایجاد شده اند.

مورد دیگر فیلتر های سایت فروشگاهی یا پارامتر های آدرس (url parameters) در سایت های فروشگاهی می باشد.

مورد بعدی بهینه سازی نرخ خزش در سایت های بزرگ و قرار دادن اولویت crawl به صفحات مهمتر می باشد.

از مثال دیگر می توان به پنل ورود به سیستم و سرچ بار درون سایت اشاره کرد.

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

محتوای duplicate را می توان با استفاده از تگ canonical یا تگ متا روبات‌ها حذف کرد، اما این روش ها نرخ کراول را بالا می برند و فرصت را برای خزیدن صفحات ارزشمند کم می کنند.

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

فایل robots.txt تأثیر بسزایی در بهینه سازی خزش موتورهای جستجو دارد. با صفحاتی که توسط robots.txt حذف شده‌اند، یک وب‌سایت معمولاً نمی‌تواند در رتبه‌بندی قرار گیرد یا در SERP ظاهر شود.

محدود کردن بیش از حد صفحات برای user-agent باعث می شود سایت در رتبه بندی قرار نگیرد. همینطور به کار نبردن دستورالعمل ها می تواند منجر به ایندکس صفحات اضافی مثل محتوای داپلیکیت یا بخش ورود به سیستم کاربر شود که اهمیتی برای جستجوگران و ربات گوگل ندارد.

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

استفاده صحیح از robots.txt هیچ تأثیر مثبت یا منفی بر رتبه بندی یک وب سایت در SERP ندارد و بیشتر با بهینه سازی نرخ کراول سر و کار دارد. استفاده صحیح از فایل تضمین می کند که تمام قسمت های مهم دامنه خزیده شده و محتوای فعلی توسط Google ایندکس شود.

ساختار پروتکل فایل Robots.txt

“پروتکل استاندارد حذف ربات” (REP) در سال 1994 منتشر شد. این پروتکل مشخص می کند که ربات های موتور جستجو و user-agent ها ابتدا فایل robots.txt را از روت اصلی بخوانند و سپس پروسه خزیدن و ایندکس سایت را انجام دهند.

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

همه خزنده ها به این قوانین پایبند نیستند و فایل robots.txt هیچ گونه حفاظت دسترسی ارائه نمی دهد.

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

بک لینک از سایر وب سایت ها تضمین می کند که ربات حتی بدون دستورالعمل robots.txt از یک وب سایت آگاه شود. اما موتورهای جستجوی اصلی مانند گوگل، یاهو و بینگ، به الزامات در robots.txt پایبند هستند و از REP پیروی می کنند.

ایجاد و کنترل فایل Robots.txt

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

همچنین ابزارهای رایگانی در وب وجود دارد که مهم ترین اطلاعات را برای robots.txt جستجو می کند و به طور خودکار فایل را ایجاد می کند.

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

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

هر فایل از دو بلوک تشکیل شده است. ابتدا، سازنده مشخص می‌کند که دستورالعمل‌ها برای کدام user-agent اعمال شوند.

پس از آن یک بلوک با مقدمه “disallow” دنبال می شود که با آن صفحاتی از ایندکس حذف می شود. به صورت اختیاری، بلوک دوم همچنین می تواند شامل مقدمه “Allow” باشد، تا آن را با بلوک سوم “Disallow” تکمیل کند و دستورالعمل ها را مشخص کند.

قبل از اینکه robots.txt در دایرکتوری ریشه وب سایت آپلود شود، فایل باید همیشه از نظر صحت بررسی شود.

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

برای بررسی اینکه آیا فایل robots.txt همانطور که انتظار می‌رود کار می‌کند، می‌توان آنالیز را در سرچ کنسول Google در قسمت «Coverage Report» -> Excluded -> «Blocked by robots.txt» انجام داد.

می‌توانید از ابزار تست Robots.txt Google استفاده کنید تا بفهمید کدام صفحه‌ها و دایرکتوری‌ها برای خزیدن باز هستند و کدام صفحات نیستند.

نمونه ای از فایل robots.txt ساده برای یک وب سایت وردپرس:

User-agent: *
Disallow: /search/

در این دستور العمل جلوی خریدن بخش سرچ داخل سایت گرفته شده است.

اکنون آناتومی یک فایل robots.txt را بر اساس مثال بالا توضیح می‌دهم:

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

علامت * نشان می دهد دستورالعمل ها برای همه موتورهای جستجو در نظر گرفته شده است.(* معنی گلوبال یا سراسری دارد)

disallow: این دستورالعملی نشان می دهد چه محتوایی برای user agent قابل دسترسی نیست.

/search/: مسیری است که برای user-agent غیرقابل دسترسی است.

در واقع: فایل robots.txt به موتورهای جستجو می گوید پوشه /search/ را کراول نکنند.

User-agent در فایل robots.txt

خیلی خودمانی بگویم هر موتور جستجو یا خزنده ربات اسم خاص خودش را دارد که به آن user-agent می گویند. مثلا ربات های گوگل Googlebot، ربات های یاهو به عنوان Slurp و ربات Bing به عنوان BingBot شناخته می شوند.

ابزارهای دیگر وجود دارند که دارای یوزر ایجنت خاص خود می باشند. مثل: moz یا screaming frog که با بستن دسترسی آن ها می توانید اطلاعات خود را از آن ابزار ها مخفی کنید.

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

چگونه با دستور disallow صفحات را از ایندکس خارج کنید

با استفاده از دستورالعمل Disallow می توانید به خزنده ها بگویید کل سایت، یک دایرکتوری یا بخشی از سایت را crawl نکنند. اگر مسیری تعریف نشده باشد، دستورالعمل نادیده گرفته می شود. ساده ترین ساختار robots.txt به شکل زیر است:

User-agent: Googlebot
Disallow: /

در این مثال به ربات های موتور جستجو گوگل دستور داده هیچ قسمتی از سایت را خزش نکنند. در مثال دیگر:

User-agent: Googlebot
Disallow:

این کد به این معنی است که Googlebot می تواند تمام صفحات را بخزد. همینطور که می‌بینید تنها یک حرف / می‌تواند مشخص کند سایت کراول شود یا نه.

در خط “user-agent”، کاربر پس از دو نقطه ای که الزامات برای آنها اعمال می شود، یوزر ایجنت را وارد می کند. به عنوان مثال، ورودی های زیر را می توان در اینجا انجام داد:

  • Googlebot (موتور جستجوی گوگل)
  • تصویر Googlebot (جستجوی تصویر گوگل)
  • (ادورز گوگل) Adsbot-Google
  • Slurp (Yahoo)
  • bingbot (bing)

بخش هایی که بهتر است وب سایت disallow باشند:

  • محتوای داپلیکیت
  • برچسب هایی که صرفا برای کاربر ایجاد شده اند
  • پنل ادمین ها
  • پروفایل کاربران
  • صفحات ایجاد شده با سرچ بار داخل سایت
  • فیلتر های سایت فروشگاهی
  • پارامتر ها url یا url parameters
  • صفحات چت کاربران

چگونه یک فایل allow را که قبلاً در پوشه disallow است اجرا کنیم

ممکن است سئوکار بخواهد به خزنده‌ها اجازه دهد تا یک URL خاص را بخزند در حالی که خزنده‌ها را برای دسته URL مجاز نمی‌داند. برای انجام این کار، مدیر وب سایت باید از دستورات «disallow» و «allow» به ترتیب زیر استفاده کند:

User-agent: *
disallow: /disallowed-category/
allow: /disallowed-category/allowed-file

این تکنیک در سایت های فروشگاهی کاربرد دارد. در حالی که پارامترهای URL از کراول خارج می‌شوند، ممکن است سئوکار بخواهد یک پارامتر را برای محصول ایندکس کند‌.

نمونه ای از دستورالعمل های متناقض (اشتباه):

User-agent: *
Allow: /page-1
Disallow: *.php

موتورهای جستجو نمی دانند با آدرس http://www.domain.com/page-1.php چه کنند، زیرا دستورالعمل واضح نیست. وقتی دستورالعمل‌ها واضح نباشند پیش فرض را بر نبودن دستورالعمل می گذارند و همه چیز را ایندکس می کنند.

هر دستورالعمل را باید در یک خط جداگانه استفاده کنید

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

مثالی از فایل robots.txt اشتباه:

User-agent: * Disallow: /page-1/ Disallow: /pagey-2/ allow: /page-3/page-4/

استفاده از علامت گلوبال *

پروتکل حذف ربات ها (wildcard) معمولا با disallow همراه می شوند. بعضی از موتورهای جستجو از عبارت * پشتیبانی می کنند و با دستور Disallow برای حذف فایل ها، دایرکتوری ها یا وب سایت ها استفاده می شوند. حروف عام یا wildcard توسط Google، Bing، Yahoo و Ask پشتیبانی می شود. مثال:

User-agent: *
Disallow: * cars

این دستورالعمل تمام وب‌سایت‌هایی را که دارای رشته «cars» هستند را ایندکس نمی‌کند. این اغلب برای پارامترهایی مانند session IDs (به عنوان مثال Disallow: *id) یا پارامترهای URL (مثلاً Disallow: / *؟) استفاده می شود تا URL هایی مثل فیلتر ها و پارامترهای آدرس فروشگاهی که چندین آدرس را برای یک محتوا دارند از کراول خارج کند.

استفاده از علامت $ برای زمانی که آدرس تمام می شود

کاراکتر $ یک قانون فیلتر می باشد که در انتهای یک رشته کاراکتر اعمال می شود. خزنده ها محتوایی را که به این رشته ختم می شود را کراول نمی کنند. یک مثال:

User-agent: *
Disallow: * .phone$

با این دستورالعمل، تمام محتوایی که به .phones ختم می‌شود از ایندکس حذف می‌شود. به طور مشابه، این دستور می تواند به فرمت های مختلف فایل منتقل شود: به عنوان مثال، example.xls یا example.pdf یا سایر فرمت های فایل مانند تصاویر، فایل های برنامه یا فایل های گزارش.

توجه داشته باشید علامت $ حتما در آخر دستور باشد و اگر در وسط آن باشد اجرا نمی شود.

چرا باید نقشه سایت (sitemap) را به robots.txt اضافه کنید

فایل robots.txt جدا از اینکه دستورالعمل هایی را برا خزش صفحات شما اجرا می کند، می توانید با قرار دادن sitemap در آن مطمعن شوید ربات ها بهتر و سریعتر به همه صفحات دسترسی داشته باشند.

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

نقشه سایت XML می تواند به شکل absolute URL قرار گیرد و لزومی ندارد که تمامی آدرس ها در همان فایل robots.txt باشد: یعنی آدرس کلی سایت مپ را قرار دهید کافی است. را

User-agent: *
Disallow: *?
Sitemap: https://www.kabodseo.ir/sitemap2.xml
Sitemap: https://www.kabodseo.ir/sitemap3.xml

در مثال بالا خزنده ها نمی توانند فیلتر ها را کراول کنند و دو نقشه سایت XML را در انتهای فایل قرار داده اید.

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

User-agent: *
Disallow: *?

Sitemap: https://kabodseo.ir/sitemap_index.xml

همیشه باید از نقشه های سایت مختلف برای زیر دامنه ها استفاده کنید. نقشه سایت دامنه اصلی را در فایل robots.txt زیر دامنه قرار ندهید.

یک URL مسدود شده را می توان حتی با یک لینک داخلی خالی که نه عنوانی دارید نه محتوایی ایندکس کرد.

کامنت ها Comments در فایل ربات چه کاربردی دارند؟

کامنت ها را باید با # شروع کرد و نکاتی که نیاز است را در همان خط نوشت. هرچه در آن خط بعد علامت # باشد هیچ تاثیری ندارد و صرفا برای یادآوری انسانی می باشد که در سایت ها بزرگ کاربرد بیشتری دارد. مثال:

#Don't allow access to the /search/ directory for all crawlers.
User-agent: *
Disallow: /search/
User-agent: * #used to all crawlers
Disallow: /search/ # Don't allow access to the /search/ section.

هر دو مورد بالا قابل استفاده است.

تاخیر در خزیدن (delay) به کمک فایل robots.txt

دستورالعمل Crawl-Delay روشی غیر رسمی است که بین دو درخواست در سرپ وقفه ایجاد می کند. این دستور در مواقعی کاربرد دارد که سرور بیش از حد مشغول است یا می‌خواهید فرصت کراول برای بخش های مهم تر به وجود آید.

نکته از مهدی نجاری: یک دستور crawl-delay به خزنده ها می گوید در بین 2 درخواست چه قدر وقفه داشته باشند. شما می توانید با وقفه قرار دادن برای ابزار های سئو یا موتور جستجو های کم استفاده فرصت بیشتر و روان تری برای خزنده های گوگل ایجاد کنید.

موتورهای جستجو رفتار متفاوتی در Crawl-Delay خود دارند:

تاخیر کراول برای خزنده های گوگل

کراولر Google با یوزر ایجنت Googlebot، دستورالعمل Crawl-Delay را پشتیبانی نمی کند، بنابراین تاخیر کراول را تعریف نکنید.

گوگل از نرخ خزیدن (یا “نرخ درخواست”) در سرچ کنسول گوگل پشتیبانی می کند. شما با این روش می توانید هم نرخ خزیدن را زیاد کنید و هم محدود کنید، بنابراین اگر کمی آن را زیاد کنید در ایندکس سریع تر سایت کمک می کند.

برای اینکار:

  • در سرچ کنسول علامت ؟ یا help را کلیک کنید
  • در قسمت سرچ بار عبارت crawl rate را سرچ کرده و کلیک کنید.
  • کمی اسکرول کنید و بر روی عبارت crawl rate setting page کلیک کنید.
  • در مرحله بعدی یک property را انتخاب کرده.
  • در این مرحله پیش فرض بر روی Let Google optimize for my site (recommended) می باشد.
  • سپس گزینه Limit Google’s maximum crawl rate را انتخاب کرده و میزان کراول سایت را بالا یا پایین ببرید.
  • در نهایت بر روی عبارت save کلیک کنید.

بینگ، یاهو و یاندکس همگی از دستورالعمل Crawl-Delay برای جلوگیری از خزیدن یک وب سایت پشتیبانی می کنند.

دستور Crawl-Delay بعد از دستورات Disallow یا Allow قرار می‌گیرد. مثال:

User-agent: BingBot
Disallow: /search/
Crawl-delay: 20

Baidu از این دستورالعمل پشتیبانی نمی کند، بنابراین یک حساب Baidu Webmaster Tools ثبت کنید که در آن بتوانید فرکانس خزیدن را مانند کنسول جستجوی Google کنترل کنید.

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

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

محل قرارگیری فایل robots.txt در کجاست؟ نام فایل آن چیست؟

فایل robots.txt باید همیشه در ریشه یک وب سایت (در پوشه public_html) ایجاد شود و نام فایل robots.txt را داشته باشد، به عنوان مثال:

https://www.kabodseo.ir/robots.txt

فایل robots.txt در ریشه دامنه ذخیره می شود و برای پیدا کردن آن وارد هاست شوید و در قسمت public_html می توانید فایل آن را بیابید.

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

ترتیب اولویت دستورالعمل ها در فایل ربات txt

اولویت در این فایل همیشه با دستورالعملی هست که طولانی تر باشد یا به اصطلاح دایرکتوری تخصصی تری ایجاد شده باشد به عنوان مثال: اگر طول کاراکتر یک دستورالعمل Allow بیشتر باشد (اختصاصی تعریف شده باشد) بر دستور غیر مجاز (disallow) ارجحیت دارد. مثال:

User-agent: *
Allow: /contact-me/kabodseo/
Disallow: /contact-me/

در این مورد، موتورهای جستجو، از جمله گوگل و بینگ، دسترسی به دایرکتوری /contact-me/ را ندارند، به جز زیر شاخه /contact-me/kabodseo/ چون اختصاصی تر تعریف شده است.

User-agent: *
Disallow: /contact-me/
Allow: /contact-me/kabodseo/

در این مثال، خزنده ها به جز گوگل و بینگ، اجازه دسترسی به فهرست /contact-me/ را ندارند. که شامل دایرکتوری /contact-me/kabodseo/ می شود.

Google و Bing مجاز به دسترسی هستند، زیرا دستورالعمل Allow طولانی تر از دستورالعمل Disallow است.

فقط یک گروه از دستورالعمل ها برای هر ربات استفاده شود

شما فقط می توانید یک گروه از دستورالعمل ها را در هر موتور جستجو تعریف کنید.

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

تا حد ممکن دایرکتوری خاص تری تعریف کنید

دستورالعمل Disallow در انطباق های جزئی فعال می شود. وقتی دستورالعمل Disallow تعریف می کنید تا از اشتباهات پرهیز کنید و به اشتباه کل دایرکتوری تحت تاثیر قرار نگیرد.

User-agent: googlbot
Disallow: /directory

مثال بالا به موتورهای جستجو اجازه دسترسی به موارد زیر را نمی دهد:

  • /directory
  • /directory/
  • /directory-name-1
  • /directory-name.html
  • /directory-name.php
  • /directory-name.pdf

دستورالعمل هایی برای همه ربات ها به همراه دستورالعمل های یک ربات خاص

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

برای اینکه ربات خاص دستورالعمل های مربوط به همه ربات ها را نیز دنبال کند، باید این دستورالعمل ها را برای ربات خاص تکرار کنید.

User-agent: *
Disallow: /secret/
Disallow: /test/
Disallow: /not-launched-yet/

User-agent: googlebot
Disallow: /not-launched-yet/

در مثال بالا همه موتورهای جستجو به جز گوگل اجازه دسترسی به /secret/، /test/ و /not-launched-yet/ را ندارند. گوگل فقط اجازه دسترسی به /not-launched-yet/ را ندارد، اما اجازه دسترسی به /secret/ و /test/ را دارد.

اگر نمی‌خواهید googlebot به /secret/ و /not-launched-yet/ دسترسی پیدا کند، باید این دستورالعمل‌ها را به طور خاص برای googlebot تکرار کنید:

User-agent: *
Disallow: /secret/
Disallow: /test/
Disallow: /not-launched-yet/

User-agent: googlebot
Disallow: /secret/
Disallow: /not-launched-yet/

فایل robots.txt برای عموم در دسترس است. disallow کردن بخش‌های وب‌سایت در آنجا می‌تواند به‌عنوان یک گزینه حمله توسط افرادی با اهداف مخرب باشد.

برای هر دامنه و ساب دامین باید فایل robots.txt جدا باشد

دستورالعمل های Robots.txt فقط برای ساب دامین فایلی که در آن هاست قرار دارد اعمال می شود. مثال:

بهترین است فقط یک فایل robots.txt در subdomain باشد.

اگر چندین فایل robots.txt دارید، حتماً مطمئن شوید که موارد اضافی وضعیت HTTP 404 را برمی گردانند یا اینکه آن را روی نسخه کنونیکال robots.txt ریدایرکت 301 بزنید.

دستورالعمل های متناقض: robots.txt در مقابل کنسول جستجوی Google

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

noindex در فایل robots.txt منسوخ شده است و بهتر است استفاده نکنید

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

امروزه بهتر است برای نوایندکس کردن صفحات از تگ متا ربات یا X-Robots-Tag استفاده کرد.

مثال هایی از دستورالعمل های کاربردی فایل robots.txt برای سئو

در این بخش دستورالعمل های واقعی را می آوریم تا نسبت به آن سایت خود را بهینه کنید:

1. به ربات ها دستور دهید کل سایت را خزش کنند

User-agent: *
Disallow:

به علاوه اگر فایل ربات نداشته باشید یا هیچ دستورالعملی ننویسید، ربات ها تمام دامنه را crawl می کنند.

2. به بات ها دستور دهید هیچ چیزی را کراول نکنند

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

User-agent: *
Disallow: /

همانطور که می بینید تنها یک حرف کل عملکرد را عوض کرد.

3. هیچ یک از ربات های گوگل به دامنه شما دسترسی نداشته باشند

User-agent: googlebot
Disallow: /

این دستور شامل همه ربات های گوگل می شود، مثل بات های خزنده تصاویر و اخبار

4. فقط ربات اخبار گوگل دسترسی دارد و بقیه ندارند

User-agent: googlebot
Disallow: /

User-agent: googlebot-news
Disallow:

5. ربات های گوگل و یاهو دسترسی نداشته باشند

User-agent: Slurp
User-agent: googlebot
Disallow: /

6. تمامی ربات ها به این دو دایرکتوری دسترسی نداشته باشند

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

7. ربات ها به یک pdf خاص دسترسی نداشته باشند

User-agent: *
Disallow: /kabodseo/mahdi.pdf

8. در اینجا دستورالعمل های آماده ای برای وردپرس می آوریم

User-agent: *
Disallow: /wp-admin/ #block access to admin section
Disallow: /wp-login.php #block access to admin section
Disallow: /search/ #block access to internal search result pages
Disallow: *?s=* #block access to internal search result pages
Disallow: *?p=* #block access to pages for which permalinks fails
Disallow: *&p=* #block access to pages for which permalinks fails
Disallow: *&preview=* #block access to preview pages
Disallow: /tag/ #block access to tag pages
Disallow: /author/ #block access to author pages
Disallow: /404-error/ #block access to 404 page

Sitemap: https://www.example.com/sitemap_index.xml
  • بستن دسترسی ربات ها به بخش ادمین سایت
  • بستن دسترسی بات ها به آدرس های بخش ورود
  • بستن دسترسی ربات ها به سرچ های درون سایت
  • بستن دسترسی ربات ها سرچ های انجام شده درون سایت
  • بستن دسترسی به صفحاتی که لینک های دائمی ناموفق دارند (broken links)
  • بستن دسترسی به صفحاتی که لینک های دائمی ناموفق دارند (broken links)
  • بستن دسترسی به صفحات پیش نمایش
  • بستن دسترسی به صفحات برچسب در وردپرس (اگر برچسب های مفیدی دارید دسترسی را نبندید)
  • بستن دسترسی به صفحات نویسنده
  • بستن دسترسی به صفحات خطای 404
  • قرار دادن سایت مپ در انتهای فایل برای پیدا پیدا کردن سریع آدرس ها برای ربات ها

توجه داشته باشید هر یک از این بخش ها را نسبت به موقعیت خود استفاده کنید.

2 دیدگاه دربارهٔ «اهمیت فایل Robots.txt در سئو: هر آنچه نیاز است بدانید»

  1. سلام وقت بخیر
    تشکر میکنم بابت این مطلب فوق العاده

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

    من میخوام ایندکس این صفحات رو غیرفعال کنم یعنی فقط آدرس اصلی ایندکس بشه بدون شماره صفحه

    چه متنی باید بنویسم؟

    disallow: */comments/

    disallow: /page*$

    1. سلام وقت بخیر
      خوشحالم که مطلب رضایت بخش بوده

      در مورد دسته بندی ها بهتره pagination به همون شکلی که هست باقی بمونه، چون صفحات ۲ به بعد هر کدوم مقداری پیج رنک دارند و بستن صفحات ۲ به بعد درست نیست.

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

      برای بستن با دستور disallow میتونید اینکار رو انجام بدین

      User-agent: *
      Disallow: / comments/

      جای comments ادرس دایرکتوری مورد نظر باشه. بستگی به cms شما داره

دیدگاه‌ خود را بنویسید

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

به بالای صفحه بردن