guides

دليل Directus CMS: نظام إدارة محتوى headless يعتمد أولاً على قاعدة البيانات

بقلم Mert Batur
Apr 6, 2026
12 قراءة
دليل Directus CMS: نظام إدارة محتوى headless يعتمد أولاً على قاعدة البيانات

دليل Directus CMS: نظام إدارة محتوى headless يعتمد أولاً على قاعدة البيانات للمطورين

معظم أنظمة إدارة المحتوى headless تطلب منك بناء نموذج بياناتك داخل منظومتها. Directus يقلب هذه المعادلة — يُغلّف قاعدة بياناتك SQL الموجودة ويمنحك واجهات REST وGraphQL فورية دون المساس بمخططك. مع ~34.5 ألف نجمة على GitHub واعتماده من شركات كـ Tripadvisor وAdobe وMercedes-Benz، فهو من أكثر الخيارات مفتوحة المصدر قدرةً ضمن أفضل أنظمة إدارة المحتوى headless لعام 2026.

الخاصيةالتفاصيل
النوعنظام إدارة محتوى headless مفتوح المصدر
البنيةيعتمد أولاً على قاعدة البيانات (يُغلّف قواعد SQL الموجودة)
قواعد البياناتPostgreSQL، MySQL، MariaDB، SQLite، OracleDB، CockroachDB، MS-SQL
الواجهات البرمجيةREST + GraphQL (في آنٍ واحد)
الاستضافة الذاتيةمجانية تحت عتبة 5 ملايين دولار (رخصة MIT)
السحابةمن 25 دولاراً/شهر
ميزات الذكاء الاصطناعيخادم MCP، مساعد AI (متعدد المزودين)
التحرير التعاونيمتاح أصلاً منذ v11.15
الأنسب لـالفرق التي لديها قواعد بيانات موجودة، مشاريع تعتمد API أولاً
غير مناسب لـبناء الصفحات بصرياً، NoSQL، المدونات البسيطة
GitHub~34.5 ألف نجمة
أحدث إصدارv11.16 (أبريل 2026)

ما هو Directus CMS؟

Directus هو نظام إدارة محتوى headless مفتوح المصدر يُغلّف أي قاعدة بيانات SQL موجودة بواجهات برمجية REST وGraphQL فورية. خلافاً لـ Strapi أو Payload، لا يُنشئ Directus مخطط قاعدة بيانات خاصاً به — بل يعكس مخططك أنت. يدعم 7 قواعد بيانات تشمل PostgreSQL وMySQL وMariaDB وSQLite وOracleDB وCockroachDB وMS-SQL، وهو مجاني للمؤسسات التي تقل إيراداتها عن 5 ملايين دولار وفقاً لـ التوثيق الرسمي لـ Directus.

تخيّله طبقة ذكية تجلس فوق قاعدة بياناتك. تُحضر قاعدة PostgreSQL موجودة بها 50 جدولاً، توجّه Directus نحوها، وفي غضون دقائق لديك واجهة إدارة كاملة، وتحكم في الصلاحيات القائم على الأدوار، ونقطتا نهاية REST وGraphQL. لا سكريبتات ترحيل. لا إعادة هيكلة للبيانات.

هذا هو معنى "قاعدة البيانات أولاً" عملياً، وهو يختلف جوهرياً عن النهج الكودي الذي يتبعه Strapi (حيث تُعرّف أنواع المحتوى التي تُولّد جداول قاعدة البيانات) أو النهج المُدمج بالإطار الذي يتبعه Payload CMS (حيث يعيش نظام إدارة المحتوى داخل تطبيق Next.js الخاص بك).

شرح بنية "قاعدة البيانات أولاً"

حين وصلنا Directus أول مرة بقاعدة بيانات PostgreSQL موجودة لمشروع عميل، ما فاجأنا هو ضآلة الإعداد المطلوب. Directus يفحص مخطط قاعدة بياناتك تلقائياً — الجداول تصبح "مجموعات"، والأعمدة تصبح "حقولاً" — ويبني واجهة إدارته انطلاقاً مما هو موجود بالفعل.

هذا يعني أن بياناتك لن تُقفل في تنسيق خاص. إن قررت التوقف عن استخدام Directus غداً، تبقى قاعدة بياناتك قاعدة SQL معيارية. جرّب ذلك مع Contentful أو Sanity، حيث يعيش محتواك على خوادمهم بتنسيقهم الخاص.

Directus أيضاً ليس مجرد نظام إدارة محتوى. الفريق يُقدّمه كمنصة بيانات قابلة للتركيب — يستخدمه الناس كـ BaaS (خدمة الواجهة الخلفية)، ولوحات إدارة داخلية، ولوحات بيانات مخصصة. حالة الاستخدام كنظام إدارة محتوى هي الأكثر شيوعاً، لكن البنية تدعم أكثر من ذلك بكثير.

الميزات الرئيسية لـ Directus

يوفر Directus واجهتَي REST وGraphQL بالتوازي، وصلاحيات دقيقة قائمة على الأدوار، ونظام Flows للأتمتة مدمجاً، واستوديو بيانات قابل للسحب والإفلات، وإدارة أصول رقمية، ودعم الدولية أصلاً لأكثر من 50 لغة. منذ v11.15 أصبح التحرير التعاوني ومساعد AI ميزتَين أصليتَين — لا إضافات خارجية.

إليك ما يهمك أكثر إن كنت تُقيّم Directus لمشروع:

واجهتا REST وGraphQL بالتوازي

كلتا الواجهتين متاحتان في آنٍ واحد من البيانات ذاتها دون أي إعداد. لا تختار واحدة دون الأخرى — بل تحصل على الاثنتين معاً. يمكن لفريق الموبايل استخدام REST بينما تستخدم الواجهة الأمامية GraphQL. تتبع الواجهة REST نمطاً واضحاً (/items/{collection}) ونقطة نهاية GraphQL في /graphql.

Flows والأتمتة

Flows هو نظام الأتمتة المحرك بالأحداث في Directus، مدمج مباشرةً في واجهة Data Studio. يمكنك تشغيل سير العمل على أحداث CRUD (إنشاء عنصر، تحديثه، حذفه)، وعلى جداول زمنية (بأسلوب cron)، أو على webhooks. تشمل العمليات إرسال بريد إلكتروني، وتقديم طلبات HTTP، وتشغيل JavaScript مخصص، وتحويل البيانات.

للفرق التي تبني مع الذكاء الاصطناعي، يمتلك Directus حتى خادم Model Context Protocol (MCP) أصلياً — لكن سنتفصّل في ذلك في قسم v11.

الإضافات والتخصيص

يدعم نظام الإضافات hooks (معالجات أحداث جانب الخادم)، ونقاط نهاية مخصصة، ولوحات واجهة المستخدم، وحزم modules كاملة، وعُقد operation لـ Flows. تُبنى الإضافات بـ Vue.js للواجهة الأمامية وبـ Node.js العادي للخلفية. في v11.0 أُعيد هيكلة الإضافات من مجلدات قائمة على الأنواع إلى تنسيق مُجمَّع أنظف.

إليك كيف يقف Directus أمام المنافسين من ناحية الميزات:

الميزةDirectusStrapiPayloadSanity
دعم قواعد البيانات7 قواعد SQLPostgreSQL، SQLiteMongoDB، PostgreSQLمستضاف (خاص)
نوع الواجهة البرمجيةREST + GraphQLREST (GraphQL كإضافة)Local API + REST + GraphQLGROQ + GraphQL
الاستضافة الذاتيةنعم (مجانية <5 ملايين $)نعم (مجانية)نعم (مجانية)لا
المحرر البصريData Studio (يركز على البيانات)Content-Type Builderمعاينة حيةSanity Studio
الدولية (i18n)أصلي (50+ لغة)قائم على الإضافاتعلى مستوى الحقلعلى مستوى المستند
الأتمتةFlows (مدمج)Lifecycle hooksHooks + Jobswebhooks مدعومة بـ GROQ
نموذج التسعيرقائم على الإيرادات (عتبة 5 ملايين $)قائم على المقاعدمجاني + سحابةقائم على الاستخدام

الجديد في Directus v11 (2025-2026)

أضاف Directus v11 دعم خادم MCP الأصلي (v11.13)، ومساعد AI يدعم OpenAI وAnthropic وGemini (v11.14)، والتحرير التعاوني مع مؤشرات الحضور الحي (v11.15)، وإصدارات المسودة العالمية مع صلاحيات النشر القائمة على الأدوار (v11.16). كل هذه ميزات مدمجة، لا إضافات مجتمعية.

هذا هو المجال الذي يتقدم فيه Directus بأسرع ما يكون، وهو القسم الذي يُغفله معظم المنافسين كلياً. واحد فقط من بين أبرز ستة أدلة تصنيفية يتطرق لأي منها.

خادم MCP ومساعد AI

إصدار v11.13 جعل Directus من أوائل أنظمة إدارة المحتوى التي تمتلك خادم MCP أصلياً. إن كنت تستخدم Claude أو ChatGPT أو أي أداة ذكاء اصطناعي متوافقة مع MCP، فهي تستطيع إدارة محتوى Directus مباشرةً — قراءة المجموعات، وإنشاء العناصر، وتحديث الحقول — كل ذلك مع احترام صلاحيات RBAC الخاصة بك. إن كنت جديداً على MCP، يشرح دليل Model Context Protocol (MCP) البروتوكول بالتفصيل.

مساعد AI (v11.14) منفصل عن MCP — إنه واجهة دردشة مدمجة داخل Data Studio تدعم OpenAI وAnthropic وGemini، وحتى النماذج المحلية عبر Ollama. بحلول v11.16 أصبح متعدد الوسائط: يمكنك رفع الصور وملفات PDF مباشرةً في محادثة الذكاء الاصطناعي لمعالجتها.

التحرير التعاوني وإصدارات المسودة

شُحن التحرير التعاوني في v11.15 مع مؤشرات الحضور الحي (ترى من يُحرّر العنصر ذاته) وقفل على مستوى الحقل لمنع التعارضات. أضاف الإصدار ذاته حزمة نشر Vercel مع صلاحيات نشر قائمة على الأدوار.

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

الإصدارالتاريخالميزات الرئيسية
v11.02024نظام إضافات جديد، تنسيق مُجمَّع
v11.13نوفمبر 2025دعم خادم MCP الأصلي
v11.14ديسمبر 2025مساعد AI (متعدد المزودين)، واجهة الرأس
v11.15فبراير 2026التحرير التعاوني GA، مساعد AI GA، نشر Vercel
v11.16أبريل 2026إصدارات المسودة العالمية، AI متعدد الوسائط، نشر قائم على الأدوار

البدء مع Directus (إعداد Docker)

يمكنك تشغيل Directus محلياً بـ Docker في أقل من دقيقتين. أنشئ ملف docker-compose.yml بصورة directus/directus، واضبط اتصال قاعدة البيانات وبيانات اعتماد المسؤول كمتغيرات بيئة، ثم شغّل docker compose up. يبدأ Directus على localhost:8055.

استغرق إعداد Docker أقل من دقيقتين من البداية. إليك ملف docker-compose.yml كاملاً يتضمن PostgreSQL — لا مجرد حاوية Directus، بل المكدس الكامل:

yaml
# docker-compose.yml
version: "3"
services:
  database:
    image: postgis/postgis:16-3.4-alpine
    environment:
      POSTGRES_USER: directus
      POSTGRES_PASSWORD: directus
      POSTGRES_DB: directus
    volumes:
      - directus_data:/var/lib/postgresql/data

  directus:
    image: directus/directus:11.16
    ports:
      - "8055:8055"
    depends_on:
      - database
    environment:
      KEY: "your-random-key-here"
      SECRET: "your-random-secret-here"
      ADMIN_EMAIL: "[email protected]"
      ADMIN_PASSWORD: "change-me-please"
      DB_CLIENT: "pg"
      DB_HOST: "database"
      DB_PORT: "5432"
      DB_DATABASE: "directus"
      DB_USER: "directus"
      DB_PASSWORD: "directus"
    volumes:
      - directus_uploads:/directus/uploads

volumes:
  directus_data:
  directus_uploads:

شغّله:

bash
docker compose up -d

افتح http://localhost:8055، سجّل الدخول ببيانات اعتماد المسؤول التي ضبطتها، وستكون في Data Studio. من هنا يمكنك إنشاء مجموعات (جداول)، وتعريف حقول (أعمدة)، والبدء في إدارة المحتوى فوراً. متغيرات البيئة KEY وSECRET تُستخدم لتوليد رمز JWT — استخدم سلاسل عشوائية في الإنتاج، لا العناصر النائبة أعلاه.

الاستعلام عن البيانات باستخدام Directus SDK

يوفر Directus JavaScript SDK وصولاً آمناً من حيث الأنواع إلى بياناتك عبر REST وGraphQL معاً. ثبّت @directus/sdk، أنشئ عميلاً بـ createDirectus()، واستخدم readItems() للاستعلام عن المجموعات مع التصفية والترتيب واختيار الحقول.

نمط SDK القابل للتركيب بدا بديهياً بعد العمل مع مكتبات كعميل Supabase. تبدأ بعميل أساسي وتضيف قدرات بتركيب دوال:

typescript
// lib/directus.ts
import { createDirectus, rest, readItems, createItem } from '@directus/sdk';

const client = createDirectus('http://localhost:8055').with(rest());

// جلب المقالات المنشورة مع حقول محددة
const articles = await client.request(
  readItems('articles', {
    fields: ['id', 'title', 'slug', 'content', 'author.name'],
    filter: {
      status: { _eq: 'published' }
    },
    sort: ['-date_published'],
    limit: 10
  })
);

إنشاء العناصر يتبع النمط ذاته:

typescript
// إنشاء مقالة جديدة
const newArticle = await client.request(
  createItem('articles', {
    title: 'My New Post',
    slug: 'my-new-post',
    content: '<p>Hello from Directus.</p>',
    status: 'draft'
  })
);

للمصادقة، تختار بين staticToken() (للتواصل بين الخوادم) وauthentication() (للتطبيقات التي تواجه المستخدم بتدفقات تسجيل دخول):

typescript
import { createDirectus, rest, staticToken } from '@directus/sdk';

// جانب الخادم مع رمز ثابت
const client = createDirectus('http://localhost:8055')
  .with(staticToken('your-api-token'))
  .with(rest());

أمثلة على واجهة REST البرمجية

لكل طريقة في SDK نقطة نهاية REST مكافئة. إن كنت تفضل العمل مع curl أو fetch مباشرةً:

bash
# جلب المقالات المنشورة
curl "http://localhost:8055/items/articles?filter[status][_eq]=published&sort=-date_published&limit=10&fields=id,title,slug"

# إنشاء عنصر جديد
curl -X POST "http://localhost:8055/items/articles" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "My Post", "status": "draft"}'

استعلامات GraphQL

البيانات ذاتها متاحة عبر GraphQL على /graphql:

graphql
query {
  articles(
    filter: { status: { _eq: "published" } }
    sort: ["-date_published"]
    limit: 10
  ) {
    id
    title
    slug
    content
    author {
      name
    }
  }
}

لا حاجة لإعداد GraphQL أو تفعيله منفصلاً — فهو متاح دائماً إلى جانب REST.

Directus مع Next.js (تكامل الإطار)

يستغرق توصيل Directus بـ Next.js ثلاث خطوات: ثبّت @directus/sdk، أنشئ عميل lib/directus.ts، واجلب البيانات في Server Components باستخدام readItems(). يُعيد Directus JSON خاماً، لذا لديك تحكم كامل في التصيير دون مكونات خاصة بالمزود.

هذا أنظف جزء في العمل مع Directus. لا محوّل إطار خاص، لا مكونات React خاصة بـ Directus، لا إضافة بناء. مجرد جلب بيانات. إن كنت عملت مع أي REST API في Next.js، أنت تعرف كيف يعمل هذا بالفعل. للسياق حول اختيارات الإطار، راجع مقارنة Next.js وRemix.

أولاً، أنشئ العميل المشترك (هذا الملف ذاته من قسم SDK، لكن مُهيّأ لنسختك المُوزَّعة):

typescript
// lib/directus.ts
import { createDirectus, rest, staticToken, readItems } from '@directus/sdk';

const directus = createDirectus(process.env.DIRECTUS_URL!)
  .with(staticToken(process.env.DIRECTUS_TOKEN!))
  .with(rest());

export default directus;
export { readItems };

ثم استخدمه في Server Component — لا useEffect، لا حالات تحميل، مجرد async/await:

tsx
// app/blog/page.tsx
import directus, { readItems } from '@/lib/directus';

export default async function BlogPage() {
  const posts = await directus.request(
    readItems('posts', {
      fields: ['id', 'title', 'slug', 'excerpt', 'date_published'],
      filter: { status: { _eq: 'published' } },
      sort: ['-date_published'],
    })
  );

  return (
    <main>
      <h1>Blog</h1>
      {posts.map((post) => (
        <article key={post.id}>
          <h2><a href={`/blog/${post.slug}`}>{post.title}</a></h2>
          <p>{post.excerpt}</p>
          <time>{post.date_published}</time>
        </article>
      ))}
    </main>
  );
}

هذا كل شيء. لا تقييد بمزود معين. الأسلوب ذاته يعمل مع Astro وNuxt وSvelteKit وأي إطار قادر على تقديم طلبات HTTP. تضمّ وثائق Directus الرسمية أدلة خاصة بـ Astro وNuxt إن أردتها، لكن النمط متطابق: أنشئ العميل، استدع readItems()، قدّم.

تسعير Directus وترخيصه (2026)

Directus مجاني للاستضافة الذاتية تحت رخصة MIT للمؤسسات التي تقل إيراداتها السنوية أو تمويلها عن 5 ملايين دولار. فوق هذا الحد يُطلب ترخيص تجاري للاستخدام في الإنتاج. تبدأ Directus Cloud من 25 دولاراً/شهر (Starter) وتتراوح خطط Professional بين 49 و499 دولاراً/شهر، وفقاً لـ صفحة التسعير الخاصة بهم.

عتبة الـ 5 ملايين دولار في الإيرادات

هذه الحقيقة التجارية الأكثر أهمية بشأن Directus، ومعظم الأدلة إما تدفنها أو تتجاهلها كلياً. إليك كيف تعمل:

  • دون 5 ملايين دولار سنوياً في الإيرادات أو التمويل الكلي: مجاني للأبد. رخصة MIT. استضف في أي مكان. لا قيود على الميزات.
  • فوق 5 ملايين دولار في الإنتاج: تحتاج ترخيصاً تجارياً. تواصل مع مبيعات Directus للتسعير.
  • التطوير والاختبار: مجانيان دائماً بصرف النظر عن حجم الشركة. العتبة تنطبق فقط على بيئات الإنتاج.

يشمل رقم الـ 5 ملايين دولار تمويل رأس المال الجريء، ليس الإيرادات فحسب. لذا شركة ناشئة في مرحلة بذرية بتمويل 6 ملايين دولار تقنياً تتجاوز هذه العتبة. من الناحية العملية، Directus لم تكن عدوانية في التطبيق على الشركات في مراحلها المبكرة، لكن يجب أخذ هذا بعين الاعتبار في تخطيطك.

خطط السحابة

إن لم تكن تريد إدارة البنية التحتية، تتولى Directus Cloud الاستضافة والنسخ الاحتياطي والتحديثات:

  • Starter: 25 دولاراً/شهر — مناسب للمشاريع الصغيرة والمواقع الشخصية
  • Professional: 49-499 دولاراً/شهر — يتوسع مع التخزين وعرض النطاق وتحويلات الأصول
  • Enterprise: تسعير مخصص — اتفاقية مستوى الخدمة، بنية تحتية مخصصة، دعم ذو أولوية

لا ترخيص بالمقعد. فريقك كله يستخدم الخطة ذاتها. قارن ذلك بـ Contentful الذي يحتسب رسوماً لكل مستخدم (راجع تفصيل تسعير Contentful)، أو Sanity الذي يحتسب رسوماً بناءً على استخدام الواجهة البرمجية وعرض نطاق مجموعة البيانات.

نظام إدارة المحتوىالطبقة المجانيةبداية التسعير المدفوعنموذج التسعيرالاستضافة الذاتية
Directusنعم (<5 ملايين $ إيرادات)25 $/شهر (سحابة)قائم على الإيراداتنعم
Strapiنعم (مفتوح المصدر كلياً)29 $/شهر (سحابة)قائم على المقاعدنعم
Payloadنعم (مفتوح المصدر كلياً)سحابة (تجريبي)قيد التحديدنعم
Contentfulنعم (محدود)300 $/شهرمقعد + استخداملا
Sanityنعم (محدود)15 $/شهرقائم على الاستخداملا

Directus مقابل Strapi مقابل Payload: مقارنة شاملة

يُغلّف Directus قواعد البيانات الموجودة دون ترحيل، بينما يُولّد Strapi مخططه الخاص من أنواع المحتوى، ويُدمج Payload مباشرةً في تطبيق Next.js الخاص بك. يدعم Directus 7 قواعد بيانات، وStrapi قاعدتَين، وPayload قاعدتَين. الثلاثة مفتوحو المصدر، لكن فلسفاتهم مختلفة جداً.

بعد بناء مشاريع مع Strapi وDirectus على حد سواء، أكبر فرق هو كيفية تفكيرهم في قاعدة بياناتك. مع Strapi، تُعرّف أنواع المحتوى في واجهة الإدارة أو الكود، وينشئ Strapi جداول قاعدة البيانات ويديرها نيابةً عنك. مع Directus، قاعدة البيانات هي مصدر الحقيقة — Directus يقرأها ويتكيف معها.

الميزةDirectusStrapiPayload
البنيةقاعدة البيانات أولاً (يُغلّف قاعدة البيانات الموجودة)كود أولاً (يُولّد قاعدة البيانات من النماذج)مُدمج بالإطار (يعيش في Next.js)
قواعد البياناتPostgreSQL، MySQL، MariaDB، SQLite، OracleDB، CockroachDB، MS-SQLPostgreSQL، SQLiteMongoDB، PostgreSQL
الواجهات البرمجيةREST + GraphQL (كلاهما أصلي)REST (GraphQL كإضافة)Local API + REST + GraphQL
واجهة الإدارةData Studio (Vue.js)Content Manager (React)Admin Panel (React، مُدمج)
نجوم GitHub~34.5 ألف~68 ألف~33 ألف
الاستضافة السحابيةDirectus Cloud (25 $/شهر+)Strapi Cloud (29 $/شهر+)Payload Cloud (تجريبي)

متى تختار Directus: لديك قاعدة بيانات موجودة، تريد REST+GraphQL بالتوازي من البداية، أو تحتاج دعم قواعد بيانات أقل شيوعاً كـ OracleDB أو CockroachDB.

متى تختار Strapi: تريد المنظومة الأكبر والمجتمع الأوسع، تفضل تعريف أنواع المحتوى عبر الواجهة، أو تبدأ من صفر دون قاعدة بيانات موجودة. اقرأ دليلنا الكامل عن Strapi للتفاصيل.

متى تختار Payload: تريد نظام إدارة المحتوى مُدمجاً مباشرةً في تطبيق Next.js، تفضل الإعداد المعتمد على TypeScript أولاً، أو تحتاج Local API يتخطى HTTP كلياً. راجع تعمقنا في Payload CMS للصورة الكاملة.

متى لا تستخدم Directus

Directus ليس الخيار الصحيح إن كنت تحتاج محرراً بصرياً للصفحات، أو إطاراً متكاملاً مع Next.js، أو خلفية NoSQL. كما أنه يضيف تعقيداً للمشاريع البسيطة التي تكفيها نظام ملفات مسطحة أو WordPress.

رأينا فرقاً تختار Directus حين لا ينبغي لها ذلك، والنمط عادةً واحد من هؤلاء:

  • تحتاج محرراً بصرياً للصفحات. Data Studio في Directus ممتاز لإدارة البيانات المنظمة، لكنه ليس منشئ مواقع بالسحب والإفلات. إن كان التحرير البصري أولويتك، انظر إلى Storyblok — راجع دليلنا عن Storyblok لمقارنة ذلك.
  • ملتزم بـ NoSQL. Directus حصراً لـ SQL بتصميم. إن كانت بياناتك في MongoDB، فـ Payload CMS هو الخيار الطبيعي.
  • مشروعك مدونة بسيطة. إقامة Docker وPostgreSQL وDirectus لمدونة شخصية مبالغة واضحة. WordPress أو Astro مع ملفات markdown أو حتى Ghost ستوصلك إلى النشر بجزء بسيط من الوقت.
  • تريد CMS مُدمجاً بالإطار. إن أردت نظام إدارة المحتوى يعيش داخل قاعدة كود Next.js كمواطن درجة أولى، يفعل Payload هذا أصلاً. Directus دائماً خدمة منفصلة.
  • أنت منظمة كبيرة. إن تجاوزت شركتك عتبة 5 ملايين دولار، ستحتاج ترخيصاً تجارياً للإنتاج. قيّم هذه التكلفة مقابل البدائل مفتوحة المصدر كلياً كـ Strapi أو Payload، حيث الاستضافة الذاتية مجانية بصرف النظر عن الإيرادات.

لا شيء من هذه عيوب — إنها قرارات تصميم. Directus منصة بيانات، لا منشئ مواقع. معرفة الفرق توفر عليك أشهراً من الإحباط.

الأسئلة الشائعة

ما هو Directus CMS؟

Directus هو نظام إدارة محتوى headless مفتوح المصدر يُغلّف أي قاعدة بيانات SQL موجودة بواجهات برمجية REST وGraphQL فورية. يدعم PostgreSQL وMySQL وMariaDB وSQLite وOracleDB وCockroachDB وMS-SQL. خلافاً لأنظمة إدارة المحتوى التقليدية، لا يُنشئ Directus مخططه الخاص — بل يقرأ بنية قاعدة بياناتك الموجودة ويعكسها تلقائياً.

هل Directus مجاني فعلاً؟

Directus مجاني للاستضافة الذاتية تحت رخصة MIT للمؤسسات التي تقل إيراداتها السنوية أو تمويلها الكلي عن 5 ملايين دولار. فوق هذه العتبة تحتاج ترخيصاً تجارياً للاستخدام في الإنتاج. بيئات التطوير والاختبار مجانية دائماً. تبدأ Directus Cloud، استضافتهم المُدارة، من 25 دولاراً شهرياً.

كيف يختلف Directus عن Strapi؟

Directus يعتمد قاعدة البيانات أولاً — يُغلّف قاعدة SQL الموجودة دون تعديل المخطط. Strapi يعتمد الكود أولاً — تُعرّف أنواع المحتوى وينشئ Strapi جداول قاعدة البيانات. يدعم Directus 7 قواعد بيانات بينما يدعم Strapi 2. كلاهما يوفر REST API، لكن Directus يتضمن GraphQL أصلاً بينما يحتاجه Strapi كإضافة.

ما قواعد البيانات التي يدعمها Directus؟

يدعم Directus سبع قواعد بيانات SQL: PostgreSQL وMySQL وMariaDB وSQLite وOracleDB وCockroachDB وMS-SQL. يتصل بقاعدة بياناتك الموجودة ويفحص المخطط تلقائياً. هذا الدعم متعدد قواعد البيانات فريد بين أنظمة إدارة المحتوى headless — معظم المنافسين يدعمون واحدة أو اثنتين فقط.

هل يمكن لـ Directus أن يحل محل WordPress؟

يمكن لـ Directus أن يحل محل WordPress في إدارة المحتوى، خاصةً للمشاريع headless أو المعتمدة على API. لكن Directus لا يمتلك واجهة أمامية مدمجة ولا قوالب ولا منشئ صفحات. ستحتاج إلى بناء واجهتك الأمامية بإطار كـ Next.js أو Astro. للمدونات البسيطة أو المواقع التي تحتاج تحريراً بصرياً، يظل WordPress أكثر عملية.

هل يمتلك Directus محرراً بصرياً؟

يتضمن Directus Data Studio — واجهة إدارة قوية لإدارة البيانات المنظمة وبناء لوحات البيانات وضبط الصلاحيات. لكنه لا يمتلك منشئ صفحات بصرياً أو محرر مواقع WYSIWYG كـ Storyblok أو WordPress. Directus مُصمَّم لإدارة البيانات، لا لتأليف الصفحات بالسحب والإفلات.

هل Directus مناسب للتجارة الإلكترونية؟

يعمل Directus بشكل جيد كنظام لإدارة معلومات المنتجات — يمكنك نمذجة كتالوجات المنتجات وإدارة السمات وتقديم البيانات عبر الواجهات البرمجية. لكنه ليس منصة تجارة إلكترونية. لن تجد عربة تسوق أو تدفق دفع أو معالجة مدفوعات. اجمعه مع Shopify أو Saleor أو Medusa للطبقة المعاملاتية.

هل يمكنني استخدام Directus مع Next.js؟

نعم. ثبّت حزمة @directus/sdk، أنشئ عميلاً يشير إلى نسخة Directus الخاصة بك، واجلب البيانات في Server Components باستخدام readItems(). يُعيد Directus JSON عادياً، لذا لا حاجة لمكونات React خاصة بالمزود. الأسلوب ذاته يعمل مع أي إطار JavaScript بما فيها Astro وNuxt وSvelteKit.

هل يدعم Directus التحرير التعاوني؟

نعم، منذ الإصدار 11.15 (فبراير 2026). يمتلك Directus تحريراً تعاونياً أصلياً مع مؤشرات الحضور الحي التي تُظهر من يُحرّر ماذا، وقفل على مستوى الحقل لمنع التعارضات. هذه ميزة مدمجة لا إضافة. بالاقتران مع إصدارات المسودة العالمية في v11.16، يمكن للفرق تدريج التغييرات ومعاينتها قبل النشر.

ما هو خادم Directus MCP؟

قدّم Directus خادم Model Context Protocol الأصلي في v11.13 (نوفمبر 2025). يتيح MCP لأدوات الذكاء الاصطناعي كـ Claude وChatGPT التفاعل مع محتوى Directus مباشرةً — قراءة العناصر وإنشاؤها وتحديثها عبر اللغة الطبيعية. يحترم خادم MCP صلاحيات RBAC الموجودة لديك، لذا وصول الذكاء الاصطناعي يتبع القواعد ذاتها التي يتبعها المستخدمون البشريون.

الوسوم

dalil-directus-cmsheadless-cmsdatabase-firstopen-sourcerest-apigraphql

شارك هذا المقال

مقالات ذات صلة

المزيد في guides

guides
Jul 28, 2026

الـ9 مقاييس SaaS الوحيدة المهمة في 2026 (بمقارنة مرجعية مع أكثر من 1,300 شركة)

معظم أدلة مقاييس SaaS تستشهد بحدود وُضعت في 2021 ولا تنسبها لأحد. هذا الدليل ينشر تسعة مقاييس بوسطاء CY-2025 من تقارير إصدار 2026، ومقاطع الربع الأعلى، وحجم العينة وراء كل رقم، وستة مقاييس ينبغي التوقف عن تتبعها.

13 دقيقة قراءة قراءة
اقرأ
guides
Jul 28, 2026

قالب وثيقة متطلبات المنتج (PRD) + مثال عملي كامل يمكنك نسخه

معظم قوالب PRD تعطيك نموذجًا فارغًا وتتركك وحدك. هذا القالب يأتي بصيغة ماركداون جاهزة للنسخ، ويملأ الأقسام الاثني عشر جميعها بمثال بناء كامل لبوابة فواتير، ويوضح كيف تتغير الوثيقة نفسها حين يكون القارئ وكيل ذكاء اصطناعي مبرمجًا.

13 دقيقة قراءة قراءة
اقرأ
ابدأ مشروعك

هل أنت مستعد لبناء شيء استثنائي؟

دعنا نحول رؤيتك إلى واقع. فريقنا جاهز لمساعدتك في إنشاء برمجيات تصنع الفرق.