robots.txt (فایل ربات‌ها) برای خزنده‌های هوش مصنوعی، ابزار اصلی کنترل دسترسی خزنده‌ها به محتوای سایت است که با تنظیم allow و disallow، User-Agent و Sitemap، خزش آموزشی را از خزش ایندکسی جدا می‌کند.

در عصر مدل‌های زبانی، این فایل نه یک تنظیم فرعی، بلکه یک سند راهبردی است که سیاست سایت درباره داده و آموزش مدل را اعلام می‌کند.

مدیریت crawl budget، رعایت لایسنس محتوا و پایش دوره‌ای لاگ‌ها، سه رکن اساسی این کنترل محسوب می‌شوند.

خزنده‌های اصلی AI شامل GPTBot، ClaudeBot، Google-Extended، PerplexityBot و CCBot هرکدام رفتار و User-Agent اختصاصی خود را دارند و باید جداگانه مدیریت شوند.

اشتباهات رایج شامل بلاک اشتباه Googlebot به‌جای خزنده‌های AI، نبود تست، نبود پایش و نبود هماهنگی با سایر خزنده‌ها است.

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

robots.txt چیست و چرا برای AI اهمیت پیدا کرده است؟

robots.txt یک فایل متنی ساده در ریشه دامنه است که به خزنده‌ها (Crawlers) می‌گوید کدام بخش‌های سایت قابل دسترسی هستند و کدام نیستند. این فایل، در سال ۱۹۹۴ معرفی شد و از آن زمان، استاندارد غیررسمی کنترل خزش در وب محسوب می‌شود.

تا پیش از گسترش مدل‌های زبانی، robots.txt عمدتاً برای مدیریت رابطه با خزنده‌های موتورهای جستجو (Googlebot، Bingbot، YandexBot) استفاده می‌شد. اما با رشد خزنده‌های هوش مصنوعی، این فایل به ابزاری دوگانه تبدیل شد: کنترل ایندکس و کنترل آموزش مدل.

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

جایگاه robots.txt در معماری AI SEO

در معماری AI SEO، robots.txt سه نقش اصلی دارد: کنترل دسترسی خزنده‌های آموزشی، مدیریت crawl budget، و اعلام سیاست محتوا. هر یک از این نقش‌ها، به‌طور مستقیم بر نحوه تعامل سایت با اکوسیستم هوش مصنوعی اثر می‌گذارد. سایت‌هایی که این فایل را جدی می‌گیرند، در توازن میان Citation و کنترل، موقعیت بهتری دارند.

خزنده‌های اصلی هوش مصنوعی کدام‌اند؟

خزنده‌های هوش مصنوعی به چند دسته تقسیم می‌شوند. دسته اول، خزنده‌های آموزش مدل هستند که محتوا را برای آموزش مدل‌های پایه جمع‌آوری می‌کنند. دسته دوم، خزنده‌های بازیابی (Retrieval) هستند که در زمان پاسخ به کاربر، اطلاعات را از منابع مختلف بازیابی می‌کنند. دسته سوم، خزنده‌های ترکیبی هستند که هر دو نقش را ایفا می‌کنند.

GPTBot

GPTBot خزنده اختصاصی OpenAI است که برای جمع‌آوری داده آموزش مدل‌های GPT استفاده می‌شود. این خزنده با User-Agent مشخص GPTBot شناخته می‌شود و OpenAI امکان بلاک کردن آن از طریق robots.txt را فراهم کرده است. تحلیل جامع در مقاله GPTBot چیست و چطور مدیریت کنیم؟ آمده است.

ClaudeBot

ClaudeBot خزنده Anthropic است که برای آموزش مدل‌های Claude استفاده می‌شود. این خزنده با User-Agent اختصاصی و رعایت robots.txt شناخته می‌شود. Anthropic سیاست شفافی درباره رفتار این خزنده منتشر کرده است. توضیحات تکمیلی در مقاله ClaudeBot و سیاست‌های خزنده Anthropic آمده است.

Google-Extended

Google-Extended خزنده اختصاصی گوگل برای آموزش مدل‌های Gemini و Vertex AI است. این خزنده به‌طور مستقل از Googlebot عمل می‌کند و بلاک کردن آن، بر ایندکس سایت در نتایج جستجو اثر نمی‌گذارد. تحلیل جامع در مقاله Google-Extended و کنترل آموزش AI آمده است.

PerplexityBot

PerplexityBot خزنده سامانه Perplexity است که برای بازیابی اطلاعات در زمان واقعی و برخی کاربردهای آموزشی استفاده می‌شود. Perplexity سیاست شفافی درباره رعایت robots.txt دارد. توضیحات تکمیلی در مقاله PerplexityBot و بهینه‌سازی برای آن آمده است.

CCBot و Common Crawl

CCBot (Common Crawl Bot) خزنده پروژه Common Crawl است. این پروژه، داده‌های خود را به‌صورت رایگان در اختیار محققان و شرکت‌های AI قرار می‌دهد. بسیاری از مدل‌های زبانی از داده‌های Common Crawl برای آموزش استفاده کرده‌اند. بلاک کردن این خزنده، در کاهش استفاده از محتوا در آموزش مدل‌های متنوع نقش دارد.

خزنده‌های تخصصی

علاوه بر این خزنده‌های اصلی، خزنده‌های تخصصی دیگری نیز وجود دارند: Bytespider از ByteDance، Applebot-Extended از Apple، Amazonbot از Amazon، FacebookBot از Meta، Diffbot از Diffbot، ImagesiftBot از Imagesift. هر یک از این خزنده‌ها رفتار و سیاست اختصاصی خود را دارند و باید در robots.txt جداگانه مدیریت شوند. تحلیل جامع‌تر در مقاله خزنده‌های هوش مصنوعی و تأثیر آن‌ها بر سئو آمده است.

ساختار پایه robots.txt و قواعد کلیدی

robots.txt از قواعد ساده تشکیل شده است. هر قاعده در یک خط قرار می‌گیرد و از الگوی Key: Value پیروی می‌کند. سه کلید اصلی عبارت‌اند از User-agent، Allow و Disallow.

ساختار پایه

User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: CCBot
Disallow: /

این ساختار پایه، خزنده‌های اصلی AI را از خزش کل سایت منع می‌کند. هر بلاک User-agent، یک بلاک مستقل است که با خط خالی از بلاک بعدی جدا می‌شود.

Wildcard و الگوهای تطبیق

robots.txt از دو wildcard پشتیبانی می‌کند: * که هر تعداد کاراکتر را تطبیق می‌دهد و $ که پایان URL را مشخص می‌کند.

User-agent: GPTBot
Disallow: /*.pdf$
Disallow: /admin/
Disallow: /private*

این الگو، تمام فایل‌های PDF، پوشه admin و هر مسیری که با private شروع می‌شود را بلاک می‌کند.

ترتیب و اولویت قواعد

در robots.txt، قواعد Disallow بر Allow اولویت دارند اگر طول مسیر برابر باشد. اگر طول مسیر Disallow بیشتر باشد، آن مسیر بلاک می‌شود. اگر طول مسیر Allow بیشتر باشد، آن مسیر اجازه می‌یابد. این ترتیب، به کنترل دقیق‌تر کمک می‌کند:

User-agent: GPTBot
Disallow: /blog/
Allow: /blog/public/

در این مثال، تمام مسیر /blog/ بلاک می‌شود اما مسیر /blog/public/ به‌دلیل طول بیشتر، اجازه می‌یابد.

قواعد چند‌خطی

هر User-agent می‌تواند چندین قاعده Allow و Disallow داشته باشد. ترتیب ثبت قواعد، بر ترتیب ارزیابی اثر نمی‌گذارد؛ آنچه تعیین‌کننده است، طول مسیر است. برای اطلاعات کلی بیشتر، صفحه Robots.txt در ویکی‌پدیا توضیحات مفیدی ارائه می‌دهد.

User-Agentهای اختصاصی خزنده‌های AI

هر خزنده AI یک User-Agent اختصاصی دارد که برای شناسایی و مدیریت آن استفاده می‌شود. در ادامه، جدولی از مهم‌ترین User-Agentها ارائه می‌شود.

جدول User-Agentهای اصلی

خزندهUser-Agentشرکتهدف
GPTBotGPTBotOpenAIآموزش GPT
ChatGPT-UserChatGPT-UserOpenAIبازیابی زمان واقعی
ClaudeBotClaudeBotAnthropicآموزش Claude
Google-ExtendedGoogle-ExtendedGoogleآموزش Gemini و Vertex
PerplexityBotPerplexityBotPerplexityبازیابی و آموزش
CCBotCCBotCommon Crawlداده باز
BytespiderBytespiderByteDanceآموزش مدل‌ها
Applebot-ExtendedApplebot-ExtendedAppleآموزش Apple Intelligence

این جدول، مبنای تنظیم robots.txt است. برای هر خزنده، بلاک یا اجازه به‌صورت جداگانه تعریف می‌شود.

User-Agentهای چندگانه در یک بلاک

در robots.txt، می‌توان چند User-Agent را در یک بلاک گروه‌بندی کرد. اما روش توصیه‌شده، بلاک‌های مستقل است، چرا که مدیریت و پایش را ساده‌تر می‌کند:

User-agent: GPTBot
User-agent: ClaudeBot
User-agent: CCBot
Disallow: /

این ساختار معتبر است اما انعطاف کمتری در تغییرات آینده دارد.

خزنده‌های ناشناخته

خزنده‌های جدید AI به‌طور مکرر معرفی می‌شوند. مدیریت صحیح این وضعیت، نیازمند بررسی دوره‌ای منابع معتبر (مانند مستندات رسمی شرکت‌ها و پروژه‌های متن‌باز) و به‌روزرسانی robots.txt است.

allow و disallow هوشمند برای هر خزنده

تصمیم درباره Allow و Disallow برای هر خزنده، نیازمند تحلیل راهبردی است. این تصمیم، به هدف برند، نوع محتوا و موقعیت مذاکره بستگی دارد.

الگوهای رایج تصمیم

الگوی اول، بلاک کامل تمام خزنده‌های AI. این الگو برای سایت‌هایی مناسب است که هدفشان کنترل کامل و مذاکره است. الگوی دوم، اجازه کامل به تمام خزنده‌ها. این الگو برای سایت‌هایی مناسب است که هدفشان حداکثر Citation و دیده‌شدن است. الگوی سوم، بلاک انتخابی بر اساس نوع محتوا یا خزنده. این الگو انعطاف‌پذیرترین رویکرد است.

مثال بلاک انتخابی بر اساس نوع خزنده

User-agent: CCBot
Disallow: /

User-agent: GPTBot
Allow: /
Disallow: /premium/

در این مثال، CCBot (که داده را به‌صورت رایگان منتشر می‌کند) به‌طور کامل بلاک می‌شود، اما GPTBot (که محصول نهایی برای کاربران است) اجازه می‌یابد، به‌جز محتوای پولی.

مثال بلاک انتخابی بر اساس نوع محتوا

User-agent: *
Disallow: /admin/
Disallow: /account/
Disallow: /cart/
Disallow: /checkout/
Allow: /

این ساختار عمومی، بخش‌های حساس و شخصی را برای همه خزنده‌ها بلاک می‌کند و بقیه سایت را باز می‌گذارد.

ترکیب با Sitemap

علاوه بر قواعد allow و disallow، توصیه می‌شود آدرس Sitemap در robots.txt درج شود:

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

این کار، مسیر خزش را برای خزنده‌ها روشن‌تر می‌کند و به کشف سریع‌تر محتوای جدید کمک می‌کند.

مدیریت crawl budget در سایت‌های AI

Crawl Budget (بودجه خزش) مقدار زمانی است که یک خزنده برای بررسی صفحات یک سایت اختصاص می‌دهد. این بودجه، به دو مؤلفه تقسیم می‌شود: Crawl Rate Limit (محدودیت سرعت خزنده که توسط سرور تعیین می‌شود) و Crawl Demand (تقاضای خزش که بر اساس اعتبار و تازگی محتوا تعیین می‌شود).

چرا crawl budget در AI اهمیت دارد

در سایت‌های بزرگ با هزاران صفحه، خزنده‌های AI ممکن است زمان زیادی را روی صفحات کم‌ارزش صرف کنند. این مصرف، بودجه‌ای که می‌تواند صرف محتوای مهم شود را کاهش می‌دهد. مدیریت crawl budget، تخصیص بهینه این بودجه را ممکن می‌کند.

تکنیک‌های مدیریت crawl budget

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

تکنیک دوم، مدیریت مصرف توسط خزنده‌ها با Crawl-delay است. این دستور، سرعت خزش را محدود می‌کند و به سرور فرصت تنفس می‌دهد.

تکنیک سوم، ساختاردهی سایت با Sitemap دقیق است. Sitemap با اولویت‌بندی صفحات، مسیر خزنده را به سمت محتوای مهم هدایت می‌کند.

الگوی مدیریت crawl budget برای سایت‌های بزرگ

User-agent: *
Disallow: /search?
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /page/10/
Disallow: /page/11/
Disallow: /page/12/
Allow: /

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

این الگو، صفحات جستجوی داخلی، مرتب‌سازی، فیلترها و صفحه‌بندی عمیق را بلاک می‌کند و بقیه سایت را باز می‌گذارد. تحلیل جامع‌تر در مقاله SEO Crawl Budget Optimization آمده است.

crawl-delay و کنترل سرعت خزش

Crawl-delay دستوری در robots.txt است که سرعت خزش را محدود می‌کند. این دستور، به‌طور رسمی توسط گوگل پشتیبانی نمی‌شود، اما برخی خزنده‌ها (مانند Bingbot و YandexBot) آن را رعایت می‌کنند.

ساختار Crawl-delay

User-agent: *
Crawl-delay: 5

مقدار ۵، به‌معنای حداقل پنج ثانیه فاصله میان دو درخواست متوالی است. این مقدار، در سایت‌های با منابع محدود، مؤثر است.

جایگزین‌های crawl-delay

برخی خزنده‌های AI، crawl-delay را رعایت نمی‌کنند. در این حالت، از روش‌های جایگزین استفاده می‌شود: Rate Limiting در سطح سرور، محدودسازی درخواست‌ها بر اساس IP، و مدیریت بار با CDN. این روش‌ها، مؤثرتر از crawl-delay هستند اما نیازمند تنظیمات سرور هستند.

ترکیب crawl-delay با Rate Limiting

روش توصیه‌شده، ترکیب crawl-delay در robots.txt با Rate Limiting در سطح سرور است. robots.txt سیاست را اعلام می‌کند و Rate Limiting آن را فنی اجرا می‌کند.

Sitemap و راهنمایی خزنده‌های AI

Sitemap یک فایل XML است که تمام صفحات مهم سایت را فهرست می‌کند. این فایل، به خزنده‌ها کمک می‌کند صفحات را سریع‌تر کشف کنند.

انواع Sitemap

انواع Sitemap شامل Sitemap عمومی، News Sitemap (برای سایت‌های خبری)، Image Sitemap (برای تصاویر)، Video Sitemap (برای ویدیوها) و Sitemap Index (برای سایت‌های بزرگ) است.

ساختار Sitemap

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/page/</loc>
    <lastmod>2024-06-01</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

این ساختار پایه، شامل آدرس صفحه، تاریخ آخرین تغییر، فرکانس تغییر و اولویت است.

راهنمایی خزنده‌های AI با Sitemap

برخی خزنده‌های AI، از Sitemap برای کشف صفحات استفاده می‌کنند. درج آدرس Sitemap در robots.txt و به‌روزرسانی منظم آن، مسیر خزش را روشن‌تر می‌کند. همچنین، توصیه می‌شود Sitemap اختصاصی برای انواع مختلف محتوا (مقالات، محصولات، اخبار) ایجاد شود.

ترکیب robots.txt با لایسنس محتوا

robots.txt ابزار کنترل خزش است، اما لایسنس محتوا ابزار کنترل حقوقی. ترکیب این دو، یک سیاست جامع درباره استفاده از محتوا ایجاد می‌کند.

اعلام لایسنس در robots.txt

اگرچه robots.txt به‌طور رسمی از اعلام لایسنس پشتیبانی نمی‌کند، اما می‌توان با کامنت‌گذاری، سیاست را اعلام کرد:

# AI Content License: All Rights Reserved
# Contact: legal@example.com
User-agent: GPTBot
Disallow: /

این کامنت‌ها توسط موتورهای جستجو نادیده گرفته می‌شوند اما برای مستندسازی و در صورت پیگیری حقوقی، مرجع مهمی محسوب می‌شوند.

TDM Reservation Protocol

پروتکل TDM (Text and Data Mining) Reservation، یک استاندارد نوظهور است که به صاحبان محتوا اجازه می‌دهد حقوق متن‌کاوی خود را رسماً محفوظ نگه دارند. این پروتکل، از طریق هدر HTTP یا متادیتای HTML اعمال می‌شود و با robots.txt مکمل است. تحلیل جامع در مقاله لایسنس محتوا برای آموزش هوش مصنوعی آمده است.

ترکیب چندلایه

توصیه عملی، استفاده از ترکیب چندلایه است: robots.txt برای اعلام سیاست خزش، TDM Reservation برای رزرو حقوق قانونی، WAF برای بلاک فنی، و قرارداد برای مذاکره مستقیم. این ترکیب، بالاترین سطح کنترل را فراهم می‌کند.

بلاک انتخابی و استراتژی برند

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

معیارهای بلاک انتخابی

معیار اول، نوع محتواست. محتوای عمومی و آموزشی، معمولاً کاندیدای اجازه است. محتوای پولی، شخصی و سازمانی، کاندیدای بلاک است.

معیار دوم، ارزش تجاری محتواست. محتوایی که ارزش تجاری بالایی دارد، کاندیدای بلاک یا مذاکره است. محتوایی که ارزش تجاری پایینی دارد، کاندیدای اجازه است.

معیار سوم، هدف راهبردی برند است. برندهایی که هدفشان رهبری موضوعی است، معمولاً اجازه می‌دهند. برندهایی که هدفشان کنترل و مذاکره است، معمولاً بلاک می‌کنند.

الگوهای پیشنهادی

الگوی اول: بلاک محتوای پولی و دوره‌ها.

User-agent: GPTBot
Disallow: /premium/
Disallow: /courses/
Allow: /

الگوی دوم: اجازه فقط به محتوای آموزشی و مرجع.

User-agent: GPTBot
Disallow: /
Allow: /blog/
Allow: /docs/
Allow: /guides/

الگوی سوم: بلاک بر اساس نوع خزنده.

User-agent: CCBot
Disallow: /

User-agent: GPTBot
Allow: /

تحلیل جامع‌تر در مقاله GEO یا Generative Engine Optimization چیست؟ آمده است.

robots.txt داینامیک در وردپرس

در وردپرس، فایل robots.txt به‌صورت پیش‌فرض مجازی است و از طریق توابع وردپرس تولید می‌شود. برای ویرایش آن، می‌توان از فیلتر robots_txt استفاده کرد.

ساخت robots.txt سفارشی در وردپرس

add_filter('robots_txt', function($output, $public) {
  if ('0' == $public) return $output;
  
  $output .= "\nUser-agent: GPTBot\n";
  $output .= "Disallow: /premium/\n";
  $output .= "Allow: /\n";
  
  $output .= "\nUser-agent: ClaudeBot\n";
  $output .= "Disallow: /premium/\n";
  $output .= "Allow: /\n";
  
  $output .= "\nUser-agent: Google-Extended\n";
  $output .= "Disallow: /\n";
  
  return $output;
}, 10, 2);

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

فایل robots.txt فیزیکی

روش جایگزین، ایجاد فایل فیزیکی robots.txt در پوشه ریشه سایت است. این روش، کنترل کامل‌تری به توسعه‌دهنده می‌دهد اما نیازمند دسترسی به سرور است. اگر فایل فیزیکی وجود داشته باشد، وردپرس از آن استفاده نمی‌کند.

مدیریت در سایت‌های چندزبانه

در سایت‌های چندزبانه، robots.txt باید کل دامنه را پوشش دهد. اگر سایت از دامنه‌های مختلف برای هر زبان استفاده می‌کند، هر دامنه فایل robots.txt مستقل خود را دارد. توصیه می‌شود سیاست در همه دامنه‌ها یکسان باشد.

تست و تأیید تنظیمات robots.txt

پس از تنظیم robots.txt، تست و تأیید اثربخشی ضروری است. تنظیمات نادرست، می‌تواند اثر غیرمنتظره داشته باشد.

تست با ابزارهای آنلاین

ابزارهای متعددی برای بررسی robots.txt وجود دارد: Google Search Console robots.txt Tester، Bing Webmaster Tools robots.txt Tester، ابزارهای مستقل مانند Technical SEO robots.txt Tester.

تست با دستور curl

curl -A "GPTBot" https://example.com/premium/
curl -A "GPTBot" https://example.com/blog/

این دستورات، درخواست‌هایی با User-Agent GPTBot ارسال می‌کنند. اگر robots.txt به‌درستی تنظیم شده باشد و صفحه بلاک شده باشد، سرور باید کد وضعیت مناسب برگرداند.

تست با ابزارهای تخصصی

ابزارهای پیشرفته مانند Screaming Frog SEO Spider، امکان تست Robots.txt را برای چندین User-Agent به‌طور همزمان فراهم می‌کنند. این ابزارها، تحلیل دقیق‌تری از قواعد و اولویت‌ها ارائه می‌دهند.

تست با ابزارهای مرورگر

برخی افزونه‌های مرورگر امکان تست robots.txt را فراهم می‌کنند. این روش، سریع‌ترین راه بررسی اولیه است اما دقت ابزارهای تخصصی را ندارد.

پایش دوره‌ای

توصیه می‌شود تست robots.txt هر سه ماه یک بار انجام شود. تغییرات ناخواسته، به‌ویژه هنگام به‌روزرسانی افزونه‌ها یا قالب، ممکن است بر robots.txt اثر بگذارد.

پایش لاگ‌های سرور و رفتار خزنده‌ها

پایش لاگ‌های سرور، بخش جدایی‌ناپذیر از مدیریت robots.txt برای AI است. این پایش، رفتار واقعی خزنده‌ها را نشان می‌دهد و اثربخشی تنظیمات را تأیید می‌کند.

تحلیل تعداد درخواست‌ها

grep "GPTBot" access.log | wc -l
grep "ClaudeBot" access.log | wc -l
grep "Google-Extended" access.log | wc -l

این دستورات، تعداد درخواست‌های هر خزنده را نشان می‌دهند. اگر تنظیمات بلاک مؤثر بوده باشد، تعداد درخواست‌ها کاهش می‌یابد.

تحلیل الگوی خزش

grep "GPTBot" access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20

این دستور، پر‌درخواست‌ترین مسیرهای خزش‌شده توسط GPTBot را نشان می‌دهد. این تحلیل، به کشف مسیرهای پرمصرف کمک می‌کند.

تحلیل با ابزارهای تخصصی

ابزارهای تخصصی تحلیل لاگ (Log Analysis) شامل GoAccess، AWStats، Screaming Frog Log File Analyser و ELK Stack (Elasticsearch، Logstash، Kibana) است. این ابزارها، تحلیل دقیق‌تری از رفتار خزنده‌ها ارائه می‌دهند.

پایش دوره‌ای

توصیه می‌شود لاگ‌های سرور ماهانه بررسی شوند. این پایش، الگوهای غیرعادی، افزایش ناگهانی درخواست‌ها یا رفتار مشکوک را آشکار می‌کند.

هشدار خودکار

برای سایت‌های بزرگ، تنظیم هشدار خودکار برای افزایش ناگهانی درخواست‌ها توصیه می‌شود. این هشدار، امکان واکنش سریع به رفتارهای غیرعادی را فراهم می‌کند.

اشتباهات رایج در تنظیم robots.txt برای AI

بلاک اشتباه Googlebot به‌جای خزنده‌های AI

شایع‌ترین اشتباه، بلاک کردن Googlebot به‌جای Google-Extended است. این اشتباه، سایت را از نتایج جستجوی گوگل حذف می‌کند. Googlebot برای ایندکس استفاده می‌شود و Google-Extended برای آموزش مدل.

نبود تست

اشتباه دوم، نبود تست تنظیمات است. تنظیم robots.txt بدون تست، به‌معنای اعتماد به صحت آن بدون تأیید است. تست، اشتباهات نحوی یا منطقی را آشکار می‌کند.

نبود پایش

اشتباه سوم، نبود پایش دوره‌ای است. بدون پایش لاگ‌ها، اثربخشی تنظیمات قابل‌ارزیابی نیست. پایش، بخش جدایی‌ناپذیر از استراتژی است.

بلاک کامل به‌جای بلاک انتخابی

اشتباه چهارم، بلاک کامل به‌جای بلاک انتخابی است. بسیاری از سایت‌ها بدون تحلیل، تمام خزنده‌های AI را بلاک می‌کنند. این تصمیم، شانس Citation در پاسخ‌های مولد را کاهش می‌دهد.

نبود هماهنگی میان خزنده‌ها

اشتباه پنجم، نبود هماهنگی میان خزنده‌هاست. اگر سیاست سازمان بر بلاک آموزش مدل است، باید تمام خزنده‌های آموزش‌محور بلاک شوند. بلاک کردن فقط یک خزنده، سیاست ناقص است.

نبود Sitemap

اشتباه ششم، نبود Sitemap در robots.txt است. Sitemap، مسیر خزش را روشن‌تر می‌کند و به کشف سریع‌تر محتوای جدید کمک می‌کند.

استفاده از دستورات نادرست

اشتباه هفتم، استفاده از دستورات نادرست یا منسوخ است. برخی دستورات مانند Crawl-delay توسط همه خزنده‌ها پشتیبانی نمی‌شوند. توصیه می‌شود از دستورات استاندارد و رایج استفاده شود.

نبود کامنت‌گذاری

اشتباه هشتم، نبود کامنت‌گذاری است. کامنت‌ها در robots.txt، به مستندسازی سیاست و توضیح قواعد کمک می‌کنند. برای تیم‌های چندنفره، این مستندسازی حیاتی است.

عدم توجه به زیر‌دامنه‌ها

اشتباه نهم، عدم توجه به زیر‌دامنه‌هاست. هر زیر‌دامنه، فایل robots.txt مستقل خود را دارد. اگر سیاست بر بلاک است، باید در تمام زیر‌دامنه‌ها اعمال شود.

نبود به‌روزرسانی با خزنده‌های جدید

اشتباه دهم، نبود به‌روزرسانی دوره‌ای robots.txt با خزنده‌های جدید است. خزنده‌های AI به‌طور مکرر معرفی می‌شوند و robots.txt باید با آن‌ها هماهنگ باشد.

نادیده گرفتن crawl budget

اشتباه یازدهم، نادیده گرفتن crawl budget است. در سایت‌های بزرگ، خزنده‌ها ممکن است زمان زیادی را روی صفحات کم‌ارزش صرف کنند. مدیریت crawl budget، بهینه‌سازی این مصرف است.

پرسش‌های پرتکرار درباره robots.txt برای AI

این بخش به پرسش‌هایی می‌پردازد که در تنظیم robots.txt برای AI بیشتر تکرار می‌شوند.

آیا robots.txt برای همه خزنده‌های AI الزام‌آور است؟

خیر. robots.txt یک استاندارد غیررسمی است و رعایت آن اختیاری است. برخی خزنده‌ها (مانند GPTBot و ClaudeBot) به‌طور رسمی به آن احترام می‌گذارند. برخی دیگر ممکن است آن را نادیده بگیرند. برای کنترل مؤثر، ترکیب robots.txt با WAF توصیه می‌شود.

آیا بلاک کردن خزنده‌های AI بر رتبه سنتی اثر دارد؟

خیر. خزنده‌های AI (به‌جز Googlebot) بر ایندکس سایت در گوگل اثر ندارند. بلاک کردن GPTBot، ClaudeBot، Google-Extended و CCBot، بر رتبه سنتی اثری نمی‌گذارد.

آیا می‌توان robots.txt را بر اساس IP محدود کرد؟

خیر. robots.txt فقط بر اساس User-Agent کار می‌کند. برای محدودسازی بر اساس IP، باید از WAF، فایروال سرور یا ابزارهای تخصصی استفاده کرد.

آیا Google-Extended همان GPTBot است؟

خیر. Google-Extended خزنده اختصاصی گوگل برای آموزش مدل‌های Gemini و Vertex AI است. GPTBot خزنده اختصاصی OpenAI برای آموزش مدل‌های GPT است. هرکدام User-Agent مستقل دارند و باید جداگانه مدیریت شوند.

آیا bلاک کردن CCBot باعث بلاک شدن داده در Common Crawl می‌شود؟

بلاک کردن CCBot از خزش‌های آینده جلوگیری می‌کند، اما داده‌هایی که قبلاً در Common Crawl جمع‌آوری شده‌اند، قابل حذف مستقیم نیستند. برای حذف داده از Common Crawl، باید درخواست اختصاصی به این پروژه ارسال شود.

آیا robots.txt روی خزنده‌های بازیابی (مانند ChatGPT-User) هم اثر دارد؟

بله. خزنده‌های بازیابی نیز به robots.txt احترام می‌گذارند. اگر این خزنده‌ها بلاک شوند، سایت در پاسخ‌های آنی و بازیابی زمان واقعی نمایش داده نمی‌شود. تصمیم درباره بلاک این خزنده‌ها، باید با آگاهی از پیامدها گرفته شود.

آیا ترکیب robots.txt با Sitemap الزامی است؟

الزام فنی وجود ندارد اما توصیه می‌شود. Sitemap به خزنده‌ها کمک می‌کند صفحات را سریع‌تر کشف کنند. درج آدرس Sitemap در robots.txt، رویه استاندارد محسوب می‌شود.

آیا robots.txt بر خزنده‌های شبکه‌های اجتماعی (مانند Facebookbot) هم اثر دارد؟

بله. خزنده‌های شبکه‌های اجتماعی (مانند Facebookbot، Twitterbot، LinkedInBot) نیز به robots.txt احترام می‌گذارند. بلاک کردن آن‌ها، بر نحوه نمایش محتوا در این شبکه‌ها اثر می‌گذارد.

آیا bلاک کردن خزنده‌های AI بر Google Shopping اثر دارد؟

خیر. Google Shopping از Googlebot اصلی استفاده می‌کند، نه از خزنده‌های AI. بلاک کردن Google-Extended بر Google Shopping اثری نمی‌گذارد.

آیا باید robots.txt را برای هر صفحه جداگانه تنظیم کرد؟

خیر. robots.txt فقط در سطح دامنه کار می‌کند. برای کنترل در سطح صفحه، باید از متادیتای HTML (مانند noindex) استفاده کرد.

آیا robots.txt روی خزش Google Discover اثر دارد؟

Google Discover از Googlebot اصلی استفاده می‌کند. بلاک کردن خزنده‌های AI بر Google Discover اثری نمی‌گذارد. اما محدودیت‌های عمومی در robots.txt (مانند بلاک تصاویر) می‌تواند بر Discover اثر بگذارد.

آیا خزنده‌های AI به User-Agent جعلی احترام می‌گذارند؟

برخی خزنده‌ها ممکن است با User-Agent جعلی (مانند Googlebot) خزش کنند تا بلاک را دور بزنند. تشخیص این رفتار، نیازمند تحلیل دقیق IP و رفتار است. توصیه می‌شود خزش‌های مشکوک با WAF محدود شوند.

آیا باید robots.txt برای سایت‌های چندزبانه متفاوت باشد؟

اگر سایت از چند دامنه برای هر زبان استفاده می‌کند، هر دامنه فایل robots.txt مستقل خود را دارد. توصیه می‌شود سیاست در همه دامنه‌ها یکسان باشد. اگر سایت از زیر‌پوشه برای زبان‌ها استفاده می‌کند، robots.txt واحد کافی است.

آیا robots.txt می‌تواند بر ترافیک ارجاعی از ChatGPT اثر بگذارد؟

بله. اگر GPTBot و ChatGPT-User بلاک شوند، سایت در پاسخ‌های ChatGPT نمایش داده نمی‌شود و ترافیک ارجاعی از این منبع کاهش می‌یابد. این پیامد، باید در تصمیم لحاظ شود.

آیا bلاک کردن خزنده‌های AI باعث حذف محتوای قبلی از مدل‌های آموزش‌دیده می‌شود؟

خیر. بلاک کردن robots.txt از خزش‌های آینده جلوگیری می‌کند اما محتوایی که قبلاً در آموزش مدل‌ها استفاده شده، معمولاً قابل حذف مستقیم نیست. برای حذف داده از مدل آموزش‌دیده، باید فرآیندهای خاص Unlearning یا مذاکره با ارائه‌دهنده مدل طی شود. تحلیل جامع‌تر در مقاله لایسنس محتوا برای آموزش هوش مصنوعی آمده است.

آیا robots.txt روی سرویس‌های دیگر گوگل (مانند Google News) اثر دارد؟

Google News از خزنده اختصاصی Googlebot-News استفاده می‌کند. بلاک کردن Google-Extended بر Google News اثری نمی‌گذارد، اما بلاک کردن Googlebot-News می‌تواند باعث حذف از Google News شود.

آیا باید robots.txt را برای Bing و سایر موتورها جداگانه تنظیم کرد؟

خیر. robots.txt یک استاندارد جهانی است و توسط تمام موتورهای جستجو رعایت می‌شود. یک فایل robots.txt برای همه کافی است. اما خزنده‌های AI هر شرکت، User-Agent اختصاصی دارند و باید جداگانه مدیریت شوند.

آیا می‌توان از robots.txt برای کنترل خزنده‌های ناشناخته استفاده کرد؟

robots.txt فقط برای User-Agentهای شناخته‌شده مؤثر است. برای کنترل خزنده‌های ناشناخته، باید از تحلیل لاگ و WAF استفاده کرد. برخی سایت‌ها از رویکرد «بلاک پیش‌فرض، اجازه استثنایی» استفاده می‌کنند:

User-agent: *
Disallow: /

User-agent: Googlebot
Allow: /

User-agent: Bingbot
Allow: /

این ساختار، همه خزنده‌ها را بلاک می‌کند به‌جز خزنده‌های شناخته‌شده موتورهای جستجو. توضیحات تکمیلی در مقاله Bot Management در وردپرس چرا ضروری است؟ آمده است.

آیا robots.txt با AI SEO تضاد دارد؟

خیر. robots.txt ابزار کنترل است و AI SEO استراتژی بهینه‌سازی. این دو مکمل یکدیگرند. با robots.txt، سایت سیاست خود را اعلام می‌کند. با AI SEO، محتوا را برای مدل‌های زبانی بهینه می‌سازد. بهترین رویکرد، ترکیب هر دو است.

اگر این موضوع را در پروژه‌ای پیاده کردید، برایم جالب است بدانم کدام بخش از تنظیم robots.txt برای AI بیشترین چالش را برای شما داشت — تصمیم درباره بلاک یا اجازه، پیاده‌سازی در وردپرس، یا پایش رفتار خزنده‌ها. تجربه خودتان را در دیدگاه‌ها بنویسید؛ به‌خصوص اگر روش متفاوتی برای مدیریت خزش پیدا کرده‌اید که می‌تواند برای خواننده بعدی مفید باشد.