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

اسکیما
تفاوت سئو و گوگل ادز
الگورتیم گوگل
Screenshot
نمونه کار سایت اندولیفت سنتر
drrabet
پروژه_ی جدید
هنر خاص بودن به سبک کوانتا
کدام صفحات را باید در robots.txt ببندیم؟

کدام صفحات را باید در robots.txt ببندیم؟

پرونده ی robots.txt اولین دروازه ی گفت وگو بین سایت شما و خزنده هاست. با آن می گویید: «کجا را نخزند» یا «برای کدام بات ها چه محدودیتی هست». اما چند نکته ی حیاتی:

  • بستن خزش ≠ جلوگیری از ایندکس. اگر یک URL لینک بخورد، حتی با Disallow هم ممکن است به صورت «URL-only» وارد ایندکس شود (بدون محتوا). برای جلوگیری قطعی از نمایش در نتایج باید از noindex (در صفحه یا هدر) یا احراز هویت/محدودیت دسترسی استفاده کنید.

  • noindex باید دیده شود. برای اثر کردن meta robots noindex یا X-Robots-Tag: noindex، ربات باید صفحه را بخزد. پس اگر می خواهید صفحه ای «ایندکس نشود»، معمولاً نباید آن را در robots.txt ببندید؛ بلکه اجازه ی خزش بدهید اما noindex اعمال کنید.

  • CSS/JS را الکی نبندید. موتورهای مدرن برای ارزیابی تجربه ی کاربری نیاز به رندر دارند. بستن CSS/JS می تواند به درک نادرست از صفحه و افت کیفیت منجر شود.

با این سه اصل، جلو می رویم و دسته به دسته می گوییم «چه چیزهایی را معمولاً می بندیم»، «چه چیزهایی را نباید ببندیم»، و «بهتر است به جایش چه کنیم» این ۳ روش باعث میشه که ما در سئو سایت حرفی برای گفتن داشته باشیم

اشتراک‌گذاری

نویسنده

درخواست مشاوره یا خدمات

فرم صفحات داخلی بلاگ

مواردی که عموماً بستن شان در فایل ربات توصیه می شود

مقصود از «بستن» در این فصل: جلوگیری از خزش برای کاهش نویز و هدررفت بودجه ی خزش، یا پنهان کردن مسیرهای سیستمی که ارزشی برای جست وجو ندارند. در مواردی که احتمال ایندکس ناخواسته وجود دارد، کنار Disallow از روش های مکمل (noindex/احراز هویت) هم می گوییم.

۱) مسیرهای مدیریتی و بک آفیس

  • مثال ها:

    • وردپرس: /wp-admin/ (اما admin-ajax.php/ را Allow کنید)

    • جوملا/دروپال/فریم ورک ها: /administrator/, /user/, /cpanel/, /includes/, /vendor/, /private/

  • چرا ببندیم؟ ارزش جست وجویی ندارند، و باز بودن شان ریسک اطلاعاتی ایجاد می کند.

  • نمونه:

     
    User-agent: *
    Disallow: /wp-admin/
    Allow: /wp-admin/admin-ajax.php

۲) صفحات سبد، تسویه، حساب کاربری (ای کامرس/اعضای سایت)

  • مثال ها: /cart/, /checkout/, /my-account/, /orders/, /wishlist/

  • انگیزه: این صفحات شخصی و موقتی اند، ترافیک ارگانیک مفیدی نمی گیرند، و خزش آن ها بودجه را می بلعد.

  • نکته ی مهم: اگر هدف این است که هرگز در نتایج نمایش داده نشوند، به جای Disallow صرف، noindex بگذارید (و خزش را نبندید).

    • راهکار محکم: meta robots noindex, nofollow روی خود صفحات + عدم لینک دهی عمومی به آن ها.

    • اگر هم خواستید Disallow کنید، خطر «ایندکس URL-only» را بپذیرید یا دسترسی را برای عموم ببندید (احراز هویت).

۳) نتایج جست وجوی داخلی و بی نهایتِ بی فایده

  • مثال ها: /search, /?s=, /?q=, /find?query=...

  • چرا؟ «جست وجو در جست وجو» محتوای ارزش آفرین تولید نمی کند و می تواند میلیون ها URL بی ارزش بسازد.

  • راهبرد:

    • بهتر: noindex, follow روی قالب صفحه ی جست وجو. این طوری خزیده می شود، اما وارد ایندکس نه.

    • اگر حجم URLها انفجاری است و بودجه ی خزش نابود می شود، کنار noindex می توانید الگوهای پرتکرار را Disallow کنید.

    • مثال:

       
      User-agent: *
      Disallow: /search
       

مواردی که عموماً بستن شان در فایل ربات توصیه می شود

۴) فیلترها و Faceted Navigation (ترکیب های بی نهایت)

  • مثال ها: ?color=, ?size=, ?sort=, ?page=, ?view=grid, ?brand=...&price=...

  • چرا؟ سه چهار پارامتر ساده می توانند ده ها هزار URL بسازند و بودجه ی خزش را بخورند.

  • راهکار حرفه ای:

    • سیاست سفید/سیاه داشته باشید:

      • «سفید»: چند ترکیب واقعاً جست وجوشونده (Landingهای سئویی) که باید ایندکس شوند → صفحه ی اختصاصی/متن راهنما/اسکیما/Canonical مستقل.

      • «سیاه»: بقیه ی ترکیب ها → Disallow الگوها.

    • مثال های الگو با پشتیبانی از * و $:

       
      User-agent: *
      Disallow: /*?*sort=
      Disallow: /*?*view=
      Disallow: /*?*page=
      Disallow: /*?*sessionid=
      Disallow: /*?*color=
      Disallow: /*?*size=
    • هشدار: Disallow را کور نزنید. اگر صفحه ی فیلتر خاصی برای سئو ارزشمند است (مثلاً «کفش دویدن مردانه مشکی»)، برایش URL تمیز بسازید و ایندکس کنید؛ بقیه را ببندید.

۵) پارامترهای ردیابی و سشن (نویز محض)

  • مثال ها: utm_source, utm_medium, utm_campaign, gclid, fbclid, ref, sessionid

  • چرا؟ محتوای یکسان با URLهای متفاوت → تکرار و اتلاف بودجه.

  • نمونه:

     
    User-agent: *
    Disallow: /*?*utm_
    Disallow: /*?*gclid=
    Disallow: /*?*fbclid=
    Disallow: /*?*ref=
    Disallow: /*?*session

۶) نسخه های «چاپ»، «پیش نمایش»، «PDFساز» و آدرس های کمکی

  • مثال ها: /print/, /preview/, ?format=print

  • چرا؟ نسخه های کمکی محتوای تکراری اند و هدفی در جست وجو ندارند.

  • نمونه:

     
    User-agent: *
    Disallow: /print/
    Disallow: /*?*format=print

۷) آرشیوهای خودکارِ کم ارزش (بسته به CMS)

  • مثال ها در وبلاگ ها: /tag/، /author/، /date/ (اگر محتوای کم عمق می سازند)

  • راهبرد: اگر این آرشیوها نازک اند یا کانابال می سازند:

    • بهتر: noindex روی قالب آرشیو (خزش باز، ایندکس نه).

    • برای کاهش نویز حجیم: می توانید Disallow هم اضافه کنید—با علم به ریسک URL-only.

۸) محیط های Staging/آزمایشی/بتا

  • مثال ها: /staging/, /beta/, زیر دامنه ی dev

  • راهبرد محکم: احراز هویت HTTP یا IP allowlist (بهترین دفاع).

  • اگر ناچارید با robots ببندید:

     
    User-agent: *
    Disallow: /

    اما بدانید اگر لینکِ عمومی بخورد، «URL-only» ممکن است وارد نتایج شود. پس تا می توانید Public نکنید.

۹) فایل ها/دایرکتوری های سیستمی که نباید خزیده شوند

  • مثال ها: /cgi-bin/, /tmp/, /backup/, /old/, /test-data/

  • احتیاط: اگر داخلشان فایل های قابل ایندکس (PDF/تصویر حساس) هست، robots کافی نیست؛ یا noindex هدر بدهید یا دسترسی را محدود کنید.

۱۰) تصاویر خصوصی یا کم ارزش برای جست وجوی وب/ایمیج

  • اگر نمی خواهید تصاویر خاص در «جست وجوی تصویر» دیده شوند:

    • برای Googlebot-Image به طور اختصاصی ببندید:

       
      User-agent: Googlebot-Image
      Disallow: /private-media/
    • برای بقیه ی ربات ها باز بماند. (بسته به استراتژی محتوای تصویریتان.)

چیزهایی که نباید در robots.txt ببندید (یا با احتیاط زیاد)

A) CSS/JS و منابع لازم برای رندر

  • بستن /assets/, /static/, /wp-includes/، اگر شامل CSS/JS حیاتی است، باعث بدفهمی کیفیت صفحه می شود.

  • راهبرد: اگر مجبورید بخش هایی از منابع را ببندید، مطمئن شوید هرچه برای رندر «viewport» لازم است Allow شده.

    • مثال وردپرس:

       
      User-agent: *
      Disallow: /wp-includes/
      Allow: /wp-includes/js/
      Allow: /wp-includes/css/

B) صفحات «noindex» (وقتی واقعاً می خواهید ایندکس نشوند)

  • تکرار می کنیم: اگر هدفتان عدم نمایش است، خزش را نبندید. صفحه را باز بگذارید تا ربات بیاید و noindex را ببیند. اگر ببندید، ممکن است URL همچنان با عنوان/لینک ظاهر شود.

C) نسخه های زبانی/کشوری

  • صفحات hreflang نباید بسته شوند. اگر چند زبان/کشور دارید، همه ی نسخه های جایگزین باید خزیده شوند تا سیگنال های زبانی درست کار کند.

D) صفحات مقصد کمپین های پولی

  • بستن شان بودجه ی خزش ارگانیک را کم نمی کند، اما اگر به هر دلیل صفحه در ارگانیک هم ایمپرشن بگیرد، ممکن است شفافیت گزارش ها را خراب کنید. برای «فقط تبلیغی بودن»، نیاز به Disallow ندارید.

Disallow یا noindex؟ یک تصمیم نامه ی سریع

هدفرفتار مطلوب در نتایجتوصیه
صفحه ی شخصی/حساس (حساب/سفارش)اصلاً نمایش داده نشودnoindex, nofollow (و حتی بهتر: احراز هویت). Disallow نکنید که noindex دیده نشود.
مسیر سیستمی بی ارزش (admin/vendor/tmp)خزیده نشودDisallow
نتایج جست وجوی داخلینمایش داده نشود ولی Crawl برای کشف لینک ها بماندnoindex, follow (در صورت انفجار URLها: ترکیبی از noindex + Disallow الگوهای بد)
فیلترهای بی نهایتبیشترشان خزیده نشود؛ چند صفحه ی منتخب ایندکس شودبرای منتخب ها URL تمیز + محتوای سئویی؛ برای بقیه Disallow الگوها
پارامترهای ردیابیخزیده نشودDisallow الگوهای پارامتر
نسخه ی چاپنمایش داده نشودnoindex یا اگر صرفاً نویز خزش است Disallow

دستور زبان robots.txt که باید بلد باشید

دستور زبان robots.txt که باید بلد باشید

  • گروه بندی بر اساس بات:

     
    User-agent: *
    Disallow: /tmp/
    User-agent: Bingbot
    Disallow: /feed/
  • الگوها:

    • * = هرچیز

    • $ = انتهای URL

    • نمونه ها:

       
      Disallow: /*?*utm_ # هر پارامتری که با utm_ شروع می‌شود
      Disallow: /*.pdf$ # PDFها (فقط انتهای URL)
      Disallow: /*?*sort= # هر URL با پارامتر sort
  • Allow برای لغو جزئی یک Disallow کلی:

     
    Disallow: /wp-admin/
    Allow: /wp-admin/admin-ajax.php
  • Site-map اعلان: (برای راحتی ربات ها)

     
    Sitemap: https://example.com/sitemap.xml

نکته: برخی ربات ها همه ی امکانات را دقیقاً مثل گوگل پشتیبانی نمی کنند، اما * و $ در موتورهای اصلی کار می کنند.

اشتباهات رایج و راه حل فوری

  1. Disallow روی صفحاتی که noindex دارند.

    • مشکل: ربات صفحه را نمی بیند، پس noindex را هم نمی بیند؛ با لینک خارجی، URL ممکن است نشان داده شود.

    • درمان: برای «عدم نمایش»، خزش را باز بگذارید و noindex بدهید.

  2. بستن CSS/JS

    • مشکل: رندر ناقص، قضاوت بد درباره ی تجربه ی کاربری.

    • درمان: Allow برای مسیرهای CSS/JS حیاتی.

  3. الگوی Disallow بیش ازحد تهاجمی

    • مشکل: صفحات ارزشمند (landingهای فیلترشده ی مفید) هم بلوکه می شوند.

    • درمان: «سفید/سیاه» کنید؛ برای صفحات ارزشمند URL تمیز بسازید.

  4. اعتماد بیش از حد به robots برای امنیت

    • مشکل: robots یک «تابلو راهنمای داوطلبانه» است، نه قفل.

    • درمان: برای محتوا/فایل حساس، احراز هویت یا دسترسی سطح وب سرور.

  5. فراموشی اعلام Sitemap

    • مشکل: کشف/ایندکس کندتر.

    • درمان: خط Sitemap: را در robots اضافه کنید، حتی اگر در سرچ کنسول هم ثبت کرده اید.

  6. بستن نتایج جست وجوی داخلی بدون noindex

    • مشکل: URL-only ظاهر می شود.

    • درمان: روی قالب جست وجو noindex, follow بگذارید؛ اگر حجم زیاد است، الگوهای بد را Disallow هم بکنید.

  7. اتکا به ابزار قدیمی مدیریت پارامترها

    • راه حل پایدار امروز: Canonical، noindex هدفمند و Disallow الگوهای نویز.

هم نشینی robots با سایر ابزارهای کنترلی

  • Meta Robots (در HTML): index/noindex و follow/nofollow در سطح صفحه. برای منع نمایش، این کلیدی ترین ابزار است.

  • X-Robots-Tag (در هدر): برای فایل های غیر HTML (PDF/Doc/Image) عالی است:

     
    X-Robots-Tag: noindex, noarchive
  • Canonical: برای هدایت سیگنال های تکراری به نسخه ی اصلی؛ مکمل robots.txt است، جایگزین آن نه.

  • حذف موقت از نتایج (Removal Tool): در سرچ کنسول برای پاکسازی سریع (ولی موقت).

  • سایت مپ: برای اعلام آدرس های ارزشمند و تازه؛ ضد Disallow نیست اما هم افزاست.

مدیریت «بودجه ی خزش» با robots.txt

اگر سایت بزرگ است یا faceted navigation دارید، مدیریت بودجه ی خزش حیاتی است:

  • Disallow روی پارامترهای نویز، صفحه بندی های عمیق (بسته به استراتژی)، و صفحات بی ارزش.

  • Whitelisting برای لندینگ های سئوییِ واقعاً جست وجوشونده با URL تمیز.

  • لینک سازی داخلی هدفمند به صفحات ارزشمند تا ربات مسیرهای درست را بیشتر ببیند.

چک لیست اجرایی «قبل از انتشار robots.txt»

  • فهرست URLهای ارزشمند (دسته ها، لندینگ ها برای طراحی سایت ، زبان ها، محصول های پرفروش) آماده است.

  • مسیرهای مدیریتی/سیستمی مشخص و در حال Disallow هستند.

  • برای صفحات «نباید نمایش داده شوند»، noindex در خود صفحه/هدر اعمال شده (و Disallow نشده اند).

  • الگوهای پارامترهای نویز (utm, gclid, fbclid, session) Disallow شده اند.

  • فیلترهای بی نهایت: الگوهای سیاه Disallow، صفحات سفید URL تمیز.

  • منابع حیاتی CSS/JS Allow شده اند.

  • Sitemap: در robots اعلام شده.

  • فایل روی محیط Staging تست و سپس در Production منتشر شده (نسخه ی قدیمی آرشیو).

  • پس از انتشار، با Fetch/URL Inspection چند URL مرزی را تست کرده ام.  

جمع بندی نهایی

کار هوشمندانه با robots.txt یعنی محافظت از بودجه ی خزش و کاهش نویز—نه «حل همه ی مشکلات ایندکس». هرجا هدف «عدم نمایش» است، noindex (یا دسترسی کنترل شده) ابزار واقعی شماست. هرجا فقط می خواهید «خزیده نشود»، Disallow کنید. منابع حیاتی رندر را نبندید، فیلترهای بی نهایت و پارامترهای ردیابی را ببندید، مسیرهای مدیریتی را بیرون نگه دارید، و برای لندینگ های ارزشمند URL تمیز بسازید. با این رویکرد، هم ربات ها را به مسیر درست هدایت می کنید، هم نتایج جست وجو را با صفحاتی پر می کنید که واقعاً ارزش دارند—و این دقیقاً همان چیزی است که سئوِ حرفه ای را از «کُد ـبازی های خطرناک» جدا می کند.

سرفصل‌های این مطلب

سوالات متداولی که شاید برای شما پیش بیاید

نه لزوماً. URLها ممکن است به صورت «URL-only» باقی بمانند اگر لینک بیرونی دارند. برای حذف واقعی، noindex یا حذف دسترسی.

robots.txt کافی نیست. هدر X-Robots-Tag: noindex روی پاسخ PDF بگذارید، یا دسترسی را محدود کنید.

بعضی ربات ها (نه گوگل) گوش می دهند. برای گوگل، محدودسازی نرخ در سرچ کنسول یا تنظیمات سرور بهتر است.

برای کاهش خزش، بله. اما برای عدم نمایش، noindex لازم است (و نباید Disallow کنید تا noindex دیده شود).

در موتورهای اصلی (گوگل/بینگ) پشتیبانی می شوند؛ ربات های دیگری شاید محدود باشند. الگوها را ساده و تست کنید.

تا کنون 150 نفر این مطلب را پسندیده‌اند

0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها

اشتراک‌گذاری