اگر کمی با سازوکار گوگل آشنا باشید، احتمالاً میدانید که مسئول شناسایی و بررسی صفحات یک سایت (برای ایندکس، رتبهبندی و نشان دادن آنها به کاربران) کراولرها یا همان رباتهای خزنده گوگل هستند.
این خزندهها با دنبال کردن لینکها به صفحات مختلف سایت شما سرک میکشند و اطلاعاتی را که جمعآوری کردهاند در اختیار گوگل قرار میدهند.
گاهی اوقات لازم است که برخی از صفحات سایتتان را از دید این کراولرها مخفی و ورود رباتها به آن صفحه خاص را مسدود کنید. این کار توسط فایلی به نام Robots.txt امکانپذیر است.
حالا اینکه فایل Robots.txt چیست، چه تاثیری روی سئو سایتتان دارد و اصلاً چطور میتوانید چنین فایلی بسازید را در این مقاله و به زبان ساده توضیح خواهیم داد.
فایل Robots.txt چیست؟
رباتهای خزنده گوگل تابع دستورات شما هستند؛ یعنی این شما هستید که تعیین میکنید این کراولرها کدام صفحات سایتتان را بررسی کنند و کدام یکی را نکنند. این دستور را چطور میتوانید به رباتها بدهید؟ با فایل robots.txt!
حالا فایل robots.txt چیست؟
به زبان خیلی ساده، فایل robots.txt یک فایل متنی و شامل یکسری کد است که مثل یک راهنما و نقشه برای رباتهای خزنده گوگل عمل میکند و به آنها میگوید کدام صفحات یا بخشهای سایت را نباید ببینند؛ به عبارت دیگر، حد و حدود ورود رباتهای گوگل به بخشهای مختلف سایت را نشان میدهد.
در تصویر زیر میتوانید فایل robot.txt سایت لیموهاست را ببینید:
نگاه به ظاهر پیچیده این فایل نکنید، تفسیر و فهمیدین آن خیلی سخت نیست!
وقتی رباتها وراد یک سایت یا صفحهای از آن میشوند (منظورمان رباتهای خوب مثل کراولرهای موتورهای جستوجو است، نه رباتهای اسپم!) اول از همه دنبال همین فایل میگردند تا بدانند کدام صفحات را باید نادیده بگیرند. چطور؟
شما با مشخص کردن یک یوزر ایجنت (user-agent) که همان انواع کراولرهای جستوجوگر هستند و تعیین دستورالعملها (rules) محدوده دسترسی این رباتها را تعریف میکنید.
همچنین میتوانید از علامت ستاره «*» برای اختصاص دستورالعملها به همه یوزر ایجنتها استفاده کنید؛ این ستاره قانون را برای همه رباتها اعمال میکند. مثلاً دستورالعمل زیر به همه رباتها بهجز «DuckDuckGo» اجازه میدهد تا در سایت شما بخزند:
جلوتر توضیح میدهیم که این فایل شامل چه بخشهایی است و چطور آن را بسازید.
خب تا اینجا تقریباً فهمیدیم که فایل robot.txt چیست؛ قبل از اینکه وارد مسائل فنی شویم و سراغ نحوه تفسیر و ایجاد این فایل برویم، بیایید ببینیم اصلاً داشتن این فایل چه لزومی دارد.
پیشنهاد خواندنی: سئو چیست؟ راهنمای کامل |
چرا Robots.txt برای سئو سایت مهم است؟
راستش را بخواهید بیشتر سایتها نیازی به فایل robots.txt ندارند؛ چون خزندههای گوگل آنقدری باهوش هستند که خودشان هم بتوانند همه صفحات مهم سایت را کشف کنند و بهطور خودکار صفحاتی که مهم نیستند یا تکراری هستند را کراول نکنند.
با این حال، در ۳ موقعیت استفاده از فایل robot.txt ضروری و اجتنابناپذیر میشود:
۱) مسدود کردن برخی صفحات
بعضی وقتها روی سایتمان صفحاتی داریم که نمیخواهیم توسط کراولرها شناسایی شوند؛ مثلاً صفحاتی که محتوای تکراری یا کنیبالیزیشن دارند (صفحات تکراری بهخصوص در فروشگاههای اینترنتی بهکرات دیده میشود)، صفحه ورود یا لایگن، نسخههای آزمایشی یک صفحه از سایت (برای جلوگیری از کراول کردن زودتر از موعد) و…
اینجاست که میتوانیم از فایل robots.txt استفاده کنیم و به رباتهای گوگل بگوییم این صفحات را کراول نکنند.
۲) بهینهسازی بودجه خزش (Crawl Budget)
گوگل هر قدر هم که منابع و کراولر در اختیار داشته باشد، باز هم در مقایسه با میلیاردها صفحه وب موجود، محدود است. پس ناچاراً مجبور است برای کراول کردن و بررسی صفحات هر سایت، بودجه مشخصی را در نظر بگیرد.
پس منظور از کراول باجت یا بودجه خزش، تعداد صفحاتی از سایت شماست که گوگل در یک بازه زمانی معین (مثلاً ۱۲ ساعت) کراول و ایندکس میکند.
مثلاً اگر کراولرها بتوانند در طول ۱۲ ساعت، در ۱۰۰ صفحه از سایت شما خزش کنند، این مقدار کراول باجت شما برای آن روز است.
اینکه بودجه سایت شما چقدر باشد، به عوامل مختلفی مثل اندازه و ساختار سایت، سرعت لود سایت، تعداد بکلینکها و… بستگی دارد.
این را هم بگوییم که بودجه خزش یک عامل مهم در سئو سایت شماست. اگر سایت شما بودجه خزش محدودی داشته باشد، کراولرها نمیتوانند همه صفحات مهم سایت را کشف و ایندکس کنند. در نتیجه، کسب رتبههای بهتر در نتایج جستوجو برایتان سختتر خواهد شد.
پس برای اینکه مهمترین صفحاتتان در اولویت خزش قرار بگیرد، باید بودجهٔ کراولتان را افزایش دهید؛ مخصوصاً اگر سایتتان صفحات زیادی دارد.
یکی از راهکارهای بهینهسازی بودجه خزش، استفاده از فایل robots.txt است. با این فایل میتوانید به گوگل بگویید که اول سراغ کدام صفحات مهم برود و وقتش را برای صفحات بیاهمیت تلف نکند.
پیشنهاد خواندنی: کد اسکیما چیست و استفاده از آنها چه تاثیری در سئو سایت دارد؟ |
جلوگیری از ایندکس شدن فایلهای رسانهای
علاوه بر صفحات سایت، ممکن است فایلهایی مثل عکس، ویدیو یا PDF خاصی روی سایتتان داشته باشید که نخواهید ایندکس شوند و در نتایج جستوجو قابل دسترس باشند. با استفاده از فایل robots.txt و اضافه کردن یک خط کد به آن میتوانید خیلی راحت این محدودیت را برای کراولرهای گوگل تعریف کنید.
نکته مهم: درست است که فایل robots.txt میتواند دسترسی رباتها را به بخشهای خاصی از سایت کنترل و محدود کند و از این نظر خیلی مفید است؛ اما حواستان به این نکته هم باشد که اگر یک اشتباه کوچک در نوشتن کدهای این فایل مرتکب شوید، میتواند فرایند خزش رباتها در کل سایت را مختل کند.
فایل Robots.txt سایتمان را چطور پیدا کنیم؟
مثل هر فایل دیگری روی سایتتان، فایل robots.txt هم روی سرویس میزبانی سایتتان قرار میگیرد. برای دسترسی به این فایل کافی است عبارت robots.txt را بعد از URL صفحه اصلی سایتتان تایپ کنید و دکمه اینتر را بزنید.
برای مثال برای دسترسی به این فایل در لیموهاست، کافی است این آدرس را جستوجو کنید: https://limoo.host/robots.txt
نکته حرفهای
فایل robots.txt همیشه باید در سطح دامنه اصلی (root domain level) قرار بگیرد. اگر این فایل را جای دیگری مثلاً روی سابدامینها، یا سابکتگوریها و… قرار دهید، ممکن است رباتهای خزنده تصور کنند که شما اصلاً فایل robots.txt ندارید و آن را کراول نکنند. برای نمونه این اشتباه است: https://limoo.host/blog/robots.txt |
Robots.txt و Meta Robots و X-Robots چه تفاوتی دارند؟
علاوه بر فایلهای robots.txt، ما Meta Robots و X-Robots را هم داریم که به موتورهای جستوجو دستور میدهند که چطور با محتوای سایت شما برخورد کنند.
اما این سه روش از نظر میزان کنترل، محل قرارگیری و چیزی که کنترل میکنند با هم فرق دارند.
فایل robots.txt که در فایل اصلی سایت شما قرار دارد و به موتورهای جستوجو میگوید که اجاره دارد روی کدام صفحات بخزد و نخزد.
اما متا روبوتها قطعه کدهایی هستند که داخل بخش <head> هر صفحه سایت قرار میگیرند و به موتورهای جستوجو میگویند که آیا باید این صفحه را ایندکس کنند و لینکهای داخل صفحه را فالو کنند یا نه.
تگهای X-Robots هم بیشتر برای فایلهایی غیر از HTML مثل PDF و عکس استفاده میشوند و در هدر HTTP فایل قرار میگیرند.
محل قرارگیری تگ | میزان کنترل کراولرها | عنصر کنترلشونده | |
Robots.txt | در پوشه اصلی سایت | کنترل خزش کراولرها در کل سایت | کل صفحات سایت |
Meta Robots | داخل بخش <head> هر صفحه | کنترل ایندکس شدن صفحات و فالو کردن لینکهای هر صفحه | لینکهای هر صفحه |
X-Robots | هدر HTTP فایل | کنترل ایندکس عکس و ویدیو و… | فایلهایی غیر از HTML مثل PDF و عکس |
یک فایل Robots.txt شامل چه بخشهایی است؟
هر فایل robots.txt شامل ۳ بخش اصلی است:
- User-agent
- Allow و Disallow
- سایتمپ (Sitemap)
اولین سطر از هر دستورالعمل (یا همان directive) با یوزر ایجنت شروع میشود. این بخش مشخص میکند که کدام رباتها میتوانند یا نمیتوانند به سایت شما دسترسی داشته باشند.
پس جلوی یوزر ایجنت باید نوع کراولری را که مدنظر دارید وارد کنید. برای مثال، اگر میخواهید به Googlebot بگویید که صفحه مدیریت وردپرس شما را کراول نکند، دستور شما باید اینطور باشد:
User-agent: Googlebot
/Disallow: /wp-admin
قسمت دوم این فایل، دستورالعملهای Allow و Disallow هستند. درواقع در این بخش است که به کراولر میگویید فلان صفحه را کراول کند یا خیر. مثلاً اگر بخواهید به تمام موتورهای جستوجو اجازه دهید که در تمام صفحات سایت شما بخزند، باید این دستورالعمل را به فایلتان اضافه کنید:
* :User-agent
/ :Allow
یا اگر بخواهید خزش تمام کراولرهای موتورهای جستوجو را در سایتتان مسدود کنید، دستورالعمل شما به این صورت باید باشد:
* :User-agent
/ :Disallow
این بار شما بگویید: اگر بخواهیم دسترسی Googlebot را فقط به یکی از پستهای وبلاگمان مجاز کنیم چه دستوری باید بنویسیم؟ در قسمت کامنت منتظر پاسخهایتان هستم!
یکی دیگر از قسمتهای فایل Robots.txt، نقشه سایت است. نقشه سایت هم یک فایل متنی شبیه به فایل روبوت است، با این تفاوت که به کراولرها میگوید کدام صفحات مهماند و باید آنها را در اولویت خزش قرار دهند و ایندکس کنند. نقشه سایت را میتوانید در بالا یا پایین یک فایل robot.txt به این صورت ببینید:
نکته: درست است که شما میتوانید (و باید) نقشه سایت XML خود را با استفاده از ابزارهای وبمستر مثل سرچ کنسول به گوگل ارسال کنید، ولی افزودن دستورالعمل نقشه سایت به فایل robots.txt سرعت کراول کردن را بالا میبرد و این هم به نفع رباتهاست، هم شما.
بهجز اینها، یک دستورالعمل هم در برخی فایلهای Robots.txt وجود دارد که آوردن آن اختیاری است؛ Crawl-delay.
در Crawl-delay شما به خزندهها میگویید که برای جلوگیری از کاهش سرعت سایت، با کمی تاخیر صفحات را کراول کنند. مثلاً اگر بخواهید تعیین کنید که همه کراولرها بعد از هر بار خزیدن، ۵ ثانیه صبر کنند، باید این دستور را به فایلتان اضافه کنید:
* :User-agent
Crawl-delay: ۵
البته خزندههای گوگل دیگر این دستور را در فایل روبوت نمیخوانند و برای تنظیم کراول ریت باید از طریق سرچ کنسول اقدام کنید.
خب! تا اینجا مقدماتی که لازم بود را گفتیم و فهمیدیم بخشهای اصلی فایل Robots.txt چیست؛ حالا وقت تمرین است!
پیشنهاد خواندنی: اسپم اسکور چیست و چه تاثیری روی سئو سایت دارد؟ |
بیایید یک فایل Robots.txt بسازیم!
تا اینجا گفتیم که فایل Robots.txt چیست و چه فایدهای دارد؛ در این بخش میخواهیم دست به کار شویم و یک فایل Robots.txt با هم بسازیم؛ کافیست مرحلهبهمرحله با ما پیش بیایید.
۱) یک فایل ایجاد کنید و نام آن را Robots.txt بگذارید
برای ساخت فایل txt اول باید یک فایل یا داکیومنت با نام robots.txt باز کنید. حواستان باشد که برای این کار از نرمافزارهای ویرایش متن مثل ورد استفاده نکنید؛ چون ممکن است فایل را با فرمت خاصی ذخیره کند و بعداً برایتان مشکلساز شود.
بهترین راه، استفاده از نوتپد خود ویندوز است. کافی است عبارت notepad را در سرچباکس ویندوزتان سرچ کنید تا نوتپد برایتان باز شود.
این فایل اکنون آماده اضافه کردن دستورالعملها است!
۲) دستورالعملها را به فایل Robots.txt اضافه کنید
گفتیم که هر فایل robots.txt از یک یا چند گروه از دستورالعملها یا همان directive تشکیل شده است که هر گروه با یک یوزر ایجنت شروع میشود و مشخص میکند که این یوزر ایجنت به کدام دایرکتوریها (همان صفحات) یا فایلها دسترسی داشته باشد و به کدامها نداشته باشد.
در قسمت قبل توضیح دادیم که این دستورات را چطور بنویسید؛ ولی حالا برای محکمکاری یه نمونه کامل و پیچیدهتر هم اینجا مثال میزنیم.
فرض کنیم قرار است از ورود همه کراولرهای موتورهای جستوجو به دایرکتوریهای “/archive/” و “/support/” جلوگیری کنیم. دستوری که باید بنویسیم به این شکل خواهد بود:
* :User-agent
/Disallow: /archive
/Disallow: /support
برای اینکه بتوانید یک گروه جدید را شروع کنید و دستوری جدیدی را به ایجنت دیگری بدهید، کافی است دو بار اینتر بزنید و شروع به نوشتن کنید. مثلاً اگر بخواهید کراولرهای گوگل (بهطور خاص) دایرکتوری “/clients/” شما را هم کراول نکند باید چنین دستوری را بعد از دوبار اینتر زدن به کدهای قبلی اضافه کنید:
User-agent: Googlebot
/Disallow: /clients
پیشنهاد خواندنی: بهینهسازی نرخ تبدیل یا CRO چیست و چرا خیلی مهم است؟ |
نکته اول: به هر یوزر ایجنت میتوانید بیش از یک دستور بدهید، کافی است یک بار اینتر بزنید و در خط بعدی دستورتان را اضافه کنید. مثلاً اگر بخواهیم در همین مثال قبلی، به رباتهای گوگل بگوییم که علاوه بر دایرکتوری /clients/، صفحاتی که تگ «not-for-google» دارند را هم کراول نکند، دستورمان این شکلی میشود:
User-agent: Googlebot
/Disallow: /clients
Disallow: /not-for-google
نکته دوم: رباتها فایل را از بالا به پایین میخوانند و اولین گروه از دستورالعملها را که بخوانند با همان پیش میروند. بنابراین بهتر است ابتدا دستورالعملهای رباتهای خاص را بنویسید و سپس ایجنتهای «*» که برای مشخص کردن همه رباتها بهطور عام استفاده میشود را بیاورید.
پس اگر بخواهیم همه این دستورات را در نوتپد، در قالب یک فایل Robots.txt درست و اصولی در بیاوریم و سایتمپ را هم به آن اضافه کنیم، شکل نهایی فایلمان اینطور میشود:
نکته سوم: در فایل robots.txt حتماً آدرس صفحات مورد نظرتان را بدون پروتکل و نام دامنه وارد کنید؛ چون اگر بخواهید بعداً دامنهتان را تغییر دهید، این فایل دیگر برای کراولرها قابل دسترس نیست. در مثال زیر، شکل درست و نادرست را نشان دادهایم:
❌ * :User-agent
/Disallow: https://www.example.com/private-directory
/Disallow: https://www.example.com/temp
/Allow: https://www.example.com/important-directory
✅ * :User-agent
/Disallow: /private-directory
/Disallow: /temp
/Allow: /important-directory
به این نکته هم دقت کنید که کراولرها معمولاً فقط ۵۰۰ کیلوبایت اول فایل robots.txt را بررسی میکنند؛ پس بهتر است که حجم این فایل را کمتر از این مقدار نگه دارید.
پیشنهاد خواندنی: آموزش سئو محصولات در وردپرس (+ چکلیست سئو محصول) |
۳) فایل Robots.txt را آپلود کنید
بعد از ساخت فایل robots.txt و ذخیره آن، باید فایل روبوت را روی سایتتان آپلود کنید و در دسترس کراولرها قرار دهید. برای این کار روش واحدی وجود ندارد و بسته به ساختار فایل، نوع هاست و سیستم مدیریت محتوای شما نحوه آپلود این فایل فرق میکند.
راحتترین و بهترین کار راه این است که با پشتیبانی هاستتان تماس بگیرید تا این فایل را روی هاستتان آپلود کنند. (اگر از مشترکان لیموهاست هستید، میتوانید از طریق تیکت با پشتیبانهای ما در ارتباط باشید.)
۴) فایل Robots.txt خود را تست کنید
پس از آپلود فایل، باید ببینید آیا برای عموم در دسترس است و آیا گوگل میتواند آن را بخواند یا خیر. اگر یادتان باشد، کمی قبل توضیح دادیم که چطور میتوانید فایل Robots.txt سایتتان را پیدا کنید. طبق همان روش پیش بروید.
اگر فایل robots.txt خود را با کدهایی که اضافه کردهاید میبینید، یعنی فایلتان کار میکند و در دسترس است؛ فقط باید یک تست کوچک هم انجام دهید و ببینید آیا برای کراولرها هم در دسترس است یا نه.
برای این کار وارد سرچ کنسول گوگل شوید و از بخش setting<Crawling روی گزارش robots.txt کلیک کنید.
اینجا میتوانید ببینید که گوگل کدام فایلهای robots.txt را برای ۲۰ میزبان برتر سایت شما پیدا کرده است، آخرین باری که آنها را کراول کرده چه زمانی است و هرگونه هشدار یا خطای مربوط به این فایل را ببینید. این گزارش همچنین به شما این امکان را میدهد که برای مواقع اضطراری درخواست کراول مجدد فایل robots.txt را بدهید.
سوالی دارید؟
در این مقاله گفتیم که فایل robots.txt چیست، چه نقشی در سئو سایت دارد و چطور میتوانید این فایل را بسازید. اگر سوالی دارید یا در مراحل ساخت این فایل به مشکل خوردید، در بخش نظرات بنویسید تا راهنماییتان کنیم.
در ضمن خوشحال میشویم نظرتان را درباره این مقاله بدانیم!
دیدگاه ها
اولین نفری باشید که دیدگاه خود را ثبت می کنید