بذارید با یک تجربهی واقعی شروع کنم.
در یکی از ممیزیهایی که انجام میدادم، سایتی را دیدم که بخشی از صفحات مهم آن بهدرستی توسط گوگل خزش نمیشدند. در نگاه اول همهچیز عادی بود، اما زمانی که فایل robots.txt را بررسی کردم، مشخص شد یک مسیر مهم با یک دستور اشتباه مسدود شده است.
این یکی از چیزهایی است که در این سالها بارها دیدهام: robots.txt فایل پیچیدهای نیست، اما یک تنظیم اشتباه در آن میتواند نتیجهی بخش بزرگی از کار سئو را تحت تاثیر قرار دهد.
بارها دیدهام تیم سایت به دنبال مشکل در محتوا، لینکسازی یا حتی دامنه بوده، اما در نهایت مشخص شده یک دستور اشتباه در robots.txt جلوی خزش درست صفحات را گرفته است.
robots.txt فایل پیچیدهای نیست، اما دقیقا به همین دلیل خیلی وقتها جدی گرفته نمیشود. در واقع، بررسی و تنظیم این فایل یکی از بخشهایی است که در راهنمای کامل سئو تکنیکال هم باید جدی گرفته شود، چون مستقیما روی نحوه دسترسی رباتهای موتور جستجو به بخشهای مختلف سایت تاثیر دارد.
در این راهنما توضیح میدهم فایل robots.txt چیست، چه دستوری به رباتهای موتورهای جستجو میدهد، چطور باید آن را تنظیم کنید و مهمتر از همه، چه اشتباهاتی میتواند باعث شود همین فایل ساده به سئوی سایت آسیب بزند.
فایل robots.txt چیست؟
فایل robots.txt یک فایل متنی ساده است که در ریشهی سایت قرار میگیرد و به رباتهای موتورهای جستجو میگوید مجاز به خزش کدام بخشهای سایت هستند و کدام مسیرها را نباید بخزند.
این فایل بخشی از یک استاندارد قدیمی به نام پروتکل حذف رباتها (Robots Exclusion Protocol) است که از سالهای ابتدایی وب وجود داشته و هنوز هم موتورهای جستجوی اصلی از آن استفاده میکنند.
آدرسش آن هم مشخص است؛ کافی است انتهای دامنه /robots.txt را اضافه کنید:
https://example.com/robots.txt
مهمترین سوءتفاهم: خزش با ایندکس فرق دارد
یک نکتهی مهم: robots.txt بیشتر از اینکه ابزاری برای «ایندکس» باشد، ابزاری برای کنترل خزش است.
همین تفاوت، ریشهی یکی از رایجترین اشتباهات در تنظیم این فایل است.
این دو یکی نیستند:
- خزش (Crawl): یعنی ربات وارد صفحه شود و محتوایش را بخواند.
- ایندکس (Index): یعنی صفحه در نتایج جستجو ثبت و نمایش داده شود.

مشکل زمانی ایجاد میشود که شما صفحهای را با robots.txt مسدود کنید، در این شرایط ربات وارد آن صفحه نمیشود، اما اگر لینکهایی از بخشهای دیگر وب به آن URL اشاره کنند، ممکن است گوگل همچنان خود URL را شناسایی و ایندکس کند؛ فقط بدون اینکه محتوای داخل صفحه را خوانده باشد.
طبق راهنمای رسمی Google درباره robots.txt، این فایل برای مدیریت خزش رباتها استفاده میشود و نباید از آن بهعنوان روشی برای جلوگیری از نمایش یک صفحه در نتایج گوگل استفاده کرد.
برای چنین کاری باید از دستور noindex در خود صفحه استفاده کنید.
اینجا یک اشتباه دیگر هم وجود دارد که بارها آن را دیده ام:
صفحه در robots.txt مسدود شده و همزمان داخل همان صفحه تگ noindex قرار گرفته است.
مشکل اینجاست که اگر ربات به دلیل robots.txt وارد صفحه نشود، طبیعتا تگ noindex داخل آن را هم نمیبیند.
این دقیقا همان اشتباهی است که در بسیاری از مقالهها و سایتها میبینم: بهاشتباه میگویند «با robots.txt جلوی ایندکس را بگیرید» درحالی که این دو مسئله یکی نیستند.
ساختار و دستورات فایل robots.txt
robots.txt از چند دستور ساده تشکیل شده است. برای بیشتر سایتها، همین چند دستور بخش اصلی فایل را تشکیل میدهند.
- User-agent: مشخص میکند دستورات برای کدام ربات است. علامت * یعنی قانون برای همه ربات ها تعریف شده است.
- Disallow: مسیری را مشخص میکند که ربات نباید بخزد.
- Allow: مسیری که خزش آن مجاز است (حتی اگر داخل یک مسیر مسدودشده باشد).
- Sitemap: آدرس نقشهی سایت را به رباتها معرفی میکند.
یک مثال ساده:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap.xml
این فایل به همهی رباتها میگوید: پوشهی مدیریت را نخز، اما به آن یک فایل خاص داخلش دسترسی داشته باش، و ضمنا نقشهی سایت اینجاست.
چند مثال کاربردی
بذارید چند سناریوی واقعی را ببینیم:
۱. اجازه به همهی رباتها برای خزش کل سایت:
User-agent: *
Disallow:
(یک Disallow خالی یعنی «هیچ محدودیتی نیست».)
۲. مسدود کردن کل سایت برای همهی رباتها:
User-agent: *
Disallow: /
هشدار جدی: این همان خط خطرناکی است که اول مقاله گفتم. فقط یک اسلش (/) بعد از Disallow، به گوگل میگوید «هیچچیز از این سایت را نخز». این خط را معمولا هنگام ساخت سایت روی حالت توسعه میگذارند و فراموش میکنند بردارند. اگر سایت شما ناگهان از گوگل ناپدید شد، اولین جایی که باید چک کنید همینجاست.
۳. مسدود کردن یک پوشهی خاص:
User-agent: *
Disallow: /test/
۴. مسدود کردن یک ربات خاص:
User-agent: BadBot
Disallow: /
نکات مهمی که کمتر گفته میشوند
robots.txt از نظر ساختار ساده است، اما چند نکته وجود دارد که اگر نادیده گرفته شوند، همین فایل ساده دردسر ایجاد میکند.
- robots.txt یک دستور است، نه یک قفل امنیتی: رباتهای معتبر (مثل گوگل) به آن احترام میگذارند، اما رباتهای مخرب میتوانند نادیدهاش بگیرند. برای محافظت واقعی از یک بخش، باید از رمز عبور استفاده کنید، نه robots.txt.
- فایل به بزرگی و کوچکی حروف حساس است. مسیر /Page/ با /page/ فرق دارد.
- با `#` میتوانید کامنت بگذارید. هر چیزی بعد از # در آن خط نادیده گرفته میشود و فقط برای یادداشت خودتان است.
- نقشهی سایت را حتما معرفی کنید. این سادهترین راه برای کمک به گوگل در کشف صفحات است.
- مسیر www و بدون www، و http و https هر کدام فایل robots.txt خودشان را دارند؛ حواستان به نسخهی اصلی سایت باشد.
چطور فایل robots.txt بسازیم؟
ساخت robots.txt پیچیده نیست.
اگر بخواهم مسیر را خلاصه کنم:
- یک فایل متنی ساده با Notepad (یا هر ویرایشگر متن) بسازید.
- دستورات موردنظرتان را در آن بنویسید.
- آن را دقیقا با نام robots.txt ذخیره کنید.
- آن را در ریشهی سایت آپلود کنید (جایی که با آدرس example.com/robots.txt در دسترس باشد).
اگر سایت وردپرسی دارید، معمولا لازم نیست از همان ابتدا فایل را دستی بسازید. افزونههای سئو مثل Yoast یا Rank Math میتوانند در مدیریت robots.txt به شما کمک کنند.
پیش از ساخت فایل جدید، اول آدرس robots.txt سایت را باز کنید و ببینید الان چه چیزی روی سایت فعال است.
چطور فایل robots.txt را تست کنیم؟
پس از هر تغییری در robots.txt ، فایل را دوباره بررسی کنید.
سادهترین راهها:
- آدرس example.com/robots.txt را در مرورگر باز کنید تا محتوای فعلی را ببینید.
- در Google Search Console، میتوانید وضعیت خزش و مشکلات احتمالی این فایل را بررسی کنید.
یک عادت خوب: قبل و بعد از هر تغییر در robots.txt، یک بار فایل را چک کنید. همانطور که گفتم، یک کاراکتر اشتباه در این فایل میتواند پرهزینهترین اشتباه سئوی سایتتان باشد.
و در آخر
robots.txt یکی از سادهترین فایلهای سئو تکنیکال است، اما همین سادگی نباید باعث شود بدون بررسی آن را تغییر دهید.
مهمترین چیزی که باید از این راهنما یادتان بماند این است که:
- robots.txt جلوی خزش را میگیرد، نه ایندکس را.
- برای جلوگیری از نمایش صفحه در نتایج، از noindex استفاده کنید، نه robots.txt.
- Disallow: / یعنی مسدود کردن کل سایت مراقب این خط باشید.
- بعد از هر تغییر، حتما تست کنید.
اگر مطمئن نیستید فایل robots.txt سایتتان درست تنظیم شده یا نه، این دقیقا یکی از مواردی است که در یک ممیزی فنی دقیق بررسی میکنیم.
سوالات متداول
فایل robots.txt کجای سایت قرار میگیرد؟
همیشه در ریشهی سایت، یعنی جایی که با آدرس example.com/robots.txt قابلدسترسی باشد. در هیچ مسیر دیگری کار نمیکند.
آیا robots.txt جلوی ایندکس شدن صفحه را میگیرد؟
خیر. robots.txt فقط جلوی خزش را میگیرد. برای جلوگیری از ایندکس، باید از تگ noindex در خود صفحه استفاده کنید.
اگر سایت فایل robots.txt نداشته باشد چه میشود؟
گوگل فرض میکند اجازهی خزش همهی صفحات را دارد. نداشتن این فایل مشکل بزرگی نیست، اما داشتن آن با تنظیم درست، کنترل بهتری به شما میدهد.
آیا میتوانم کل سایت را از گوگل مخفی کنم؟
robots.txt برای این کار ابزار مطمئنی نیست. برای خارج کردن کامل سایت از نتایج، باید از ترکیب روشهای دیگر مثل noindex و تنظیمات سرور استفاده کنید.
چرا سایتم با وجود مسدود بودن در robots.txt هنوز در گوگل دیده میشود؟
چون robots.txt جلوی ایندکس را نمیگیرد. اگر لینکهایی به آن صفحه وجود داشته باشد، گوگل ممکن است آن را بدون توضیحات ایندکس کند.