تست آمادگی برای ایجنت‌های هوش مصنوعی

tgju.org برای ایجنت‌ها سطح ۱: حضور پایه در وب.

فقط صفحه‌ی اصلی و فایل‌های عمومی سایت · تست از تهران · ۱۰ مهر ۱۴۰۵، ساعت ۱۶:۲۶

گزارش سرعت همین سایت

امتیاز، از ۱۰۰
سطح ۱
  • پیدا شدن۲ از ۳
  • محتوای خوانا۱ از ۱
  • اجازه‌ی ربات‌ها۱ از ۲
  • API، ورود و MCP۰ از ۷

پله‌ی بعد: آشنا با ربات‌ها. این‌ها لازم است:

  • اجازه‌ی استفاده از محتوا (Content Signals)

۹ بررسی رد شده است. همه‌ی راه‌حل‌ها، یک‌جا برای برنامه‌نویس یا ایجنت کدنویسی شما:

پیدا شدن ۲ از ۳

  • هدر Linkرد

    پاسخ صفحه‌ی اصلی هدر Link ندارد.

    راه درست کردن در پاسخ صفحه‌ی اصلی هدر Link بفرستید، مثلا: Link: </.well-known/api-catalog>; rel="api-catalog", </llms.txt>; rel="describedby"; type="text/plain"

    سند اصلی
  • فایل robots.txtقبول

    هست و ۱۰ گروه User-agent دارد.

    سند اصلی
  • نقشه‌ی سایت (sitemap.xml)قبول

    https://www.tgju.org/sitemapindex.xml، معرفی‌شده در robots.txt

    سند اصلی
  • معرفی ایجنت در DNS (DNS-AID)سنجیده نشد

    سرویس‌های DNS-over-HTTPS (کلادفلر و گوگل) از سرور تست جواب ندادند؛ این بررسی انجام نشد و در امتیاز حساب نمی‌شود.

    راه درست کردن رکورد SVCB در _index._agents.tgju.org (یا _mcp و _a2a) بگذارید، مثلا: _mcp._agents.tgju.org. IN SVCB 1 www.tgju.org. alpn="h2" port=443، و منطقه‌ی DNS را با DNSSEC امضا کنید تا resolver آن را تأییدشده (AD) برگرداند.

    سند اصلی

محتوای خوانا ۱ از ۱

  • نسخه‌ی Markdown برای ایجنت‌هاقبول

    با Accept: text/markdown، متن صفحه به Markdown برمی‌گردد؛ ایجنت به جای HTML سنگین، متن خالص می‌خواند.

    سند اصلی

اجازه‌ی ربات‌ها ۱ از ۲

  • اجازه‌ی استفاده از محتوا (Content Signals)رد

    در robots.txt خط Content-Signal نیست؛ معلوم نیست محتوا برای جستجو، جواب هوش مصنوعی یا آموزش مدل آزاد است یا نه.

    راه درست کردن زیر گروه مناسب در robots.txt یک خط Content-Signal بنویسید، مثلا: Content-Signal: search=yes, ai-input=yes, ai-train=no

    سند اصلی
  • قانون ربات‌های هوش مصنوعی در robots.txtقبول

    قانون جدایی برای ربات‌های هوش مصنوعی نیست؛ قانون‌های User-agent: * برای آن‌ها هم اعمال می‌شود.

    سند اصلی
  • امضای ربات (Web Bot Auth)بی‌اثر

    /.well-known/http-message-signatures-directory پیدا نشد (کد ۴۰۴). فقط برای سایتی مهم است که خودش ربات یا ایجنت می‌فرستد؛ در امتیاز حساب نمی‌شود.

    راه درست کردن اگر سایت شما ربات یا ایجنت می‌فرستد، کلیدهای عمومی‌اش را به شکل JWKS در /.well-known/http-message-signatures-directory بگذارید و درخواست‌ها را با Signature-Agent و Signature-Input امضا کنید.

    سند اصلی

API، ورود و MCP ۰ از ۷

  • فهرست API (api-catalog)رد

    /.well-known/api-catalog پیدا نشد (کد ۴۰۴).

    راه درست کردن https://www.tgju.org/.well-known/api-catalog را با Content-Type: application/linkset+json بگذارید: یک آرایه‌ی linkset که برای هر API یک anchor و پیوندهای service-desc (OpenAPI) و service-doc (راهنما) دارد.

    سند اصلی
  • کشف OAuth یا OpenIDرد

    /.well-known/openid-configuration پیدا نشد (کد ۴۰۴)، /.well-known/oauth-authorization-server پیدا نشد (کد ۴۰۴).

    راه درست کردن اگر API شما ورود می‌خواهد، فراداده‌ی سرور ورود را در /.well-known/oauth-authorization-server (یا /.well-known/openid-configuration) بگذارید: issuer، authorization_endpoint، token_endpoint، jwks_uri، grant_types_supported و response_types_supported.

    سند اصلی
  • فراداده‌ی منبع محافظت‌شده‌ی OAuthرد

    /.well-known/oauth-protected-resource پیدا نشد (کد ۴۰۴).

    راه درست کردن https://www.tgju.org/.well-known/oauth-protected-resource را بگذارید: resource (نشانی همین API)، authorization_servers (سرورهای ورود) و scopes_supported؛ و در پاسخ‌های ۴۰۱، WWW-Authenticate را با resource_metadata بفرستید.

    سند اصلی
  • راهنمای ثبت‌نام ایجنت (auth.md)رد

    /auth.md پیدا نشد (کد ۴۰۴).

    راه درست کردن فایل https://www.tgju.org/auth.md را به شکل Markdown بگذارید که با تیتر H1 شامل auth.md شروع شود (مثلا # auth.md) و بگوید ایجنت چطور ثبت‌نام کند و کلید بگیرد؛ اگر OAuth دارید، بلوک agent_auth را هم در فراداده‌ی سرور ورود بگذارید.

    سند اصلی
  • کارت سرور MCPرد

    /.well-known/mcp/server-card.json پیدا نشد (کد ۴۰۴)؛ دو نشانی دیگر هم کارتی نداشتند.

    راه درست کردن اگر سرور MCP دارید، کارتش را در https://www.tgju.org/.well-known/mcp/server-card.json بگذارید: serverInfo (name و version)، transport با endpoint (مثلا /mcp) و capabilities.

    سند اصلی
  • کارت ایجنت A2Aرد

    /.well-known/agent-card.json پیدا نشد (کد ۴۰۴). در امتیاز حساب نمی‌شود.

    راه درست کردن اگر ایجنت دارید، کارتش را در https://www.tgju.org/.well-known/agent-card.json بگذارید: name، version، description، supportedInterfaces (نشانی و پروتکل)، capabilities و skills (هر کدام با id، name و description).

    سند اصلی
  • فهرست مهارت‌ها (Agent Skills)رد

    /.well-known/agent-skills/index.json پیدا نشد (کد ۴۰۴).

    راه درست کردن فهرست مهارت‌ها را در https://www.tgju.org/.well-known/agent-skills/index.json بگذارید: $schema برابر https://schemas.agentskills.io/discovery/0.2.0/schema.json و آرایه‌ی skills که هر مهارت name، type، description، url و digest (sha256) دارد.

    سند اصلی
  • فهرست منابع ایجنتی (ARD)رد

    /.well-known/ai-catalog.json پیدا نشد (کد ۴۰۴).

    راه درست کردن فایل https://www.tgju.org/.well-known/ai-catalog.json را با Content-Type: application/json و Access-Control-Allow-Origin: * بگذارید: specVersion، host (displayName و identifier) و آرایه‌ی entries که هر مورد identifier (به شکل urn:air:www.tgju.org:...)، displayName، type و دقیقا یکی از url یا data دارد.

    سند اصلی
  • ابزارهای صفحه برای ایجنت مرورگر (WebMCP)سنجیده نشد

    فایل‌های جاوااسکریپت صفحه خوانده نشدند؛ WebMCP بررسی نشد.

    راه درست کردن در صفحه‌ی اصلی، کارهای اصلی سایت (جستجو، ثبت سفارش، فرم تماس) را با document.modelContext.registerTool() به ایجنت مرورگر معرفی کنید (name، description، inputSchema و execute)، یا به فرم‌های موجود ویژگی toolname و tooldescription بدهید.

    سند اصلی

خرید توسط ایجنت: سایت فروشگاه به نظر نمی‌رسد؛ این گروه اختیاری است و در امتیاز نیست.

بیرون از امتیاز. دو چیزی که خودمان هم می‌سنجیم.

  • فایل llms.txtرد

    /llms.txt پیدا نشد (کد ۴۰۴).

    راه درست کردن در ریشه‌ی سایت فایل متنی llms.txt بگذارید که با یک عنوان Markdown شروع شود (# نام سایت)، بعد یک خط معرفی با > و فهرست پیوند مهم‌ترین صفحه‌ها؛ با Content-Type: text/plain یا text/markdown.

    سند اصلی
  • ورود واقعی ایجنت‌هاقبول

    ایجنت‌های ChatGPT و Claude صفحه‌ی اصلی را بی‌مانع گرفتند.

    سند اصلی

ورود واقعی: ChatGPT باز شد، Claude باز شد، GPTBot باز شد. این تست از تهران است؛ از بیرون ایران ممکن است نتیجه فرق کند.

بیشتر

تست آمادگی سایت برای هوش مصنوعی؛ ثبت سایت در چت جی پی تی، MCP و llms.txt

تست آمادگی سایت برای هوش مصنوعی نشان می‌دهد ChatGPT، Claude و ایجنت‌های دیگر چقدر راحت سایت شما را پیدا می‌کنند، می‌خوانند و با آن کار می‌کنند. در این راهنما می‌گوییم ایجنت چیست و چطور به سایت سر می‌زند، «ثبت سایت در چت جی پی تی» واقعا یعنی چه، MCP و llms.txt چیست‌اند، ۲۲ بررسی را یکی‌یکی به زبان ساده باز می‌کنیم، تصمیم درست برای سه نوع ربات را می‌گوییم و ترتیب کار را برای سایت وردپرسی می‌چینیم.

ایجنت هوش مصنوعی چیست و چه فرقی با ربات گوگل دارد

ایجنت هوش مصنوعی (AI Agent) برنامه‌ای است که روی یک مدل زبانی مثل ChatGPT یا Claude سوار شده و به جای اینکه فقط جواب بنویسد، برای رسیدن به جواب کار هم می‌کند: جستجو می‌کند، صفحه باز می‌کند، متن را می‌خواند، قیمت‌ها را کنار هم می‌گذارد و گاهی فرمی را پر می‌کند. وقتی کسی از ChatGPT می‌پرسد «کدام فروشگاه کفش دویدن سایز ۴۲ زیر سه میلیون دارد؟»، پشت صحنه چند سایت باز می‌شود و جواب از روی همان‌ها ساخته می‌شود.

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

این نوع استفاده دیگر حاشیه‌ای نیست. پژوهش مشترک OpenAI و اقتصاددان‌های هاروارد که NBER منتشر کرده است نشان می‌دهد سهم پیام‌هایی که در ChatGPT دنبال اطلاعات‌اند، از ۱۴٪ در ژوئیه‌ی ۲۰۲۴ به ۲۴٪ در یک سال بعد رسیده و نویسنده‌ها این استفاده را جانشینی بسیار نزدیک برای جستجوی وب می‌دانند.

ایجنت چطور به یک سایت سر می‌زند

بیشتر ایجنت‌ها، با کمی تفاوت، یک مسیر را می‌روند:

  1. در می‌زند. اول فایل robots.txt را در ریشه‌ی سایت می‌خواند تا بداند کجا اجازه دارد برود. این فایل قفل نیست؛ خود استاندارد RFC 9309 می‌گوید قانون‌هایش مجوز دسترسی نیست و از ربات‌ها فقط خواسته می‌شود رعایتش کنند.
  2. نقشه را برمی‌دارد. از نقشه‌ی سایت (sitemap)، هدرهای پاسخ صفحه و حتی رکوردهای DNS می‌فهمد چه صفحه‌ها و چه امکاناتی هست.
  3. می‌خواند. اگر سایت نسخه‌ی متنی تمیز (Markdown) بدهد، همان را می‌گیرد؛ وگرنه باید از میان HTML پر از منو و اسکریپت، متن اصلی را بیرون بکشد.
  4. دنبال ابزار می‌گردد. برای کاری مثل پیدا کردن قیمت یک محصول، دنبال راه رسمی‌اش می‌گردد: یک API، یک سرور MCP یا فرمی که برای ایجنت‌ها نشانه‌گذاری شده باشد.
  5. کار را تمام می‌کند؛ اگر سایت راهی برایش گذاشته باشد با اطلاعات دقیق خود شما، و اگر نه با حدس.

تست آمادگی سایت برای هوش مصنوعی همین پنج قدم را در سایت شما می‌سنجد.

ثبت سایت در چت جی پی تی و هوش مصنوعی: فرمی در کار نیست

خیلی‌ها همان‌طور که سایت را در سرچ کنسول گوگل ثبت می‌کنند، دنبال جایی برای ثبت سایت در چت جی پی تی یا ثبت سایت در هوش مصنوعی می‌گردند. (این با «ثبت‌نام در سایت ChatGPT»، یعنی ساختن حساب کاربری در خود ChatGPT، فرق دارد؛ اینجا حرف از دیده شدن سایت شماست.) جواب کوتاه این است که چنین فرمی وجود ندارد. ChatGPT، Claude و Perplexity سایت‌ها را با ربات‌های خودشان پیدا می‌کنند و می‌خوانند، و تنها کاری که از دست صاحب سایت برمی‌آید این است که در را برای همین ربات‌ها باز و راه را برایشان روشن کند.

سند رسمی OpenAI درباره‌ی ربات‌هایش این را بی‌پرده می‌گوید: سایتی که OAI-SearchBot را ببندد در جواب‌های جستجوی ChatGPT نشان داده نمی‌شود و فقط ممکن است به شکل پیوند ناوبری بیاید. همان سند می‌گوید بعد از تغییر robots.txt حدود ۲۴ ساعت طول می‌کشد تا سیستم‌های جستجوی OpenAI خودشان را با آن هماهنگ کنند. یعنی «ثبت» در عمل سه چیز است:

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

هر سه را همین تست می‌سنجد. اگر کسی به شما «ثبت سایت در چت جی پی تی» را به عنوان خدمتی با فرم و تأییدیه فروخت، بدانید چنین فرمی از طرف OpenAI نیست؛ آنچه واقعی است همین باز کردن در و روشن کردن راه است، و بعد از آن انتخاب شدن در جواب‌ها به محتوا و اعتبار سایت بستگی دارد.

تست آمادگی سایت برای هوش مصنوعی دقیقا چه می‌سنجد

مرجع این سنجش ابزار isitagentready.com است که کلادفلر (Cloudflare) ساخته است: ۲۲ بررسی در پنج گروه، یک سطح از ۰ تا ۵، یک امتیاز از ۰ تا ۱۰۰ و برای هر ایراد یک دستور آماده برای برنامه‌نویس. نسخه‌ی فارسی همین تست بالای همین صفحه است، با همان بررسی‌ها و همان فرمول، و راه درست کردن هر ایراد برای وردپرس، Nginx و CDNهای رایج در ایران.

تست فقط چیزهایی را می‌خواند که هر کسی روی اینترنت می‌بیند: صفحه‌ی اصلی، فایل‌های عمومی ریشه‌ی سایت مثل robots.txt و sitemap.xml، مسیرهای استاندارد زیر /.well-known/ و رکوردهای DNS زیر نام _agents دامنه.

امتیاز یعنی تعداد بررسی‌های قبول‌شده تقسیم بر تعداد بررسی‌های شمرده‌شده، در چهار گروه اول. بررسی‌ای که برای سایت شما بی‌اثر است در مخرج نمی‌آید؛ گروه خرید و دو بررسی کارت A2A و AP2 فقط نشان داده می‌شوند. همین سایت (team.sefid.dev) در isitagentready در ۹ مهر ۱۴۰۵ از ۱۵ بررسی شمرده‌شده ۱۱ تا را قبول شد، یعنی امتیاز ۷۳، و سطح ۵ گرفت. نتیجه را خودتان در ابزار کلادفلر ببینید. سطح از امتیاز جداست و هر پله شرط خودش را دارد.

سطح پایین عادی است. کلادفلر هنگام معرفی این ابزار ۲۰۰ هزار دامنه‌ی پربازدید دنیا را سنجید: ۷۸٪ robots.txt داشتند، ولی فقط ۴٪ Content Signals و ۳٫۹٪ نسخه‌ی Markdown؛ و کارت سرور MCP و کاتالوگ API روی هم در کمتر از ۱۵ سایت از کل این فهرست دیده شد. ما هم ۲۰ سایت پربازدید ایرانی را در ۹ مهر ۱۴۰۵ با همان ابزار سنجیدیم: ۴ سایت اصلا برای اسکنر کلادفلر باز نشد و ۱۶ سایت دیگر همه در سطح ۰ یا ۱ بودند، با بیشترین امتیاز ۳۳. پس هر قدم، شما را از بیشتر سایت‌ها جلو می‌برد.

۲۲ بررسی تست آمادگی سایت برای هوش مصنوعی، به زبان ساده

گروه اول: پیدا شدن (۴ بررسی)

  • robots.txt. فایلی در ریشه‌ی سایت که به ربات‌ها می‌گوید کجا بروند و کجا نروند. قبول می‌شود اگر با کد ۲۰۰ جواب بدهد، صفحه‌ی HTML نباشد و دست‌کم یک خط User-agent داشته باشد.
  • نقشه‌ی سایت. فهرست ماشین‌خوان همه‌ی صفحه‌ها. بهترین جای معرفی‌اش یک خط Sitemap در همان robots.txt است.
  • هدر Link. چند خط کوتاه در پاسخ صفحه‌ی اصلی (استاندارد RFC 8288) که می‌گوید خلاصه‌ی سایت، API یا نسخه‌ی Markdown کجاست. هدرهایی مثل preload که فقط برای مرورگرند حساب نمی‌شوند.
  • DNS-AID. رکوردهایی در DNS دامنه، زیر نام _agents، که پیش از باز کردن سایت می‌گویند سرور MCP یا ایجنت سایت کجاست. باید با DNSSEC امضا شده باشند؛ امضای دیجیتالی که جواب جعلی DNS را آشکار می‌کند.

گروه دوم: محتوای خوانا (۱ بررسی)

  • نسخه‌ی Markdown. اگر ایجنت بگوید «Markdown می‌خواهم» (با هدر Accept: text/markdown)، سایت به جای HTML همان متن صفحه را تمیز و بی‌منو بدهد؛ مرورگرها همان HTML همیشگی را می‌گیرند. صفحه‌ی اصلی همین سایت در ۹ مهر ۱۴۰۵ به صورت HTML ۱۵۴٬۷۴۲ بایت بود و نسخه‌ی Markdown آن ۳۹٬۴۰۱ بایت، حدود ۵٬۶۷۴ توکن. کلادفلر هم در یک نمونه از وبلاگ خودش ۱۶٬۱۸۰ توکن HTML را به ۳٬۱۵۰ توکن Markdown رساند. توکن واحد شمارش متن در مدل‌هاست و هزینه‌ی خواندن ایجنت با آن حساب می‌شود.

گروه سوم: دسترسی ربات‌ها (۳ بررسی)

  • قانون ربات‌های هوش مصنوعی. robots.txt برای ربات‌هایی مثل GPTBot و ClaudeBot به اسم قانون داشته باشد. یک گروه عمومی برای همه‌ی ربات‌ها هم قبول می‌شود، ولی تصمیم جدا بهتر است؛ پایین‌تر می‌گوییم چرا.
  • Content Signals. یک خط در robots.txt که می‌گوید محتوای شما برای سه کار آزاد است یا نه: search (جستجو و نشان دادن پیوند)، ai-input (استفاده در جواب لحظه‌ای هوش مصنوعی) و ai-train (آموزش مدل)؛ همان سه نشانه‌ای که کلادفلر در معرفی این سیاست تعریف کرده است.
  • Web Bot Auth. فقط برای سایتی است که خودش ربات می‌فرستد و می‌خواهد ربات‌هایش با امضا شناخته شوند. اگر سایت شما ربات نمی‌فرستد، «بی‌اثر» است و در امتیاز نمی‌آید.

گروه چهارم: API، ورود و MCP (۹ بررسی)

این گروه بزرگ‌ترین و تازه‌ترین گروه است و بیشترش درباره‌ی MCP است؛ پایین‌تر، بخش «MCP چیست»، آن را جدا باز می‌کنیم.

  • کاتالوگ API. فایلی در مسیر /.well-known/api-catalog که API‌های سایت را معرفی می‌کند (استاندارد RFC 9727).
  • کشف OAuth و منبع محافظت‌شده‌ی OAuth. دو فایل استاندارد که می‌گویند ایجنت چطور از طرف یک کاربر وارد حسابش شود و برای کدام API توکن بگیرد. فقط برای سایتی معنا دارند که حساب کاربری و API خصوصی دارد.
  • auth.md. متنی ساده که روش ثبت‌نام و ورود ایجنت را توضیح می‌دهد؛ هنوز آزمایشی است.
  • کارت سرور MCP. فایلی در /.well-known/mcp/server-card.json (یا server-cards.json، یا /.well-known/mcp.json) که می‌گوید سرور MCP سایت کجاست و چه ابزارهایی دارد. قبول می‌شود اگر کارتی با نام سرور پیدا شود.
  • کارت ایجنت A2A. پروتکلی که گوگل ساخت و حالا پروژه‌ی بنیاد لینوکس است، تا ایجنت کاربر با ایجنت خود سایت حرف بزند. در امتیاز پیش‌فرض نیست.
  • فهرست مهارت‌ها (Agent Skills). دستورهای آماده‌ای که سایت برای ایجنت‌ها نوشته است، مثل «در این سایت محصول را این‌طور پیدا کن».
  • WebMCP. فرم‌ها و کارهای صفحه، با چند ویژگی ساده مثل toolname روی فرم یا ثبت ابزار با modelContext.registerTool در کد صفحه، برای ایجنت‌های داخل مرورگر به شکل ابزار معرفی می‌شوند.
  • کاتالوگ ARD. یک فایل که همه‌ی چیزهایی را که سایت به ایجنت‌ها می‌دهد یک‌جا فهرست می‌کند.

گروه پنجم: خرید توسط ایجنت (۵ بررسی، بیرون از امتیاز)

x402، MPP، UCP، ACP و AP2 پروتکل‌هایی‌اند که ایجنت با آنها از طرف کاربر پرداخت یا خرید می‌کند. همه به راه‌های پرداخت بین‌المللی تکیه دارند و برای فروشگاهی که با درگاه‌های شاپرکی کار می‌کند امروز کاربردی ندارند. این گروه فقط برای سایتی که شبیه فروشگاه است نشان داده می‌شود و در امتیاز نمی‌آید.

MCP چیست، سرور MCP چیست و web mcp چیست

MCP (کوتاه‌شده‌ی Model Context Protocol) در هوش مصنوعی زبانی مشترک است که دستیارها با آن به ابزارهای بیرونی وصل می‌شوند؛ مثل پریزی استاندارد که هر دستگاهی به آن می‌خورد. بدون آن، هر دستیار باید برای هر سایت و هر سرویس راه جدایی یاد بگیرد؛ با آن، سایت یک بار ابزارهایش را معرفی می‌کند و هر دستیاری که MCP بلد است می‌تواند صدایشان بزند. (اگر «mcp» را جستجو کنید، به مفصل انگشت در پزشکی و کلید برق هم می‌رسید؛ اینجا فقط معنای هوش مصنوعی‌اش مراد است.)

Anthropic این پروتکل را ساخت و در ۹ دسامبر ۲۰۲۵ (۱۸ آذر ۱۴۰۴) به Agentic AI Foundation سپرد، صندوقی زیر نظر بنیاد لینوکس که Anthropic، Block و OpenAI با هم بنیانش گذاشتند. به گفته‌ی همان اعلام، بیش از ۱۰ هزار سرور عمومی MCP فعال است و ChatGPT، Cursor، Gemini، Microsoft Copilot، VS Code و Claude از آن پشتیبانی می‌کنند.

سرور MCP همان برنامه‌ای است که ابزارها را عرضه می‌کند. برای یک سایت، هر ابزار یک کار مشخص است: «محصول با این مشخصات را پیدا کن»، «قیمت و موجودی این کالا چیست»، «شرایط ارسال چیست». دستیار به جای حدس زدن از روی HTML صفحه، از ابزار رسمی سایت می‌پرسد و جواب دقیق می‌گیرد. اینکه کدام ابزار ساخته شود تصمیم صاحب سایت است؛ قاعده‌ی محتاطانه این است که فقط ابزارهای خواندنی و عمومی باز شوند، همان چیزهایی که هر بازدیدکننده‌ای می‌بیند.

کارت سرور MCP فایلی است که می‌گوید سرور کجاست. تست ما سه نشانی را می‌پرسد (/.well-known/mcp/server-card.json، /.well-known/mcp/server-cards.json و /.well-known/mcp.json) و اگر کارتی با نام سرور پیدا کند، این بررسی را قبول می‌کند. شکل این کارت هنوز پیشنهادی در مخزن خود MCP است، نه بخش نهایی پروتکل.

web mcp چیست؟ WebMCP همان ایده برای ایجنت‌هایی است که داخل مرورگر کار می‌کنند. به تعریف سند خودش، یک رابط جاوااسکریپت تازه است که به سازنده‌ی سایت اجازه می‌دهد کارهای صفحه را به شکل «ابزار» با توضیح زبان طبیعی به ایجنت معرفی کند. ساده‌ترین شکلش یک ویژگی toolname روی فرم جستجو یا تماس است. این سند در ۳۰ سپتامبر ۲۰۲۶ گزارش پیش‌نویس یک گروه انجمنی W3C است و خودش می‌گوید نه استاندارد W3C است و نه در مسیر استاندارد. تست ما WebMCP را از روی کد صفحه و اسکریپت‌های خود سایت پیدا می‌کند، بدون باز کردن مرورگر؛ پس ابزاری که فقط با کدی از جای دیگر ثبت شود، از چشمش می‌افتد. ابزار کلادفلر صفحه را در مرورگر باز می‌کند و این فرق کوچک یکی از دلیل‌های تفاوت دو عدد است.

شش پله: سطح سایت شما یعنی چه

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

  • سطح ۰، آماده نیست: کمتر از دو تا از این سه: robots.txt، نقشه‌ی سایت، هدر Link.
  • سطح ۱، حضور پایه در وب: دو تا از همان سه. بیشتر سایت‌ها همین‌جا هستند.
  • سطح ۲، آشنا با ربات‌ها: قانون ربات‌های هوش مصنوعی و Content Signals هم هست.
  • سطح ۳، خوانا برای ایجنت‌ها: نسخه‌ی Markdown هم داده می‌شود.
  • سطح ۴، وصل به ایجنت‌ها: دست‌کم یکی از این سه هست: کارت سرور MCP، فهرست مهارت‌ها، کاتالوگ API.
  • سطح ۵، ساخته برای ایجنت‌ها: دو تا از سه: Web Bot Auth رد نشده باشد، هر سه راه اتصال پله‌ی ۴ باشد، فراداده‌ی ورود (OAuth یا auth.md) باشد. شرط اول برای سایتی که ربات نمی‌فرستد خودبه‌خود برقرار است؛ همین سایت با هر سه راه اتصال به این پله رسیده است.

کوتاه‌ترین راه از سطح ۰ تا ۲ تقریبا همه در robots.txt است، یعنی چند خط متن. پله‌ی ۳ به سرور یا CDN بستگی دارد و پله‌های ۴ و ۵ کار برنامه‌نویسی واقعی می‌خواهند.

سه نوع ربات هوش مصنوعی در robots.txt، سه تصمیم جدا

رایج‌ترین اشتباه این است که همه‌ی ربات‌های هوش مصنوعی یکی فرض شوند. شرکت‌ها خودشان آنها را سه دسته کرده‌اند:

ربات‌های جستجو (OAI-SearchBot، Claude-SearchBot، PerplexityBot) صفحه‌ها را برای جواب دادن در جستجوی دستیار فهرست می‌کنند. مستندات OpenAI صریح است: سایتی که OAI-SearchBot را ببندد در جواب‌های جستجوی ChatGPT نشان داده نمی‌شود و فقط ممکن است به شکل پیوند ناوبری بیاید. Anthropic هم می‌گوید بستن Claude-SearchBot ممکن است دیده شدن سایت در جواب‌ها را کم کند، و Perplexity می‌گوید PerplexityBot برای نشان دادن و پیوند دادن سایت‌هاست، نه آموزش مدل. تصمیم درست برای بیشتر کسب‌وکارها: باز.

ربات‌های آموزش مدل (GPTBot، ClaudeBot، Google-Extended، Applebot-Extended، CCBot و چند تای دیگر) محتوا را برای آموزش نسل‌های بعدی مدل جمع می‌کنند. بستنشان شما را از جواب‌های جستجو حذف نمی‌کند. گوگل هم در مستندات خزنده‌هایش می‌گوید Google-Extended روی حضور در جستجوی گوگل اثری ندارد و عامل رتبه نیست. اینجا هر دو انتخاب درست است، به شرطی که آگاهانه باشد.

درخواست‌های کاربر (ChatGPT-User، Claude-User، Perplexity-User) وقتی می‌آیند که کسی در گفتگو نشانی شما را می‌دهد یا از دستیار می‌خواهد صفحه‌ای را برایش بخواند. OpenAI می‌گوید چون این درخواست را کاربر شروع کرده، ممکن است قانون robots.txt درباره‌اش اعمال نشود، و Perplexity هم می‌گوید Perplexity-User معمولا robots.txt را نادیده می‌گیرد. بستن این دسته یعنی مشتری‌ای که خودش سراغ شما آمده، دست خالی برمی‌گردد.

خط Content-Signal همین تصمیم‌ها را به زبان ماشین می‌گوید؛ robots.txt همین سایت مثلا جستجو و جواب دادن را آزاد و آموزش مدل را بسته اعلام می‌کند. به گفته‌ی OpenAI، اعمال تغییر robots.txt در جستجو حدود ۲۴ ساعت طول می‌کشد.

کلادفلر از ۱۰ تیر ۱۴۰۴ برای هر دامنه‌ی تازه می‌پرسد ربات‌های هوش مصنوعی را راه بدهد یا نه، و پیش‌فرضش بستن است. اگر سایت شما پشت کلادفلر است و این تنظیم را ندیده‌اید، ممکن است robots.txt چیزی بگوید و CDN کار دیگری بکند.

کدام استاندارد جاافتاده است و کدام پیش‌نویس

همه‌ی ۲۲ بررسی یک وزن ندارند. بعضی سال‌هاست کار می‌کنند و بعضی چند ماه پیش نوشته شده‌اند:

  • استاندارد رسمی: robots.txt (RFC 9309، سال ۲۰۲۲)، نقشه‌ی سایت، هدر Link، کاتالوگ API (RFC 9727، سال ۲۰۲۵) و دو فایل OAuth.
  • پرکاربرد و در بنیادی بی‌طرف: MCP و A2A؛ هنوز تغییر می‌کنند، ولی دیگر مال یک شرکت تنها نیستند.
  • پیش‌نویس و آزمایشی: DNS-AID (پیش‌نویسی فردی که هنوز هیچ گروه کاری IETF آن را نپذیرفته)، Content Signals، کارت سرور MCP، فهرست مهارت‌ها، ARD، auth.md، Web Bot Auth و WebMCP. WebMCP در سند خودش گزارش پیش‌نویس یک گروه انجمنی W3C است و صریحا می‌گوید نه استاندارد W3C است و نه در مسیر استاندارد؛ گوگل آزمایشش را از نسخه‌ی ۱۴۹ مرورگر Chrome شروع کرده است.

قاعده‌ی عملی: پایدارها را محکم بسازید و پیش‌نویس‌ها را ارزان و برگشت‌پذیر اضافه کنید.

llms.txt چیست و تست ما درباره‌اش چه می‌گوید

llms.txt فایلی متنی در ریشه‌ی سایت است، با زبان Markdown، که در چند خط به مدل‌های زبانی می‌گوید سایت چیست و مهم‌ترین صفحه‌هایش کجاست. جرمی هاوارد آن را در ۳ سپتامبر ۲۰۲۴ (۱۳ شهریور ۱۴۰۳) پیشنهاد کرد و نسخه‌ی دوم پیشنهاد در اوت ۲۰۲۶ منتشر شد. طبق همان سند، تنها بخش اجباری یک عنوان H1 با نام سایت است؛ بعدش یک خلاصه‌ی کوتاه در قالب نقل‌قول (خطی که با > شروع می‌شود) و فهرست‌هایی از پیوند صفحه‌های مهم زیر عنوان‌های H2 پیشنهاد شده است.

یک نمونه‌ی کوچک فارسی این شکلی است: خط اول «# فروشگاه کفش نمونه»، خط بعد «> فروشگاه کفش دویدن و کوهنوردی، ارسال به همه‌ی شهرها»، و بعد زیر «## صفحه‌های مهم» چند خط مثل «- شرایط ارسال».

تست ما مثل یک llms txt checker ساده کار می‌کند: فایل /llms.txt را می‌خواهد، و اگر با کد ۲۰۰ جواب بدهد، صفحه‌ی HTML نباشد و اولین خط غیرخالی‌اش یک عنوان Markdown («# نام سایت») باشد، قبولش می‌کند و نام و تعداد پیوندهای فهرستش را نشان می‌دهد. اگر فایل باشد ولی با عنوان شروع نشود، همین را می‌گوید. این بررسی در نتیجه نشان داده می‌شود، ولی در امتیاز نمی‌آید، چون isitagentready هم آن را جزو ۲۲ بررسی‌اش ندارد.

چرا در امتیاز نیست؟ چون هیچ شرکت بزرگی نگفته از آن استفاده می‌کند. جان مولر از گوگل در ژوئن ۲۰۲۵ گفته بود هیچ سیستم هوش مصنوعی‌ای فعلا llms.txt را استفاده نمی‌کند، و گوگل در راهنمای ویژگی‌های هوش مصنوعی جستجو صریحا می‌گوید برای آمدن در AI Overviews فایل متنی هوش مصنوعی لازم نیست. ساختنش ارزان و بی‌ضرر است و برای ایجنت‌های برنامه‌نویسی و ابزارهایی که سراغش می‌روند مفید؛ ولی جای هیچ‌کدام از بررسی‌های بالا را نمی‌گیرد.

مشکل خاص سایت‌های ایرانی: ایجنت‌ها از بیرون ایران می‌آیند

همه‌ی این بررسی‌ها فرض می‌کنند ایجنت بتواند سایت را باز کند؛ برای سایت ایرانی این فرض همیشه درست نیست. سرورهای ChatGPT، Claude و Perplexity بیرون از ایران‌اند. Anthropic ایران را در فهرست کشورهای پشتیبانی‌شده ندارد، و OpenAI فهرست نشانی‌های IP ربات ChatGPT-User را منتشر می‌کند (۲۳۰ بازه در ۳ مهر ۱۴۰۵)؛ بازه‌هایی که ما نمونه گرفتیم به دیتاسنترهای بیرون از ایران، از جمله Microsoft در آمریکا، می‌رسید.

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

نتیجه ساده و تلخ است: سایتی که از بیرون ایران باز نمی‌شود، با ۲۲ بررسی سبز هم برای ChatGPT و Claude وجود ندارد. صادقانه بگوییم: تست آمادگی سایت برای هوش مصنوعی ما از سروری در تهران انجام می‌شود و نمی‌تواند ببیند سایت از بیرون باز می‌شود یا نه. فقط صفحه‌ی اصلی را سه بار، با شناسه‌ی ChatGPT-User، Claude-User و GPTBot، می‌خواهیم و می‌بینیم سایت جواب درست می‌دهد یا نه. جوابی که کدش بیرون از ۲۰۰ تا ۳۹۹ باشد، یا در ابتدایش نشانه‌های صفحه‌ی چالش مثل «Just a moment» یا captcha باشد، رد حساب می‌شود. این «ورود واقعی» را بیرون از امتیاز نشان می‌دهیم.

برای سنجیدن دسترسی از بیرون، همان سایت را در isitagentready هم تست کنید و اگر باز نشد، از هاست یا CDN بپرسید قانونی مثل «فقط IP ایران» روشن است یا نه. باز کردنش تصمیم خود شماست؛ فقط بدانید هزینه‌اش دیده نشدن برای دستیارهاست.

ترتیب درست کار برای یک سایت وردپرسی

ترتیب کار را برای وردپرس و ووکامرس می‌چینیم، و ترتیب مهم است: ساختن سرور MCP برای سایتی که فایروالش ایجنت‌ها را می‌بندد، پول دور ریختن است.

  1. اول اندازه بگیرید. سایت را با تست آمادگی سایت برای هوش مصنوعی همین صفحه و با isitagentready تست کنید و هر دو نتیجه را با تاریخ نگه دارید.
  2. در را باز کنید. قانون‌های فایروال و CDN را ببینید: بخش AI Crawl Control در کلادفلر، قانون‌های فایروال در آروان، هر افزونه‌ی امنیتی وردپرس که ربات‌ها را می‌بندد، و دسترسی از بیرون ایران.
  3. robots.txt واقعی بسازید. robots.txt مجازی وردپرس قانون ربات‌های هوش مصنوعی ندارد. با افزونه‌ی سئو یا یک فایل واقعی در ریشه‌ی هاست، سه گروه ربات را جدا بنویسید و خط Content-Signal و خط Sitemap را اضافه کنید. همین قدم معمولا سایت را به سطح ۲ می‌رساند.
  4. نقشه‌ی سایت را درست کنید. ببینید فقط نشانی‌های canonical در آن باشد، نه صفحه‌های تکراری یا حذف‌شده. اگر این دو قدم برایتان تازه است، سئو تکنیکال همین‌ها را کامل‌تر توضیح می‌دهد.
  5. هدر Link بفرستید. با یک افزونه‌ی کوچک یا یک قانون Nginx.
  6. Markdown بدهید. قابلیت Markdown for Agents کلادفلر فقط در پلن‌های پولی Pro، Business و Enterprise است، پس برای بیشتر سایت‌های ایرانی این کار روی خود سرور یا با افزونه انجام می‌شود. افزونه‌ی کش صفحه باید نسخه‌ی HTML و Markdown را جدا نگه دارد، وگرنه به آدم Markdown و به ایجنت HTML می‌رسد.
  7. llms.txt بنویسید، اگر خواستید. افزونه‌ی Yoast SEO می‌تواند llms.txt بسازد، ولی خروجی‌اش فهرست صفحه‌هاست. یک متن فارسی کوتاه و دست‌نوشته مفیدتر است.
  8. ابزار بسازید، با احتیاط. وردپرس ۶٫۹ در هسته‌اش Abilities API را دارد و MCP Adapter رسمی وردپرس کارهای ثبت‌شده در آن را به ابزار MCP تبدیل می‌کند؛ هر کار پیش‌فرض خصوصی است تا خودتان عمومی‌اش کنید. MCP خود ووکامرس را برای عموم باز نکنید: مستندات ووکامرس آن را «پیش‌نمایش توسعه‌دهنده» و برای مدیریت فروشگاه می‌داند و خودش درباره‌ی اطلاعات شخصی مشتری‌ها هشدار می‌دهد. برای خریدار فقط ابزارهای خواندنی بسازید: جستجوی محصول، قیمت و موجودی، شرایط ارسال.
  9. کارت‌ها را منتشر کنید. کارت سرور MCP، کاتالوگ API، فهرست مهارت‌ها و کاتالوگ ARD چند فایل JSON در /.well-known/ هستند. WebMCP را هم روی فرم جستجو یا تماس بگذارید.
  10. DNS-AID را آخر بگذارید. فقط وقتی DNS شما رکورد SVCB و امضای DNSSEC دارد و ثبت‌کننده‌ی دامنه رکورد DS را می‌پذیرد؛ برای دامنه‌ی ir این را باید در پنل ثبت‌کننده دید. اگر نشد، فقط یک بررسی پیش‌نویس کم دارید.
  11. دوباره تست کنید. با هر دو ابزار، و نتیجه را کنار اندازه‌گیری روز اول بگذارید.

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

تست آمادگی سایت برای هوش مصنوعی چه چیزهایی را نمی‌گوید

این بررسی‌ها عامل رتبه‌ی گوگل نیستند: گوگل در راهنمای ویژگی‌های هوش مصنوعی جستجو می‌گوید برای آمدن در AI Overviews و AI Mode هیچ فایل ماشین‌خوان یا نشانه‌گذاری تازه‌ای لازم نیست و همان ایندکس شدن و سئوی درست کافی است. تست صفحه‌های داخلی را هم نمی‌بیند و درباره‌ی پیشنهاد شدن در جواب ChatGPT چیزی نمی‌گوید؛ پرسش اول پایین همین را باز می‌کند.

خودتان، یا با کمک تیم سفید

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

اگر ترجیح می‌دهید کار را بسپارید، خدمت آماده‌سازی سایت برای ایجنت‌های هوش مصنوعی همین مسیر را انجام می‌دهد: ۱۰ میلیون تومان، یک بار، در ۷ روز، با ۷ روز پشتیبانی رایگان. از ۱۵ بررسی شمرده‌شده ۱۲ تا را پوشش می‌دهد؛ ورود ایجنت به جای کاربر (دو فایل OAuth و auth.md) پروژه‌ی جداست. اگر همه‌ی موردهای مربوط به سایت شما انجام شود، با همان فرمول امتیاز ۸۰ می‌شود و بدون DNS-AID ۷۳، همان عدد همین سایت؛ قبل و بعد کار را با هر دو ابزار می‌سنجیم. تیم سفید این مسیر را اول روی سایت خودش رفته است.

پرسش‌های رایج

امتیاز بالا یعنی در جواب ChatGPT می‌آیم؟

نه به‌تنهایی. باز بودن در برای ربات جستجوی ChatGPT لازم است، چون OpenAI خودش می‌گوید سایتی که OAI-SearchBot را ببندد در جواب‌های جستجو نمی‌آید؛ ولی کافی نیست. امتیاز بالا یعنی ایجنت مانعی در راه ندارد. اینکه شما را انتخاب کند به محتوا، اعتبار، قیمت و خیلی چیزهای دیگر هم بستگی دارد.

چرا عدد این تست با isitagentready فرق می‌کند؟

فرمول یکی است، جای تست نه. تست ما از تهران است و کلادفلر از بیرون ایران؛ سایتی که فقط به IP ایران جواب می‌دهد، یا فایلی که بین دو تست عوض شده، دو عدد متفاوت می‌سازد. یک فرق دیگر: کلادفلر WebMCP را در مرورگر می‌سنجد و ما کد صفحه را بدون مرورگر می‌خوانیم.

هر چند وقت یک بار تست کنم؟

بعد از هر تغییر در سرور، CDN، افزونه‌ی امنیتی یا افزونه‌ی سئو. نتیجه‌ی هر تست با تاریخش در تاریخچه‌ی همان سایت می‌ماند تا قبل و بعد را کنار هم ببینید.

این تست به سایت من فشار می‌آورد؟

نه. هر تست چند درخواست کوچک به صفحه‌ی اصلی و فایل‌های عمومی می‌فرستد و همان سایت تا ده دقیقه دوباره تست نمی‌شود.

ثبت سایت در چت جی پی تی چقدر طول می‌کشد؟

فرم ثبتی نیست که منتظر تأییدش بمانید. وقتی در برای OAI-SearchBot باز شد، به گفته‌ی OpenAI حدود ۲۴ ساعت طول می‌کشد تا سیستم‌های جستجویش تغییر robots.txt را ببینند؛ بعد از آن، اینکه کی و برای چه پرسشی سایت شما در جواب بیاید، دست خود ChatGPT است.

GPTBot را در robots.txt ببندم؟

اگر نمی‌خواهید محتوای سایت در آموزش مدل‌های OpenAI به کار برود، بله؛ با یک گروه «User-agent: GPTBot» و «Disallow: /». OpenAI می‌گوید GPTBot برای آموزش مدل است و از OAI-SearchBot جدا تنظیم می‌شود، پس بستنش سایت را از جستجوی ChatGPT بیرون نمی‌برد. تست ما بعد از این کار هم بررسی «قانون ربات‌های هوش مصنوعی» را قبول می‌کند، چون قانون صریح برای یک ربات هوش مصنوعی نوشته‌اید.