جستجو کن ...

robots.txt

robots.txt چیست؟

robots.txt یک فایل متنی است که مدیران وب برای تعلیم چگونگی ردیابی صفحات وب سایت به ربات های وب (معمولاً ربات های موتور جستجو) ایجاد می کنند. فایل robots.txt بخشی از پروتکل حذف ربات ها (REP) است. این پروتکل گروهی از استانداردهای وب است که نحوه ردیابی ربات ها در وب، دسترسی و فهرست بندی محتوا و ارائه محتوا به کاربران را تنظیم می کند. REP شامل دستورالعمل هایی مانند ربات های متا، صفحه-، زیرشاخه-، یا دستورالعمل هایی در گستره سایت برای چگونگی رفتار موتورهای جستجو با لینک ها است. (مانند “follow” یا “nofollow”).

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

با این مقاله از سلسله مقالات آموزش سئو همراه ما باشید.

قالب پایه:

User-agent: [user-agent name]
Disallow: [URL string not to be crawled]

این دو خط نشان دهنده یک فایل کامل robots.txt است، اگرچه که یک فایل robots.txt می تواند شامل خط های متعددی از یوزر ایجنت ها و دستورالعمل ها باشد (برای مثال disallows, allows, crawl-delays, و …).

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

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

برای مثال :

Msnbot، discobot و Slurp همه به طور خاصی فراخوانی می شوند، پس آن یوزر ایجنت ها فقط به دستورالعمل هایی توجه می کند که در بخش های فایل  robots.txt وجود دارد. همه یوزر ایجنت های دیگر از دستورالعمل هایی پیروی می کنند که در یوزر ایجنت group * وجود دارد.

نمونه هایی از robots.txt

در اینجا نمونه هایی از عملکرد robots.txt برای سایت www.example.com آورده شده است :

Robots.txt file URL: 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/ این عبارت می گوید که فقط ردیاب های گوگل (یوزر ایجنت های با نام ربات گوگل) نباید هیچ صفحه ای را در آدرس www.example.com/example-subfolder/ ردیابی کنند.

مسدود کردن دسترسی یک ردیاب وب خاص به صفحه وبِ خاص

User-agent: Bingbot
Disallow: /example-subfolder/blocked-page.html

این عبارت می گوید فقط ردیاب بینگ (یوزر ایجنت های با نام بینگ) باید از ردیابی صفحه ای خاص در آدرس www.example.com/example-subfolder/blocked-page اجتناب کند.

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

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

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

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

موتورهای جستجو برای ردیابی سایت ها لینک هایی را دنبال می کنند که آن ها را از سایتی به سایت دیگر ببرد که این نهایتاً منجر به ردیابی در میان میلیاردها لینک و وب سایت است. این عمل ردیابی گاهی اوقات با عنوان “عمل عنکبوتی ” شناخته می شود.

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

دیگر چیزهایی باید درباره robots.txt بدانید :

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

عبارات فنی robots.txt

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

User-agent (یوزر ایجنت) : ردیاب وب خاصی که دستورالعمل های ردیابی را به آن می دهید (که معمولاً یک موتور جستجو است). لیست یوز ایجنت ها را مشاهده کنید.

Disallow (عدم اجازه) : این فرمان برای این به کار می رود تا به یک عامل-کاربری بگوید که URL خاصی را ردیابی نکند. فقط استفاده از یک خط Disallow برای هر URL مجاز است.

Allow (اجازه) (فقط برای ربات گوگل قابل اعمال است) : فرمانی برای اجازه دسترسی ربات گوگل به یک صفحه یا زیرپوشه، در صورتی که حتی صفحه یا زیرپوشه مادر فاقد این دسترسی باشد.

Crawl-delay (ردیابی-تاخیری) : یک ردیاب باید چند میلی ثانیه پیش از بارگذاری و ردیابی محتوای صفحه منتظر بماند. توجه داشته باشید که ربات گوگل این فرمان را تصدیق نمی کند نرخ ردیابی را می توان در کنسول جستجوی گوگل تنظیم کرد.

Sitemap (نقشه سایت) : سعی کنید مکان نقشه سایت XML را که مربوط به این URL است پیدا کنید. توجه داشته باشید که این فرمان فقط توسط گوگل، ASK، بینگ و یاهو پشتیبانی می شود.

تطبیق الگو

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

گوگل و بینگ مفتخر به استفاده از دو حرفی هستند که می توانند صفحه ها و زیرپوشه ها را شناسایی کنند، دو حرفی که سئو از آن ها محروم است. این دو حرف ستاره (*) و نشانه دلار ($) است.

  • نشانه ستاره * دنباله ای از حروف را نشان می دهد.
  • نشانه دلار $ پایان URL را تطبیق می دهد.

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

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

هنگامی که فایل robots.txt در یک سایت قرار می گیرد، موتورهای جستجو و دیگر ربات های ردیاب وب (مانند ردیاب فیسبوک Facebot) می دانند که باید به دنبال آن بگردند. اما فقط در یک مکان خاص به دنبال آن می گردند : دایرکتوری اصلی (که معمولاً دامنه ریشه و یا صفحه اصلی شماست). اگر یک یوزر ایجنت از www.example.com/robots.txt دیدن کند و فایل robots.txt را در آنجا پیدا نکند فرض را بر این می گذارد که سایت دارای چنین فایلی نیست و شروع به ردیابی همه چیز در صفحه (یا حتی در کل سایت) می کند. حتی اگر فایل robots.txt در آدرس example.com/index/robots.txt یا www.example.com/homepage/robots.txt وجود داشته باشد، توسط یوزر ایجنت پیدا نمی شود، بنابراین به گونه ای با سایت رفتار می شود که گویا فاقد فایل robots.txt است.
برای اینکه از پیدا شدن فایل robots.txt خود اطمینان حاصل کنید، همیشه آن را در دایرکتوری اصلی یا دامنه ریشه قرار دهید.

چرا به robots.txt نیاز دارید؟

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

برخی از موارد استفاده :

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

 

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

اگر از داشتن فایل robots.txt مطمئن نیستید به سادگی می توانید عبارت /robots.txt را در انتهای URL دامنه ریشه خود تایپ کنید. برای مثال فایل ربات های سایت Moz در آدرس moz.com/robots.txt قرار دارد. اگر نه که صفحه .txt ظاهر می شود و شما در حال حاضر صفحه robots.txt ندارید.

چگونه یک فایل robots.txt بسازید؟

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

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

بهترین شیوه های سئو

۱. مطمئن شوید که محتوا هیچ بخشی از وب سایت خود را مسدود نمی کنید.
۲. لینک های داخلی صفحه ای که توسط robots.txt مسدود شده اند را نمی توان دنبال کرد. این بدان معناست که : ۱- از صفحات قابل دسترسی موتور جستجوی دیگر نیز به آن ها لینک داده شده است (برای مثال صفحاتی که توسط robots.txt، ربات های متا و غیره مسدود نشده اند) منابع لینک شده ردیابی نشده و فهرست بندی نیز نمی شوند. ۲- هیچ لینک اکوییتی (Link Equity) نمی تواند از صفحه مسدود شده به مقصد لینک عبور کند. اگر صفحاتی دارید که می خواهید لینک اکوییتی از آن ها عبور کند از مکانیزم مسدودسازی متفاوتی به جای robots.txt استفاده نمایید.
۳. از robots.txt برای جلوگیری از نشان داده شدن داده های حساس در نتایج جستجو استفاده نکنید (مانند اطلاعات کاربری خصوصی). زیرا ممکن است صفحات دیگر لینک مستقیمی به صفحه حاوی اطلاعات خصوصی بدهند که ممکن است فهرست بندی شود (بنابراین دستورالعمل های robots.txt  موجود در دامنه ریشه یا صفحه اصلی را دور می زنند). اگر می خواهید صفحه خود را مسدود کنید تا از نشان داده شدن آن در نتایج جستجو جلوگیری نمایید، از روشی دیگر مانند گذاشتن رمز عبور یا دستورالعمل متای noindex استفاده کنید.
۴. برخی از موتورهای جستجو یوزر ایجنت چندگانه دارند. برای مثال گوگل از ربات گوگل (Googlebot) برای جستجوی ارگانیک و از ربات گوگل-تصویر (Googlebot-image) برای جستجوی تصویر استفاده می کند. اکثر یوزر ایجنت ها در همین موتور جستجو از قوانین یکسانی پیروی می کنند بنابراین نیازی به مشخص کردن دستوالعمل برای هر ردیاب چندگانه نیست، اما داشتن این قابلیت به ردیابی دقیق محتوای وب سایت شما کمک می کند.
۵. یک موتور جستجو محتوای robots.txt را ذخیره می کند، اما معمولاً محتواهای ذخیره شده را حداقل روزی یک بار به روز رسانی می کند. اگر فایل را تغییر دهید و بخواهید سریع تر از معمول آن را به روز رسانی کنید می توانید URL robots.txt را به گوگل ارسال کنید.

Robots.txt در مقابل ربات های متا و x-robots

ربات های بسیار! چه تفاوتی میان این سه نوع دستورالعمل ربات است؟ اول از همه، robots.txt یک فایل متنی واقعی است، در حالی که متا و x-robots دستورالعمل های متا هستند. فراتر از چیزی که آن ها واقعا هستند، هر سه آن ها دارای عملکردهای متفاوتی هستند. Robots.txt رفتار ردیاب در سطح دایرکتوری و سایت را مشخص می کند، در حالی که متا و x-robots نوع رفتار در سطح صفحه (عناصر صفحه) را مشخص می کند.


به خواندن ادامه بده