مرورگرهای هوش مصنوعی فایل سایت شما را نمیخوانند، چون آن را اصلاً پیدا نمیکنند
یک تست ساده انجام بده. از ChatGPT یا Claude بپرس سایتت دقیقاً چه خدماتی ارائه میدهد. اگر جواب مبهم، ناقص یا کلاً اشتباه بود، مشکل از محتوای سایتت نیست. مشکل این است که این مدلها اصلاً راهی برای فهمیدن ساختار سایت تو ندارند، چون آن نقشهی راه که قرار است در اختیارشان بگذاری، یا اصلاً وجود ندارد یا طوری نوشته شده که برایشان قابل خواندن نیست.
اینجاست که بحث llms.txt وارد میشود؛ یک فایل متنی ساده اما حیاتی که نقش راهنمای نقشه برای مدلهای زبانی بزرگ ایفا میکند. تفاوتش با ابزارهای آشنا مثل robots.txt یا sitemap.xml در این است که آن دو برای خزندههای سنتی گوگل طراحی شدهاند، در حالی که llms.txt مشخصاً برای سیستمهایی مثل ChatGPT، Claude و Perplexity ساخته شده تا بفهمند سایت تو دقیقاً دربارهی چیست، چه چیزی ارائه میدهد و کجا باید دنبال جزئیات بگردند.
برای صاحبان سایتهای فارسی، این موضوع یک لایهی پیچیدگی اضافه هم دارد: مشکل انکدینگ. وقتی فایل llms.txt با کاراکترهای فارسی نوشته میشود ولی سرور آن را با انکدینگ درست تحویل نمیدهد، خروجی به جای متن خوانا، مشتی کاراکتر درهم و نامفهوم میشود — دقیقاً همان چیزی که هیچ موتور هوش مصنوعی نمیتواند از آن چیزی استخراج کند.
نکتهی طلایی: فایل llms.txt قرار نیست محتوای سایت تو را تکرار کند. وظیفهاش این است که مثل یک فهرست مطالب فشرده عمل کند و مدل را مستقیم به منبع درست هدایت کند، نه اینکه خودش جای محتوای اصلی بنشیند.
چرا گوگل اهمیتی ندارد ولی ChatGPT اهمیت دارد
شاید بپرسی چرا باید وقت بگذاری برای فایلی که گوگل اصلاً به آن توجه نمیکند. جواب در نوع رفتار جستجوی کاربران در حال تغییر است. سهم فزایندهای از پرسشهای تحقیقاتی، مقایسهای و خرید اکنون از طریق چتباتهای هوش مصنوعی انجام میشود نه جستجوی سنتی. وقتی کاربری از Claude میپرسد «بهترین سایت برای خدمات پشتیبانی و مدیریت سایت کدام است»، مدل باید بتواند منبعی معتبر، ساختیافته و قابلفهم پیدا کند. اگر سایت تو این منبع را در اختیار نگذارد، مدل به سراغ رقیبی میرود که گذاشته.
مصطفی نور، که در زمینه خدمات پشتیبانی و مدیریت سایت فعالیت میکند، نمونهی خوبی برای نشان دادن این موضوع است. صفحهی اصلی این مجموعه را در نظر بگیر؛ بدون فایل llms.txt، یک مدل زبانی برای فهمیدن اینکه این سایت دقیقاً چه خدماتی میدهد، باید کل HTML صفحه را تجزیه کند، منوها و تبلیغات و کدهای جاوااسکریپت را کنار بزند و امیدوار باشد که به محتوای اصلی برسد. این روش هم کند است، هم پر از خطا.
llms.txt دقیقاً چه کاری انجام میدهد؟
تعریف رسمی این است: llms.txt فایلی مارکداون است که در ریشهی دامنه (یعنی آدرسی مثل yoursite.com/llms.txt) قرار میگیرد و خلاصهای فشرده از هویت سایت، خدمات، و لینک به مهمترین صفحات را در اختیار مدلهای زبانی میگذارد. طبق مشخصات رسمی این استاندارد، llms.txt باید با فرمت مارکداون نوشته شود، چون این فرمت هم برای انسان و هم برای ماشین قابلخواندن است و این همان فرمتی است که توسعهدهندگان در فایلهای README گیتهاب استفاده میکنند و بهراحتی توسط سیستمهای هوش مصنوعی قابل تجزیه است.
ساختار فایل از این قرار است: یک عنوان H1 با نام پروژه یا سایت (تنها بخش الزامی فایل)، یک بلوک نقلقول با خلاصهای کوتاه از سایت، و سپس بخشهای مارکداون با جزئیات بیشتر. علت استفاده از مارکداون بهجای فرمتهای ساختیافتهی کلاسیک مثل XML این است که این فایل قرار است عمدتاً توسط مدلهای زبانی و عاملهای هوش مصنوعی خوانده شود.
این سند هنوز در مرحلهی پیشنهادی قرار دارد و یک استاندارد قطعی و جهانی نیست؛ با این حال بیشتر فایلهای llms.txt قدرتمند شامل یک عنوان H1 واضح، تیترهای بخشبندی محتوای مرتبط، لینک به مهمترین صفحات یا نسخهی مارکداون آن صفحات، و توضیحات کوتاه برای هر صفحه هستند.
برای کسانی که قبلاً صفحهی خدمات طراحی سایت یا خدمات پشتیبانی و مدیریت سایت را در سایت خود ساختهاند، llms.txt دقیقاً همین صفحات را به مدلهای هوش مصنوعی معرفی میکند تا وقتی کاربری سؤالی مرتبط با این خدمات میپرسد، سایت تو در پاسخ مدل ظاهر شود، نه رقیب تو.
جدول مقایسهای: llms.txt در برابر robots.txt و sitemap.xml
| ویژگی | robots.txt | sitemap.xml | llms.txt |
|---|---|---|---|
| مخاطب اصلی | خزندههای سنتی گوگل، بینگ | موتورهای جستجوی سنتی | مدلهای زبانی (ChatGPT، Claude، Perplexity) |
| فرمت | متن ساده با دستورات Allow/Disallow | XML ساختیافته | مارکداون |
| هدف | کنترل دسترسی خزندهها | نقشهی کامل صفحات سایت | خلاصهی هویت سایت + لینک به منابع کلیدی |
| الزامی بودن | پشتیبانیشده توسط استاندارد قدیمی | پشتیبانیشده توسط گوگل | پیشنهادی، هنوز در حال تثبیت |
| محل قرارگیری | ریشهی دامنه | ریشهی دامنه یا مشخصشده در robots.txt | ریشهی دامنه (/llms.txt) |

مشکل واقعی: چرا کاراکترهای فارسی در llms.txt خراب نمایش داده میشوند
این بخشی است که بیشتر راهنماهای انگلیسیزبان اصلاً به آن اشاره نمیکنند، چون زبان انگلیسی با کاراکترهای ASCII مشکلی ندارد. اما زبان فارسی اینطور نیست. وقتی سروری فایل llms.txt را بدون هدر انکدینگ درست تحویل میدهد، مرورگرها و حتی برخی خزندهها بهطور پیشفرض کدگذاری اشتباهی مثل ISO-8859-1 را فرض میکنند و نتیجه، متنی درهم و غیرقابلخواندن میشود.
این مشکل آنقدر رایج بوده که حتی افزونههای شناختهشدهای مثل Yoast SEO هم با آن درگیر شدهاند. طبق گزارش رسمی تیم پشتیبانی این افزونه، اگر متن داخل فایل llms.txt بهخصوص برای کاراکترهای غیرانگلیسی بهصورت درهم نمایش داده شود، علت معمولاً این است که سرور فایل را با انکدینگ UTF-8 تحویل نمیدهد. راهحل هم همین است: پیکربندی سرور برای ارائهی فایل llms.txt با کدگذاری UTF-8. WordPressWordPress
موردی مشابه در یک گزارش باگ دیگر هم دیده شد، جایی که کاراکترهای ویژهی زبان فرانسوی به شکل عجیبی مثل é نمایش داده میشدند. ریشهی مشکل در آن مورد این بود که سرور هدر Content-Type را بهشکل text/plain; charset=utf-8 ارسال نمیکرد و در نتیجه مرورگرها بهطور پیشفرض روی استاندارد ISO-8859-1 میافتادند که باعث خرابشدن نمایش لهجهها و کاراکترهای ویژه میشد.
برای فارسی، این مشکل حتی حساستر است. چون زبان فارسی علاوهبر مسئلهی انکدینگ، با ابهام در کدپوینتهای یونیکد هم دستوپنجه نرم میکند. تحقیقات زبانشناسی محاسباتی نشان داده که فارسی به همراه عربی و اردو بیشتر کاراکترهای خود را در یونیکد به اشتراک میگذارند، اما استثناهایی همنویسه ولی وابسته به زبان وجود دارند که ممکن است اشتباهی بهجای هم استفاده شوند. برای مثال، حرف «ی» در یک کدپوینت با شکل عربی و در کدپوینتی دیگر با شکل فارسی رمزگذاری میشود، و استفادهی نادرست از این دو میتواند رشتههایی تولید کند که از نظر بصری یکسان اما از نظر محاسباتی کاملاً متفاوتاند — دقیقاً همان چیزی که میتواند تحلیل آماری و جستوجوی متنی هوش مصنوعی را گمراه کند.

راهحل سریع: تنظیم UTF-8 برای هاستهای مختلف
اگر روی هاست اشتراکی با cPanel هستی، معمولاً کافی است یک فایل .htaccess در ریشهی سایت داشته باشی که هدر Content-Type را بهصراحت مشخص کند. برای سرورهای Nginx، این تنظیم باید در فایل کانفیگ سایت اعمال شود، نه در سطح فایل. نکتهی مهم این است که صرفاً ذخیرهی فایل با انکدینگ UTF-8 در ادیتور کافی نیست؛ سروری که فایل را تحویل میدهد هم باید همان هدر را اعلام کند، وگرنه مرورگر یا خزنده بهصورت پیشفرض انکدینگ اشتباه را حدس میزند.
ساختار دقیق فایل llms.txt: چه چیزی کجا قرار میگیرد
حالا که فهمیدیم llms.txt چیست و چرا کاراکترهای فارسی در آن خراب میشوند، وقتش رسیده وارد جزئیات فنی شویم. مشخصات رسمی این فایل یک ترتیب مشخص را پیشنهاد میدهد و رعایت این ترتیب اتفاقی نیست؛ مدلهای زبانی با فرض همین ساختار آموزش دیدهاند تا فایل را سریعتر و دقیقتر تجزیه کنند.
طبق منبع رسمی این استاندارد، فایل باید این بخشها را به ترتیب داشته باشد: یک تگ H1 با نام پروژه یا سایت که تنها بخش الزامی فایل است، سپس یک بلوک نقلقول (blockquote) با خلاصهای کوتاه از پروژه که اطلاعات کلیدی لازم برای درک باقی فایل را در خود دارد، و پس از آن صفر یا چند بخش مارکداون با جزئیات بیشتر.
برای نوشتن این بخشها در عمل، باید از عناصر مارکداون استاندارد استفاده کنی: علامت # برای تیتر H1، ## برای H2، ### برای H3 و به همین ترتیب، و علامت > برای بلوکهای نقلقول که نکات مهم را برجسته میکنند.
نکتهی طلایی: اگر فقط یک قانون از این مقاله را به خاطر بسپاری، این باشد: H1 و بلوک نقلقول زیرش باید آنقدر گویا باشند که اگر مدل زبانی هیچ بخش دیگری از فایل را نخواند، باز هم بفهمد سایت تو دقیقاً چهکاری انجام میدهد.
الگوی واقعی: یک نمونهی شناختهشده از llms.txt
برای اینکه ساختار را عینیتر ببینی، یک نمونهی واقعی و شناختهشده در اکوسیستم برنامهنویسی کمک میکند. در فایل llms.txt پروژهی FastHTML، ساختار به این شکل پیاده شده: عنوان H1 با نام پروژه و زیرش یک بلوک نقلقول که توضیح میدهد این کتابخانهی پایتون، Starlette و Uvicorn و HTMX و FastTags را در یک کتابخانه برای ساخت اپلیکیشنهای هایپرمدیای سمتسرور کنار هم میگذارد. بعد از این بلوک، بخشهای توضیحی با نکات مهم دربارهی سازگاری و محدودیتهای کتابخانه میآیند.
همین الگو، با مقیاس کوچکتر، دقیقاً همان چیزی است که یک سایت خدماتی فارسی مثل مصطفینور هم باید پیاده کند: عنوان، خلاصهی فشرده، و بعد بخشبندی دقیق خدمات با لینک به صفحات مرتبط.
چرا فایل تو نباید محتوای کامل صفحات را تکرار کند
اشتباه رایج این است که صاحبان سایت فکر میکنند هرچه llms.txt طولانیتر و پرجزئیاتتر باشد، بهتر است. این تصور غلط است. خود فلسفهی این استاندارد برای حل یک مشکل مشخص ساخته شده: مدلهای زبانی بزرگ بهطور فزایندهای به اطلاعات وبسایتها متکی هستند، اما با محدودیت حیاتی پنجرهی محتوای کوچکتر از آنچه برای پردازش کامل بیشتر سایتها لازم است مواجهاند. به همین دلیل، تبدیل صفحات پیچیدهی HTML با منو و تبلیغ و جاوااسکریپت به متن سادهی قابلفهم برای مدل، هم دشوار است و هم نادقیق.
پس llms.txt قرار نیست صفحه را جایگزین کند؛ قرار است مسیر میانبر باشد. به همین دلیل برخی پلتفرمهای مستندسازی مثل Mintlify حتی پیشنهاد میدهند نسخهی مارکداون هر صفحه هم در کنار نسخهی HTML آن منتشر شود؛ طبق مستندات این پلتفرم، لینکهای هر صفحه در فایل llms.txt با پسوند md. همراه میشوند تا ابزارهای هوش مصنوعی بتوانند مستقیماً نسخهی مارکداون هر صفحه را واکشی کنند.
چرا ChatGPT، Claude و Perplexity فایل تو را رد میکنند (خطاهای رایج)
حالا برسیم به بخش عملیاتی: چرا با وجود داشتن یک فایل llms.txt، باز هم مدلهای هوش مصنوعی اطلاعات درستی از سایت تو استخراج نمیکنند؟ چند دلیل رایج وجود دارد.
خطای اول: فایل در مسیر اشتباه قرار گرفته. فایل باید دقیقاً در ریشهی دامنه باشد، یعنی آدرسی مثل mostafanoor.ir/llms.txt، نه در یک پوشهی فرعی مثل /blog/llms.txt. طبق مشخصات رسمی، فایل باید در مسیر ریشهی /llms.txt یک وبسایت قرار گیرد، یا بهصورت اختیاری در یک زیرمسیر مشخص.
خطای دوم: عدم وجود H1 الزامی. اگر فایل تو فاقد تیتر H1 باشد، طبق استاندارد رسمی، فایل از اساس نامعتبر تلقی میشود چون این تنها بخش الزامی کل سند است.
خطای سوم: انکدینگ نادرست (مشکل خاص سایتهای فارسی). همانطور که در بخش اول توضیح دادیم، اگر سرور هدر Content-Type: text/plain; charset=utf-8 را اعلام نکند، کاراکترهای فارسی بهصورت درهم نمایش داده میشوند و مدل عملاً چیزی برای پردازش پیدا نمیکند.
خطای چهارم: قاطی کردن robots.txt و llms.txt. این دو فایل اهداف کاملاً متفاوتی دارند. robots.txt برای خزندههای سنتی موتور جستجو طراحی شده و روی دستورات سادهی Allow/Disallow برای اهداف سئو تمرکز دارد، در حالی که llms.txt مشخصاً برای کمک به سیستمهای هوش مصنوعی در فهم زمینه و ساختار محتوا ساخته شده. ترکیب این دو در یک فایل، یا انتظار رفتار یکسان از آنها، خطای رایجی است که بسیاری از صاحبان سایت مرتکب میشوند.
خطای پنجم: لینکهای شکسته یا نسبی. همهی لینکهای داخل llms.txt باید مطلق (Absolute URL) باشند، نه نسبی. مدلهای زبانی همیشه دسترسی به همان «ریشهی صفحه» که فایل در آن قرار دارد را ندارند، پس لینک نسبی مثل /services ممکن است در تفسیر مدل به مسیر اشتباهی منتهی شود.
جدول مقایسهای: خطاهای رایج llms.txt و راهحل آنها
| خطا | علت ریشهای | راهحل |
|---|---|---|
| متن فارسی بهصورت درهم نمایش داده میشود | عدم اعلام هدر charset=utf-8 توسط سرور | تنظیم Content-Type در .htaccess یا کانفیگ Nginx |
| فایل توسط مدل پیدا نمیشود | قرارگیری در مسیر اشتباه (نه در ریشهی دامنه) | انتقال فایل به دقیقاً domain.com/llms.txt |
| فایل نامعتبر تشخیص داده میشود | فقدان تیتر H1 الزامی | افزودن یک خط # نام سایت در ابتدای فایل |
| مدل اطلاعات قدیمی یا ناقص میدهد | لینکهای شکسته یا نسبی داخل فایل | استفادهی همیشگی از URL مطلق و بررسی دورهای لینکها |
| تداخل با robots.txt | یکیدانستن اشتباه دو فایل با اهداف متفاوت | نگهداشتن دو فایل کاملاً مجزا با محتوای مستقل |
تست عملی: چطور بفهمیم llms.txt درست کار میکند؟
سادهترین روش، باز کردن مستقیم آدرس yoursite.com/llms.txt در مرورگر است. اگر کاراکترهای فارسی درست نمایش داده شدند، گام اول را پاس کردهای. گام دوم، استفاده از ابزارهایی است که هدر HTTP پاسخ سرور را نشان میدهند (مثل ابزار Developer Tools مرورگر، تب Network)؛ آنجا باید مقدار Content-Type دقیقاً برابر text/plain; charset=utf-8 باشد. اگر این مقدار را نمیبینی یا چیزی مثل text/html میبینی، همانجا ریشهی مشکل را پیدا کردهای.
رفع قطعی مشکل انکدینگ: کد آماده برای هر نوع هاست
تا اینجا فهمیدیم چرا کاراکترهای فارسی خراب میشوند. حالا وقت راهحل عملی است. بسته به اینکه سایت تو روی چه نوع سروری اجرا میشود، روش تنظیم متفاوت است.
روش اول: هاست اشتراکی با Apache (رایجترین حالت برای سایتهای ایرانی)
اگر سایتت روی هاست اشتراکی معمولی با کنترلپنل cPanel یا DirectAdmin اجراست، سرور تو احتمالاً Apache است. باید یک فایل .htaccess در پوشهی ریشهی سایت (همانجایی که فایل llms.txt قرار دارد) داشته باشی و این خطوط را به آن اضافه کنی:
apache
<Files "llms.txt">
ForceType 'text/plain; charset=utf-8'
</Files>
AddType 'text/plain; charset=utf-8' .txtدستور ForceType دقیقاً برای همین مورد ساخته شده: مجبور کردن سرور به ارسال یک هدر Content-Type مشخص، فارغ از تنظیمات پیشفرض سرور. این دقیقاً همان چیزی است که در گزارشهای باگ افزونههای وردپرسی هم بهعنوان راهحل نهایی معرفی شده بود.
روش دوم: سرورهای Nginx (رایج در هاستینگهای ابری و VPS)
اگر سایت تو روی Nginx اجرا میشود (مثلاً روی یک VPS با پنلهایی مثل CyberPanel یا تنظیمات دستی)، باید این خط را داخل بلوک server یا location مربوط به فایل txt. در کانفیگ سایت اضافه کنی:
nginx
location = /llms.txt {
add_header Content-Type "text/plain; charset=utf-8";
}نکتهی مهم اینجا این است که این تنظیم باید داخل فایل کانفیگ سرور (مثل /etc/nginx/sites-available/yoursite.conf) اعمال شود، نه در سطح فایل خود llms.txt، چون Nginx برخلاف Apache از فایل .htaccess پشتیبانی نمیکند.
روش سوم: وردپرس با افزونهی سئو
اگر از افزونههایی مثل Yoast SEO برای تولید خودکار llms.txt استفاده میکنی، باید مطمئن شوی نسخهی افزونه بهروز است. طبق گزارش رسمی، تیم پشتیبانی این افزونه پس از دریافت گزارشهای متعدد، تأیید کرد که در نسخهی بعدی افزونه، ارائهی فایل llms.txt با انکدینگ UTF-8 بهصورت پیشفرض اضافه خواهد شد. اگر نسخهات قدیمی است، یا منتظر آپدیت بمان یا از روش دستی بالا (.htaccess) بهعنوان راهحل موقت استفاده کن. WordPress
نکتهی طلایی: بعد از اعمال هر کدام از این تنظیمات، حتماً کش سرور و کش CDN (اگر از Cloudflare یا مشابه استفاده میکنی) را پاک کن. خیلی از مواقع تنظیمات درست اعمال میشوند ولی نسخهی قدیمی و خراب فایل همچنان از کش تحویل داده میشود.
تلهی مخفی: ادیتور متن تو هم میتواند مقصر باشد
نکتهای که اغلب نادیده گرفته میشود این است که مشکل همیشه از سرور نیست. گاهی خود فایل llms.txt از ابتدا با انکدینگ اشتباه ذخیره شده. اگر فایل را با ادیتورهای سادهای مثل Notepad ویندوز ذخیره کرده باشی، احتمال دارد بهصورت پیشفرض با انکدینگ ANSI یا UTF-8 همراه با BOM (Byte Order Mark) ذخیره شده باشد، نه UTF-8 خالص.
این تفاوت کوچک میتواند باعث شود حتی بعد از تنظیم درست هدر سرور، چند کاراکتر عجیب در ابتدای فایل ظاهر شوند. راهحل، استفاده از ادیتورهایی مثل VS Code است که امکان انتخاب دقیق «UTF-8 without BOM» را بهصورت صریح در گزینههای ذخیرهسازی فایل فراهم میکنند.

الگوی بخشبندی خدمات: چطور llms.txt را برای یک سایت خدماتی فارسی بنویسیم
حالا که مسائل فنی انکدینگ حل شد، باید به محتوای خود فایل برگردیم. برای یک سایت خدماتی (مثل سایتهای ارائهدهندهی خدمات طراحی، پشتیبانی، یا مشاوره)، ساختار پیشنهادی اینگونه است:
۱. عنوان H1: نام برند یا سایت، بدون شعار تبلیغاتی اضافه.
۲. بلوک نقلقول: یک یا دو جمله که دقیقاً میگوید این کسبوکار چه کاری انجام میدهد و برای چه کسانی.
۳. بخش Services / خدمات: لیستی از لینکها به مهمترین صفحات خدماتی، هرکدام با یک توضیح کوتاه یکخطی.
۴. بخش Contact / تماس: راه ارتباطی رسمی (نه الزاماً بهصورت لینک مستقیم تلفن، بلکه ترجیحاً لینک به صفحهی تماس).
۵. بخش Optional: هر محتوای فرعی که اهمیت کمتری دارد ولی میتواند مفید باشد.
این الگو دقیقاً با چیزی که در منابع رسمی پیشنهاد شده همخوانی دارد: سازماندهی لینکها در دستههای منطقی مثل مستندات، منابع، محصولات، و تمرکز روی مهمترین صفحاتی که به کاربر کمک میکند بفهمد سایت چه ارائه میدهد، چطور باید از آن استفاده کند، و کجا اطلاعات کلیدی را پیدا کند. Metamonster
جدول مقایسهای: ساختار پیشنهادی برای انواع سایت
| نوع سایت | بخشهای ضروری llms.txt | تمرکز اصلی محتوا |
|---|---|---|
| سایت خدماتی (مثل پشتیبانی سایت) | Services، Contact، About | معرفی دقیق خدمات و نحوهی تماس |
| فروشگاه اینترنتی | Products، Categories، Policies | دستهبندی محصولات و قوانین فروش |
| مستندات فنی / SaaS | Documentation، API Reference، Guides | لینک مستقیم به نسخهی md. هر صفحه |
| وبلاگ یا رسانهی خبری | Topics، Recent Articles، About | دستهبندی موضوعی محتوا |
| سایت شخصی / پورتفولیو | About، Projects، Contact | معرفی فرد و نمونهکارها |
اشتباهی که اکثر صاحبان سایت در فاز نوشتن خلاصه مرتکب میشوند
بلوک نقلقول زیر H1 مهمترین خط کل فایل است، اما اکثر افراد آن را با جملات تبلیغاتی مبهم پر میکنند، نه با اطلاعات واقعی. مدل زبانی به دنبال حقایق قابل استخراج است، نه شعار. جملهای مثل «ما بهترین خدمات را با کیفیت برتر ارائه میدهیم» هیچ ارزش اطلاعاتی برای مدل ندارد، چون هیچ دادهی قابل استفادهای در خود ندارد.
در مقابل، جملهای مثل «این سایت خدمات پشتیبانی فنی، نگهداری امنیتی و مدیریت روزانهی وردپرس را برای کسبوکارهای کوچک و متوسط ارائه میدهد» قابل پردازش است، چون شامل نوع خدمت، حوزهی تخصص و مخاطب هدف است — دقیقاً سه چیزی که یک مدل زبانی هنگام پاسخ به سؤال کاربر به آن نیاز دارد.
نمونهی کامل و آمادهی فایل llms.txt برای سایتهای فارسی
حالا به بخشی میرسیم که احتمالاً برایش این مقاله را باز کردهای: یک نمونهی واقعی و کاربردی که میتوانی مستقیماً بهعنوان قالب برداری و با اطلاعات سایت خودت جایگزین کنی. این الگو بر اساس ساختار رسمی llms.txt نوشته شده و برای یک سایت خدماتی فارسی (مثل خدمات پشتیبانی و طراحی سایت) بهینه شده است.
نمونهی زیر بر مبنای سایت مصطفینور نوشته شده، اما ساختار آن برای هر سایت خدماتی دیگری هم قابل استفاده است؛ کافی است بخشهای مشخصشده را با اطلاعات خودت جایگزین کنی.
markdown
# مصطفینور
> ارائهدهندهی خدمات طراحی سایت، پشتیبانی فنی و مدیریت روزانهی وبسایت
> برای کسبوکارهای کوچک و متوسط فارسیزبان. تمرکز اصلی بر پشتیبانی
> مستمر، رفع مشکلات امنیتی و بهینهسازی عملکرد سایتهای وردپرسی.
## دربارهی ما
مصطفینور یک تیم خدمات فنی است که از سال تأسیس، تمرکز خود را روی
دو حوزهی اصلی گذاشته: طراحی سایتهای حرفهای و پشتیبانی بلندمدت
از سایتهای موجود. مخاطب اصلی ما کسبوکارهایی هستند که یا به دنبال
ساخت یک سایت جدیداند یا سایت فعلیشان نیاز به نگهداری منظم دارد.
## خدمات (Services)
- [خدمات پشتیبانی و مدیریت سایت](https://mostafanoor.ir/خدمات-پشتیبانی-و-مدیریت-سایت/): پشتیبانی مستمر، بهروزرسانی، رفع مشکلات امنیتی و فنی سایتهای وردپرسی
- [خدمات طراحی سایت](https://mostafanoor.ir/خدمات-طراحی-سایت/): طراحی و توسعهی سایتهای اختصاصی متناسب با نیاز کسبوکار
## تماس (Contact)
برای دریافت مشاوره یا استعلام قیمت، از طریق صفحهی اصلی سایت
با تیم پشتیبانی در ارتباط باشید: https://mostafanoor.ir/
## Optional
- محتوای آموزشی و مقالات فنی بهمرور در بخش وبلاگ سایت اضافه میشود.چرا این الگو اینشکلی نوشته شده؟ (نکات فنی که نباید فراموش کنی)
چند تصمیم در این قالب عمدی است و دلیل دارد:
۱) لینک تلفن داخل llms.txt نیامده. فایل اصلی که برای این مقاله داده شده بود شامل یک لینک tel: هم میشد. این نوع لینک برای کاربر انسانی روی موبایل کاربردی است (با یک تپ تماس میگیرد)، اما برای یک مدل زبانی هیچ ارزش اطلاعاتی ندارد و باعث میشود فایل شکل یک لیست تبلیغاتی پیدا کند نه یک سند مرجع. ترجیح بر این است که در بخش Contact، کاربر را به صفحهای هدایت کنیم که اطلاعات تماس کامل (از جمله تلفن) در آن قرار دارد.
۲) لینک مستقیم به فایل تصویر (webp.) هم نیامده. llms.txt برای معرفی محتوای متنی و صفحات طراحی شده، نه داراییهای رسانهای مثل تصاویر. اگر تصویری برای مدل اهمیت دارد (مثلاً نمونهکار یا اینفوگرافیک)، باید از داخل صفحهی مرتبط لینک شود، نه مستقیم در llms.txt.
۳) آدرس فایل باید انگلیسی یا انکودشده باشد، نه فارسی خام. نکتهی فنی مهمی که اینجا باید روشن شود: در نمونهی بالا، URLها بهصورت فارسی خوانا نوشته شدهاند تا قابلفهم باشند، اما در فایل واقعی که روی سرور آپلود میکنی، این آدرسها باید دقیقاً همان فرمت Percent-Encoded باشند که سایت تو تولید میکند (همان چیزی که در URL واقعی سایتت میبینی، مثل %D8%AE%D8%AF%D9%85%D8%A7%D8%AA). کپی کردن مستقیم از نوار آدرس مرورگر، امنترین روش است.
۴) فایل کوتاه نگه داشته شده. طبق فلسفهی اصلی استاندارد llms.txt که در بخشهای قبل توضیح داده شد، هدف فشردهسازی است نه تکرار محتوای کامل سایت. این فایل باید در چند ثانیه توسط مدل قابل پردازش باشد.
نکتهی طلایی: اگر سایتت چند زبانه است یا نسخهی انگلیسی هم دارد، بهتر است دو فایل جدا بسازی: یکی llms.txt برای نسخهی فارسی و یکی llms-en.txt یا مشابه برای نسخهی انگلیسی، تا مدل بر اساس زبان درخواست کاربر، نسخهی درست را پردازش کند.
چکلیست نهایی قبل از انتشار فایل
پیش از آپلود فایل نهایی روی سرور، این موارد را یکبهیک چک کن:
| مورد بررسی | وضعیت مطلوب |
|---|---|
| نام فایل | دقیقاً llms.txt با حروف کوچک |
| مسیر فایل | ریشهی دامنه (/llms.txt)، نه زیرپوشه |
| انکدینگ فایل | UTF-8 بدون BOM |
| هدر سرور | Content-Type: text/plain; charset=utf-8 |
| تیتر H1 | موجود و در همان ابتدای فایل |
| لینکها | همگی مطلق (Absolute URL)، نه نسبی |
| محتوای تبلیغاتی مبهم | حذفشده، جایگزین با جملات حاوی دادهی واقعی |
| طول فایل | کوتاه و فشرده، نه تکرار کامل محتوای سایت |
تست نهایی روی سه پلتفرم اصلی
بعد از آپلود فایل، بهتر است مستقیماً از هر سه پلتفرم هدف بپرسی سایتت چه میکند و آیا اطلاعات برگشتی با چیزی که در llms.txt نوشتی همخوانی دارد یا نه. اگر پاسخ مدل با محتوای فایل تو فاصله دارد، احتمالاً مدل هنوز نسخهی کششده یا قدیمیتری از سایت تو را در حافظه دارد و باید چند روز صبر کنی تا نسخهی جدید ایندکس شود؛ این فرایند برخلاف ایندکس فوری گوگل، میتواند کندتر و غیرقابلپیشبینیتر باشد، چون بهروزرسانی حافظهی این مدلها معمولاً وابسته به چرخهی بازآموزی یا کراول مجدد آنهاست، نه یک فرایند آنی.
۱۵ سؤال متداول کاربران دربارهی llms.txt
۱. آیا فایل llms.txt جایگزین sitemap.xml میشود؟
نه. این دو فایل برای دو مخاطب کاملاً متفاوت ساخته شدهاند. sitemap.xml برای موتورهای جستجوی سنتی است تا تمام صفحات سایت را پیدا کنند، در حالی که llms.txt برای مدلهای زبانی است تا خلاصهای فشرده از هویت سایت دریافت کنند. هر دو باید همزمان وجود داشته باشند.
۲. اگر سایتم llms.txt نداشته باشد، آیا توسط ChatGPT دیده نمیشود؟
اینطور نیست که سایت بدون llms.txt کاملاً نادیده گرفته شود؛ مدلها همچنان میتوانند از طریق جستجوی وب یا خزش معمولی به محتوای سایت دسترسی پیدا کنند. اما بدون این فایل، فهم ساختار سایت برای مدل سختتر و ناقصتر است.
۳. آیا llms.txt روی رتبهی گوگل تأثیر مستقیم دارد؟
خیر. این فایل مشخصاً برای مدلهای زبانی طراحی شده، نه برای الگوریتم رتبهبندی گوگل. تأثیر غیرمستقیم آن (مثل دیدهشدن در پاسخهای هوش مصنوعی) با سئوی سنتی متفاوت است.
۴. چرا کاراکترهای فارسی من در llms.txt بهصورت علامت سؤال یا کادر خالی نمایش داده میشوند؟
این معمولاً نشانهی قطعی عدم تطابق انکدینگ بین فایل ذخیرهشده و هدر Content-Type ارسالی سرور است؛ راهحل در بخش سوم همین مقاله توضیح داده شد.
۵. آیا باید llms.txt را بهصورت دستی بسازم یا از افزونه استفاده کنم؟
هر دو روش معتبرند. افزونهها سرعت بیشتری دارند، اما باید مطمئن شوی نسخهی افزونه مشکل انکدینگ UTF-8 را بهدرستی مدیریت میکند.
۶. آیا llms.txt باید شامل تمام صفحات سایت باشد؟
نه، دقیقاً برعکس. فایل باید فشرده باشد و فقط به مهمترین صفحات لینک دهد، نه فهرست کامل سایت.
۷. چند بار باید llms.txt را بهروزرسانی کنم؟
هر زمان که خدمات اصلی، محصولات یا ساختار مهم سایت تغییر کرد. برای سایتهای خدماتی، بازبینی هر چند ماه یکبار کافی است.
۸. آیا Perplexity هم از llms.txt استفاده میکند؟
این پلتفرمها معمولاً جزئیات دقیق الگوریتم خزش خود را اعلام نمیکنند، اما چون llms.txt یک استاندارد باز است، هر سیستمی که بخواهد میتواند از آن استفاده کند.
۹. آیا llms.txt میتواند جلوی استفادهی هوش مصنوعی از محتوای من را بگیرد؟
این فایل بیشتر برای راهنمایی ساخته شده تا محدودسازی. برای کنترل دسترسی، باید به robots.txt و دستورات مربوط به User-agent های هوش مصنوعی مراجعه کنی.
۱۰. آیا باید لینک شبکههای اجتماعی هم در llms.txt بگذارم؟
معمولاً نه، مگر اینکه آن شبکهها بخش مهمی از هویت یا پشتیبانی کسبوکار تو باشند. تمرکز فایل باید روی محتوای اصلی سایت باشد.
۱۱. چرا فایل من بعد از اصلاح هنوز توسط ChatGPT خوانده نمیشود؟
معمولاً مسئلهی کش است. هم کش سمت سرور خودت و هم تأخیر طبیعی در بهروزرسانی حافظهی مدلهای زبانی میتواند چند روز طول بکشد.
۱۲. آیا llms.txt برای فروشگاههای اینترنتی هم کاربرد دارد؟
بله، بهخصوص برای دستهبندی محصولات و سیاستهای فروش، که در جدول بخش سوم همین مقاله توضیح داده شد.
۱۳. آیا حجم فایل llms.txt محدودیت دارد؟
استاندارد رسمی محدودیت سختگیرانهای اعلام نکرده، اما فلسفهی طراحی این فایل بر فشردگی استوار است؛ هرچه کوتاهتر و دقیقتر، بهتر.
۱۴. آیا نوشتن llms.txt به زبان انگلیسی بهتر از فارسی است؟
اگر مخاطب اصلی سایت فارسیزبان است، نوشتن فایل به فارسی منطقیتر است، چون مدل باید بفهمد محتوای واقعی سایت با چه زبانی نوشته شده.
۱۵. اگر سایتم وردپرسی نیست، چطور llms.txt را آپلود کنم؟
کافی است فایل متنی با همین نام را از طریق FTP یا پنل مدیریت فایل هاست، مستقیماً در پوشهی ریشهی سایت آپلود کنی؛ هیچ وابستگی خاصی به وردپرس ندارد.
منابع معتبر برای مطالعهی بیشتر
برای کسانی که میخواهند عمیقتر وارد جزئیات فنی استاندارد UTF-8 و تاریخچهی آن شوند، صفحهی مرجع UTF-8 در ویکیپدیا توضیح میدهد که این استاندارد رمزگذاری برای ارتباطات الکترونیکی استفاده میشود و طبق آمار سال ۲۰۲۶، تقریباً ۹۹ درصد صفحات وب با همین استاندارد منتقل میشوند. Wikipedia
برای درک بهتر تفاوت میان robots.txt و llms.txt هم میتوان به صفحهی مرجع پروتکل Robots Exclusion در ویکیپدیا مراجعه کرد، جایی که توضیح داده شده این استاندارد که در سال ۱۹۹۴ توسعه یافت، بهصورت داوطلبانه توسط رباتها رعایت میشود و در دههی ۲۰۲۰ برخی سایتها شروع به مسدودکردن رباتهایی کردند که برای هوش مصنوعی مولد اطلاعات جمعآوری میکنند. Wikipedia\
