لوحة إدارة دون قاعدة بيانات: التعديل مباشرة على الصفحة في HATKO Solar
في موقع HATKO Solar يُحفظ المحتوى في ملفات JSON، ويعدّله الفريق بالنقر على النص في الصفحة. متى يكون هذا النهج صحيحًا، ومتى تكون اللوحة التقليدية أفضل؟

عندما تُذكر لوحة الإدارة لموقع مؤسسي، تتبادر إلى الذهن عادةً قاعدة بيانات وشاشة تسجيل دخول ونماذج طويلة. أما مع عميلنا HATKO Solar فقد اخترت طريقًا مختلفًا: محتوى الموقع لا يُحفظ في قاعدة بيانات بل في ملفات JSON، ويغيّر الفريق المحتوى بالنقر على النص المعني في معاينة الموقع. أنا Berke Özyaşar؛ وفي هذا المقال أشرح كيف تعمل لوحة HATKO Solar، وفي أي الحالات يكون هذا النهج هو الخيار الصحيح.
المشروع باختصار
HATKO Solar هي علامة الطاقة الشمسية التابعة لشركة HATKO A.Ş.، وتنتج في منشأتها في إلازيغ صناديق التوصيل الكهروضوئية (PV junction box) والموصلات. والموقع منشور بالتركية والإنجليزية والصينية والألمانية، ويضم صفحات المنتجات، والشهادات، ومركز مستندات PDF، والأخبار، وصفحات الإنتاج والتقنية، ونموذج طلب عرض السعر. ومعظم المحتوى لا يتغير كثيرًا لكنه يتغير بانتظام: شهادة جديدة، أو كتيّب محدَّث، أو خبر.
التعديل مباشرة على الصفحة
في اللوحة التقليدية يضطر من يعدّل المحتوى إلى تخمين المكان الذي سيظهر فيه حقل النموذج على الموقع. أما في لوحة HATKO فتُفتح معاينة الموقع، ويُنقر على النص أو العنصر المراد تغييره، فيُعدَّل في مكانه مباشرة. كما تُضبط الألوان والخطوط وأقسام الصفحة الرئيسية من اللوحة. أما المنتجات والأخبار والشهادات والمستندات والشرائح والمراجع فتُدار في قوائم منفصلة لأنها محتوى متكرر. ومن أقسام اللوحة أيضًا رفع الصور، ورسائل النماذج، وتغيير كلمة المرور.
لماذا يُحفظ المحتوى في ملفات JSON
على جانب الخادم تقرأ PHP ملفات المحتوى وتُنشئ الصفحات، وفي الواجهة يعمل JavaScript بسيط. والنتائج العملية لهذا الخيار هي:
- يعمل الموقع على استضافة مشتركة دون حاجة إلى أي تثبيت إضافي؛ فلا يوجد خادم قاعدة بيانات منفصل يجب تثبيته أو إدارته أو تحديث إصداره.
- أخذ نسخة احتياطية بسيط بقدر بساطة نسخ الملفات.
- بنية المحتوى مقروءة، وإضافة حقل جديد لا تتطلب تغيير مخطط قاعدة البيانات.
- في المحتوى محدود السجلات مثل كتالوج المنتجات وقائمة الشهادات، يكون التخزين القائم على الملفات سريعًا بما يكفي.
النشر والتراجع
التغييرات التي تُجرى في اللوحة تنعكس على جميع الزوار عند الضغط على "نشر"؛ وإذا حدث خطأ ما، يمكن العودة إلى آخر نسخة منشورة. وكون التعديل والنشر خطوتين منفصلتين يمنع ظهور نص غير مكتمل للزوار. أما إمكانية التراجع فتتيح للفريق إجراء التغييرات في اللوحة دون تردد.
أربع لغات في لوحة واحدة
تُدار النصوص التركية والإنجليزية والصينية والألمانية من قسم الترجمات في اللوحة، ولكل صفحة وسوم hreflang. والمشكلة الشائعة في المواقع متعددة اللغات أن تُحدَّث لغة وتُنسى الأخرى. وإدارة الترجمات من قسم واحد تسهّل رؤية النص الناقص في كل لغة.
بوابة الشهادات: جمع الطلبات من المحتوى
عندما يقيّم مصنّعو الألواح الشمسية أحد الموردين، ينظرون إلى الشهادات. في موقع HATKO تظهر الشهادات ضبابية في المعاينة، ولعرضها كاملة يُطلب من الزائر اسم الشركة والاسم والبريد الإلكتروني. وبذلك يتحول الزائر الذي يريد فحص الشهادة إلى سجل تواصل يستطيع فريق المبيعات الرجوع إليه. ويجب أن يكون تحديد المحتوى الذي يوضع خلف نموذج كهذا قرارًا مدروسًا؛ فقفل كل مستند يُرهق الزائر.
HATKO Asistan: الأسئلة التي لم يُجب عنها تصل إلى اللوحة
في الموقع نافذة محادثة باسم HATKO Asistan تجيب عن الأسئلة المتعلقة بالمنتجات والشهادات وعروض الأسعار من خلال قاعدة معرفة قائمة على الكلمات المفتاحية. ويستمد المساعد إجاباته من المحتوى الذي أعدّه الفريق. أما الأسئلة التي لا يستطيع الإجابة عنها فتُدرج في اللوحة بوصفها اقتراحات؛ وهذا يُطلع الفريق على ما يسأل عنه الزوار فعلًا، ويتيح توسيع قاعدة المعرفة بهذه الأسئلة.
أساسيات الأمان
عدم وجود قاعدة بيانات لا يعني أن الأمان أقل أهمية. ففي لوحة HATKO إدارة للجلسات، وحماية برموز CSRF، وحدّ لمحاولات تسجيل الدخول. وفي هذا النوع من البنى يجب الانتباه أيضًا إلى حفظ ملفات المحتوى في مكان لا يمكن الوصول إليه مباشرة عبر الويب، وإلى التحقق من نوع الملفات المرفوعة.
حدود هذا النهج
للوحة القائمة على الملفات أثمانها أيضًا، ويجب معرفتها من البداية. فإذا عدّل أكثر من شخص المحتوى نفسه في الوقت ذاته، فقد يمحو آخرُ من يكتب في الملف تغييراتِ غيره؛ لذا من الأنسب أن تُنظَّم عمليات الكتابة في طابور وأن تُستخدم اللوحة مع فرق صغيرة. وعندما يبلغ المحتوى آلاف السجلات، تصبح عمليات مثل البحث والتصفية والتقسيم إلى صفحات أسهل بكثير في قاعدة البيانات. وكذلك التقارير: فالملخص الذي يُستخرج من قاعدة البيانات باستعلام واحد يتطلب برمجة إضافية مع الملفات. أما في موقع مؤسسي مثل HATKO، محتواه منظم ونادر التغيّر، فلا تكون هذه الحدود حاسمة.
مقارنة باللوحة التقليدية
أما لعميلنا Hekimoğlu Lojistik فقد بنيت بنية مختلفة: لوحة إدارة تقليدية على PHP وMySQL مع شاشة إحصاءات. تُكتب الأخبار بمحرر TinyMCE، وفيها حقول SEO، وخيار الإبراز، وحالات النشر والمسودة والأرشيف. وتُحفظ في قاعدة البيانات أعداد مرات عرض المستندات وتنزيلها، والرسائل الواردة من نماذج طلب عرض السعر والتواصل. وفي موقع يكبر أرشيف أخباره مع الوقت، وفيه بيانات تُكتب باستمرار مثل العدّادات، تكون قاعدة البيانات هي الخيار الصحيح.
أيهما ومتى
- دون قاعدة بيانات مع التعديل على الصفحة: إذا كان المحتوى محدودًا ومنظمًا، والتغييرات نادرة، ومن سيعدّلون المحتوى غير تقنيين، وكان المطلوب أن يعمل الموقع على استضافة بسيطة.
- قاعدة بيانات ولوحة تقليدية: إذا كان هناك محتوى يكبر باستمرار مثل أرشيف الأخبار، أو كانت هناك حاجة إلى التقسيم إلى صفحات والبحث والتصفية، أو كانت هناك بيانات تُكتب باستمرار مثل العدّادات وسجلات النماذج، أو كان أكثر من شخص يُدخلون المحتوى في الوقت نفسه.
كلا النهجين يُكتب خصيصًا للموقع دون تثبيت نظام CMS جاهز؛ والفرق في مكان حفظ البيانات وفي طريقة تعامل الفريق مع المحتوى. ويمكننا أن نحدد معًا أيهما يناسب موقع شركتك في بداية عملية تطوير مواقع الشركات.