فایل robots.txt در ریشه یک میزبان قرار میگیرد و به خزندههای سازگار اعلام میکند کدام مسیرها را بخزند یا نَخزند. این فایل ابزار مدیریت خزش است، نه ابزار محرمانهسازی اطلاعات و نه تضمین حذف یک URL از نتایج جستوجو. تنظیم نادرست آن میتواند مانع دسترسی خزنده به منابع یا صفحات مهم شود.
robots.txt چه کاری انجام میدهد؟
خزنده هنگام مراجعه به یک میزبان میتواند ابتدا فایل robots.txt را بررسی کند و سپس مطابق قواعد مربوط به خود عمل کند. دستورهای این فایل درباره خزش مسیرها هستند. اگر URL از جای دیگری لینک شده باشد، ممکن است بدون دسترسی به محتوای آن نیز شناخته شود؛ بنابراین مسدود کردن خزش الزاماً به معنای حذف URL از نتایج نیست.
تفاوت robots.txt و noindex
robots.txt درباره اجازه خزش مسیرهاست، اما noindex دستوری است که در صورت دسترسی خزنده به صفحه میتواند درخواست کند آن صفحه در نتایج نمایش داده نشود. اگر صفحه را در robots.txt مسدود کنید، ممکن است خزنده نتواند دستور noindex داخل آن را ببیند. برای حذف صفحه از نتایج، باید راهکار مناسب را با توجه به وضعیت دسترسی و محتوای صفحه انتخاب کنید.
همچنین robots.txt کنترل دسترسی امنیتی نیست. اگر محتوایی خصوصی است، باید از احراز هویت و مجوزهای دسترسی استفاده کنید. قرار دادن مسیر محرمانه در robots.txt میتواند حتی نام آن را آشکار کند. هرگز از این فایل بهعنوان جایگزین حفاظت اطلاعات استفاده نکنید.
ساختار پایه فایل
قواعد معمولاً با معرفی user-agent و سپس دستورهای allow یا disallow تنظیم میشوند. میتوان برای همه خزندهها یا خزنده مشخصی قواعد تعریف کرد، اما باید رفتار هر دستور و ترتیب انتخاب گروه قوانین را در مستندات معتبر بررسی کنید. فایل باید در مسیر درست میزبان قرار بگیرد و با پاسخ HTTP قابل دسترسی باشد.
از کپی کردن فایل آماده از سایت دیگر خودداری کنید؛ ساختار URL، افزونهها و نیازهای هر سایت متفاوت است. یک قانون مسدودکننده گسترده ممکن است صفحات مهم را نیز پوشش دهد. ابتدا هدف هر قانون را بنویسید و سپس دامنه اثر آن را با چند URL نمونه بررسی کنید.
چه چیزهایی را نباید بیبررسی مسدود کرد؟
مسدود کردن کل سایت یا مسیرهای اصلی محتوا اشتباه پرریسکی است. همچنین مسدود کردن فایلهای CSS و JavaScript مورد نیاز برای نمایش و درک صفحه میتواند توانایی خزنده برای رندر محتوا را محدود کند. پوشههای فنی را فقط زمانی مسدود کنید که دلیل مشخص و پیامد آن روشن باشد.
مسیرهای جستوجوی داخلی، فیلترها و پارامترهای متعدد ممکن است حجم زیادی از URLها بسازند. پیش از محدودسازی، بررسی کنید آیا این URLها محتوای مستقل و ارزشمند دارند یا نه و آیا مدیریت آنها بهتر است از طریق معماری سایت، canonical، لینک داخلی یا تنظیمات پارامتر انجام شود. robots.txt را برای جبران ساختار ضعیف سایت به کار نبرید.
چگونه فایل را بررسی کنیم؟
نشانی دامنه بهعلاوه /robots.txt را در مرورگر باز کنید و محتوای واقعی فایل را ببینید. سپس وضعیت HTTP را بررسی کنید؛ فایل باید از مسیر درست و با پاسخ قابل دسترس ارائه شود. اگر سایت از CDN یا سامانه کش استفاده میکند، مطمئن شوید نسخه قدیمی فایل پس از تغییر همچنان سرو نمیشود.
برای هر قانون مهم، چند مسیر مجاز و غیرمجاز را آزمایش کنید. بهویژه بعد از نصب افزونه امنیتی، مهاجرت سایت، تغییر قالب یا راهاندازی محیط staging این بررسی را انجام دهید. فایل محیط آزمایشی نباید بهصورت تصادفی روی نسخه اصلی باقی بماند، و سایت اصلی نیز نباید ناخواسته با قانون منع خزش کامل منتشر شود.
اشتباهات متداول
- استفاده از Disallow برای حذف قطعی URL از نتایج
- مسدود کردن کل سایت با یک قانون عمومی
- قرار دادن مسیرهای خصوصی در فایل به تصور محافظت امنیتی
- مسدود کردن منابع لازم برای رندر صفحه
- فراموش کردن بررسی فایل پس از تغییرات فنی یا مهاجرت
برای پیشگیری، نسخه فعلی فایل را قبل از ویرایش نگه دارید، تغییرات را مستند کنید و پس از انتشار، URLهای کلیدی را با ابزارهای بررسی موجود آزمایش کنید. اگر افت ناگهانی خزش یا ایندکس مشاهده شد، فایل robots.txt را در کنار وضعیت سرور و تغییرات اخیر بررسی کنید، نه اینکه فوراً یک قانون کلی اضافه کنید.
آیا میتوان مسیر نقشه سایت را معرفی کرد؟
بله، در بسیاری از پیادهسازیها میتوان نشانی کامل نقشه سایت را در فایل معرفی کرد تا کشف آن سادهتر شود. با این حال، ثبت نقشه سایت در سرچ کنسول نیز میتواند انجام شود و این دو روش جایگزین کنترل کیفیت URLهای داخل نقشه نیستند. مطمئن شوید نشانی معرفیشده معتبر و قابل دسترسی است.
جمعبندی
robots.txt را با هدف روشن و دامنه اثر محدود مدیریت کنید. به خاطر داشته باشید که کنترل خزش، حذف از نتایج و حفاظت امنیتی سه مسئله متفاوتاند و هرکدام ابزار مناسب خود را میخواهند.
منبع رسمی
برای جزئیات دستورها و قواعد، راهنمای گوگل درباره robots.txt را بخوانید و قوانین را پیش از انتشار روی URLهای مهم آزمایش کنید.
تفاوت فایل اصلی و نسخه محیط آزمایشی
سایتهای وردپرسی گاهی نسخه آزمایشی یا staging دارند که برای توسعه و تست استفاده میشود. در این محیط ممکن است عمداً از قواعد منع خزش استفاده شود، اما هنگام انتقال تغییرات به سایت اصلی باید مطمئن شوید فایل مناسب همان محیط منتشر شده است. اشتباه در این مرحله میتواند دسترسی خزنده به کل سایت را مختل کند. پس از هر مهاجرت یا انتشار نسخه جدید، فایل robots.txt را از نشانی عمومی سایت بررسی کنید؛ تنها به تنظیمی که در پنل مدیریت میبینید اکتفا نکنید، چون ممکن است سرور یا CDN نسخه دیگری ارائه دهد.
فرایند امن برای ویرایش robots.txt
پیش از ویرایش، از نسخه فعلی فایل یک کپی نگه دارید و هر قانون را با توضیح کوتاهی درباره هدف آن ثبت کنید. پس از تغییر، فایل را از بیرون سایت باز کنید و چند مسیر مهم را آزمایش کنید. اگر تغییر مربوط به یک پوشه خاص است، فقط همان محدوده را هدف بگیرید و از افزودن منعهای گسترده برای حل یک مشکل کوچک خودداری کنید. در صورت مشاهده افت ناگهانی کشف صفحات، تغییرات اخیر را بررسی و در صورت نیاز نسخه قبلی را بازگردانید. برای سایتهای بزرگ، بهتر است مسئول فنی و مسئول سئو پیش از انتشار قواعد مهم را با هم مرور کنند.