عصر البحث بالذكاء الاصطناعي قادم. مع بحث 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

1. الترويسة إلزامي
# اسم الموقع
> وصف موجز للموقع (1-2 جملة)
تقديم الموقع بـ H1 + blockquote
2. قائمة الأقسام مستحسن
## قائمة الأقسام
- [اسم القسم](URL): الوصف
- [اسم القسم](URL): الوصف
تجميع H2 + قائمة روابط
3. قائمة المحتوى مستحسن
## قائمة المحتويات
- [العنوان](URL): ملخص [تصنيف]
- [العنوان](URL): ملخص [تصنيف]
 ... (سرد جميع المحتويات)
ملخصات من سطر واحد لكل مقالة لمساعدة الذكاء الاصطناعي
4. الفئات / الوسوم اختياري
## التصنيفات / الوسوم
- category-slug: الوصف
- category-slug: الوصف
يجعل بنية المعلومات صريحة
5. معلومات الموقع مستحسن
## معلومات الموقع
- URL: https://example.com
- Sitemap: .../sitemap.xml
- Contact: email@example.com
يعرض المُشغِّل والرابط الأساسي

يُكتب 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 توليد ديناميكي — أيهما تختار

مقايضة: جهد التنفيذ مقابل التحديث المستمر

ملف ثابت
وضع public/llms.txt مباشرة
+ تنفيذ سهل (مجرد وضع ملف)
+ لا حمل على الخادم
+ لا يحتاج إطار عمل
- يتقادم عند نسيان التحديث
- تحرير يدوي مع كل إضافة
- تباين الأعداد والتصنيفات
مناسب عندما
محتوى قليل (10 أو أقل)
تحديث نادر (مرة شهرياً أو أقل)
توليد ديناميكي
توليد تلقائي من قاعدة البيانات
+ دائماً محدّث
+ انعكاس تلقائي للمقالات
+ أعداد وتصنيفات دقيقة
- يتطلب جهد تنفيذ
- وصول لقاعدة البيانات
- يحتاج إطار عمل
مناسب عندما
محتوى كثير (10+ عناصر)
تحديث متكرر (مرة أسبوعياً أو أكثر)
إذا كنت مترددًا, توليد ديناميكي — «التثبيت ثم النسيان» يقلل تكلفة التشغيل

هناك طريقتان رئيسيتان لتشغيل 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، تحقق من النقاط التالية.

قائمة التحقق الأساسية

عنصر التحققطريقة التحقق
هل يمكن الوصول عبر URLcurl https://yoursite.com/llms.txt
هل Content-Type صحيحتحقق من text/plain; charset=utf-8 بـ curl -I
هل الأحرف تظهر بشكل صحيحافتحه مباشرة في المتصفح وتحقق من عرض النص بشكل صحيح
هل الروابط صحيحةهل يمكن الوصول فعلاً لعناوين URL المذكورة
هل حالة HTTP هي 200curl -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.txtllms.txt
OAI-SearchBot (بحث OpenAI)866200
ChatGPT-User (يفتح ChatGPT صفحة بطلب من المستخدم)1,27520
ClaudeBot (Anthropic)502290
Claude-User (يفتح Claude صفحة بطلب من المستخدم)438700
PerplexityBot1,086190
Googlebot2,186140
bingbot4,362210

في هذه الفترة طُلب /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، فالإضافة ليست ضرورية.