---
title: llms.txt وrobots.txt وتقديم الصفحات بصيغة Markdown
description: الوكلاء يقرؤون بطريقة تختلف عن المتصفحات. ما يحصل عليه كل موقع مُنشأ: llms.txt وسياسة صريحة لزواحف الذكاء الاصطناعي وكل صفحة بصيغة markdown.
date: 2026-09-08
author: crea.site
tags: [seo, agents]
---

نسبة متزايدة من الناس الذين سيسمعون عن نشاط تجاري صغير لن يزوروا موقعه أبدًا. سيسألون نموذجًا، وسيجيب النموذج مما استطاع قراءته.

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

## يجب أن يسمّي robots.txt زواحف الذكاء الاصطناعي

إن لم تقل عنها شيئًا فإنها ترجع إلى `User-agent: *`. وهذه ليست سياسة، بل قيمة افتراضية ورثتها.

لذلك نسمّيها. وكلاء البحث والإجابة الذين يعيدون الاستشهادات - `OAI-SearchBot` و`ChatGPT-User` و`Claude-SearchBot` و`Claude-User` و`PerplexityBot` - وزواحف التدريب `GPTBot` و`ClaudeBot` و`Google-Extended` و`meta-externalagent`. يرث كلٌّ منها قائمة `Disallow` نفسها التي يرثها الجميع: لا زاحف يصل إلى واجهة API، ولا زاحف يصل إلى صفحة خاصة بالأعضاء.

تسميتها ليست تساهلًا. بل هي كتابة السياسة في مكان يمكن تغييره فيه عن قصد.

## llms.txt فهرس محتويات، لا إعلان

اصطلاح [llms.txt](https://llmstxt.org) بسيط: عنوان، وملخص من فقرة واحدة في اقتباس، ثم أقسام مرتبطة بروابط. ينبغي أن يعرف النموذج الذي يصل إليه ما هذا الموقع وأين صفحاته المهمة، في طلب واحد ودون عرض أي شيء.

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

```
# Piekarnia Lune

> A sourdough bakery in Kraków. Bread baked daily, cakes to order,
> open from seven.

## Pages

- [Menu](https://...): What we bake, and what it costs.
- [Order a cake](https://...): Wedding and birthday cakes, two weeks' notice.
```

قائمة واحدة تُقرأ ثلاث مرات - بواسطة خريطة الموقع، وبواسطة `llms.txt`، وبواسطة وسم `robots` الوصفي. لا سبيل لأن تختلف الثلاثة، لأنه لا شيء يلزم مزامنته.

## كل صفحة، بصيغة markdown

أسرع طريقة لسوء الفهم هي أن تجبر القارئ على تحليل صفحة مليئة بالتنسيق ليجد ثلاث جمل. لذلك تستجيب كل صفحة في كل موقع مُنشأ لـ markdown كما تستجيب لـ HTML:

- أرسل `Accept: text/markdown` فتحصل على الصفحة بصيغة markdown على العنوان نفسه.
- أو أضف `.md` إلى المسار، للوكلاء الكثيرين الذين لا يجرون التفاوض على المحتوى.

والقواعد التي تُبقي هذا أمينًا تستحق الذكر. إنه _إعادة كتابة_ لا إعادة توجيه. ولا يحدث إلا عند طلب صريح لـ `text/markdown`، وأبدًا عند `*/*` - فالمتصفح الذي يرسل "أي شيء" يريد الصفحة. وتحمل الاستجابتان `Vary: Accept`، فلا تستطيع ذاكرة مؤقتة مشتركة أن تقدّم محتوى واحدًا للجميع. ونسخة markdown موسومة `noindex`، فلا تنافس في البحث الصفحة التي هي نسخة منها.

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

## وينطبق علينا أيضًا

هذا المقال متاح على العنوان نفسه مع `.md` في نهايته. وكذلك كل صفحة أخرى في crea.site، ويسردها [llms.txt الخاص بنا](/llms.txt).

منشئ مواقع لا يستطيع وكيل قراءة صفحاته هو نفسه يحتجّ ضد نفسه.
