مدخل إلى
ووردبريس مُتعدّد المواقع
إذا كنتَ من مطوري ووردبريس، فستُتحمّس للاستفادة من ميزة تعدد
المواقع (Multisite)، ولهذا السبب قدمنا لك هذه الدورة التدريبية المؤلفة من عشر مقالات كي تحترف هذه الميزة المفيدة.
ميزة تعدد
المواقع لها فائدة كبيرةٌ في أنها ستساعدك على إنشاء شبكة من
المواقع لتلبية مختلف الاحتياجات ولمختلف الأغراض، والتي تستطيع تخصيصها لتسهيل بعض الأمور لمستخدميك ولجعل شبكتك من
المواقع تعمل بكفاءة عالية…
ستتعلم في هذه الدورة كل شيء ستحتاج له كي تُنشِئ شبكتك الخاصة، وتضيف
المواقع إليها أو تسمح للمستخدمين بإضافة مواقع إلى الشبكة وإدارتها. وستتعلم كيف تحافظ على أمان شبكتك وتضمن أداءها أداءً عاليًا وكيف تُنشِئ مجتمعًا ناجحًا من المستخدمين والمواقع.
سنبدأ بأخذ فكرة عامة عن ميزة تعدد
المواقع في هذا الجزء، وسأشرح لك فيه:
تمهيد إلى تعدد المواقع: ما يمكنك أو لا يمكنك فعله
ميزات الشبكات متعددة المواقع
الفرق بين شبكة مُنشَأة عبر تعدد المواقع، وبين
المواقع المفردة
حالات استخدام تعدد المواقع
لنبدأ جولتنا!
1-create-a-network.png
مدخل إلى تعدد
المواقع في ووردبريس
خاصية تعدد
المواقع هي جزءٌ من أساس ووردبريس، إلا أنها كانت نظامًا منفصلًا يدعى «WPMU» الذي دُمِجَ مع أساس
ووردبريس في الإصدار 3.0.
هذا يعني أنَّك تستطيع تفعيل تعدد
المواقع في أي موقع يستخدم
ووردبريس بكل سهولة، حتى لو كان موقعك يعمل منذ أشهر أو سنوات. لكن هنالك اختلافٌ أساسيٌ بين إضافة ميزة تعدد
المواقع على موقعٍ موجودٍ مسبقًا وبين إضافته على موقعٍ جديد؛ وهذا الاختلاف مرتبط بالنطاقات الفرعية والمجلدات الفرعية. سنشرح ذلك بالتفصيل لاحقًا عندما نلقي نظرةً على البنية الهيكلية لشبكة متعددة المواقع.
2-scaling-WordPress.png
تسمح ميزة تعدد
المواقع لك بإنشاء شبكة من المواقع، وهذا يعني أنَّ هنالك تثبيت
ووردبريس وحيد، وتستطيع عبره أن تحصل على أي عدد تريده من المواقع.
أنا أعي ما أقول، تستطيع أن تحصل على أي عدد من المواقع! فموقع WordPress.com هو شبكةٌ متعددة
المواقع يُشغِّل حوالي 10% من مواقع الويب، وموقع Edublogs هو شبكةٌ متعددة
المواقع الذي يُشغِّل أكثر من ثلاث ملايين مدونة تعليمية. ربما لديك تصور أنَّ هنالك بعض الإجراءات الإضافية عندما يأتي الأمر إلى إدارة مثل هذه الشبكات الضخمة، مثل توزيع وسائط التخزين على أكثر من خادوم؛ لكن الفكرة الأساسية هي استخدام
ووردبريس كشبكة متعددة المواقع.
لن تتعلم في هذه الدورة التدريبية كيف تُنشِئ وتدير شبكات ضخمة مثل Edubolgs –هذا يحتاج إلى أعوام من الخبرة والتجربة– لكنك ستتعلم كيف تُنشِئ شبكتك الخاصة من
المواقع التي يمكنك استخدامها لأغراضٍ عدّة.
هذا هو تعريف «تعدد المواقع» من دليل
ووردبريس للمطورين:
الشبكة متعددة
المواقع هي مجموعةٌ من
المواقع التي تتشارك بنفس تثبيت ووردبريس. ويمكنها أن تتشارك أيضًا في الإضافات والقوالب. كل موقع في الشبكة هو موقع «وهمي» أي أنه لا يملك مجلدًا خاصًا به على الخادوم، إلا أنَّ هنالك مجلدًا منفصلًا لكل موقع لملفات الوسائط المرفوعة عليه، ولكل موقع جداول منفصلة في قاعدة البيانات.
حسنًا، الشبكة متعددة
المواقع هي ميزة من ميزات
ووردبريس التي تسمح لك بإنشاء شبكة خاصة بك من المواقع، ويمكن أن يُدار كل موقع من تلك
المواقع بشكلٍ منفصل، وأن يشير إليه نطاقٌ خاصٌ به لكي يستطيع الزوار الوصول إليه، ولن يستطيعوا أن يميّزوا أنَّ موقعك جزءٌ من شبكةٍ ما من المواقع. ستُسهِّل هذه الميزة الأمر عليك كثيرًا إذا كنت تدير عدِّة مواقع ولم تكن تريد أن تُتُعِبَ نفسك بمراقبة كل موقع على حدة، بما في ذلك تحديث الإضافات، والتعامل مع المشاكل الأمنية والمشاكل في الأداء، وإضافة المستخدمين …إلخ. هذه الميزة مفيدة للغاية إن كنت تريد أن تسمح لمستخدميك أن يتواصلوا مع بعضهم بعضًا عبر مجتمع (community) الذي تستطيع استضافته على شبكتك.
ميزات تعدد المواقع
هنالك عدّة ميزات لتعدد
المواقع في
ووردبريس مقارنةً مع إدارة عدد من
المواقع لها أكثر من تثبيت ووردبريس:
مساحة التخزين. هنالك نسخةٌ واحدةٌ فقط من ملفات
ووردبريس ونسخةٌ واحدةٌ أيضًا من كل قالب أو إضافة مُخزَّنة على خادومك.
التحديثات. ستحتاج إلى تحديث تثبيت
ووردبريس والقوالب والإضافات مرةً واحدةً فقط بدلًا من فعل ذلك لكل موقعٍ على حدة (لكن عليك تجربة التحديث على موقع تجريبي أولًا!).
المجتمع. يمكنك استخدام شبكة متعددة
المواقع لإنشاء مجتمع من
المواقع والمستخدمين. الخيارات المتاحة إليك تتضمن نشر المحتوى على أكثر من موقع في آنٍ واحد، والسماح للمستخدمين بمتابعة (follow) بعضهم بعضًا، والمزيد… سأشرح هذه النقطة بالتفصيل في هذه الدورة.
إنشاء المواقع. تُمكِّنك ميزة تعدد
المواقع من السماح للمستخدمين بإنشاء مواقع خاصة بهم في شبكتك. وهذه الميزة رائعة إذا كنت تدير شبكةً خاصةً بالمدرسة أو لنادٍ معيّن، أو إذا أردت أن تتلقى مقابلًا ماديًا لقاء إنشاء مواقع للآخرين. هنالك جزءٌ يتحدث عن إنشاء
المواقع في هذه الدورة.
الاختلافات الأساسية بين شبكة من
المواقع والمواقع المفردة
قبل أن تبدأ بالعمل على ميزة تعدد المواقع، يجب أن أنوِّه إلى بعض الاختلافات الرئيسية بينها وبين طريقة تثبيت
ووردبريس الاعتيادية (أدعوها «المواقع المفردة» [standalone sites]). من الجيد أن تفهم هذه الاختلافات أولًا، لأنها ستساعدك في اتخاذ قرارك فيما إذا كانت شبكةٌ من
المواقع المتعددة هي الأداة المثالية لك، وستساعدك أيضًا عندما تبدأ بإنشاء وإدارة شبكتك. لننظر إلى بعض هذه الاختلافات.
ملاحظة عن الاصطلاحات: إذا كنت تستخدم مواقع
ووردبريس المفردة من قبل، فستظن أنَّ «التثبيت» (installation) هو موقعك. لكنني سأستخدم هذا المصطلح في هذه الدورة بطريقةٍ مختلفة. الشبكة تمثل تثبيت ووردبريس، التي تتضمن عددًا من المواقع. والموقع هو أحد
المواقع في الشبكة، وكانت تسمى تلك
المواقع في الإصدارات القديمة من ميزة تعدد
المواقع بالمدونات (blogs)، لكن ذلك تغيّر في إصدار 3.5 من ووردبريس.
إدارة الشبكة
عندما تُنشِئ شبكةً متعددة المواقع، فستصبح «مدير الشبكة» (super admin)، وهذا يعني أنَّ لديك القدرة على إدارة الشبكة بالإضافة إلى إدارة
المواقع الموجودة فيها كُلًّا على حدة.
عندما تُفعِّل الشبكة، فستشاهد بعض العناصر الإضافية في لوحة التحكم، وهي ظاهرةٌ في لقطة الشاشة الآتية:
3-Multisite-dashboard.png
عناصر القائمة الإضافية هي:
عنصر قائمة جديد اسمه «My Sites» (مواقعي)
رابط «My Sites» (مواقعي) في شريط الإدارة العلوي الذي سيأخذك إلى صفحات إدارة الشبكة.
صفحات إدارة الشبكة هي المكان الذي تُثبِّت وتُفعِّل فيه القوالب والإضافات وإنشاء وإدارة
المواقع والمستخدمين:
4-network-dashboard.png
تتضمن قائمة إدارة الشبكة ستة أقسام:
Dashboard (الرئيسية) – إدارة التحديثات والترقيات على الشبكة.
Sites (المواقع) – إنشاء مواقع في الشبكة وإدارة المستخدمين والقوالب وضبط الخيارات لكلٍ منها.
Users (أعضاء) – إضافة مستخدمين إلى شبكتك بنفس الطريقة التي كنتَ تُضيفهم فيها إلى
المواقع المفردة.
Themes (قوالب) – تثبيت القوالب، ومن ثم ستتمكن من تفعيلها لكامل الشبكة أو لمواقع معيّنة على الشبكة.
Plugins (إضافات) – تثبيت الإضافات وتفعيلها على كامل الشبكة إن شئت. قد تتمكن من تفعيل بعض الإضافات لكامل الشبكة فقط، مثل إضافات النسخ الاحتياطي؛ بينما يمكن لبعضها الآخر أن يُفعَّل لكامل الشبكة إن شئت أن تعمل تلك الإضافة على جميع المواقع، أو يمكن لمدراء
المواقع أن يختاروا ما الذي يريدون تفعيله على موقعهم.
Settings (الإعدادات) – إدارة ضبط الشبكة.
هذه هي بعض جوانب إدارة الشبكة التي قد تُحيّر بعض المبتدئين:
الموقع الأساسي أو الرئيسي (Base site). عندما تُنشِئ شبكةً، فسيكون هنالك موقعٌ واحدٌ على الأقل لتبدأ معه ألا وهو «الموقع الرئيسي». هذا هو الموقع الذي بدأت فيه عبر تثبيت ووردبريس، وسيكون رابط URL الأساسي هو اسم النطاق (domain name).
ستتمكن –كمدير للشبكة– أن تكون مديرًا لهذا الموقع أيضًا، ويمكنك إضافة مستخدمين آخرين بنفس طريقة إضافة المستخدمين للمواقع المفردة؛ لكن لا يمكنك إزالة هذا الموقع من الشبكة. تستطيع أيضًا أن تُفعِّل القوالب أو الإضافات كما في أي موقع آخر على الشبكة.
تفعيل القوالب والإضافات. قد تتوقع أنك تستطيع تفعيل القوالب والإضافات بنفس الطريقة التي تعرفها. يمكنك تثبيت القوالب والإضافات عبر لوحة تحكم مدير الشبكة، لكن ستختلف الأمور عمّا اعتدت عليه بدءًا من هذه المرحلة. يمكنك أن تُفعِّل الإضافات على كامل مواقع الشبكة، أو ألّا تفعَّلها أبدًا، وفي هذه الحالة سيحتاج مدير الموقع إلى تفعيل الإضافات في صفحة الإضافات في لوحة تحكم الموقع. أما القوالب، فيمكنك أن تُمكِّن اختيارها عبر الشبكة، مما يُتيح لمدراء
المواقع تفعيلها على موقعهم، أو يمكنك تمكين القوالب لمواقع معيّنة وذلك عبر صفحة «Sites» (المواقع) في لوحة التحكم، مما يعني أنَّ تلك
المواقع هي
المواقع التي تستطيع تفعيل القالب فقط ولن تتمكن بقية
المواقع من رؤية القالب؛ قد تستفيد من هذه الميزة إن كنت تُدير شبكةً من مواقع العملاء ولدى كل موقع قالب خاصٌ به.
إنشاء المستخدمين. يمكن لمدير الشبكة أو لمدراء
المواقع إضافة المستخدمين؛ إذا أضفتُ مستخدمًا عبر لوحة تحكم مدير الشبكة، فسيُنشَأ حساب للمستخدم على الشبكة لكن دون أيّة امتيازات على
المواقع الأخرى (بما في ذلك الموقع الرئيسي)؛ أما لو أضاف مدير موقعٍ ما مستخدمًا، فسيحصل المستخدم على وصول إلى ذاك الموقع فقط، لكن سيكون بإمكان بقية مدراء
المواقع من إضافة المستخدم إلى مواقعهم أيضًا.
التحديثات. عندما تُحدِّث قالبًا أو إضافةً أو نسخة
ووردبريس نفسها، فعليك القيام بذلك من لوحة تحكم مدير الشبكة وستُطبَّق التغيرات على جميع
المواقع في شبكتك. وهذا هو السبب وراء ضرورة اختبار أيّة تحديثات على موقعٍ تطويري قبل تطبيقها على شبكةٍ إنتاجية، فلو أدى تحديث إضافةٍ ما إلى حدوث خلل، فسيؤثر على جميع مواقع الشبكة التي تستعمل تلك الإضافة! يمكنك تثبيت إضافة تساعدك في التعرف على
المواقع التي تستعمل قالبًا أو إضافةً معينة، وسنشرح ذلك بالتفصيل لاحقًا في هذه السلسلة.
5-network-plugins.png
هنالك إمكانيات (capabilities) إضافية لمدير الشبكة مقارنةً بمدير الموقع:
إمكانيات متعلقة بمدير الشبكة (أي superadmin): manage_network، و manage_sites، و manage_network_users، و manage_network_plugins، و manage_network_themes، و manage_network_options.
إمكانيات كان يملكها مدير الموقع إن كان الموقع منفردًا ولكنها أصبحت متعلقة بمدير الشبكة في شبكة من المواقع: update_core، و update_plugins، و update_themes، و install_plugins، و install_themes، و delete_themes، و delete_plugins، و edit_plugins، و edit_themes، و edit_files، و edit_users، و create_users، و delete_users، و unfiltered_html.
إمكانيات يملكها مدير الشبكة ومدير الموقع: activate_plugins، و delete_others_pages، و delete_others_posts، و delete_pages، و delete_posts، و delete_private_pages، و delete_private_posts، و delete_published_pages، و delete_published_posts، و edit_dashboard، و edit_others_pages، و edit_others_posts، و edit_pages، و edit_posts، و edit_private_pages، و edit_private_posts، و edit_published_pages، و edit_published_posts، و edit_theme_options، و export، و import، و list_users، و manage_categories، و manage_links، و manage_options، و moderate_comments، و promote_users، و publish_pages، و publish_posts، و read_private_pages، و read_private_posts، و read، و remove_users، و switch_themes، و upload_files.
وهذا يعني أنَّ –كمدير شبكة– تستطيع أن تُعدل وتُدير
المواقع الموجودة ضمن شبكتك.
إدارة الموقع
عندما يُنشَأ موقعٌ جديدٌ على شبكتك، فسيكون له مديرٌ خاصٌ به. فإذا أُنشِئ الموقع عبر مدير الشبكة، فسيكون هو مدير الموقع؛ أما لو أنشِئ الموقع عبر نموذج للتسجيل، فسيكون المستخدم الذي يُنشِئ الموقع هو مدير الموقع. من الممكن إضافة مدراء إضافيين لكل موقع كما لو كان موقع
ووردبريس مفردًا.
خصائص لوحة التحكم التي يستطيع مدراء
المواقع الدخول إليها مختلفةٌ قليلًا عن
المواقع المفردة. الاختلافات الجوهرية هي:
تثبيت الإضافات والقوالب. لا يمكن لمدراء
المواقع تثبيت إضافات أو قوالب. لكن إذا كان قالبٌ ما متاحًا على الشبكة أو متاحًا لموقعٍ معيّن، فيمكن لمدير الموقع أن يفعِّل القالب في صفحة القوالب بلوحة التحكم. وإذا أعطى مديرُ الشبكة مدراءَ
المواقع امتيازاتٍ للتحكم بإدارة الإضافات، فيمكنهم تفعيل الإضافات، لكنهم لن يستطيعوا مشاهدة أيّة إضافات غير متاحة على الشبكة في صفحة الإضافات في لوحة التحكم، ولن يستطيع مدراء
المواقع تحديث الإضافات أو القوالب.
الضبط. هنالك بعض خيارات الضبط التي يستطيع مدير الشبكة الوصول إليها فقط؛ وهذا يتضمن الحجم الأقصى للملفات المرفوعة، وآلية تسجيل المستخدمين، وإعدادات
المواقع الجديدة.
لدى مدراء
المواقع نفس الامتيازات وصفحات لوحة التحكم المتعلقة بإنشاء وتعديل المحتوى كما لو كان الموقع مفردًا، يمكنهم أيضًا إضافة مستخدمين جدد إلى مواقعهم، بما في ذلك المستخدمين الذي سبقَ وأن سجلوا على الشبكة، بالإضافة إلى المستخدمين الجدد.
6-site-admin-new-user.png
يمكن لمدراء
المواقع أن يُفعِّلوا الإضافات غير المفعلة على كامل الشبكة إن سمح لهم مدير الشبكة بذلك. قد تستفيد من هذه الميزة إن كنت تسمح للأشخاص بإنشاء وإدارة مواقعهم بطريقة شبيهة بموقع edublogs أو WordPress.com.
هيكلية الملفات
تحتوي الشبكة متعددة
المواقع على نفس ملفات
ووردبريس كأي تثبيت آخر، لذا ستكون الملفات الموجودة في المجلد الجذر (أي المجلد الأساسي لووردبريس) ومجلد wp-admin ومجلد wp-includes متماثلة؛ وكذلك الأمر لملفات الإضافات والقوالب في مجلد wp-content. هذه هي طريقةٌ ذات كفاءةٍ عالية إذا كنت تُدير عدة مواقع: فبدلًا من تخزين كل قالب أو إضافة عدِّة مرات في عدة مواقع، يمكنك أن تخزن نسخة واحدة من القالب أو الإضافة على شبكة من
المواقع ومن ثم تستعملها على أي عدد تريده من المواقع.
الاختلاف الوحيد هو في كيفية هيكلة مجلد الملفات المرفوعة ضمن wp-content، حيث سيحتوي على مجلد uploads في
المواقع المفردة الذي سيحتوي بدوره على مجلد لكل سنة، وفي ذاك المجلد عدِّة مجلدات للأشهر التي رُفعِتَ فيها الوسائط على الموقع. أما في شبكة من المواقع، فستخزن الملفات المرفوعة لكل موقع على حدة.
ستُخزَّن الملفات المرفوعة للموقع الرئيسي بنفس طريقة تخزين الملفات المرفوعة للمواقع المفردة، وهذا مهم لأنك قد تفعل ميزة شبكة
المواقع بعد أن أضفت محتوى ووسائط مرفوعة إلى الموقع الرئيسي، وبالتأكيد تريد أن تبقى تلك الملفات. لكن جميع
المواقع الأخرى سيكون لها مجلد منفصل للوسائط المرفوعة، وذلك بإنشاء مجلد جديد باسم sites ضمن مجلد wp-content/uploads؛ وسيُنشَأ مجلد لكل موقع من مواقع الشبكة حيث يكون اسم المجلد هو مُعرِّف ID للموقع؛ إذ يملك كل موقع مُعرِّف ID رقمي خاص به يبدأ من الرقم 2. ومن ثم ستكون لتلك المجلدات نفس بنية مجلد uploads للمواقع المفردة (أي وجود مجلدات لكل سنة، ولكل شهر).
7-uploads-structure-wide.png
هذا يعني أنك لو رفعت ملفًا اسمه media.png إلى موقع له المُعرِّف 10 ضمن شهر آذار عام 2016، فسيُخزَّن كالآتي: wp-content/uploads/sites/10/2016/03/media.png..
بنية قاعدة البيانات
لدى قاعدة بيانات الشبكة متعددة
المواقع بنية مختلقة عن
المواقع المفردة. لدى موقع
ووردبريس الاعتيادي أحد عشر جدولًا في قاعدة البيانات:
wp_posts
wp_postmeta
wp_comments
wp_commentmeta
wp_links
wp_term_relationships
wp_term_taxonomy
wp_terms
wp_options
wp_users
wp_usermeta
أما في الشبكة متعددة المواقع، فسُتفصَل جداول كل موقع. أي سيكون لديك نسخةٌ من الجداول السابقة (للموقع الرئيسي)، بالإضافة إلى نسخة لكل موقع؛ إذ سيُضاف تسعة جداول لكل موقع –أي كل الجداول ما عدا wp_users و wp_usermeta–.
لا يُنسَخ جدولي المستخدمين وبياناتهم أكثر من مرة، لأن المستخدمين هم مستخدمون لكامل الشبكة وليسوا مستخدمين لموقعٍ واحدٍ فقط. أما بقية الجداول التسعة فتُنسَخ لكل موقع، مع إضافة مُعرِّف ID الموقع كسابقة لاسم الجدول، لذاك ستكون جداول موقع له المعرف 10 كالآتية:
wp_10_posts
wp_10_postmeta
wp_10_comments
wp_10_commentmeta
wp_10_links
wp_10_term_relationships
wp_10_term_taxonomy
wp_10_terms
wp_10_options
بالإضافة إلى ذلك، تُنشِئ
ووردبريس بعض الجداول الإضافية لكي تُخزِّن فيها البيانات المتعلقة بالشبكة نفسها، تلك الجداول هي:
wp_blogs
wp_blog_versions
wp_registration_log
wp_signups
wp_site
wp_sitemeta
wp_sitecategories (اختياري)