جدول المحتويات
- 1. ما هو llms.txt
- 2. لماذا نحتاجه -- الفرق مع robots.txt
- 3. مواصفات الصيغة -- ماذا نكتب وكيف
- 4. المعلومات الواجب تضمينها -- إلزامية ومستحسنة واختيارية
- 5. الفرق بين llms.txt و llms-full.txt
- 6. ملف ثابت أم توليد ديناميكي -- أيهما تختار
- 7. طرق التنفيذ -- أمثلة أكواد لأشهر أطر العمل
- 8. التحقق والاختبار بعد التثبيت
- 9. قياس فعلي: هل تقرأ زواحف الذكاء الاصطناعي llms.txt؟
- 10. أمثلة واقعية لملفات llms.txt
- الاسئلة الشائعة
عصر البحث بالذكاء الاصطناعي قادم. مع بحث ChatGPT و Perplexity و Google AI Overviews -- تتزايد فرص حصول المستخدمين على المعلومات عبر AI بشكل كبير، مما يزيد أهمية "جعل AI يفهم موقعك بشكل صحيح".
هنا يأتي دور llms.txt. إذا كان robots.txt يُخبر الزواحف بـ "يمكنك/لا يمكنك زحف هذه الصفحة"، فإن llms.txt هو لافتة إرشادية تقول للذكاء الاصطناعي: "هذا ما يغطيه الموقع، وهنا تجد التفاصيل". لكن لا يوجد دليل على أن نشره يجعل إجابات الذكاء الاصطناعي تستشهد بموقعك، وفي سجلات الوصول لهذا الموقع لم يطلبه أي زاحف ذكاء اصطناعي ولو مرة واحدة خلال ثلاثة أيام ونصف. يشرح هذا الدليل أيضًا نوع المواقع التي يستحق فيها إضافته فعلًا.
في هذا المقال نشرح بالتفصيل صيغة llms.txt والمعلومات الواجب تضمينها ومعايير الاختيار بين الملف الثابت والتوليد الديناميكي وأكواد التنفيذ في أشهر أطر العمل.
1. ما هو llms.txt
llms.txt هو ملف نصي عادي (بتنسيق Markdown) يُوضع في الدليل الجذري لموقع الويب، ويهدف إلى إيصال ملخص الموقع وهيكله وقائمة محتوياته لنماذج اللغة الكبيرة (LLM).
المعلومات الأساسية
| العنصر | المحتوى |
|---|---|
| اسم الملف | llms.txt |
| موقع الوضع | جذر النطاق (https://example.com/llms.txt). منذ الإصدار v2 يمكن وضعه أيضًا في مسار فرعي (/docs/llms.txt) ليغطي الصفحات الموجودة تحته |
| التنسيق | Markdown (نص عادي) |
| ترميز الأحرف | UTF-8 |
| المقترح | llmstxt.org (Jeremy Howard وآخرون) |
| حالة التوحيد | معيار فعلي (ليس RFC ولا مواصفة رسمية). الإصدار الحالي v2 (مُراجَع في أغسطس 2026) |
| القرّاء الرئيسيون | وكلاء ذكاء اصطناعي يحتاجون إلى معلومات أثناء مساعدة المستخدم (الاستخدام الذي تفترضه المواصفة، ولا سيما وكلاء البرمجة الذين يتصفحون التوثيق). لم نجد تصريحًا رسميًا من أي شركة بأن زواحف التدريب أو البحث مثل GPTBot تقرؤه |
باختصار
robots.txt = "لا تدخل" / llms.txt = "نحن موقع كهذا"
بينما robots.txt هو ملف للتحكم في الوصول (سماح/رفض)، فإن llms.txt هو ملف لوصف محتوى الموقع (تقديم ذاتي). لا يتعارضان -- بل يُستخدمان معاً.
2. لماذا نحتاجه -- الفرق مع robots.txt
قد تعتقد أن "خريطة الموقع وعلامات meta كافية لفهم AI للموقع". هذا صحيح إلى حد ما، لكن llms.txt يوفر مزايا فريدة.
مقارنة أدوار robots.txt و sitemap.xml و llms.txt
| الملف | الغرض | الجمهور المستهدف | المحتوى |
|---|---|---|---|
| robots.txt | سماح/رفض الزحف | جميع الزواحف | قواعد Allow/Disallow |
| sitemap.xml | تقديم قائمة الصفحات | محركات البحث | عناوين URL وتواريخ التحديث والأولوية |
| llms.txt | وصف محتوى الموقع | زواحف LLM | ملخص وهيكل وملخصات المحتوى |
ثلاثة أسباب تجعل llms.txt ضرورياً
السبب 1: نماذج LLM لا تستطيع زحف الموقع بالكامل بكفاءة
بينما يزحف Googlebot مليارات الصفحات ويبني فهارس ضخمة، فإن زواحف LLM لا تقوم بزحف شامل بنفس الدرجة. بوضع llms.txt يمكنك إخبار AI بكفاءة "أهم محتوى في هذا الموقع هو هذا".
السبب 2: يزيد استشهاد إجابات الذكاء الاصطناعي بموقعك -- ادعاء شائع بلا دليل
كثيرًا ما يُقال إن llms.txt يرفع فرص استشهاد ChatGPT أو Perplexity بموقعك، لكن لا توجد بيانات ولا تصريحات رسمية من الشركات تُثبت ذلك. تنص Google صراحةً على أن الظهور في AI Overviews وAI Mode لا يتطلب ملفات نصية خاصة بالذكاء الاصطناعي (Google Search Central). الأدق أن تنظر إلى llms.txt على أنه فهرس يساعد الوكلاء على الوصول سريعًا إلى المعلومة الصحيحة لا وسيلة لكسب الاستشهادات؛ ونتحقق من ذلك بسجلات حقيقية في القسم 9.
للاطلاع على شرح مفصل لـ LLMO، راجع "ما هو LLMO؟".
السبب 3: يوصل معلومات وصفية غير موجودة في sitemap.xml
sitemap.xml مجرد قائمة عناوين URL. أما llms.txt فيمكنه إيصال المعلومات التالية أيضاً.
- موضوع الموقع ومجال تخصصه
- ملخص وتصنيف كل محتوى
- تكرار التحديث وحجم الموقع
- هل الموقع متعدد اللغات
- معلومات الاتصال
3. مواصفات الصيغة -- ماذا نكتب وكيف
هيكل صيغة llms.txt
H1 اسم الموقع ← نظرة عامة في blockquote ← مجموعة أقسام H2
يُكتب llms.txt بتنسيق Markdown. الصيغة المستندة إلى مواصفات llmstxt.org هي كالتالي.
الهيكل الأساسي
# اسم الموقع
> وصف ملخص الموقع. جملة إلى 3 جمل توضح موضوع الموقع وجمهوره والقيمة المقدمة بإيجاز.
## اسم القسم 1
- [عنوان الصفحة](URL): وصف ملخص الصفحة
## اسم القسم 2
- [عنوان الصفحة](URL): وصف ملخص الصفحة
- [عنوان الصفحة](URL): وصف ملخص الصفحة
قواعد الصيغة
| العنصر | صيغة Markdown | الدور |
|---|---|---|
| عنوان H1 | # اسم الموقع | الاسم الرسمي للموقع. واحد فقط في الملف |
| كتلة اقتباس | > نص الملخص | وصف ملخص الموقع. يوضع مباشرة بعد H1 |
| عنوان H2 | ## اسم القسم | تجميع المحتوى |
| روابط القائمة | - [العنوان](URL): الوصف | معلومات المحتوى الفردي |
مثال عملي
# My Tech Blog
> My Tech Blog is a software engineering blog covering web development, cloud infrastructure, and AI tools. Updated weekly with practical tutorials and comparisons.
## Main Sections
- [Articles](https://example.com/articles): 50+ in-depth technical articles
- [Tutorials](https://example.com/tutorials): Step-by-step coding tutorials
## Popular Articles
- [React vs Vue in 2026](https://example.com/articles/react-vs-vue): A detailed comparison of React and Vue.js for modern web development, covering performance, ecosystem, and learning curve.
- [Docker for Beginners](https://example.com/articles/docker-beginners): Complete guide to Docker containers for developers who have never used containerization.
## Site Information
- URL: https://example.com
- Sitemap: https://example.com/sitemap.xml
- Languages: en, ja
- Contact: admin@example.com
ملاحظات مهمة
- الكتابة بالإنجليزية بشكل افتراضي. مواصفات llms.txt وأمثلته جميعها بالإنجليزية، مما يجعلها أفضل ممارسة. للمواقع متعددة اللغات، يُنصح بالكتابة بالإنجليزية وتحديد اللغات المدعومة عبر
Languages: ja, en, es, .... لكن للمواقع أحادية اللغة (مثل موقع بالكامل بالفرنسية أو الروسية)، فإن الكتابة بلغة الموقع مقبولة تماماً. نماذج LLM الرئيسية (GPT وClaude وGemini وغيرها) تعالج معظم اللغات بدقة عالية، ومستخدمو هذه المواقع سيستفسرون بنفس اللغة، مما يضمن اتساق الإجابات. - ترميز الأحرف يجب أن يكون UTF-8. أي ترميز آخر قد يسبب تشوه الأحرف
- استخدم المسارات المطلقة لـ URL (عنوان URL كامل يبدأ بـ https://)
- H1 واحد فقط في الملف. استخدم H2 لتقسيم الأقسام
4. المعلومات الواجب تضمينها -- إلزامية ومستحسنة واختيارية
كثيرون يحتارون فيما يكتبون، لذا نرتبها حسب الأولوية.
ملاحظة: المواصفة (llmstxt.org) لا تشترط سوى عنوان H1 باسم الموقع؛ أما كتلة الاقتباس التي تحمل الملخص وقوائم الروابط تحت H2 فهي اختيارية من حيث الشكل. و"إلزامي" هنا يعني الحد الأدنى الذي يراه هذا الدليل ضروريًا ليكون للملف فائدة.
معلومات إلزامية (بدونها لا فائدة من llms.txt)
| المعلومة | موقع الكتابة | مثال |
|---|---|---|
| اسم الموقع | عنوان H1 | # AI Arte |
| ملخص الموقع | كتلة اقتباس | > AI learning platform... |
| الأقسام الرئيسية | H2 + قائمة روابط | - [Articles](URL): الوصف |
معلومات مستحسنة (تزيد من فهم AI للموقع)
| المعلومة | لماذا مطلوبة |
|---|---|
| قائمة جميع المحتويات | يستطيع AI فهم نطاق تغطية الموقع بالكامل |
| ملخص من سطر واحد لكل محتوى | يستطيع AI فهم محتوى الصفحة مسبقاً |
| نظام التصنيفات/الوسوم | يوضح هيكل المعلومات في الموقع |
| عنوان URL للموقع | توضيح URL الأساسي |
| عنوان URL لخريطة الموقع | إرشاد لقائمة URL التفصيلية |
| اللغات المدعومة | مهم للمواقع متعددة اللغات |
| معلومات الاتصال | تثبت هوية مشغل الموقع |
معلومات اختيارية (مرغوبة لكنها ليست إلزامية)
- المكدس التقني: ما الذي بُني به الموقع (أطر العمل وغيرها)
- تكرار التحديث: كم مرة يُضاف محتوى جديد
- إجمالي المحتويات: عدد المقالات وغيرها
- سياسة الترخيص/الاستشهاد: هل يسمح لـ AI بالاستشهاد
- معلومات API: إذا كان الوصول البرمجي متاحاً
معلومات لا يجب كتابتها
- معلومات سرية: عناوين URL للوحة الإدارة ونقاط نهاية API الداخلية وغيرها
- معلومات شخصية: معلومات شخصية أكثر من اللازم (العنوان ورقم الهاتف وغيرها)
- معلومات المصادقة: مفاتيح API وكلمات المرور وغيرها
5. الفرق بين llms.txt و llms-full.txt
يجمع llms-full.txt محتوى الموقع كله في ملف واحد. وهو ليس جزءًا من مواصفة llmstxt.org، بل عُرف انتشر لأن منصات توثيق مثل Mintlify تولّده تلقائيًا مع llms.txt (توثيق Mintlify). وتوصي المواصفة v2 بدلًا من جمع كل شيء في ملف واحد بـتوفير نسخة Markdown لكل صفحة (page.md أو page.html.md) والربط إليها من llms.txt.
| الملف | المحتوى | الحجم التقريبي | الاستخدام |
|---|---|---|---|
| llms.txt | ملخص الموقع وهيكله وقائمة الروابط | 1-50 كيلوبايت | "جدول محتويات" للموقع بالكامل |
| llms-full.txt | النص الكامل لجميع المحتويات | 100 كيلوبايت - عدة ميغابايت | تقديم النص الكامل لـ AI |
حالات يُحتاج فيها llms-full.txt
- التوثيق التقني: مراجع API ووثائق المكتبات وغيرها، حيث يزيد فهم AI للنص الكامل من دقة الإجابات
- قواعد المعرفة: مجموعات الأسئلة الشائعة والمسارد وغيرها من المحتوى الذي يُستشهد به جزئياً كثيراً
حالات لا يُحتاج فيها llms-full.txt
- المدونات ومواقع الإعلام: عدد المقالات كبير وتجميع النص الكامل في ملف واحد يجعله ضخماً جداً. ملخصات llms.txt كافية
- مواقع التجارة الإلكترونية: تقديم معلومات المنتجات عبر البيانات المنظمة (JSON-LD وغيرها) أنسب
- مواقع الشركات: عدد الصفحات قليل ويمكن تغطيتها بـ llms.txt وحده
للمدونات ومواقع الإعلام العادية، llms.txt وحده كافٍ. اعتبر llms-full.txt موجهاً للتوثيق التقني.
6. ملف ثابت أم توليد ديناميكي -- أيهما تختار
ملف ثابت vs توليد ديناميكي — أيهما تختار
مقايضة: جهد التنفيذ مقابل التحديث المستمر
هناك طريقتان رئيسيتان لتشغيل llms.txt.
الطريقة 1: ملف ثابت
وضع ملف نصي مباشرة في public/llms.txt (أو مسار مكافئ).
المزايا:
- أسهل طريقة للتنفيذ (مجرد وضع ملف)
- لا حمل على الخادم
- يعمل بدون إطار عمل
العيوب:
- يجب تحديث الملف يدوياً كلما أُضيف أو عُدل محتوى
- إذا نسيت التحديث يصل لـ AI معلومات قديمة
- عدد المحتويات والتصنيفات قد يتباين مع الموقع الفعلي
الطريقة 2: توليد ديناميكي
يستقبل التطبيق طلب /llms.txt ويجلب أحدث المعلومات من قاعدة البيانات ويولد النص ديناميكياً.
المزايا:
- يعكس دائماً أحدث المعلومات
- إضافة مقال تنعكس تلقائياً في llms.txt
- عدد المحتويات وأسماء التصنيفات دائماً دقيقة
العيوب:
- يتطلب جهداً في التنفيذ (تعريف مسار + وحدة تحكم)
- وصول لقاعدة البيانات مع كل طلب (يمكن تخفيفه بالتخزين المؤقت)
- يتطلب إطار عمل
معايير الاختيار
| الشرط | التوصية |
|---|---|
| المحتويات أقل من 10 ونادراً ما تزيد | ملف ثابت كافٍ |
| المحتويات أكثر من 10 أو تُحدّث مرة شهرياً أو أكثر | يُنصح بالتوليد الديناميكي |
| تستخدم WordPress أو Laravel أو Django وغيرها | التوليد الديناميكي سهل |
| موقع ثابت (Hugo أو Jekyll أو Astro وغيرها) | التوليد التلقائي عند البناء هو الأمثل |
| تشغيل فردي وتريد تقليل الصيانة | التوليد الديناميكي (ثبّته مرة وانسَ) |
الخلاصة: إذا حرت اختر التوليد الديناميكي. تكلفة التنفيذ الأولي أعلى، لكن يمكنك "تثبيته ونسيانه" مما يقلل تكلفة التشغيل على المدى الطويل. أسوأ سيناريو هو البدء بملف ثابت "ونسيان تحديثه فيصل لـ AI معلومات قديمة".
7. طرق التنفيذ -- أمثلة أكواد لأشهر أطر العمل
فيما يلي طرق التنفيذ للتوليد الديناميكي لـ llms.txt في أشهر أطر العمل.
Laravel (PHP)
تعريف المسار (routes/web.php):
use App\Http\Controllers\LlmsTxtController;
Route::get('/llms.txt', [LlmsTxtController::class, 'index']);
وحدة التحكم (app/Http/Controllers/LlmsTxtController.php):
class LlmsTxtController extends Controller
{
public function index()
{
$articles = Article::published()
->with(['translations' => fn($q) => $q->where('locale', 'en')])
->orderBy('published_at')
->get();
$lines = [];
$lines[] = '# My Site Name';
$lines[] = '';
$lines[] = '> Site description here.';
$lines[] = '';
$lines[] = '## All Articles (' . $articles->count() . ')';
$lines[] = '';
foreach ($articles as $article) {
$t = $article->translations->first();
if (!$t) continue;
$url = 'https://example.com/en/articles/' . $article->slug;
$lines[] = '- [' . $t->title . '](' . $url . '): ' . $t->meta_description;
}
$content = implode("\n", $lines);
return response($content, 200)
->header('Content-Type', 'text/plain; charset=utf-8');
}
}
النقطة المهمة هي تحديد Content-Type: text/plain; charset=utf-8 صراحةً. نسيان ذلك قد يؤدي لتفسيره كـ HTML.
Django (Python)
# urls.py
from django.urls import path
from . import views
urlpatterns = [
path('llms.txt', views.llms_txt, name='llms_txt'),
]
# views.py
from django.http import HttpResponse
from .models import Article
def llms_txt(request):
articles = Article.objects.filter(
status='published'
).order_by('published_at')
lines = ['# My Site', '', '> Description.', '', '## Articles', '']
for a in articles:
lines.append(f'- [{a.title}](https://example.com/articles/{a.slug}): {a.meta_description}')
content = '\n'.join(lines)
return HttpResponse(content, content_type='text/plain; charset=utf-8')
Next.js (TypeScript)
// app/llms.txt/route.ts (App Router)
import { NextResponse } from 'next/server'
export async function GET() {
// جلب البيانات من DB أو CMS
const posts = await getAllPosts()
const lines = [
'# My Site',
'',
'> Description.',
'',
'## Articles',
'',
...posts.map(p =>
`- [${p.title}](https://example.com/posts/${p.slug}): ${p.description}`
),
]
return new NextResponse(lines.join('\n'), {
headers: { 'Content-Type': 'text/plain; charset=utf-8' },
})
}
WordPress (PHP)
يُضاف إلى functions.php أو كإضافة:
// functions.php
add_action('init', function() {
add_rewrite_rule('^llms\.txt$', 'index.php?llms_txt=1', 'top');
});
add_filter('query_vars', function($vars) {
$vars[] = 'llms_txt';
return $vars;
});
add_action('template_redirect', function() {
if (!get_query_var('llms_txt')) return;
header('Content-Type: text/plain; charset=utf-8');
$posts = get_posts(['numberposts' => -1, 'post_status' => 'publish']);
echo "# " . get_bloginfo('name') . "\n\n";
echo "> " . get_bloginfo('description') . "\n\n";
echo "## Articles (" . count($posts) . ")\n\n";
foreach ($posts as $post) {
$url = get_permalink($post);
$desc = get_the_excerpt($post);
echo "- [{$post->post_title}]({$url}): {$desc}\n";
}
exit;
});
في WordPress لا تنسَ إعادة حفظ إعدادات الروابط الدائمة (تحديث قواعد إعادة الكتابة).
مولدات المواقع الثابتة (Hugo / Astro وغيرها)
اكتب سكريبت للتوليد التلقائي عند البناء.
# build-llms-txt.sh (مثال لـ Hugo)
#!/bin/bash
echo "# My Site" > public/llms.txt
echo "" >> public/llms.txt
echo "> Site description." >> public/llms.txt
echo "" >> public/llms.txt
echo "## Articles" >> public/llms.txt
echo "" >> public/llms.txt
for file in content/posts/*.md; do
title=$(grep '^title:' "$file" | sed 's/title: //')
slug=$(basename "$file" .md)
desc=$(grep '^description:' "$file" | sed 's/description: //')
echo "- [${title}](https://example.com/posts/${slug}): ${desc}" >> public/llms.txt
done
بتنفيذه في خط أنابيب CI (مثل GitHub Actions) قبل البناء، يتم التحديث التلقائي مع كل نشر.
8. التحقق والاختبار بعد التثبيت
بعد تثبيت llms.txt، تحقق من النقاط التالية.
قائمة التحقق الأساسية
| عنصر التحقق | طريقة التحقق |
|---|---|
| هل يمكن الوصول عبر URL | curl https://yoursite.com/llms.txt |
| هل Content-Type صحيح | تحقق من text/plain; charset=utf-8 بـ curl -I |
| هل الأحرف تظهر بشكل صحيح | افتحه مباشرة في المتصفح وتحقق من عرض النص بشكل صحيح |
| هل الروابط صحيحة | هل يمكن الوصول فعلاً لعناوين URL المذكورة |
| هل حالة HTTP هي 200 | curl -o /dev/null -w "%{http_code}" |
| هل لم يتم حظره في robots.txt | تأكد من عدم وجود Disallow: /llms.txt في robots.txt |
تحققات إضافية للتوليد الديناميكي
- بعد إضافة مقال تحقق من llms.txt: هل انعكس المقال الجديد
- هل عدد المحتويات المعروض صحيح: هل يطابق رقم "All Articles (27)" عدد المقالات المنشورة فعلاً
- هل لا يتضمن مقالات غير منشورة: تأكد من عدم ظهور المسودات أو المقالات المجدولة
أدوات التحقق
لا توجد أداة تحقق رسمية من صيغة llms.txt (حتى 29 سبتمبر 2026). يتضمن Lighthouse في Chrome بندًا لـ llms.txt ضمن تدقيقات agentic browsing، لكنه يتحقق فقط مما إذا كان جلب الملف يُرجع خطأ خادم؛ وإذا لم يكن الملف موجودًا (404) يُعدّ التدقيق غير منطبق (Chrome for Developers). تحقّق من المحتوى بالطرق التالية.
- اطلب من ChatGPT أو Claude قراءته: اسأل "اقرأ https://yoursite.com/llms.txt وأخبرني عن هذا الموقع"
- عارض Markdown: الصق محتوى llms.txt في عارض Markdown وتحقق من عرض الهيكل بشكل صحيح
- أدوات تدقيق SEO: بعض أدوات تدقيق SEO بدأت تدعم فحص وجود llms.txt
9. قياس فعلي: هل تقرأ زواحف الذكاء الاصطناعي llms.txt؟
يُقال كثيرًا "انشره وسيقرؤه الذكاء الاصطناعي"، لكن معرفة ما إذا كان أحد يطلبه فعلًا ممكنة من خلال سجلات الوصول في خادمك. يقدّم هذا الموقع (arte.itlibra.com) ملف /llms.txt مولَّدًا ديناميكيًا، فأحصينا الطلبات حسب User-Agent من 26 سبتمبر الساعة 07:20 إلى 29 سبتمبر الساعة 12:54 بتوقيت UTC (نحو ثلاثة أيام ونصف، و86,696 طلبًا إجمالًا).
| الزاحف (User-Agent) | إجمالي الطلبات في الفترة | robots.txt | llms.txt |
|---|---|---|---|
| OAI-SearchBot (بحث OpenAI) | 866 | 20 | 0 |
| ChatGPT-User (يفتح ChatGPT صفحة بطلب من المستخدم) | 1,275 | 2 | 0 |
| ClaudeBot (Anthropic) | 502 | 29 | 0 |
| Claude-User (يفتح Claude صفحة بطلب من المستخدم) | 438 | 70 | 0 |
| PerplexityBot | 1,086 | 19 | 0 |
| Googlebot | 2,186 | 14 | 0 |
| bingbot | 4,362 | 21 | 0 |
في هذه الفترة طُلب /llms.txt ثلاث مرات فقط: مرتين من سطر الأوامر (curl) ومرة من أداة لتدقيق المواقع. قرأت زواحف الذكاء الاصطناعي المقالات مئات المرات، لكنها لم تفتح llms.txt ولو مرة. وقد تحقق كثير منها من robots.txt، فالمسألة ليست أنها تتجاهل الملفات الصغيرة، بل أنها لا تبحث عن llms.txt أصلًا.
هذه سجلات ثلاثة أيام ونصف لموقع واحد، وقد تختلف النتيجة في مواقع أخرى أو على مدى أطول. ومع ذلك، تتضح الصورة عند جمعها مع التصريحات الرسمية.
- Google: تنص على أنه "You don't need to create new machine readable files, AI text files, or markup" (لا حاجة إلى إنشاء ملفات جديدة مقروءة آليًا أو ملفات نصية للذكاء الاصطناعي أو ترميز) للظهور في AI Overviews وAI Mode (AI features and your website)
- المواصفة (v2، أغسطس 2026): تفترض أن llms.txt يُستخدم وقت الاستدلال، أي حين يحتاج الوكيل إلى معلومة أثناء مساعدة المستخدم، لا للتدريب، وتذكر أن أكثر من يستخدمه وكلاء البرمجة الذين يتصفحون توثيق البرمجيات (llmstxt.org)
- Lighthouse في Chrome: تتضمن تدقيقات agentic browsing بندًا لـ llms.txt، لكن الصفحة لا تفشل إلا إذا أعاد جلب الملف خطأ خادم. أما غياب الملف (404) فيُعدّ غير منطبق ولا يُخصم منه شيء (Chrome for Developers)
متى يستحق الإضافة؟
| نوع الموقع | القرار | السبب |
|---|---|---|
| توثيق واجهة برمجية أو مكتبة | أضِفه (مع نسخ Markdown للصفحات) | وكلاء البرمجة يتبعونه فعلًا؛ وهذا هو الاستخدام الرئيسي الذي تفترضه المواصفة |
| مدونة أو موقع إعلامي | لا يضر، لكن لا تتوقع زيادة في الزيارات أو الاستشهادات | في سجلات هذا الموقع، كانت زواحف الذكاء الاصطناعي تقرأ المقالات مباشرة. الأهم أولًا جودة المقالات نفسها وألا تحجب robots.txt زواحف الذكاء الاصطناعي |
| موقع شركة صغير | لا داعي للعجلة | الصفحات قليلة، وتكفي الصفحة الرئيسية وخريطة الموقع |
إن أضفته، فسجلاتك هي الطريقة الموثوقة لمعرفة ما إذا كان يُستخدم. في سجلات الوصول بالصيغة القياسية لـ nginx أو Apache (combined)، يحصي هذا السطر الواحد قيم User-Agent التي طلبت /llms.txt من الأكثر إلى الأقل.
grep ' /llms.txt ' access.log | awk -F'"' '{print $6}' | sort | uniq -c | sort -rn
10. أمثلة واقعية لملفات llms.txt
تنشر OpenAI وAnthropic وGoogle (Gemini API) ملف llms.txt لتوثيقها الخاص بالمطورين (كما ورد في صفحة المواصفة). لم نجد إحصاءات عن نسبة الاعتماد، لذا فالجدول التالي مجرد مؤشر تقريبي على الاتجاهات.
خصائص المواقع المتقدمة في التبني
| نوع الموقع | نسبة التبني | السبب |
|---|---|---|
| خدمات وأدوات AI | عالية | صناعة AI نفسها واعية بـ LLMO |
| التوثيق التقني | عالية | حاجة لإيصال المعلومات بدقة لـ AI |
| المدونات التقنية | متوسطة | حساسية عالية للاتجاهات التقنية |
| مواقع الشركات | منخفضة | الوعي لا يزال محدوداً |
| مواقع التجارة الإلكترونية | منخفضة | الأولوية للبيانات المنظمة (JSON-LD) |
خصائص llms.txt الجيد
- ملخص واضح وموجز -- يمكن فهم مجال تخصص الموقع من القراءة الأولى
- جميع المحتويات مدرجة مع ملخصات -- يستطيع AI فهم الصورة الكاملة
- نظام التصنيفات واضح -- يوضح هيكل المعلومات
- توليد ديناميكي -- دائماً في أحدث حالة
خصائص llms.txt السيئ
- اسم الموقع ومعلومات الاتصال فقط -- كمية المعلومات قليلة جداً ولا تساعد AI على الفهم
- نسخ ولصق النص الكامل لجميع المحتويات -- llms.txt هو "جدول محتويات" وليس "نص كامل". النص الكامل من مهام llms-full.txt
- تُرك بمعلومات قديمة -- مكتوب "10 articles" بينما يوجد فعلاً 50 مقالاً، مما يضر بالمصداقية
- يحتوي معلومات سرية -- حالات يكون فيها عنوان URL للوحة الإدارة أو مفاتيح API مكتوبة
الاسئلة الشائعة
س. هل لن يظهر موقعي في نتائج بحث AI إذا لم أضع llms.txt؟
لا. يستطيع الذكاء الاصطناعي قراءة صفحاتك مباشرة والاستشهاد بها دون llms.txt. تنص Google صراحةً على أن الظهور في AI Overviews وAI Mode لا يتطلب ملفات نصية للذكاء الاصطناعي، وفي سجلات هذا الموقع قرأت زواحف الذكاء الاصطناعي المقالات مئات المرات دون أن تفتح llms.txt مرة واحدة. غيابه لا يضرك؛ إنه ملف اختياري لمن يريد توجيه الوكلاء.
س. إذا كنت أحظر زواحف AI في robots.txt، هل لـ llms.txt فائدة؟
إذا كنت تحظر User-agent: GPTBot وغيره في robots.txt، فإن ذلك البوت لن يزحف موقعك. لكن llms.txt مستقل عن قواعد robots.txt. قد يصل AI إلى llms.txt عبر مسار آخر (مثل لصق المستخدم للعنوان مباشرة). إذا كنت تحظر زواحف AI عمداً، فعدم تثبيت llms.txt هو النهج المتسق.
س. بأي لغة يجب كتابة llms.txt؟
للمواقع متعددة اللغات، بالإنجليزية. للمواقع أحادية اللغة، لغة الموقع مقبولة أيضاً. المواصفات والأمثلة بالإنجليزية بشكل رئيسي، مما يجعلها الخيار الأكثر منطقية للمواقع متعددة اللغات كلغة محايدة. لكن إذا كان محتوى الموقع بالكامل بلغة واحدة، فكتابة llms.txt بتلك اللغة مقبولة. نماذج LLM الرئيسية تعالج معظم اللغات بدقة عالية، والمستخدمون سيستفسرون بنفس لغة الموقع، مما يوفر إجابات متسقة.
س. هل هناك حد لحجم ملف llms.txt؟
لا تضع المواصفة حدًا، بل تطلب فقط أن يبقى الملف صغيرًا بما يكفي ليتسع في السياق. للاسترشاد: ملف llms.txt لهذا الموقع يسرد 225 مقالًا و40 فصلًا من الدورات، سطرًا لكل منها، ويبلغ حجمه نحو 116 كيلوبايت (حتى 29 سبتمبر 2026). إذا كبر ملفك، فاختصر ملخصات السطر الواحد، أو انقل الروابط الثانوية إلى ## Optional، أو قسّمه إلى عدة ملفات llms.txt حسب المسارات الفرعية كما يسمح v2. ولتقديم النص الكامل، اربط إلى نسخ Markdown للصفحات.
س. ما تكرار التحديث المناسب؟
في حالة التوليد الديناميكي لا داعي للقلق لأنه يعيد أحدث المعلومات مع كل طلب. في حالة الملف الثابت، التحديث مع كل إضافة أو تعديل للمحتوى هو المثالي. على الأقل تحقق وحدّث مرة شهرياً. إذا كنت ستترك معلومات قديمة، يُنصح بالتحول للتوليد الديناميكي.
س. هل يؤثر على SEO؟
لا يؤثر في الترتيب على Google. توضح Google أنه حتى في AI Overviews وAI Mode لا حاجة إلى ملفات نصية للذكاء الاصطناعي أو ترميز خاص، وأن أساسيات SEO المعتادة هي التي تنطبق (Google Search Central). ولا يوجد دليل أيضًا على أنه يزيد الاستشهاد في ChatGPT أو Perplexity. إن أردت معرفة ما إذا كان يفيدك، فراجع سجلات الوصول الخاصة بك كما في القسم 9.
س. هل توجد إضافات WordPress؟
نعم. تذكر قائمة llmstxt.org إضافتَي Yoast SEO وAIOSEO لـ WordPress بوصفهما تولّدان llms.txt (حتى 29 سبتمبر 2026). أيًّا كانت الإضافة التي تستخدمها، راجع دائمًا المحتوى المُولَّد. ويمكنك أيضًا تنفيذ ذلك بنفسك ببضع عشرات من الأسطر في functions.php، فالإضافة ليست ضرورية.