GEO · 2026-09-08 · قراءة 11 دقيقة

تجربة ملف llms.txt — قياس سلوك زواحف الذكاء الاصطناعي

ملف llms.txt اتفاقية ناشئة وليس معيارًا تفرضه كل المنصات. تعامل معه كتجربة: انشر endpoint مختصرًا، سجّل الطلبات، قارن مع HTML العادي، وانشر الملاحظات حسب التاريخ وUser-Agent والحالة وحجم الاستجابة.

النطاق: هذا مرجع تنفيذ عملي. راجع توثيق Google والمنصات الحالية قبل اتخاذ قرار إصدار أو سياسة.

ماذا يستطيع الملف وماذا لا يستطيع؟

يمكن لـ`/llms.txt` أن يقدم خريطة قابلة للقراءة الآلية لأهم الصفحات. لكنه لا يمنح صلاحية وصول، ولا يتجاوز robots.txt، ولا يضمن training، ولا يجبر محرك إجابة على citation. قيمته في فهرس ثابت قليل الضوضاء بروابط canonical.

# public/llms.txt
# Abdallah Mekky technical reference
> أدوات ومراجع مجانية لـSEO وGEO وAEO وأداء الويب.

## مراجع أساسية
- [Core Web Vitals](/knowledge/core-web-vitals): قياسات ميدانية وتشخيص.
- [JavaScript SEO](/knowledge/seo-audit-checklist): الزحف والـrendering.

## أدوات
- [PageSpeed Checker](/tools/pagespeed-checker): Lighthouse metrics.
- [Schema Generator](/tools/schema-generator): قوالب JSON-LD.

نفّذ اختبارًا تجريبيًا لسلوك الزواحف

لا تقل إن GPTBot يفسر Markdown أفضل بسبب طلب واحد. اجمع access logs لفترة ثابتة، انشر تغييرًا واحدًا، وقارن تكرار الطلبات وحجم الاستجابات والحالات والطلبات اللاحقة. User-Agent إشارة وليس إثباتًا أن النموذج قرأ المحتوى.

  1. انشر نفس الروابط في llms.txt وفهرس HTML خفيف وXML sitemap.
  2. سجّل الوقت وUser-Agent والمسار والحالة والحجم والـreferer وزمن الاستجابة.
  3. استخدم control period قبل الملف وtreatment period بعده.
  4. قارن كل crawler منفصلًا؛ لا تجمع GPTBot وClaudeBot وPerplexity في رقم AI واحد.
log_format crawler '$time_iso8601 $remote_addr "$request" $status $body_bytes_sent '
                   '"$http_referer" "$http_user_agent" $request_time';
access_log /var/log/nginx/crawler.log crawler;

Endpoint Markdown خفيف

ولّد الملف من allow-list مراجعة بدل نسخ sitemap كاملًا. اجعل الروابط canonical والأوصاف واقعية والاستجابة قابلة للكاش.

// app/llms.txt/route.ts
export const dynamic = 'force-static'

export function GET() {
  return new Response("# Technical SEO Reference\n\n## Tools\n- [PageSpeed Checker](https://www.abdallahmekky.com/tools/pagespeed-checker)\n", {
    headers: { 'content-type': 'text/plain; charset=utf-8', 'cache-control': 'public, max-age=3600' },
  })
}

انشر حجم العينة والفترة الزمنية بوضوح. النتيجة القابلة للدفاع هي ما سجله خادمك، لا ما “فهمه” النموذج.