فایل robots.txt یکی از مهم‌ترین فایل‌ها برای سئو (SEO) وب‌سایت شماست. این فایل به ربات‌های موتورهای جستجو (مانند Googlebot) می‌گوید که کدام بخش‌های سایت شما را می‌توانند بررسی (Crawl) کنند و کدام‌ها را نه. اگر این فایل به درستی در دسترس نباشد یا تنظیمات اشتباهی داشته باشد، می‌تواند تأثیر منفی شدیدی بر رتبه و دیده شدن سایت شما در نتایج جستجو بگذارد.

این راهنما به شما کمک می‌کند تا مشکلات رایج مربوط به robots.txt در هنگام استفاده از CDN را حل کنید.


چرا robots.txt من توسط گوگل مسدود شده است؟ (Blocked by robots.txt)

این یکی از رایج‌ترین مشکلاتی است که کاربران با آن مواجه می‌شوند. وقتی ابزارهایی مانند Google Search Console گزارش می‌دهند که یک صفحه توسط robots.txt مسدود شده، اما محتوای فایل شما به نظر درست می‌رسد، مشکل معمولاً یکی از موارد زیر است:

۱. مشکل در دسترس بودن فایل

گوگل قبل از بررسی هر صفحه‌ای، ابتدا فایل robots.txt را از ریشه دامنه شما درخواست می‌کند (مثلاً https://yourdomain.com/robots.txt). اگر CDN شما به هر دلیلی نتواند این فایل را به درستی به ربات گوگل تحویل دهد، گوگل به صورت پیش‌فرض فرض می‌کند که اجازه دسترسی به هیچ‌کجا را ندارد و تمام صفحات را مسدود می‌کند.

  • راه حل: اطمینان حاصل کنید که فایل robots.txt شما روی سرور اصلی (Upstream) وجود دارد و هیچ تنظیماتی در CDN (مانند قوانین فایروال یا تنظیمات امنیتی) جلوی دسترسی ربات‌های گوگل به این فایل را نمی‌گیرد.

۲. پیکربندی اشتباه فایروال یا WAF

گاهی اوقات، سیستم‌های امنیتی CDN (مانند Web Application Firewall - WAF) برای مقابله با ربات‌های مخرب، برخی از درخواست‌ها را به اشتباه مسدود می‌کنند. از آنجایی که ربات گوگل هم یک “بات” است، ممکن است در این فیلترها گرفتار شود.

  • راه حل: در تنظیمات فایروال CDN خود، لیست IPهای رسمی Googlebot را در لیست سفید (Whitelist) قرار دهید. این کار تضمین می‌کند که درخواست‌های گوگل هرگز مسدود نمی‌شوند. می‌توانید لیست IPهای گوگل را از مستندات رسمی گوگل پیدا کنید.

چگونه محتوای robots.txt را در CDN تغییر دهم؟

پاسخ ساده است: فایل robots.txt همیشه باید روی سرور اصلی شما مدیریت شود.

CDN یک کپی (کش) از فایل‌های شما را نگهداری می‌کند. پس برای تغییر محتوای robots.txt:

۱. وارد سرور اصلی (میزبانی وب یا سروری که سایتتان روی آن قرار دارد) شوید.

۲. فایل robots.txt را در پوشه ریشه (معمولاً public_html یا www) پیدا کرده و آن را ویرایش کنید.

۳. تغییرات را ذخیره کنید.

۴. در نهایت، کش مربوط به این فایل را در پنل CDN خود پاک (Purge/Invalidate) کنید تا CDN نسخه جدید را از سرور شما دریافت کند.


چرا robots.txt من همیشه MISS کش می‌شود؟

وضعیت MISS در هدر کش به این معنی است که CDN فایل را در حافظه خود نداشته و مجبور شده آن را مستقیماً از سرور اصلی شما بگیرد. اگر این اتفاق همیشه برای robots.txt می‌افتد، یعنی قانون کش شما به درستی تنظیم نشده است.

این فایل به ندرت تغییر می‌کند، پس بهتر است برای آن یک زمان کش طولانی تنظیم کنید تا همیشه با سرعت بالا و از طریق سرورهای لبه CDN در دسترس باشد.

چگونه یک قانون کش مناسب برای robots.txt تعریف کنیم؟

۱. وارد پنل مدیریت CDN خود و بخش قوانین مسیر (Location Rules) شوید.

۲. یک قانون جدید برای مسیر دقیق /robots.txt ایجاد کنید.

۳. در تنظیمات کش این قانون:

  • کش را فعال کنید.

  • یک زمان کش (TTL) مناسب تنظیم کنید. برای فایلی مثل robots.txt که به ندرت تغییر می‌کند، یک TTL چند ساعته (مثلاً ۲۱۶۰۰ ثانیه معادل ۶ ساعت) یا حتی یک روزه منطقی است.

  • اطمینان حاصل کنید که گزینه “نادیده گرفتن Query String” فعال باشد (هرچند این فایل معمولاً Query String ندارد).

با این کار، پس از اولین درخواست، فایل robots.txt در سرورهای CDN کش شده و در درخواست‌های بعدی با وضعیت HIT پاسخ داده می‌شود که به معنی عملکرد صحیح کش است.


خلاصه و چک‌لیست نهایی

اگر با robots.txt در CDN خود مشکل دارید، این مراحل را دنبال کنید:

  • اطمینان از وجود فایل: بررسی کنید که فایل robots.txt در ریشه سرور اصلی شما وجود دارد.

  • ** بررسی دسترسی مستقیم:** سعی کنید با ابزاری مانند curl یا حتی در مرورگر، به آدرس https://yourdomain.com/robots.txt دسترسی پیدا کنید. آیا محتوای آن به درستی نمایش داده می‌شود؟

  • ** بررسی قوانین فایروال:** تنظیمات امنیتی و فایروال CDN را چک کنید. ربات گوگل نباید مسدود شده باشد. IPهای گوگل را در لیست سفید قرار دهید.

  • ** تنظیم قانون کش اختصاصی:** یک قانون مسیر (Location Rule) مشخص برای /robots.txt با یک TTL طولانی (مثلاً چند ساعت) ایجاد کنید.

  • ** پاک کردن کش پس از تغییر:** هر بار که فایل robots.txt را روی سرور اصلی تغییر می‌دهید، کش آن را در پنل CDN پاک کنید.

منابع دسترسی

  • گوگل (Google) https://developers.google.com/search/docs/crawling-indexing/verifying-googlebot#automatic

  • متا (Meta) / فیسبوک (Facebook) https://developers.facebook.com/docs/sharing/webmasters/web-crawlers/

  • بینگ (Bing) https://www.bing.com/toolbox/bingbot.json

  • اپل (Apple) https://search.developer.apple.com/applebot.json

  • OpenAI https://platform.openai.com/docs/bots

  • Internet Archive لینک غیر رسمی (Cloudflare Docs): ‍‍‍‍‍‍https://developers.cloudflare.com/cache/troubleshooting/always-online/

  • یاندکس (Yandex)

    • لینک رسمی (ASN):

      https://yandex.com/support/webmaster/robot-workings/check-yandex-robots.html?lang=en
      
    • لینک غیر رسمی (IP2Location):

       https://www.ip2location.com/free/robot-whitelist 
      

      در CDN آروان‌کلاد از لیست IP2Location استفاده می‌شود.

  • یاهو (Yahoo)

    • لینک غیر رسمی (IP2Location): https://www.ip2location.com/free/robot-whitelist
  • بایدو (Baidu)

    • لینک غیر رسمی (IP2Location): https://www.ip2location.com/free/robot-whitelist
  • Ahrefs https://api.ahrefs.com/v3/public/crawler-ip-ranges

  • Webengage

    • آی‌پی‌ها: 34.192.48.654.82.121.3652.202.184.22535.154.107.8513.235.37.9213.234.183.24634.166.40.23834.166.74.125