فایل robots.txt سایت چیست و چطور از آن استفاده کنیم؟
فایل robots.txt سایت یگی از فایلهای مهم است که باید پس از راهاندازی سایت آن را ایجاد کنید. چه از وردپس استفاده کنید و چه از سیستمهای دیگر مهم است که از این فایل استفاده کنید. فایل robots txt برای مشخصص کردن دسترسی رباتها به پوشههای مختلف و فایلهای روی سایت است. یعنی شما میتوانید مشخص کنید که هر ربات میتواند به کدام یک از پوشههای سایت دسترسی داشته باشند.
در ادامه این مقاله به آموزش کامل ساخت فایل robots txt پرداخته و با معرفی کلیه دستوراتی که برای استفاده از این فایل قرار دارد در نهایت روش ایجاد فایل robots txt را به شما آموزش خواهم داد که میتوانید در وردپرس یا هر سیستم سایت ساز دیگری استفاده کنید.
فایل robots.txt سایت چیست؟
برای اینکه ببینیم فایل robots txt چیست بیایید از یک مثال شروع کنیم. فرض کنیم کرونا یک رویایی بیش نبوده و همه اتفاقات امروز که پیرامون جهان میبینیم، یک خواب هستند.
شما به یک رویداد وبمستری دعوت شدید، اما برای اینکه تنهایی به این رویداد نروید از دوتا از دوستانتان هم برای رفتن به این رویداد دعوت میکنید که به قولی«هم فاله، هم تماشا»!
اما وقتی به محل برگزاری رویداد میروید، در ورودی به دوستان شما اجازه ورود به مراسم را نخواهند داد. چرا که آنها در رویداد شرکت نکردند، حتی اگر در زمینه وبمستری فعالیت داشته باشند.
فایل robots.txt سایت نیز دقیقا همین کار را انجام میدهد، با این تفاوت که این کار را برای رباتها انجام خواهد داد، نه برای بازدیدکنندگانی که وارد سایت شما میشوند. حالا شاید بپرسید که منظور از رباتها چیست؟
منظور از رباتها در واقع موتورهای جستجو و crawlers ها هستند که سایت ما را بررسی میکنند. این رباتها نوعی نرم افزار هستند که با اهداف خاصی ساخته شدهاند. به عنوان نمونه معروفترین آنها ربات جستجوگر گوگل است که در بخشهای مختلفی برای ایندکس سایت در نتایج وب، نتایج تصاویر و… دارای چندین ربات است.
نوع دیگری از رباتها هم مخصوص بررسی سایت شما هستند. به عنوان مثال یک ابزار آنلاین را برای بررسی و آنالیز سایت در نظر بگیرید. چنین سایتهایی دارای ربات هستند که از طریق آن کلیه لینکهای داخلی سایت و سورس HTML خروجی که در سایت قرار دارد را مورد بررسی قرار خواهند داد تا به محتوا و اطلاعاتی که برای آنالیز کردن نیاز دارند دسترسی داشته باشند.
کاربرد فایل robots txt چیه؟
همانطور که تا به حال حدس زدید کاربرد فایل robots.txt سایت در دادن دسترسی یا ندادن دسترسی به بررسی صفحات مختلف سایت برای رباتها است. اما جدایی از آن، کاربرد اصلی این فایل برای نشان دادن مسیر درست به رباتهای جستجوگر است. اگر به همان مثال شرکت در رویداد برگردیم، مطمئنا اتفاقی که مثال میزنم را شاید برای یک بار هم که شده تجربه کرده باشید؛ با لااقل اگر در یک رویداد این اتفاق رخ نداده در زندگی روزمره چندین بار با آن مواججه شدید.
بعد از اینکه اجازه به دوستان شما برای شرکت در یوداد داده نشده، حالا به یک گوشه رفته و بعد از کمی پچپچ کردن قرارتان این میشود که دوستان شما به جایی بیرون از رویداد رفته و با یک مسافرت چند ساعته در شهر وقت خود را بگذرانند تا رویداد به اتمام رسیده و شما هم به آنها بپیوندید. بعد از خروج دوستان حالا شما برای رفتن به محل رویداد راهی میشوید.
اما با چندین سالن روبهرو هستید که واقعا نمیدانید رویداد در کدام یکی برگزار خواهد شد. در نتیجه به ورودی برگشته و سوال میکنید. اینجاست که شما را راهنمایی کرده و دقیقا به سالنی که باید بروید راهنماییتان میکنند.
اصلیترین کاربرد فایل robots txt سایت دقیقا همینجاست. این فایل مسیر درست را برای ربات ها مشخص خواهد کرد و به آنها اعلام میکند که طبق دسترسی که مدیریت سایت داده است، مجاز هستند این بخشها و صفحات سایت را بررسی کنند. اما اجازه داشتن دسترسی به مدیریت سایت را ندارند. درست مثل حالتی که در محل رویداد اجازه رفتن به اتاق مدیریت یا کارکنان را ندارید.
چرا باید از فایل robots.txt استفاده کنیم؟
با این تفاسیر روشن است که شما حتما باید از فایل robots.txt سایت استفاده کنید. دلایل مختلفی هم برای آن وجود دارد که عمدهترین آنها شامل موارد زیر است:
- موتورهای جستجو عاشق جستجو کردن هستند. آنها دوستت دارند محتوایی که کاربران به دنبالش هستند را یافته و در اختیار آنها قرار دهند. بنابراین در هر آدرسی که در صفحات سایت شما ببینند سرک خواهند کشید تا آن را برای کاربران در دسترس قرار دهند. در نتیجه ممکن است شما دوست نداشته باشید برخی از صفحات ایندکس شوند که در این صورت باید از فایل robots txt برای ندادن دسترسی استفاده کنید.
- ابزارهای انلاین بررسی سایت نیز همینطور هستند. آنها سایت شما را با اهداف گوناگون بررسی میکنند که این بررسی میتواند توسط رقبای شما انجام گیرد. گاهی اوقات پیش میآید که شما در حال برنامه ریزی برای رونمایی از خدمات و محصولات خاصی هستید که در ظاهر سایت خبری از آنها نیست، اما چون اجازه دسترسی را توسط فایل robots.txt سایت محدود نکردید، چیزی که نباید فاش شود، فاش شده و آنها از این موضوع مطلع خواهند شد. شاید همین اطلاع باعث شود زودتر دست به کار شده و ایدهای که داشتید را اجرایی کنند.
- یکی از مهمترین موارد برای نمایش مسیر راه به موتورهای جستجو و رباتهای دیگر نمایش مسیر راه است. با تعریف دسترسی به فایل نقشه xml سایت میتوانید برای ربات تعیین کنید که جاهایی که مجاز به دسترسی آنها است را با رفتن به صفحه نقشه سایت بررسی و دنبال کند.
بنابراین در هر شرایطی لازم است که فایل robots.txt را در سایت خود ساخته و وضعیت داشتن دسترسی و نداشتن دسترسی را مشخص کنید.
دستورات قابل استفاده در robots txt
حال که با فایل robots.txt سایت آشنا شده و دانستید که چه کاربردی دارد در ادامه به معرفی ۴ دستور مهمی که در این فایل میتوانید استفاده کنید میپردازم. با استفاده از این دستورات شما میتوانید دسترسی دادن یا ندادن دسترسی را برای رباتهای مختلف تعیین کنید و در نهایت با دستور چهارم به شکل درستی مسیر را برای رباتها تعیین کنید تا استفاده بهتری از آن داشته باشید.
پیش از بررسی بهتر است با کلیک روی دکمه زیر کلیه ربات های رایجی که در وب وجود دارند را بررسی کنید. ممکن است رباتهای خاصی وجود داشته باشند که شما از نام آنها بی اطلاع هستید و همین مسئله باعث شود یک سری از سایتها دسترسی به دایرکتوریهای غیرمجاز را در سایت شما داشته باشند.
لیست رباتها برای فایل robots.txt
البته که این لیست آپدیت نیست و بسیاری از رباتها در آن قرار ندارند، اما از هیچ بهتر است. برای مشاهده لیست رباتهای گوگل نیز میتوانید به صفحه https://developers.google.com/search/docs/advanced/crawling/overview-google-crawlers مراجعه کنید.
۱- تعریف ربات با User-agent
با استفاده از این دستور میتوانید مشخص کنید شرایطی که در ادامه معرفی می کنید برای چه رباتی باشد. به عنوان نمونه شاید شما بخواهید اجازه دسترسی به ربات گوگل را به همه صفحات سایت بدهید، اما ربات اپل را محدود کنید که فقط به یک پوشه که با نام apple برای هدف خاصی ایجاد کردید دسترسی داشته باشد.
بنابراین با استفاده از این دستور میتوانید تعیین کنید که دستور برای کدام ربات برقرار است. برای این حالت ابتدا باید از دستور User-agent استفاده کنید و سپس مشابه نمونه زیر نام ربات یا رباتهایی که باید از این دستور پیروی کنند را وارد کنید.
User-agent: *
در نمونه بالا ما چون از کاراکتر ستاره(*) برای این دستور استفاده کردیم، به این معنی است که دستوراتی که در ادامه وارد میشود برای همه رباتها است. یعنی اگر اجازه دسترسی یا عدم دسترسی را صادر میکنیم همه ربات ها چه ربات جستجوگر باشد و چه ربات یک سایت برای آنالیز کردن، باید از ان پیروی کند.
اما شرایطی پیش میآید که شما میخواهید یک سری دستورات را صرفا برای یک ربات تعیین کنید. به عنوان نمونه فرض کنیم من یک پوشه با نام apple دارم که میخواهم اجازه دسترسی به ربات گوگل را به این پوشه ببندم، بنابراین میتوانم از دستور زیر استفاده کنم.
User-agent: googlebot Disallow: /apple/
همانطور که میبینید من در خط اول نام ربات گوگل را انتخاب کردم و مشخص کردم که ربات گوگل اگر وارد سایت شد، با بررسی فایل robots.txt مشخص کردم که اجازه بررسی کردن و ایندکس پوشه apple را ندارد. اجازه ندادن هم با دستور disallow انجام میگیرد که در ادامه معرفی خواهم کرد.
به همین ترتیب میتوانید چندین شرط مختلف تعیین کنید و برای رباتههای مختلفی دسترسی یا عدم دسترسی به پوشهها و مسیرهای خاصی را در سایت خود به کمک فایل robots.txt سایت تعیین کنید.
۲- دادن اجازه دسترسی با دستور Allow
با کمک دستور Allow میتوانید برای هر ربات تعیین کنید که اجازه دسترسی به یک دایکتوری را دارد. در واقع در حالت پیش فرض رباتها این حالت را قبول دارند، یعنی اگر شما در فایل robots txt خود دسترسی را برای یک پوشه خاصی محدود نکرده باشید، رباتها به صورت پیشفرض ان را بررسی و انالیز خواهند کرد، مگر اینکه از دستور عدم اجازه استفاده کنید.
اما گاهی پیش میآید که شما برای تاکید از این حالت استفاده کنید. مثل نگهبان ورودی در رویداد، اما با این تفاوت که دوستان شما که در رویداد شرکت نداشتن را هم دعوت میکند تا وارد سالن برگزاری رویداد شوند. برای استفاده از این دستور کافی است پس از مشخص کردن ربات، از مقدار Allow برای پوشه و دایرکتوری مورد نظر استفاده کنید.
User-agent: * Allow: /blog/
همانطور که در نمونه بالا میبینید من برای همه رباتها مشخص کردم که دسترسی به پوشه وبلاگ را که یک وردپرس در این پوشه برای وبلاگ سایت نصب کردم داشته باشند.
۳- مشخص کردن بخش های غیرمجاز با دستور Disallow
در نهایت با کمک دستور Disallow هم میتوانید تعیین کنید که ربات اجازه دسترسی به پوشه خاصی را نداشته باشد. به عنوان نمونه من یک پوشه با نام go دارم که از آن به عنوان یک لینک برای ریدایرکت لینکهای خارجی استفاده میکنم. حال نمیخواهم که این پوشه در موتورهای جستجو ایندکس شود. بنابراین میتوانم به کمک دستور زیر تعیین کنم که اجازه دسترسی فراهم نباشد.
User-agent: * Disallow: /go/
همانطور که در کد بالا میبینید برای همه رباتها مشخص کردم که پوشهای که با نام go در مسیر اصلی هاست قرار دارند را بررسی و ایندکس نکنند. اما شاید بخواهم برای ربات خاصی مثل ربات توییتر این گزینه را فعال کنم. که در این صورت دستور به شکل زیر خواهد بود.
User-agent: * Disallow: /go/ User-agent: twitterbot Allow: /go/
همانطور که در این قطعه کد میبینید مشخص کردم که همه رباتها دسترسی را نداشته باشند، اما در ادامه ربات توییتر را مجاز به این دسترسی کردهام.
۴- معرفی نقشه XML سایت و نمایش مسیر به ربات
اگر مقاله ترفندهای ایندکس سریع مطالب در گوگل را مطالعه کنید، در مورد دوم شااره به استفاده از نقشه سایت XML. داشتم. شما به کمک این نقشه سایت میتوانید لینک کلیه صفحاتی از سایت که موتورهای جستجو میتوانند این صفحات را برای ایندکس کردن بررسی کنند را تهیه خواهید کرد.
در نتیجه موتورهای جستجو به جای اینکه یک یک صفحات را بررسی کرده و سپس لینکهای درونی در هر صفحه را بررسی کنند، سریعا به سراغ فایل نقشه سایت رفته و محتوای کلیه این لینکها را بررسی میکنند. این کار هم باعث میشود کار بررسی سریعتر انجام گیرد و هم اینکه برای سایتهایی که ممکن است روزانه چندین بار رباتها صفحات را بررسی میکنند، منابع استفاده شده از سرور بهینه تر باشد. به هر حال رباتها شاید دل نداشته باشند، اما تاثیر در مصرف منابع سایت که دارند. :دی
پس چهارمین و آخرین دستوری که می توانید در فایل robots.txt سایت از آن استفاده کنید، مشخص کردن لینک صفحه نقشه سایت است. برای این منظور کافی است به کمک دستور sitemap آدرس نقشه سایت XML. خود را در انتهای این فایل تعریف کنید. کافی است آدرس خود را مانند نمونه زیر با این دستور وارد کنید.
sitemap: https://site.com/robots.txt
ابتدا دستور sitemap: را وارد کرده و پس از وارد کردن یک کاراکتر space آدرس را وارد کنید.
آموزش ایجاد فایل robots txt
برای ایجاد این فایل ابتدا باید ببینیم که فایل robot txt کجاست؟
همانطور که از ساختار آدرس و فرمت این فایل مشخص است، این فایل یک فایل متنی ساده است که باید در روت اصلی سایت قرار داشته باشد. یعنی باید این فایل را درست در پوشه Public_html سایت ساخته باشید که با آدرسی مثل https://site.com/robots.txt در دسترس باشد. پس اگر به دنبال این هستید که ببینید این فایل وجود دارد یا نه کافی است به جای آدرس مورد نظر دامنه خود را وارد کنید. اگر فایل وجود نداشت ممکن است آن را در پوشه اشتباهی آپلود کرده باشید.
برای ایجاد این فایل میتوانید از نرم افزار notepad ویندوز استفاده کنید یا اینکه به کمک ویژگی فایل منیجر هاست خود یک فایل با نام robots.txt تعریف کرده و سپس با استفاده از ادیتور هاست سی پنل یا دایرکت ادمین، این فایل را برای وارد کردن دستورات ویرایش کنید.
پس از ایجاد این فایل میتوانید بر اساس دستورات فایل robots txt که معرفی کردم، اجازه دسترسی و عدم اجازه را برای همه رباتها یا ربات خاصی به پوشهها و دایرکتوی خاصی تعیین کنید. اگر به دنبال آموزش ساخت فایل robots txt در وردپرس هستید، شاید استفاده از نمونه زیر گزینه خوبی باشد.
User-agent: * Disallow: /readme.html Disallow: /wp-admin/ Allow: /wp-content/uploads/ Sitemap: https://site.com/sitemap_index.xml
همانطور که در نمونه فایل robots txt برای وردپرس که در بالا میبینید من برای همه رباتها شرایط زیر را مشخص کردم:
- اجازه بررسی فایل readme.html وردپرس را نداشته باشند.
- اجازه بررسی پوشه wp-admin را نداشته باشند.
- اجازه دارند پوشه رسانه وردپرس را بررسی کنند.
- نقشه سایتی که برای آنها مشخص شده را به منظور بررسی صفحات سایت بررسی کنند.
آموزش معرفی فایل robots txt به گوگل
در نهایت پس از اینکه فایل را ایجاد کردید وقت آن رسیده تا آن را به سرچ کنسول گوگل معرفی کنید. معرفی فایل robots txt به گوگل کمک میکند که برای گوگل مشخصص کنید که به چه دایرکتوریهایی دسترسی دارد.
برای این منطور کافی است ابتدا روی دکمه زیر کلیک کنید تا به صفحه معرفی فایل به کنسول جستجوی گوگل هدایت شوید.
در این صورت مشابه تصویر زیر از شما خواسته میشود که سایتی که میخواهید معرفی کنید را انتخاب کنید.
بعد از این مرحله از شما خواسته میشود تا روی دکمه Submit کلیک کنید. در این ابزار میتوانید کدهایی که در حال حاضر در فایل شما وجود دارد را نیز بررسی کنید.
جمع بندی و کلام آخر
در این مقاله به اموزش استفاده از فایل robots.txt پرداخته و شما را با دستورات این فایل که به کمک آن میتوانید دسترسی به سایت را برای موتورهای جستجو و سایر رباتها مشخص کنید آموزش دادم. استفاده از این فایل در سایت توصیه میشود تا از طریق آن برای رباتها مشخص کنید که به چه دایرکتوریهایی از سایت شما دسترسی دارند.
گاهی اوقات به دلیل خطاهای برنامه نویسی که در سایت رخ میدهد، دسترسی به برخی پوشهها و فایلها برای موتورهای جستجو فراهم شده و آنها را ایندکس خواهند کرد. به عنوان نمونه در یکی از تجربیاتی که داشتم، کلیه فایلهایی که در پوشه wp-includes قرار داشتند توسط گوگل ایندکس شده بودند و وقتی آدرس دامنه خودم را در گوگل جستجو میکردم، در نتایج آدرسس این فایلها هم وجود داشتند. هر چند که امکان مشاهده آنها به دلیل سطح دسترسی وجود ندارد، اما ایندکس شدن آنها زیاد خوب نیست.
در صورتی که هر سوال یا مشکلی در خصوص استفاده از این فایل و آموزش ساخت آن دارید از بخش دیدگاهها ارسال کنید تا با هم به بحث و گفتگو بپردازیم.
سلام
من میخواهم فایل robots.txt را بسازم .
دستورت لازم برای اینکه تمامی صفحات را سرچ کند ؟
سلام کمال جان
همونطور که در مقاله اشاره کردم، در حالت عادی موتورهای جستجو صفحات شما رو بررسی خواهند کرد. یعنی دستور پیشفرض برای اونها اینکه که محدودیتی از نظر ایندکس کردن لینکهای مختلف وجود نداره. کافیه به هر شکلی که شده به یک صفحه از سایت شما دسترسی داشته باشند که کد وضعیت ۲۰۰ رو برمیگردونه.
بنابراین لزومی نداره از دستوری استفاده کنید که همه صفحات ایندکس بشن.
از فایل robots.txt صرفا صفحاتی که نمیخواین ایندکس بشه یا اینکه برای موتور جستجوی خاصی میخواین محدود کنید باید استفاده کنید.