مواردی که عموماً بستن شان در فایل ربات توصیه می شود
مقصود از «بستن» در این فصل: جلوگیری از خزش برای کاهش نویز و هدررفت بودجه ی خزش، یا پنهان کردن مسیرهای سیستمی که ارزشی برای جست وجو ندارند. در مواردی که احتمال ایندکس ناخواسته وجود دارد، کنار 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 که باید بلد باشید
گروه بندی بر اساس بات:
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
نکته: برخی ربات ها همه ی امکانات را دقیقاً مثل گوگل پشتیبانی نمی کنند، اما
*و$در موتورهای اصلی کار می کنند.
اشتباهات رایج و راه حل فوری
Disallow روی صفحاتی که noindex دارند.
مشکل: ربات صفحه را نمی بیند، پس noindex را هم نمی بیند؛ با لینک خارجی، URL ممکن است نشان داده شود.
درمان: برای «عدم نمایش»، خزش را باز بگذارید و noindex بدهید.
بستن CSS/JS
مشکل: رندر ناقص، قضاوت بد درباره ی تجربه ی کاربری.
درمان: Allow برای مسیرهای CSS/JS حیاتی.
الگوی Disallow بیش ازحد تهاجمی
مشکل: صفحات ارزشمند (landingهای فیلترشده ی مفید) هم بلوکه می شوند.
درمان: «سفید/سیاه» کنید؛ برای صفحات ارزشمند URL تمیز بسازید.
اعتماد بیش از حد به robots برای امنیت
مشکل: robots یک «تابلو راهنمای داوطلبانه» است، نه قفل.
درمان: برای محتوا/فایل حساس، احراز هویت یا دسترسی سطح وب سرور.
فراموشی اعلام Sitemap
مشکل: کشف/ایندکس کندتر.
درمان: خط
Sitemap:را در robots اضافه کنید، حتی اگر در سرچ کنسول هم ثبت کرده اید.
بستن نتایج جست وجوی داخلی بدون noindex
مشکل: URL-only ظاهر می شود.
درمان: روی قالب جست وجو
noindex, followبگذارید؛ اگر حجم زیاد است، الگوهای بد را Disallow هم بکنید.
اتکا به ابزار قدیمی مدیریت پارامترها
راه حل پایدار امروز: 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 تمیز بسازید. با این رویکرد، هم ربات ها را به مسیر درست هدایت می کنید، هم نتایج جست وجو را با صفحاتی پر می کنید که واقعاً ارزش دارند—و این دقیقاً همان چیزی است که سئوِ حرفه ای را از «کُد ـبازی های خطرناک» جدا می کند.









