با گسترش هوش مصنوعی، رباتهای بیشتری به وبسایتها مراجعه میکنند تا محتوای صفحات را بخوانند، اطلاعات محصولات را جمعآوری کنند یا دادههای سایت را برای استفاده در ابزارهای هوش مصنوعی بررسی کنند. این موضوع برای صاحبان وبسایتها یک پرسش مهم ایجاد کرده است: آیا باید اجازه دهیم این رباتها به سایت دسترسی داشته باشند یا بهتر است جلوی آنها را بگیریم؟ در این مطلب از سری مطالب وبلاگ پارس وی دی اس به آموزش مسدود سازی ربات های هوش مصنوعی در سایت میپردازیم.
اگر تصمیم گرفتهاید دسترسی بعضی از رباتهای هوش مصنوعی را محدود کنید، باید روش مناسبی برای این کار انتخاب کنید. دو روش اصلی وجود دارد: استفاده از فایل robots.txt و مسدودسازی در سطح سرور یا لایههای امنیتی سایت.
هر کدام از این روشها مزایا و محدودیتهای خود را دارند. در این مقاله، به زبان ساده بررسی میکنیم که این روشها چگونه کار میکنند، چه تفاوتی با یکدیگر دارند و کدام گزینه برای وبسایت شما مناسبتر است.

رباتهای خزنده هوش مصنوعی را بشناسید:
ربات خزنده برنامهای است که به صورت خودکار وارد صفحات وبسایت میشود و محتوای آنها را بررسی میکند. برخی از این رباتها برای جستجو و پیدا کردن محتوا استفاده میشوند و برخی دیگر ممکن است اطلاعات سایت را برای آموزش مدلهای هوش مصنوعی جمعآوری کنند. برای مثال، GPTBot و OAI-SearchBot از رباتهای معرفیشده از سوی OpenAI هستند. همچنین شرکتهای دیگری مانند گوگل، آنتروپیک و پرپلکسیتی نیز رباتهای مخصوص خود را دارند.
البته همه رباتهای هوش مصنوعی هدف یکسانی ندارند. بعضی برای پیدا کردن اطلاعات مورد نیاز کاربران فعالیت میکنند و برخی برای اهداف دیگری مانند جمعآوری داده به کار میروند. به همین دلیل، پیش از مسدودسازی باید مشخص کنید کدام رباتها را میخواهید محدود کنید و این تصمیم چه تاثیری بر حضور سایت شما در ابزارهای هوش مصنوعی دارد.
مسدودسازی رباتها با فایل robots.txt
فایل robots.txt یکی از سادهترین ابزارها برای مدیریت دسترسی رباتها به بخشهای مختلف یک وبسایت است. این فایل در مسیر اصلی دامنه قرار میگیرد و به رباتها اعلام میکند که کدام صفحات را بررسی کنند و از کدام بخشها دور بمانند.
برای نمونه، اگر بخواهید از یک ربات مشخص درخواست کنید که هیچ بخشی از سایت شما را بررسی نکند، میتوانید از قانون زیر استفاده کنید:
User-agent: GPTBotDisallow: /
در این مثال، نام ربات GPTBot مشخص شده و با قانون Disallow به آن اعلام میشود که نباید صفحات سایت را بخزد.
اما گاهی لازم نیست تمام سایت را مسدود کنید. ممکن است فقط بخواهید دسترسی ربات به صفحات محصولات محدود شود. در این صورت میتوانید از قانونی مانند نمونه زیر استفاده کنید:
User-agent: GPTBotDisallow: /products/
این قانون به GPTBot اعلام میکند که مسیر مربوط به محصولات را بررسی نکند. البته تاثیر دقیق قانون به ساختار نشانی صفحات و نحوه تفسیر آن توسط ربات بستگی دارد.
مزایای robots.txt:
۱. استفاده آسان: تغییر این فایل معمولا از تغییر تنظیمات سرور سادهتر است. در بعضی سیستمهای مدیریت محتوا، امکان ویرایش آن وجود دارد و در موارد دیگر میتوان از تیم فنی کمک گرفت.
۲. امکان انتخاب رباتهای مشخص: میتوانید برای هر ربات قانون جداگانهای تعریف کنید. در نتیجه، لازم نیست همه رباتها را به یک شکل محدود کنید.
۳. امکان محدود کردن بخش خاصی از سایت: اگر فقط بعضی صفحات برای شما حساس هستند، میتوانید دسترسی رباتهای مشخص را به همان مسیرها محدود کنید.
۴. پشتیبانی از سوی بسیاری از رباتهای معتبر: بسیاری از شرکتهای شناختهشده، از جمله ارائهدهندگان بزرگ ابزارهای هوش مصنوعی، سازوکار robots.txt را رعایت میکنند.
معایب robots.txt:
مهمترین نکته این است که robots.txt یک درخواست برای رعایت محدودیت است، نه یک مانع فنی قطعی. به زبان ساده، این فایل مانند تابلویی است که از بازدیدکنندگان میخواهد وارد یک محدوده نشوند. رباتهای مسئولیتپذیر این درخواست را رعایت میکنند، اما هیچ تضمینی وجود ندارد که تمام رباتها از آن پیروی کنند.
از طرف دیگر، اگر قانون اشتباهی در این فایل قرار دهید، ممکن است ناخواسته دسترسی رباتهای مهم را محدود کنید. برای مثال، قانون زیر از همه رباتها میخواهد که هیچ بخشی از سایت را نخزند:
User-agent: *Disallow: /
قرار دادن چنین قانونی بدون بررسی دقیق میتواند روی دسترسی خزندههای موتورهای جستجو نیز تاثیر بگذارد. همچنین با معرفی رباتهای جدید، ممکن است لازم باشد قوانین فایل را بهروزرسانی کنید. این فایل به صورت خودکار تمام رباتهای تازه را شناسایی و مسدود نمیکند.
مسدودسازی در سطح سرور
روش دوم این است که به جای تکیه بر درخواست robots.txt، از زیرساخت فنی وبسایت برای جلوگیری از دسترسی رباتها استفاده کنید.
این کار میتواند در سه بخش انجام شود:
- سرور وبسایت
- شبکه توزیع محتوا یا CDN
- دیواره آتش برنامههای وب یا WAF
در این روش، درخواست ورودی بررسی میشود و اگر با قوانین تعریفشده مطابقت داشته باشد، اجازه دسترسی داده میشود یا درخواست مسدود خواهد شد.
۱. مسدودسازی در سطح سرور
سرور میتواند بر اساس تنظیمات مشخص، بعضی درخواستها را رد کند. برای مثال، ممکن است درخواستهایی با الگوی مشخص یا شناسه رباتی خاص محدود شوند. این روش از robots.txt قویتر است، زیرا سرور صرفا به ربات نمیگوید که وارد نشود؛ بلکه میتواند واقعا مانع دریافت محتوای سایت شود.
با این حال، تنظیم نادرست قوانین ممکن است دسترسی کاربران واقعی یا سرویسهای معتبر را نیز مختل کند. به همین دلیل، تغییر تنظیمات سرور بهتر است توسط فردی انجام شود که با زیرساخت وبسایت آشنایی دارد.
۲. مسدودسازی از طریق CDN
شبکه توزیع محتوا یا CDN میان بازدیدکننده و سرور اصلی قرار میگیرد و به انتقال سریعتر محتوا کمک میکند. اگر CDN از قابلیت شناسایی و مسدودسازی رباتها پشتیبانی کند، میتواند درخواستهای مشخص را پیش از رسیدن به سرور اصلی متوقف کند.
این کار دو مزیت مهم دارد:
- درخواستهای ناخواسته کمتر به سرور اصلی میرسند.
- مصرف منابع سرور و پهنای باند کاهش پیدا میکند.
برای مثال، بعضی از قابلیتهای Cloudflare امکان مدیریت دسترسی رباتهای هوش مصنوعی را فراهم میکنند. گزینههای موجود به سرویس و تنظیمات مورد استفاده بستگی دارند.
۳. مسدودسازی با WAF
WAF یا دیواره آتش برنامههای وب، یکی از لایههای امنیتی سایت است که درخواستهای ورودی را بررسی میکند.این ابزار میتواند علاوه بر اطلاعات ساده درخواست، الگوهای رفتاری و نشانههای مشکوک را نیز تحلیل کند. به همین دلیل، در شناسایی برخی رباتهایی که تلاش میکنند خود را به شکل یک مرورگر یا ربات دیگر معرفی کنند، توانایی بیشتری دارد.
برای مثال، ممکن است یک ربات نام یک مرورگر معمولی را در درخواست خود قرار دهد تا شناسایی نشود. بررسی فقط نام ربات همیشه برای تشخیص چنین موردی کافی نیست، اما WAF میتواند از قوانین و نشانههای بیشتری برای ارزیابی درخواست استفاده کند. البته WAF نیز راهکاری کاملا بینقص نیست. رباتهای پیشرفته ممکن است برخی بررسیها را دور بزنند و تنظیمات نامناسب هم میتوانند درخواستهای معتبر را مسدود کنند.
تفاوت robots.txt با مسدودسازی در سطح سرور چیست؟
تفاوت اصلی این دو روش در میزان اجبار و نحوه اجرای محدودیت است.
| ویژگی | robots.txt | سرور، CDN یا WAF |
| نحوه عملکرد | اعلام درخواست به ربات | جلوگیری فنی از دسترسی |
| میزان اطمینان | وابسته به رعایت قوانین توسط ربات | معمولا قویتر و قابل اجرا |
| نیاز به دانش فنی | معمولا کمتر | معمولا بیشتر |
| کاهش درخواستهای رسیده به سرور | تضمین نمیشود | در CDN و WAF امکانپذیر است |
| گزارش تلاشهای دسترسی | محدود به قابلیتهای دیگر سایت | اغلب امکانات ثبت و گزارش دارد |
| خطر خطای تنظیمات | احتمال مسدود شدن ناخواسته خزندهها | احتمال اختلال در دسترسی کاربران و سرویسهای معتبر |
نکته مهم این است که حتی مسدودسازی در سطح سرور نیز تضمین صددرصدی ندارد. رباتهای پیشرفته ممکن است خود را پنهان کنند یا از روشهای دیگری برای دسترسی استفاده کنند. با این حال، استفاده از قوانین فنی مناسب معمولا مانع موثرتری نسبت به robots.txt ایجاد میکند.
کدام روش برای وبسایت شما مناسبتر است؟
پاسخ به این پرسش به هدف کسبوکار، زیرساخت سایت و میزان اهمیت جلوگیری از دسترسی رباتها بستگی دارد.
اگر فقط میخواهید درخواست خود را اعلام کنید:
اگر هدف شما محدود کردن یک یا دو ربات شناختهشده است و انتظار دارید آن رباتها قوانین استاندارد را رعایت کنند، robots.txt میتواند نقطه شروع مناسبی باشد.این روش ساده است و به شما اجازه میدهد بدون تغییرات پیچیده در زیرساخت، سیاست خود را اعلام کنید. با این حال، باید بدانید که این کار جلوی رباتهای سرکش را به طور قطعی نمیگیرد.
اگر میخواهید دسترسی را جدیتر محدود کنید:
اگر رباتها حجم زیادی از درخواستها را به سایت شما ارسال میکنند، منابع سرور را مصرف میکنند یا لازم است دسترسی به محتوای مشخصی با اطمینان بیشتری کنترل شود، بهتر است از لایههای فنی مانند CDN، WAF یا تنظیمات سرور کمک بگیرید. در حالت ایدهآل، میتوان از چند لایه در کنار هم استفاده کرد. برای مثال، robots.txt سیاست کلی سایت را اعلام کند و CDN یا WAF درخواستهای ناخواسته را در عمل متوقف کند.
بر اساس رویکرد مطرحشده در مقاله اصلی، اگر مسدودسازی جدی برای شما اهمیت دارد، بهتر است تا حد امکان از WAF استفاده کنید. اگر این گزینه در دسترس نیست، CDN و سپس تنظیمات سرور میتوانند گزینههای جایگزین باشند. انتخاب نهایی به امکانات واقعی زیرساخت شما بستگی دارد.
نکات مهم برای وبسایتهای ایرانی
اگر صاحب فروشگاه اینترنتی، سایت محتوایی یا وبسایت شرکتی هستید، پیش از مسدود کردن رباتها چند نکته را بررسی کنید.
اول، هدف خود را مشخص کنید. آیا میخواهید از جمعآوری محتوا برای آموزش مدلها جلوگیری کنید، دسترسی به صفحات خاص را محدود کنید یا مصرف منابع سرور را کاهش دهید؟ پاسخ این پرسش روی انتخاب روش تاثیر میگذارد.
دوم، همه رباتها را یکسان در نظر نگیرید. ممکن است بخواهید دسترسی یک ربات را محدود کنید، اما همچنان اجازه دهید خزندههای مورد نیاز موتورهای جستجو به صفحات عمومی سایت دسترسی داشته باشند.
سوم، پیش از اعمال تغییرات از تنظیمات فعلی نسخه پشتیبان تهیه کنید. اگر قانون اشتباهی وارد شود، امکان بازگرداندن تنظیمات قبلی به شما کمک میکند.
چهارم، گزارشهای سرور را بررسی کنید. فایلهای گزارش سرور یا لاگها نشان میدهند چه درخواستهایی به سایت رسیدهاند. با بررسی آنها میتوانید متوجه شوید آیا ربات مورد نظر پس از تعریف قانون در robots.txt همچنان به صفحات سایت درخواست میفرستد یا خیر.
پنجم، تاثیر تصمیم خود را بر دیده شدن سایت بررسی کنید. مسدود کردن بعضی خزندههای هوش مصنوعی ممکن است بر دسترسی آنها به محتوای شما اثر بگذارد. اگر برای کسبوکار شما حضور در پاسخهای هوش مصنوعی اهمیت دارد، باید مزایا و معایب این تصمیم را با دقت بسنجید.
چگونه از مسدودسازی درست مطمئن شویم؟
بعد از اعمال تغییرات، کار تمام نمیشود. لازم است عملکرد قوانین را بررسی کنید.
برای این کار میتوانید:
۱. تنظیمات robots.txt را دوباره بخوانید و مطمئن شوید فقط رباتها و مسیرهای مورد نظر را محدود کردهاید.
۲. در صورت استفاده از CDN یا WAF، قوانین مسدودسازی و گزارشهای مربوط به درخواستهای ردشده را بررسی کنید.
۳. لاگهای سرور را برای یافتن درخواستهای مشکوک یا تکراری پایش کنید.
۴. بررسی کنید که کاربران واقعی، خزندههای مورد نیاز موتورهای جستجو و سرویسهای ضروری همچنان به بخشهای عمومی سایت دسترسی دارند.
۵. در صورت مشاهده خطا، قوانین را اصلاح کنید و دوباره آزمایش انجام دهید.
توجه داشته باشید که نام ربات در درخواست به تنهایی همیشه هویت واقعی آن را ثابت نمیکند. بنابراین، برای تصمیمهای امنیتی مهم بهتر است به یک نشانه اکتفا نکنید و از امکانات فنی موجود برای بررسی درخواستها کمک بگیرید.
جمعبندی
برای محدود کردن رباتهای هوش مصنوعی، دو رویکرد اصلی وجود دارد: استفاده از robots.txt و مسدودسازی در سطح سرور، CDN یا WAF. robots.txt روشی ساده برای اعلام این است که کدام رباتها نباید صفحات مشخصی را بررسی کنند. این روش برای رباتهایی که به قوانین احترام میگذارند مفید است، اما نمیتواند دسترسی را به طور قطعی متوقف کند.
در مقابل، مسدودسازی در سطح زیرساخت فنی میتواند درخواستهای ناخواسته را واقعا متوقف کند و در بعضی موارد از رسیدن آنها به سرور اصلی جلوگیری کند. البته این روش به تنظیمات دقیق، دانش فنی و پایش مداوم نیاز دارد.
در نهایت، اگر فقط میخواهید درخواست خود را به رباتهای معتبر اعلام کنید، robots.txt میتواند کافی باشد؛ اما اگر به جلوگیری فنی و جدی از دسترسی نیاز دارید، باید از لایههای امنیتی و زیرساختی سایت کمک بگیرید. بهترین انتخاب، روشی است که با هدف کسبوکار شما هماهنگ باشد و بدون ایجاد اختلال در عملکرد سایت، کنترل مناسبی بر دسترسی رباتها فراهم کند.





