تخطَّ إلى المحتوى
الأدلة

ما هو llms.txt وكيف تكتبه؟

دليل إجرائي · 12 دقيقة قراءة · آخر تحديث 15 سبتمبر 2026

إجابة موجزة

ما فائدة ملف llms.txt؟

ملف llms.txt خريطة محتوى نصية توضع في جذر الموقع ليفهم نموذج لغوي توليدي الموقع في طلب واحد. اقترحه جيريمي هوارد على llmstxt.org في سبتمبر 2024، وصدرت النسخة الثانية في أغسطس 2026. وصيغته Markdown: عنوان H1 واحد، ثم ملخّص داخل اقتباس، ثم قوائم روابط موصوفة تحت عناوين H2. وهو ليس معياراً رسمياً ولا يحلّ محل robots.txt.

أهم النقاط

  • ملف llms.txt ليس ملف أذونات: الوصول يحدّده robots.txt، وllms.txt يصف المحتوى فقط.
  • في المواصفة يكون سطر الملخّص اقتباساً (>) لا نصاً مائلاً — ومعظم الأمثلة المتداولة تكتب هذا السطر خطأً.
  • توثيق Google نفسه يقول إنّ الظهور في AI Overviews وAI Mode لا يتطلّب «إنشاء ملفات جديدة قابلة للقراءة آلياً أو ملفات نصية للذكاء الاصطناعي أو ترميز» — فـllms.txt ليس أداة ترتيب.
  • ملف llms-full.txt غير وارد في المواصفة؛ فهو ممارسة شائعة لا معيار.
  • يجب تقديم الملف من /llms.txt باستجابة 200 وبنوع text/plain؛ وأي إعادة توجيه أو ترويسة تنزيل تجعله غير قابل للقراءة.
  • ملف llms.txt المهمَل أسوأ من غيابه: فخريطة من روابط ميتة لا تصف الموقع بل تصفه خطأً.

ما هو llms.txt؟

ملف llms.txt خريطة نصية تُخبر الآلة، في ملف واحد، بما هو الموقع وبما تتناوله كل صفحة فيه. نشر جيريمي هوارد الاقتراح على llmstxt.org في سبتمبر 2024، وبلغت المواصفة نسختها الثانية في أغسطس 2026. ويمكن أن يوضع الملف في الجذر أو تحت مسار فرعي — مثل /docs/llms.txt.

يوحي الاسم بـrobots.txt، ولذلك يُخلط بينهما، لكن الوظيفة مختلفة تماماً. فـrobots.txt ملف وصول: يقول أي زاحف يجوز له جلب أي مسار. أما llms.txt فملف وصف؛ لا يمنح أحداً شيئاً، بل يصف المحتوى فقط. ولا يحلّ أحدهما محل الآخر — بل يقفان جنباً إلى جنب.

إن كان robots.txt يحجب GPTBot فلن يغيّر نشرُ llms.txt شيئاً. فالزاحف لا يستطيع جلب الملف، وتبقى الخريطة خلف الباب المغلق.

ما المشكلة التي يحلّها llms.txt؟

حين يحاول نموذج لغوي قراءة موقع، يكون معظم HTML أمامه ليس محتوى: قوائم تنقّل وإشعارات ارتباط وبرامج نصية وملفات أنماط. وعلى النموذج أن ينزع ذلك كلّه، مستهلكاً جزءاً من نافذة سياقه. وفي صفحة رئيسية مؤسسية معتادة لا يتجاوز النص المقروء بضعة بالمئة من البايتات المنزّلة.

يقترح llms.txt أن يتولّى كاتبو الموقع هذا النزع مسبقاً. فملف نصي واحد في الجذر يذكر في فقرة ما هو الموقع، ثم يسرد تحت عناوين الصفحات التي تهمّ. وهكذا تهبط مهمة النموذج من «ماذا في كومة HTML هذه؟» إلى «أي صفحة في هذه القائمة أحتاج؟».

المكان الذي يثبت فيه الملف جدواه اليوم هو مواقع التوثيق لا مواقع التسويق. فإن استطاعت أداة تطوير سحب ملف واحد من عنوان معروف بدل البحث عن صفحة تثبيت مكتبة، تسارع العمل فعلاً. أما في موقع مؤسسي فالمكسب أكثر التواءً، والقسم أدناه يقول ذلك صراحةً.

كيف يُكتب ملف llms.txt؟

الصيغة Markdown، والمواصفة تحدّد ترتيب الأقسام. وهذا الترتيب ليس مسألة ذوق، بل البنية التي يتوقّعها مَن يحلّل الملف.

  1. عنوان H1 واحد: اسم المشروع أو الموقع

    هذا هو القسم الوحيد الذي تفرضه المواصفة. سطر واحد، عنوان واحد، اسم الشركة الكامل — لا شعاراً تسويقياً.

  2. ملخّص داخل اقتباس

    يبدأ السطر بـ>. وعليه أن يحمل ما يلزم لفهم بقية الملف: ما الذي يُباع، ولمن، وأين. ومعظم الأمثلة المتداولة تكتب هذا السطر مائلاً، بينما تقول المواصفة اقتباساً.

  3. أقسام حرّة بلا عناوين (اختيارية)

    بعد الملخّص يمكن إضافة فقرات أو قوائم بلا عناوين: إن كنت لا تنشر الأسعار، أو كانت المقاسات بوحدة بعينها، أو كانت الطلبات عبر الموزّعين فقط — فهنا موضع ذكر ذلك.

  4. قوائم روابط تحت عناوين H2

    كل سطر رابط Markdown، تليه نقطتان وملاحظة قصيرة عمّا تتناوله الصفحة. أما عنوان «Optional» فمخصّص عرفاً للمعلومات الثانوية: روابط يمكن للوكيل تخطّيها حين يحتاج سياقاً أقصر.

مثال كامل لملف llms.txt
# Kuzey Furniture

> مُصنِّع أثاث مكتبي ومنزلي مقرّه إسطنبول. يُنشر الكتالوج والمقاسات التقنية
> على هذا الموقع؛ والبيع عبر الموزّعين فقط.

لا تُنشر قائمة أسعار. وجميع مقاسات المنتجات بالمليمتر.

## Products

- [Office chairs](https://example.com/products/office-chairs): مقاسات وأقمشة وضمان 14 طرازاً
- [Meeting tables](https://example.com/products/meeting-tables): أنظمة طاولات معيارية وجدول مقاسات من 6 إلى 24 شخصاً
- [Storage](https://example.com/products/storage): سلاسل الخزائن والوحدات المتحرّكة وخيارات الإقفال

## Company

- [About](https://example.com/about): سنة التأسيس ومنشأة الإنتاج والطاقة الإنتاجية
- [Dealership](https://example.com/dealership): شروط التقديم وقائمة المناطق
- [Contact](https://example.com/contact): العنوان والهاتف وساعات العمل

## Optional

- [Press archive](https://example.com/press): البيانات المنشورة
- [Careers](https://example.com/careers): الوظائف الشاغرة

الأوصاف أثمن ما في الملف: فقائمة الروابط تُخبر النموذج إلى أين يمكن أن يذهب، والوصف يُخبره إن كان الذهاب يستحق الطلب.

ليست كل صفحة موضعاً للقائمة. والمعيار: الصفحات التي يحتاجها النموذج لفهم الموقع. فكتابة ثلاثمئة سطر لكتالوج من ثلاثمئة منتج تحوّل الخريطة إلى sitemap وتُلغي سبب وجود الملف؛ والصواب ذكر صفحات الفئات وترك المنتجات تحتها.

ما الفرق بين llms.txt وllms-full.txt؟

ملف llms.txt خريطة: يعطي روابط لا نصاً. أما llms-full.txt فيجمع نص الموقع كلّه في ملف واحد ليقرأه النموذج دون أن يتبع رابطاً واحداً. والفرق المهم: llms-full.txt غير وارد في المواصفة. فهو ممارسة انتشرت لا معياراً، وينبغي فهمه على هذا النحو.

في الواقع يحسم الحجمُ الأمر. ففي موقع مؤسسي من عشرين صفحة يكون جمع النص الكامل معقولاً ويبقى الملف بضع مئات من الكيلوبايت. أما في متجر بآلاف المنتجات فيبلغ الملف نفسه ميغابايتات؛ لا أحد يجلبه، ولو جلبه لما أفاد. وهناك يكون الصواب كتابة llms.txt وترك llms-full.txt.

توصي المواصفة أيضاً بطريق أقلّ شهرة: نشر نسخة Markdown نظيفة لكل صفحة — مثل page.html.md أو باستبدال الامتداد بـ.md. وهذا أرخص من توليد ملف ضخم واحد وأسهل بكثير في إبقائه محدَّثاً.

كيف يجب تقديم الملف وكيف أتحقّق منه؟

كتابة الملف هي النصف السهل. أما تقديمه من الخادم بالترويسات الصحيحة فهو الخطوة الأكثر إغفالاً، وملفُ llms.txt المُهيّأ خطأً يبدو للزاحف كأنه غير موجود. ويتحقّق منه أمر واحد:

التحقّق من طريقة التقديم
$ curl -sIL https://example.com/llms.txt

HTTP/2 200
content-type: text/plain; charset=utf-8
content-length: 1483

# استجابات غير مرغوبة:
#   301/302  -> إعادة توجيه؛ الملف ليس في الجذر
#   404      -> غير منشور أو المسار خاطئ
#   text/html-> الخادم يقدّمه كصفحة
#   content-disposition: attachment -> لا تستطيع الزواحف قراءة المحتوى

الراية ‎-L تتبع إعادات التوجيه؛ تحقّق أن العنوان النهائي ما زال /llms.txt. فإن كانت شبكة توصيل المحتوى تحوّله إلى /llms.txt/ فمعظم العملاء لا يتبعونها.

  • يجب أن يكون رمز الاستجابة 200؛ فسلسلة تحويل 30x تجعل الملف غير مرئي لبعض العملاء.
  • يجب أن يكون نوع المحتوى text/plain مع charset=utf-8، وإلا انكسرت المحارف غير اللاتينية.
  • يجب ألّا توجد ترويسة content-disposition: attachment — فهي تَسِم الملف كشيء يُنزَّل لا كشيء يُقرأ.
  • يجب أن يكون الملف بترميز UTF-8. وتسمح المواصفة بعلامة ترتيب البايت، لكن في الملفات المنتَجة على Windows كثيراً ما تلتصق هذه العلامة بالعنوان الأول وتُفسد سطر «# ».
  • يجب ألّا يقع خلف مصادقة أو حماية من الروبوتات: فما لا يستطيع curl قراءته دون تسجيل دخول لا يستطيع أي زاحف قراءته.

كيف يُضاف llms.txt في Next.js وWordPress وShopify؟

كتابة الملف يدوياً ورفعه إلى الخادم أقصر الطرق وأهشّها: فحين يتغيّر الموقع يبقى الملف مكانه ويبدأ الكذب خلال أشهر. وفي المنصّات الثلاث يكون الصواب توليده من المحتوى.

Next.js — app/llms.txt/route.ts
export const dynamic = "force-static";

export function GET() {
  const pages = [
    { url: "/products", name: "Products", note: "الكتالوج وجداول المقاسات" },
    { url: "/dealership", name: "Dealership", note: "شروط التقديم والمناطق" },
  ];

  const body = [
    "# Kuzey Furniture",
    "",
    "> مُصنِّع أثاث مكتبي ومنزلي مقرّه إسطنبول.",
    "",
    "## Pages",
    "",
    ...pages.map((p) => `- [${p.name}](https://example.com${p.url}): ${p.note}`),
    "",
  ].join("\n");

  return new Response(body, {
    headers: { "content-type": "text/plain; charset=utf-8" },
  });
}

لأن القائمة تُولَّد من بيانات الصفحات نفسها، يتحدّث الملف مع المحتوى. وملف /llms.txt في هذا الموقع مكتوب بالطريقة ذاتها.

في WordPress طريقان. وضع ملف فعلي في الجذر ينجح لكنه يختفي عند أول ترحيل للقالب أو الخادم؛ والحل الدائم إضافة أو خطّاف في functions.php يلتقط المسار /llms.txt ويبني الاستجابة من المحتوى المنشور. وإن استخدمت ملفاً فعلياً فتذكّر أن التثبيتات متعدّدة المواقع تحتاج ملفاً لكل نطاق.

أما Shopify فمختلفة، ويُستحسن معرفة ذلك مسبقاً. إذ تتيح قوالب Shopify تحرير robots.txt.liquid فقط؛ ووضع ملف حرّ في الجذر ليس ضمن نطاق القوالب. وعملياً يُقدَّم llms.txt إما عبر تطبيق أو وسيط، أو من طبقة حافّة أمام المتجر مثل Cloudflare Worker. ونشره كصفحة ثم التحويل إليه لا ينفع: فالاستجابة تعود HTML لا text/plain.

هل يقرأ أحدٌ llms.txt فعلاً؟

هذا هو السؤال الأكثر تسويقاً والأقلّ صدقاً في الإجابة عن هذا الملف. وحتى اليوم لم يُعلن أي محرّك كبير أنه يقرأ llms.txt. بل تكتب Google العكس صراحةً: للظهور في AI Overviews وAI Mode «لا تحتاج إلى إنشاء ملفات جديدة قابلة للقراءة آلياً أو ملفات نصية للذكاء الاصطناعي أو ترميز»، و«لا توجد بيانات schema.org خاصة عليك إضافتها».

توثّق OpenAI وAnthropic زواحفهما بالتفصيل — أي وكيل مستخدم لأي مهمة ومن أي نطاقات عناوين — ولا يرد في أي من التوثيقين سطر عن دعم llms.txt. إذن فنشر الملف لا يفتح قناة تقرأها المحرّكات؛ بل يعني الجاهزية إن قرّرت ذلك.

ومع ذلك يبقى نشره معقولاً، لأن كلفته بعد ظهيرة واحدة ولأن قرّاءه ليسوا المحرّكات الكبرى وحدها: فالوكلاء الذين يرسلون طلباً واحداً إلى عنوان معروف، وأدوات التوثيق، وأنظمة البحث الداخلية تستخدم الملف اليوم. والتأطير الصادق هو: llms.txt خطوة رخيصة غير ضارّة موضعها آخر قائمة الأولويات. وما إن تتقدّم على وصول الزواحف وبنية الصفحة حتى تتحوّل إلى مضيعة للوقت.

الترتيب غير قابل للتفاوض: وصول الزواحف أولاً، ثم بنية الإجابة في الصفحة، ثم الترميز، وllms.txt أخيراً. وحين يُكسر هذا الترتيب تظهر الصورة المألوفة — ملف llms.txt لا تشوبه شائبة فوق زاحف بحث محجوب في robots.txt.

كيف يكون llms.txt في موقع متعدّد اللغات؟

لأن المواصفة تسمح بوجود الملف في مسارات فرعية، فثمّة نمطان صالحان. الأول: ملف واحد في الجذر بقسم H2 لكل لغة. والثاني: ملف مستقل تحت مسار كل لغة — ‎/tr/llms.txt و‎/en/llms.txt — ويشير إليها ملف الجذر.

في موقع متوسط بأربع لغات يعمل النمط الأول أفضل: طلب واحد وملف واحد وكل شيء معاً. وحين يتجاوز الملف بضع مئات من الأسطر انتقل إلى الثاني. وفي الحالتين ثمّة خطأ قاتل: إن انفصلت لغة الروابط عن لغة الأوصاف أرسل الملفُ النموذجَ إلى الصفحة باللغة الخطأ.

ملف واحد في الجذر بأقسام حسب اللغة
# Kuzey Mobilya

> İstanbul merkezli ofis ve ev mobilyası üreticisi. Site Türkçe, İngilizce ve
> Almanca yayımlanır; her sayfanın diğer dillerdeki karşılığı vardır.

## Türkçe

- [Ürünler](https://example.com/tr/urunler): Katalog ve ölçü tabloları
- [Bayilik](https://example.com/tr/bayilik): Başvuru koşulları

## English

- [Products](https://example.com/en/products): Catalogue and dimension tables
- [Dealership](https://example.com/en/dealership): Application terms

## Deutsch

- [Produkte](https://example.com/de/produkte): Katalog und Maßtabellen
- [Händler](https://example.com/de/haendler): Bewerbungsbedingungen

ما الفرق بين llms.txt وrobots.txt وsitemap.xml؟

ثلاثة ملفات، ثلاث مهام — لا يحلّ أحدها محل الآخر

  • robots.txt

    ماذا يقول
    أي زاحف يجوز له جلب أي مسار
    من يقرأه
    كل الزواحف
    أهو معيار؟
    نعم — RFC 9309
  • sitemap.xml

    ماذا يقول
    قائمة العناوين وتواريخ آخر تعديل
    من يقرأه
    زواحف محركات البحث
    أهو معيار؟
    نعم — sitemaps.org
  • llms.txt

    ماذا يقول
    ما هو الموقع وما تتناوله كل صفحة
    من يقرأه
    لا محرّك أعلن دعمه؛ الوكلاء وأدوات التوثيق
    أهو معيار؟
    لا — اقتراح

ما الأخطاء الخمسة الأكثر شيوعاً؟

  • نسخ sitemap.xml ونشره باسم llms.txt. فخريطة الموقع تمنح عناوين، بينما وُجد llms.txt ليمنح معنى، وقائمة روابط بلا أوصاف لا تضيف شيئاً.
  • كتابة سطر الملخّص مائلاً. تقول المواصفة اقتباساً (>)؛ والسطر المائل لا يتعرّف عليه كملخّص عميلٌ يحلّل بصرامة.
  • اعتبار الملف إذناً. فـllms.txt لا يمنح أي زاحف شيئاً؛ وإن كان الحجب في robots.txt أو في الجدار الناري فهناك يُحلّ.
  • كتابة الملف وترك الصفحات كما هي. فالخريطة تقود النموذج إلى الصفحة، وإن لم تكن فيها فقرة قابلة للاقتباس ذهبت الزيارة بلا نتيجة.
  • كتابته مرة ثم نسيانه. فملف llms.txt الذي تعيد ثلاثة من روابطه 404 بعد ستة أشهر لا يصف الموقع — بل يصفه خطأً ويجرّ معه مصداقية الملف كله.

أسئلة متكررة

هل llms.txt إلزامي؟

لا. ملف llms.txt اقتراح لا معيار تبنّته محركات البحث أو مزوّدو النماذج معاً، ووجوده وحده لا يجلب ترتيباً ولا استشهادات. وكلفته منخفضة بما يجعل نشره معقولاً، لكنه يأتي في أي ترتيب أولويات خلف وصول الزواحف وبنية الصفحة.

هل يفيد llms.txt في تحسين محركات البحث؟

لا أثر مباشر له في الترتيب التقليدي، وتقول Google ذلك في توثيقها: الظهور في ميزات الذكاء الاصطناعي لا يتطلّب ملفاً جديداً قابلاً للقراءة آلياً. لكن الفائدة غير المباشرة حقيقية — فكتابة الملف تُلزمك بمراجعة أي صفحاتك تشرح شيئاً فعلاً، وتنتهي هذه المراجعة غالباً بإصلاح الصفحات نفسها.

كم ينبغي أن يكون طول llms.txt؟

لا تضع المواصفة حدّاً، لكن غاية الملف تضع واحداً: أن يفهم النموذج الموقع في قراءة واحدة. وفي موقع مؤسسي يعني ذلك عادةً 20 إلى 60 رابطاً. أما ملف llms.txt الذي يبلغ مئات الأسطر فقد صار دليلاً لا خريطة، وأعاد المشكلة التي وُجد ليحلّها.

نشرتُ llms.txt ولا أظهر في ChatGPT — لماذا؟

لأن الأمرين غير مرتبطين. فحين يجيب ChatGPT عن سؤال يبحث، ويبحث عبر OAI-SearchBot؛ فإن كان هذا الزاحف محجوباً في robots.txt أو أسقطته حماية الروبوتات أمام الخادم، فلن يقرأ موقعك إطلاقاً. وllms.txt لا يغيّر أي حلقة في هذه السلسلة. تحقّق من الوصول أولاً، ثم تأكّد أن الصفحة تحمل فقرة إجابة قابلة للاقتباس.

كم مرة ينبغي تحديث llms.txt؟

إن كان الملف مكتوباً يدوياً فيلزم مراجعته بعد كل قسم جديد أو صفحة محذوفة — أي شهرياً عملياً. وإن كان مولَّداً من المحتوى فالسؤال يحلّ نفسه، وهذا هو الطريق المفضَّل. وأرخص ضبط هو نصّ برمجي شهري يطلب كل رابط في الملف ويبلّغ عن العائد منها بـ404.

المصادر

  1. 01The /llms.txt file proposalllmstxt.org, 2024
  2. 02AI features and your websiteGoogle Search Central, 2026
  3. 03OpenAI crawlers: GPTBot, OAI-SearchBot, ChatGPT-User, OAI-AdsBotOpenAI, 2026
  4. 04GEO: Generative Engine OptimizationAggarwal, Murahari, Rajpurohit, Kalyan — KDD 2024, 2024

استعلامات تجيب عنها هذه الصفحة

  • ما هو llms.txt
  • إنشاء llms.txt
  • مثال llms.txt
  • فائدة llms.txt

لنتحدّث عن مشروعك.

علامة جديدة، أو موقع يحتاج إعادة بناء، أو ظهور في البحث — أخبرنا من أين تريد أن تبدأ ولنضع خارطة الطريق معاً.