ماذا يغيّر نظام إدارة المحتوى المنفصل
يخزّن نظام إدارة المحتوى المنفصل المحتوى ويديره ويقدّمه عبر واجهة برمجية. ويُبنى موقعك أو تطبيقك على حدة ويجلب هذا المحتوى. فيستطيع المحتوى نفسه أن يغذّي موقعًا وتطبيق جوال وأي قناة أخرى، ويختار مطوروك تقنية الواجهة الأمامية.
والثمن أنك تبني الواجهة الأمامية وتصونها، وأن المعاينة تحتاج جهدًا، وأن المحررين لا يستطيعون تحريك تخطيط الصفحة بالسحب كما في منشئ الصفحات. تأكد أن هذه المقايضة تناسب فريقك قبل أن تقارن المنتجات.
الثلاثة جنبًا إلى جنب
| الجانب | Strapi | Sanity | Contentful |
|---|---|---|---|
| الاستضافة | مفتوح المصدر: استضفه على بنيتك أو استخدم السحابة المستضافة من المزوّد | يُحفظ المحتوى في خدمة Sanity المستضافة، ويمكنك استضافة الاستوديو بنفسك أو على استضافتها | خدمة مستضافة فقط |
| نمذجة المحتوى | أنواع محتوى تُبنى في واجهة الإدارة وتُحفظ ملفات في المشروع | مخططات تُكتب بالشيفرة بـ JavaScript أو TypeScript | أنواع محتوى تُعرَّف في تطبيق الويب أو عبر واجهته البرمجية |
| تجربة المحرر | لوحة إدارة قياسية بمظهر ثابت ما لم توسّعها | استوديو عالي التخصيص مع تحرير تعاوني فوري | واجهة متسقة ثابتة تُوسَّع بالتطبيقات |
| اللغات | إضافة للتدويل تضيف لغات إلى كل مُدخل | إضافات وأنماط للترجمة على مستوى الحقل أو المستند | لغات مدمجة على مستوى الحقل مع لغات احتياطية |
| الأدوار والموافقات | أدوار وصلاحيات، وبعض ميزات الحوكمة تتوقف على الإصدار | أدوار، وميزات الوصول تتوقف على الباقة | أدوار وصلاحيات، وميزات سير العمل والموافقات تتوقف على الباقة |
| الواجهات البرمجية | REST، وGraphQL كإضافة | لغة الاستعلام GROQ وGraphQL | REST وGraphQL |
| التوسعة | شيفرة Node.js على الخادم: نقاط نهاية مخصصة وإضافات وخطافات دورة الحياة | استوديو يُخصَّص بـ React مع webhooks | إطار تطبيقات وwebhooks |
| من يشغّله | فريقك أو مزوّد استضافة | تشغّل Sanity الخلفية ويضبط فريقك الاستوديو | يشغّل المزوّد كل شيء |
يصف هذا الجدول طابعًا عامًا لا ترتيبًا. الباقات والإصدارات والميزات تتغير، فتأكد من التفاصيل في الباقة التي ستستخدمها فعلًا.
الاستضافة: من يشغّل النظام أهم مما يبدو
Strapi مفتوح المصدر ويمكن تشغيله على بنية تتحكم بها، فتملك التحكم في موقع البيانات وفي التكلفة. لكنه يجعل فريقك مسؤولًا عن التحديثات والنسخ الاحتياطية والتوسع والأمان. والخيار المستضاف من المزوّد يزيل جزءًا من هذا العمل.
أما Sanity وContentful فتحفظان المحتوى في خدمة المزوّد. هذا يزيل عمل الخوادم، لكن محتواك يقيم عند طرف ثالث، فتحقق من مكان تخزينه والمناطق المتاحة وهل يناسب واجبات حماية البيانات المفروضة عليك. تختلف القواعد باختلاف الدولة والقطاع. وهذا توعية لا استشارة قانونية: أكّد الأمر مع مستشار قانوني مؤهل.
وأيًّا اخترت، خطط للخروج. اعرف كيف تصدّر كل المحتوى والوسائط، وجرّب ذلك مرة واحدة.
نمذجة المحتوى وتجربة المحرر
نموذج المحتوى هو مجموعة الأنواع والحقول التي تصف محتواك: مقال وكاتب ومنتج وقسم صفحة. والنموذج الجيد يتبع طريقة عمل المحررين وطريقة عرض الواجهة الأمامية، لا المسودة الأولى للتصميم.
يعرّف Sanity مخططاته بالشيفرة، فتعيش النماذج في نظام إدارة الإصدارات وتُراجع كأي تغيير، على أن كل تعديل يحتاج مطورًا. أما Contentful وStrapi فيتيحان للمديرين بناء أنواع المحتوى في واجهة ويب، وهذا أسرع في البداية لكنه يحتاج انضباطًا بين البيئات كي لا يتباعد نموذج الاختبار عن نموذج الإنتاج.
وفي التحرير يمكن تشكيل استوديو Sanity بعمق ليناسب سير عملك، ويقدّم Contentful واجهة متسقة توسّعها بالتطبيقات، ويمنحك Strapi لوحة إدارة قياسية. والاختبار المنصف الوحيد أن تطلب من محرريك الحقيقيين بناء صفحة محتوى حقيقية في كل أداة من القائمة المختصرة.
اللغات والأدوار والموافقات
تستطيع الثلاثة حمل العربية والإنجليزية، وتختلف في الطريقة. في Contentful لغات مدمجة على مستوى الحقل مع لغات احتياطية. وفي Strapi إضافة للتدويل تضيف لغات إلى المُدخلات. ويدعم Sanity الترجمة على مستوى الحقل وعلى مستوى المستند عبر إضافات وأنماط. وتشرح صفحتنا عن نظام إدارة المحتوى متعدد اللغات النماذج ومقايضاتها.
اختبر الكتابة من اليمين إلى اليسار في المحرر نفسه لا في الموقع فقط. اكتب فقرة عربية طويلة فيها رقم واسم منتج بالإنجليزية في حقل نص منسّق، وانظر ماذا يفعل المحرر بها.
وتحدد الأدوار والموافقات من يستطيع النشر. اكتب الأدوار التي تحتاجها، كالكاتب والمترجم والمراجع والناشر، وتحقق من الباقة أو الإصدار الذي يوفرها في كل منتج. فميزات الحوكمة كسير عمل المراجعة وسجل التدقيق كثيرًا ما تتوقف على الباقة.
الواجهات البرمجية وقابلية التوسعة
يقدّم Contentful وStrapi واجهتي REST وGraphQL، وهي في Strapi إضافة. ويقدّم Sanity لغة استعلام خاصة به هي GROQ إضافة إلى GraphQL. REST سهلة التخزين المؤقت والتتبع. وGraphQL تتيح للصفحة أن تطلب الحقول التي تحتاجها بالضبط. أما GROQ فمعبّرة لكنها خاصة بـ Sanity، فتربط استعلاماتك بذلك المنتج.
وللسلوك المخصص يتيح Strapi كتابة شيفرة Node.js على الخادم، مثل نقاط النهاية المخصصة وخطافات دورة الحياة. ويتيح Sanity تخصيص الاستوديو بـ React. ويتوسع Contentful عبر إطار التطبيقات وwebhooks. وأيًّا اخترت، استخدم webhooks لإعادة بناء الواجهة الأمامية أو تحديثها عند تغير المحتوى، وقارن حدود معدل الطلبات في الواجهة البرمجية بحركة الزيارات المتوقعة.
كيف تختار لفريقك
- مطورون أقوياء وحاجة إلى امتلاك المنظومة أو موقع البيانات: ابدأ بـ Strapi.
- نموذج محتوى غير معتاد، أو محررون يحتاجون مساحة عمل مفصّلة لهم: انظر في Sanity.
- فرق عدة وحوكمة صارمة وقلة رغبة في تشغيل الخوادم: انظر في Contentful.
- فريق صغير بعدد قليل من أنواع المحتوى: قد يكون النظام المنفصل أكثر مما تحتاج.
ثم أجرِ تجربة قصيرة قبل أن تقرر. انمذج نوع محتوى حقيقيًا واحدًا، وأضف العربية، وأعدّ معاينة، وأنشئ دورين، وصدّر كل شيء. فهذا يعلّمك أكثر من أي مقارنة، بما فيها هذه.
حين تناسبك أداتان، اختر التي سيظل فريقك قادرًا على صيانتها بعد سنتين. ويستخدم مقالنا البناء أم الشراء المعيار نفسه.
متى يكون WordPress أو نظام تقليدي أنسب
يجمع النظام التقليدي المحتوى والقوالب والعرض في منظومة واحدة. وأشهرها WordPress، وكثيرًا ما يكون الخيار الأنسب في هذه الحالات.
- الموقع في معظمه صفحات ومقالات، ويريد المحررون بناء التخطيطات بأنفسهم.
- تريد منظومة واسعة من القوالب والإضافات بدل التطوير المخصص.
- فريقك يعرفه أصلًا، ولديك من يصونه.
- لا تحتاج إلى تغذية تطبيقات أو قنوات أخرى بالمحتوى.
والتكلفة هي الصيانة: تحديثات النواة والقالب والإضافات وأمان الاستضافة والنسخ الاحتياطية تقع عليك. يدعم WordPress اللغات من اليمين إلى اليسار في نواته منذ سنوات، وتوجد إضافات راسخة لتعدد اللغات مثل WPML وPolylang. ويمكنه أيضًا أن يعمل كخلفية منفصلة عبر واجهته البرمجية. وتغطي خدمة نظام إدارة المحتوى لدينا البناء التقليدي والمنفصل، ويتعمق مقال نظام إدارة المحتوى للفرق متعددة اللغات في قرار اللغتين.