ملف llms.txt: ما هو، وما الذي لا يفعله، ومتى يستحق وقتك
ما هو llms.txt وما لا يفعله: Google يتجاهله ولا مساعد يوثّق قراءته للاستشهاد. متى يستحق وقتك، وقالب عربي، وكيف تعرف من سجلات الخادم هل يطلبه أحد.
قالب JSON-LD لموقع عربي وفق توثيق Google: المؤسسة واسم الموقع وصفحة الكاتب، بالاسم العربي واللاتيني وsameAs وطرق الفحص، دون وعود بظهور في الذكاء الاصطناعي.
البيانات المنظمة (Structured data) سطور JSON-LD في صفحتك تصف لـ Google من أنت بصيغة ثابتة. لهوية الموقع ثلاثة أنواع، ولكل منها صفحة:
OnlineStore) في الصفحة الرئيسية أو صفحة «من نحن»: الاسم، والأسماء البديلة، والشعار، ووسائل التواصل، والعنوان، والحسابات الرسمية. بحسب Google، تساعده على التمييز بين مؤسستك وغيرها، وقد تؤثر على الشعار الذي يظهر في النتائج وفي لوحة المعلومات (Knowledge panel). لا توجد خصائص إلزامية.ما لا تفعله: لا تضمن ظهور أي شيء؛ Google يقول إن البيانات المنظمة «تتيح» الميزة ولا «تضمنها». ولا يلزم أي نوع منها للظهور في AI Overviews أو AI Mode، ولا توجد علامات خاصة بالذكاء الاصطناعي. الشرط الأهم: كل ما تكتبه في العلامات يجب أن يكون ظاهرًا وصحيحًا في الصفحة نفسها. القوالب أسفل الصفحة جاهزة للنسخ، ومعها مثال لموقع عربي.
| الصفحة | النوع | ما يفيده بحسب توثيق Google |
|---|---|---|
| الصفحة الرئيسية | WebSite | تحديد اسم الموقع المفضل وأسمائه البديلة في النتائج. يجب أن يكون على الصفحة الرئيسية للنطاق أو النطاق الفرعي |
| الرئيسية أو «من نحن» | Organization أو نوع فرعي | فهم المؤسسة وتمييزها، والشعار في النتائج ولوحة المعلومات. لا حاجة لوضعه في كل الصفحات |
| صفحة كاتب أو «عنّي» | ProfilePage مع Person | فهم صاحب المحتوى. يجب أن يكون موضوع الصفحة الرئيسي شخصًا أو مؤسسة مرتبطة بالموقع |
| صفحات المقالات | Article مع author | ربط المقال بكاتبه عبر رابط صفحة الكاتب في author.url |
اختر أدق نوع فرعي: Google ينصح مثلًا بـ OnlineStore للمتجر الإلكتروني بدل OnlineBusiness. الصفحة الرئيسية لمتجر ليست صفحة ProfilePage؛ Google يذكرها صراحة كاستخدام غير صحيح.
Google لا يشترط خصائص في Organization، وينصح بالتركيز على ما يفيد المستخدم: الاسم أو الاسم البديل، وما يدل على وجود حقيقي (عنوان أو هاتف)، وما يدل على وجود رقمي (الرابط والشعار). أهم الخصائص التي يذكرها:
| الخاصية | ماذا تكتب |
|---|---|
| name | الاسم الذي تستخدمه في الموقع، وهو نفسه اسم الموقع في WebSite |
| alternateName | اسم آخر شائع: الاسم اللاتيني أو الاختصار |
| url | رابط الموقع الرئيسي |
| logo | رابط صورة الشعار (112×112 على الأقل) |
| description | وصف المؤسسة، بجمل موجودة في الموقع |
| email و telephone | وسيلة التواصل الأساسية، والهاتف برمز الدولة (+20 لمصر، +966 للسعودية) |
| contactPoint | وسائل الدعم الأخرى إن وُجدت |
| address | العنوان إن كان منشورًا في الموقع، ورمز الدولة بحرفين مثل EG أو SA |
| sameAs | روابط حساباتك في مواقع أخرى |
| legalName و taxID و vatID | الاسم القانوني ورقم التسجيل الضريبي، إن كانت ظاهرة للعملاء في الموقع |
في ProfilePage الإلزامي هو mainEntity (الشخص أو المؤسسة موضوع الصفحة)، وداخله name. ويُنصح بـ alternateName وdescription (اللقب أو المؤهل) وimage وsameAs وdateCreated وdateModified.
example.com) لو لم يُختر اسمك المفضل."inLanguage": "ar" في WebSite وProfilePage. Google لا يذكرها في دليل اسم الموقع، فهي توضيح لا أكثر.og:site_name. لو العلامات تقول «حكاية بُن» والعنوان يقول «Hekayet Bonn Store»، فأنت ترسل إشارتين متعارضتين.بحسب Google، sameAs رابط لصفحة في موقع آخر فيها معلومات إضافية عن مؤسستك، مثل حسابك في شبكة اجتماعية أو موقع تقييمات. وبحسب schema.org هو رابط صفحة «تحدد هوية الشيء دون لبس».
url أو sameAs في author لتمييز الكاتب، وينصح بأن يشير url إلى صفحة الكاتب في موقعك إن وُجدت.Google يدعم JSON-LD وMicrodata وRDFa، وينصح بـ JSON-LD لأنه الأسهل صيانة. عندما تضع أكثر من عنصر مرتبط (موقع ومؤسسة، أو صفحة كاتب ومقالاته)، يذكر Google استخدام @id لربطها.
https://example.com/#organization وhttps://example.com/#website، ولا تغيّره بعد النشر.publisher في WebSite بمعرف المؤسسة، وauthor في المقال بمعرف الكاتب أو رابط صفحته.من إرشادات Google العامة للبيانات المنظمة:
وحدّث العلامات عند تغيير الهاتف أو العنوان أو الشعار أو إضافة حساب. العلامة القديمة التي تخالف الصفحة خطأ من النوع نفسه.
مثال افتراضي للتعليم — ليس عميلًا حقيقيًا، والأرقام مفترضة لشرح الطريقة
متجر افتراضي على الإنترنت فقط، يبيع البن في مصر باسم «حكاية بُن» ويُكتب لاتينيًا Hekayet Bonn. نتائج Google كانت تعرض اسم النطاق بدل اسم المتجر، وشعارًا قديمًا. عند المراجعة وجد الفريق ثلاث مشكلات: لا توجد علامة WebSite، وإضافة SEO تضع Organization باسم لاتيني فقط، وعنوان الصفحة الرئيسية بالإنجليزية.
ما وضعه في الصفحة الرئيسية بعد التعديل، وكل قيمة يقابلها مكان ظاهر في الموقع:
| الخاصية | القيمة | أين تظهر في الموقع |
|---|---|---|
| @type | OnlineStore | متجر إلكتروني بلا فرع |
| name | حكاية بُن | الشعار وعنوان الصفحة الرئيسية بعد تعديله |
| alternateName | Hekayet Bonn | تحت الشعار وفي التذييل |
| WebSite.alternateName | Hekayet Bonn، ثم النطاق بحروف صغيرة | ترتيب الأفضلية |
| WebSite.inLanguage | ar | لغة الموقع |
| logo | ملف PNG بمقاس 512×512 على خلفية بيضاء | رأس الصفحة |
| telephone | +20-10-0000-0000 | التذييل وصفحة التواصل |
| sameAs | فيسبوك وإنستجرام وتيك توك الرسمية | أيقونات التذييل |
| address | لا شيء | المتجر لا ينشر عنوانًا، فلم يُضف |
الفحص: Rich Results Test وجد عنصر Organization صالحًا، وSchema Markup Validator قرأ WebSite بلا أخطاء. لكن مراجعة يدوية كشفت أن الهاتف في العلامات رقم قديم يختلف عن التذييل، فصُحح قبل النشر. هذا خطأ لا تكشفه الأدوات.
النتيجة: الفريق طلب إعادة الزحف وسجّل التاريخ، ويراجع اسم الموقع والشعار في النتائج أسبوعيًا. لا يمكن ضمان أن يختار Google الاسم أو الشعار؛ الذي يمكن ضمانه أن الإشارات صحيحة ومتسقة. الأرقام والأسماء افتراضية لشرح الطريقة.
ضعها في head الصفحة الرئيسية (أو صفحة «من نحن» للمؤسسة). استبدل example.com بنطاقك وكل ما بين الأقواس المربعة، واحذف أي خاصية غير ظاهرة في موقعك، مثل address لمتجر بلا عنوان منشور. غيّر OnlineStore إلى Organization أو نوع فرعي أدق يناسبك.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "WebSite",
"@id": "https://example.com/#website",
"url": "https://example.com/",
"name": "[اسم الموقع بالعربية كما في عنوان الصفحة الرئيسية]",
"alternateName": ["[الاسم باللاتينية]", "example.com"],
"inLanguage": "ar",
"publisher": { "@id": "https://example.com/#organization" }
},
{
"@type": "OnlineStore",
"@id": "https://example.com/#organization",
"name": "[الاسم بالعربية، نفس اسم الموقع]",
"alternateName": "[الاسم باللاتينية]",
"url": "https://example.com/",
"logo": "https://example.com/images/logo.png",
"description": "[وصف المؤسسة بجملة موجودة في الموقع]",
"email": "[البريد الظاهر في الموقع]",
"telephone": "[+20-10-0000-0000]",
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer service",
"telephone": "[رقم خدمة العملاء برمز الدولة]",
"email": "[بريد الدعم]"
},
"address": {
"@type": "PostalAddress",
"streetAddress": "[الشارع والرقم]",
"addressLocality": "[المدينة]",
"addressRegion": "[المحافظة أو المنطقة]",
"postalCode": "[الرمز البريدي]",
"addressCountry": "[EG أو SA أو AE]"
},
"sameAs": [
"https://www.facebook.com/[حسابك]",
"https://www.instagram.com/[حسابك]",
"https://www.linkedin.com/company/[حسابك]"
]
}
]
}
</script>الكتلة الأولى لصفحة الكاتب أو «عنّي» فقط. الكتلة الثانية جزء author تضعه داخل علامات Article في كل مقال للكاتب نفسه. image اختيارية: لا تضع صورة افتراضية إن لم توجد صورة حقيقية.
<!-- 1) في صفحة الكاتب: https://example.com/team/[slug] -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "ProfilePage",
"url": "https://example.com/team/[slug]",
"inLanguage": "ar",
"dateCreated": "[2026-01-15T10:00:00+02:00]",
"dateModified": "[2026-09-27T10:00:00+02:00]",
"mainEntity": {
"@type": "Person",
"@id": "https://example.com/team/[slug]#person",
"name": "[الاسم كما يظهر في الصفحة]",
"alternateName": "[الاسم باللاتينية]",
"description": "[اللقب أو المؤهل كما يظهر في الصفحة]",
"image": "https://example.com/images/team/[slug].jpg",
"worksFor": { "@id": "https://example.com/#organization" },
"sameAs": [
"https://www.linkedin.com/in/[حسابه]",
"https://x.com/[حسابه]"
]
}
}
</script>
<!-- 2) داخل علامات Article في كل مقال لهذا الكاتب -->
"author": [{
"@type": "Person",
"name": "[الاسم فقط، بلا لقب أو اسم الناشر]",
"url": "https://example.com/team/[slug]"
}]الصقه في ChatGPT أو Claude أو Gemini مع نص صفحتك الرئيسية وتذييلها. القالب يمنع النموذج من إضافة أي حقيقة غير ظاهرة في الصفحة، ويطلب منه أن يسألك عن الناقص.
أنت متخصص في البيانات المنظمة وفق توثيق Google Search Central. اكتب علامات JSON-LD لموقعي: عقدة WebSite وعقدة Organization (بأدق نوع فرعي مناسب)، مربوطتين بـ @id على نطاقي، في كتلة script واحدة. بيانات الموقع: - النطاق: [ ] - نوع النشاط (متجر إلكتروني فقط / متجر بفرع / شركة خدمات / SaaS): [ ] - نص الصفحة الرئيسية وعنوانها وتذييلها: [الصق النص] - رابط الشعار ومقاسه: [ ] - الحسابات الرسمية التي نديرها: [ ] - لغة الموقع: [ ] القواعد: 1. لا تضف أي خاصية إلا إذا كانت قيمتها ظاهرة في النص الذي أعطيتك. إن كانت قيمة ناقصة (هاتف، عنوان، اسم لاتيني)، اسألني عنها ولا تخمّنها. 2. name في WebSite وOrganization هو الاسم المستخدم في عنوان الصفحة الرئيسية. الأسماء الأخرى في alternateName. 3. ضع inLanguage في WebSite فقط، لا في Organization. 4. لا تضف aggregateRating أو review للمؤسسة، ولا أي علامة لا تصف محتوى ظاهرًا. 5. لا تكتب أي وعد بأن العلامات تحسن الترتيب أو الظهور في الذكاء الاصطناعي. بعد الكود اكتب: - جدولًا: الخاصية | القيمة | الجملة التي أخذتها منها في النص. - قائمة بالقيم التي تحتاج أن أؤكدها، والقيم التي حذفتها لأنها غير ظاهرة. - خطوات الفحص: Rich Results Test لـ Organization، وSchema Markup Validator لـ WebSite.
هذه العلامات تُقاس بصحتها واتساقها، لا بالزيارات:
لا تقِس أثرها بسؤال مساعدات الذكاء الاصطناعي عن علامتك؛ لا توجد وثيقة تربط بين هذه العلامات وتلك الإجابات.
لاحظت خطأ أو رقمًا تغيّر؟ أرسل لنا التصحيح.