فایل robots.txt چیست | آموزش تنظیم فایل robots+نمونه آماده
فایل robots.txt چیست؟
۱۴۰۴/۱۲/۱۹ 0 بررسی 14بازدید امیرحسین جلیلیان
فهرست مطالب
فرض کنید یک فروشگاه بزرگ دارید و نمیخواهید هر بازدیدکنندهای وارد هر انبار، اتاق بایگانی یا بخش پشتیبانی شود. در وبسایت هم دقیقاً چنین وضعیتی وجود دارد: بعضی بخشها باید برای کاربران و موتورهای جستوجو قابل مشاهده باشند و بعضی بخشها بهتر است بیدلیل خزیده نشوند. اینجاست که فایل robots.txt وارد میدان میشود. این فایل یکی از پایه ایترین ابزارهای سئو سایت حرفه ای است. در ادامه به بررسی جزئی تر این فایل مهم میپردازیم.
ابزاری ساده، که اگر اشتباه تنظیم شود، میتواند منجر به دیده نشدن صفحات مهم شما در نتایج جستوجو شود. طبق مستندات رسمی گوگل، robots.txt به خزندهها میگوید کدام URLها را میتوانند یا نمیتوانند بخزند، اما ابزار حذف صفحه از ایندکس گوگل نیست. برای خارج کردن صفحه از نتایج جستوجو باید از تگ Noindex یا روشهای کنترلی دیگر استفاده کنید.
فایل robots.txt چیست و دقیقاً چه کاری انجام میدهد؟
فایل robots.txt یک فایل متنی ساده با کدگذاری UTF-8 است که در ریشه سایت قرار میگیرد؛ یعنی معمولاً آدرس آن به شکل example.com/robots.txt خواهد بود. این فایل بر اساس استاندارد Robots Exclusion Protocol تعریف شده و به خزندهها اعلام میکند کدام بخشهای سایت را بخزند و کدام بخشها را فعلاً نادیده بگیرند.
نکته بسیار مهم این است که فایل robots.txt فقط برای همان هاست، پروتکل و پورت معتبر است. یعنی اگر شما روی https://example.com/robots.txt قانونی بنویسید، این قانون لزوماً برای http://example.com یا https://blog.example.com یا حتی پورت دیگری از همان دامنه اعمال نمیشود. همچنین robots.txt باید در ریشه سایت باشد؛ اگر آن را داخل یک پوشه مثل /public/robots.txt بگذارید، خزندهها آن را بهعنوان فایل معتبر robots.txt در نظر نمیگیرند.
از نظر عملکرد هم باید یک سوءتفاهم رایج را روشن کنیم: فایل robots.txt ابزار کنترل خزش است، نه ابزار تضمینی کنترل ایندکس. ممکن است صفحهای به دلیل لینکهای خارجی یا سیگنالهای دیگر شناخته شود و URL آن حتی بدون خزش کامل هم در نتایج دیده شود. اگر واقعاً هدفتان این است که صفحه در نتایج جستوجو ظاهر نشود، باید از متا تگ noindex یا هدر X-Robots-Tag استفاده کنید، نه صرفاً بستن آن در robots.txt.
فایل robots.txt چگونه کار میکند؟
وقتی رباتی مثل Googlebot میخواهد سایت شما را بخزد، پیش از ورود به URLهای مختلف، ابتدا فایل robots.txt را میخواند و از روی دستورها تصمیم میگیرد کجا مجاز است برود و کجا نه. رایجترین دستورهای این فایل عبارتاند از:
1) User-agent
با این دستور مشخص میکنید قانون برای کدام خزنده نوشته شده است. مثلاً Googlebot برای خزنده عمومی گوگل است و * به معنی همه خزندههاست. گوگل برای بعضی خزندههای تخصصی هم user-agentهای جداگانه دارد؛ مثلاً برای تصاویر یا ویدئوها.
2) Disallow
با این دستور مشخص میکنید خزنده به کدام مسیرها وارد نشود. مثلاً اگر نمیخواهید بخش مدیریت یا فیلترهای پارامتری سایت خزیده شوند، میتوانید آن مسیرها را disallow کنید.
3) Allow
این دستور برای استثناها عالی است. فرض کنید کل یک پوشه را بستهاید، اما یک فایل خاص داخل آن باید قابل دسترسی باشد. در این حالت Allow کمک میکند همان فایل یا مسیر خاص باز بماند. گوگل این قاعده را پشتیبانی میکند.
4) Sitemap
شما میتوانید مسیر نقشه سایت را داخل فایل robots.txt معرفی کنید. این کار برای کشف راحتتر sitemap مفید است، هرچند گوگل صریحاً میگوید ثبت sitemap فقط یک «hint» است و تضمینکننده خزش یا ایندکس نیست.
در این مثال، همه خزندهها از ورود به پوشه مدیریت و سبد خرید منع شدهاند، اما یک فایل خاص در بخش مدیریت باز گذاشته شده است.
چه بخشهایی را در فایل robots.txt ببندیم و چه بخشهایی را نبندیم؟
برای مبتدیها، مهمترین سؤال این است: «بالاخره چه چیزهایی را باید در فایل robots.txt مسدود کنم؟» پاسخ کوتاه این است: فقط بخشهایی را ببندید که برای کاربر ارزشی در نتایج جستوجو ندارند یا خزش آنها فقط منابع سرور و بودجه خزش را مصرف میکند.
مواردی که معمولاً میتوانند گزینه مناسبی برای بستن باشند:
صفحات ادمین و ورود
صفحات سبد خرید، پرداخت و حساب کاربری
URLهای پارامتری کمارزش
برخی صفحات جستوجوی داخلی سایت
مسیرهای سیستمی یا فایلهایی که برای کاربران ارزشی ندارند
اما مواردی که معمولاً نباید بیفکر ببندید:
فایلهای CSS و JavaScript مهم برای رندر صفحه
تصاویر مهمی که باید در نتایج تصویری دیده شوند
صفحات محصول، مقاله، دستهبندی و لندینگهای مهم
منابعی که فهم ساختار صفحه را برای گوگل سخت میکنند اگر بسته شوند
گوگل صراحتاً هشدار میدهد که اگر منابع مهم صفحه مثل CSS و JS را اشتباه ببندید، ممکن است رندر و درک محتوای صفحه مختل شود. حتی در مستندات رسمی نمونهای آورده شده که یک مسیر برای همه بسته شده اما برای Googlebot باز نگه داشته شده تا گوگل بتواند فایلهای لازم برای رندر را دریافت کند. همچنین گوگل توصیه میکند از robots.txt برای بستن محتوای تکراری یا منابع غیرضروری استفاده کنید، نه برای جلوگیری از ایندکس شدن.
در تجربه عملی، برای سایتهای فروشگاهی و محتوایی، بهترین رویکرد این است که قبل از هر تغییری یک سؤال ساده بپرسید: «اگر این URL اصلاً توسط گوگل خزیده نشود، آیا آسیبی به کشف، درک یا رتبه گیری صفحات مهم من میزند؟» اگر پاسخ بله است، آن URL یا مسیر را در فایل robots.txt نبندید.
نمونه های فایل robots.txt برای سایت های مختلف
یکی از مزیتهای فایل robots.txt این است که ساختار آن ساده است. اما همین سادگی باعث میشود بعضی مدیران سایت بدون تحلیل، فایل را از یک سایت دیگر کپی کنند؛ کاری که اغلب دردسر درست میکند.
در این ساختار، صفحاتی که ارزش مستقیمی برای جستوجوی عمومی ندارند بسته میشوند تا خزش روی صفحات مهمتر مثل دستهبندیها و محصولات متمرکز بماند.
نمونه 3: بستن همه سایت در محیط تست
User-agent: * Disallow: /
این حالت فقط برای محیط های تست یا staging مناسب است. گوگل هم همین الگو را بهعنوان روش بستن کامل خزش نشان میدهد. مشکل از جایی شروع میشود که همین فایل اشتباهی روی سایت اصلی باقی میماند؛ یکی از تلخترین خطاهای رایج در سئو تکنیکال.
یک نکته فنی دیگر هم بد نیست بدانید: گوگل محتوای فایل robots.txt را معمولاً تا حدود 24 ساعت cache میکند، هرچند این زمان ممکن است در شرایط خاص بیشتر شود. پس اگر فایل را اصلاح کردید و تغییر فوراً اعمال نشد، لزوماً به معنی خطا نیست. همچنین اگر حجم فایل از 500 KiB بیشتر شود، گوگل ادامه آن را نادیده میگیرد. برای سایتهای بزرگ این نکته بسیار مهم است.
اشتباهات رایج در فایل robots.txt که میتوانند به سئو آسیب بزنند
بزرگترین اشتباه این است که فکر کنیم فایل robots.txt یک ابزار امنیتی است. این فایل فقط یک دستورالعمل برای خزندههاست؛ نه دیوار امنیتی. اگر محتوایی واقعاً محرمانه است، باید با احراز هویت، دسترسی محدود یا روشهای امنیتی واقعی محافظت شود.
اشتباه دوم، بستن صفحات مهم سایت است. مثلاً بعضی افراد برای حل مشکل ایندکس شدن صفحات فیلتر یا محصولات، کل پوشه یا حتی کل سایت را میبندند. نتیجه این میشود که گوگل دیگر نتواند صفحات ارزشمند را بخزد. اشتباه سوم، استفاده از دستورهای پشتیبانینشده برای گوگل است؛ مثل crawl-delay یا noindex داخل robots.txt. اشتباه چهارم، قرار دادن فایل در مسیر اشتباه یا ساختن آن با فرمت نامناسب است. گوگل تأکید میکند که فایل باید plain text و UTF-8 باشد و در ریشه سایت قرار بگیرد.
اشتباه پنجم هم از آن خطاهای نامرئی اما مهم است: نادیده گرفتن رفتار HTTP status codeها. برای مثال، گوگل 4xxها بهجز 429 را معمولاً مثل نبودن robots.txt تلقی میکند؛ یعنی فرض میکند محدودیتی وجود ندارد. در سمت دیگر، اگر robots.txt با خطای 5xx مواجه شود، گوگل در ابتدا خزش سایت را متوقف میکند و بعد بر اساس آخرین نسخه سالم یا شرایط در دسترس بودن سایت تصمیم میگیرد. این یعنی حتی وضعیت پاسخ سرور هم روی اثر فایل robots.txt تأثیر دارد.
جمع بندی
اگر بخواهم خیلی ساده بگویم، فایل robots.txt مثل یک راهنمای ورود برای خزندههاست؛ نه قفل در، نه سیستم امنیتی، نه ابزار مستقیم حذف از نتایج گوگل. ارزش واقعی آن در سئو تکنیکال این است که کمک میکند بخشهای کمارزش سایت بیدلیل خزیده نشوند و منابع خزش روی URLهای مهمتر متمرکز بماند. اما همین ابزار اگر بدون تحلیل استفاده شود، میتواند دسترسی گوگل به محتوای مهم را قطع کند و به سئو سایت ضربه بزند. البته اگر شما سئو سایت خود را به فیدار استودیو بسپارید هیچ وقت مشکلاتی از این قبیل برای شما پیش نخواهد آمد. آژانس تبلیغاتی فیدار استودیو با رعایت کامل اصول سئو، سایت شما را به بهترین رتبه ها در گوگل میرساند.
سوالات متداول
آیا بستن صفحه در robots.txt یعنی صفحه از گوگل حذف میشود؟
خیر. robots.txt خزش را کنترل میکند، نه حذف از ایندکس. برای حذف از نتایج، از noindex یا راهکارهای دسترسی استفاده کنید.
آیا میتوانم نقشه سایت را داخل robots.txt معرفی کنم؟
بله. دستور Sitemap برای همین کار است و گوگل آن را میخواند، هرچند این فقط یک سیگنال کمکی است و تضمینی برای ایندکس نیست.
آیا میتوانم با robots.txt از دسترسی همه رباتها جلوگیری کنم؟
میتوانید با Disallow: / خزش را برای user-agentهای هدف ببندید، اما این ابزار امنیتی قطعی نیست و فقط برای crawlerهای قانونمدار معنا دارد.
فهرست مطالب اگر کاربر در چند ثانیه اول نفهمد شما چه کاری انجام میدهید، خدمات یا محصولات شما برای چه کسانی مناسب هستند، به احتمال زیاد به سرعت سایت شما را ترک خواهد کرد. مطالعات حوزه UX نشان میدهند برداشت...
برای سفارش خدمات سوشال مدیا روی این دکمه کلیک کنید فهرست مطالب تصور کنید صبح از خواب بیدار میشوید، اینستاگرام را باز میکنید و با پیام «User not found» یا «This page isn’t available» مواجه میشوید. لحظهای که برای بسیاری...
ِِآیا میدانستید طبق گزارش رسمی Google، اگر بارگذاری یک صفحه بیش از ۳ ثانیه طول بکشد، بیش از ۵۰٪ کاربران آن را ترک میکنن؟ در دنیای رقابتی امروز، افزایش سرعت سایت وردپرسی دیگر یک گزینه نیست؛ یک الزام حیاتی برای...
فهرست مطالب فرض کنید یک فروشگاه بزرگ دارید و نمیخواهید هر بازدیدکنندهای وارد هر انبار، اتاق بایگانی یا بخش پشتیبانی شود. در وبسایت هم دقیقاً چنین وضعیتی وجود دارد: بعضی بخشها باید برای کاربران و موتورهای جستوجو قابل مشاهده باشند...
فهرست مطالب اگر کاربر در چند ثانیه اول نفهمد شما چه کاری انجام میدهید، خدمات یا محصولات شما برای چه کسانی مناسب هستند، به احتمال زیاد به سرعت سایت شما را ترک خواهد کرد. مطالعات حوزه UX نشان میدهند برداشت...
برای سفارش خدمات سوشال مدیا روی این دکمه کلیک کنید فهرست مطالب تصور کنید صبح از خواب بیدار میشوید، اینستاگرام را باز میکنید و با پیام «User not found» یا «This page isn’t available» مواجه میشوید. لحظهای که برای بسیاری...
ِِآیا میدانستید طبق گزارش رسمی Google، اگر بارگذاری یک صفحه بیش از ۳ ثانیه طول بکشد، بیش از ۵۰٪ کاربران آن را ترک میکنن؟ در دنیای رقابتی امروز، افزایش سرعت سایت وردپرسی دیگر یک گزینه نیست؛ یک الزام حیاتی برای...