چ چیە WordPress Multisite؟
لە ناوەوەی خۆی، WordPress تایبەتمەندییەکی ناودار بە ناوی ‘Multisite’ دەدات کە ڕوونی دەکاتەوە سەرچاوە کانی لە ساڵی ٢٠١٠دا لە کاتی دەستپێکردنی WordPress ٣.٠. لەوەندینەوە ئەو کاتەوە، ئەو تایبەتمەندییە چەندین جۆر لە پۆلسی (revisions) بەدەست هێنا بۆ پێشخستنی تایبەتمەندی نوێ و ڕێکخستنی زیاتر لە ئاسایشی.
بۆچی سادە بگەڕێتەوە، WordPress multisite دەکرێت وەک ئەم چۆنە بیر بکرێت: یەک زانکۆی وردی (University) تەنها یەک جۆر سیستەمی WordPress بەکاردێت، بەڵام هەر فەقڵێکی زانکۆیان سایتێکی WordPress تایبەتی خۆی هەیە.
WordPress Multisite چییە بە وردی؟
Multisite تایبەتمەندییەکی WordPressە کە ڕێوی دەدات چەندین سایت بۆ بەشداریکردن لە یەک جۆر سیستەمی WordPress بکەن. کاتێک multisite چالاک دەکرێت، سایتێکی سەرەکی WordPress دەگۆڕدرێت بۆ ئەوەی پشتگیریکردنی ئەو شتەی کە بە وردی ناودار دەبن "شتووکێکی سایتان" (network of sites) بێت.
ئەم تۆڕە فایلی سیستەمەکە بەشدارە (واتە plugins و themes یان پێکهاتەکانیشیştیش هاوبەش دەبن)، داتابێس، فایلە سەرەکییەکانی WordPress، wp-config.php، هتد.
ئەمە واتای ئەوەیە کە پێویستە وردودارکردنی WordPress، theme و plugin لە یەک جار بۆ هەموو سایتەکانی تۆڕەکەت ئەنجام بدرێت چونکە فایلە هاوشێوە کان لە سیستەمی فایلەکەدا هەن.
ئەم ڕاستییە یەکێکە لە سەرەکی پێگەکان واری multisite، چونکە دەبێت بزانین سایتەکانت زیاتر بکەیت بەڕێوەبرد و لە هەمان کاتدا ژمارەی کارەکان کە پێویستە بۆ پاراستنی سایتەکانی کڕیارە بگۆڕیت.
Subdomain یان Subdirectory؟
دوو شێوازی کارکردن هەیە بۆ WordPress multisite – و دەبێت یەکێکیان هەڵبژێریت کاتێک وردودار دەکەیت لە سیستەمی WordPress-ی خۆت سایتێکی multisite بکەیت:
Subdomain: بۆ نموونە: site.domain.com
...یان
Subdirectory: بۆ نموونە: yourdomain.com/site
هەر شێوازێک تایبەتمەندی و زیانەکانی خۆی هەیە کە دەبێت کاتێک ئەم بڕیارە دەدەیت، لە بەرژەوەندییاندا بیر بکەیتەوە.
شغلة مهمی هست که باید بهش توجه کنید: وقتی تصمیم گرفتید، تغییر شبکه از زیردایرکتوری به زیردامنه یا برعکس خیلی سخت است – مخصوصاً اگر قبلاً چند تا سایت ساخته باشید.
قبل از اینکه این تصمیم رو بگیرید، چند نکته وجود داره که باید در نظر داشته باشید:
حالت زیردایرکتوری (Subdirectory Mode) از نظر راهاندازی و نگهداری راحتترین حالت هست. دلیلش اینه که همه سایتها فقط مسیرهایی هستند که به دامنه اصلی متصل میشن (مثلاً yourdomain.com/subsite). در نتیجه، شما فقط به یک گواهی SSL برای دامنه اصلی نیاز دارید و این یکی کل شبکه رو پوشش میده.
در عین حال، به خاطر ساختار URL اون، گوگل و اکثر موتورهای جستجوی دیگه همه زیرسایتهای شبکه مبتنی بر زیردایرکتوری شما رو به عنوان یک سایت بزرگ واحد در نظر میگیرن. در نتیجه، محتوایی که مشتریان نهایی از طریق زیرسایتها اضافه میکنن ممکنه روی عملکرد سئو (SEO performance) سایت اصلی شما تأثیر بذاره، مثلاً. میزان تأثیر قابل بحثه و استدلالی وجود داره که گفته میشه داشتن چنین آرایشی حتی میتونه برای عملکرد سئو مفید باشه.
حالت زیردامنه (Subdomain Mode) راهاندازیاش کمی پیچیدهتره، اما ساختار URL اون (مثلاً subsite.yournetwork.com) معمولاً "حرفهایتر" به نظر میرسه.
یەکێک لە سەرەکی ئاستەکان لە دامەزراندنی režیمی subdomain mode، گۆڕینی SSL (HTTPS) بۆ هەموو تۆڕەکە دەبێت. ئەمە بەهۆی ئەوەیە کە browserەکان subdomain هاوشێنان و entities جیاواز دەبینن. بەهۆیەوە، پێویستە بۆ هەر subdomainێکی تۆڕەکەت پڕۆفایلی SSL جیاوازی یان مۆڵەتی تایبەت بە ناوی Wildcard SSL certificate وەربگریت. لە ساڵیادی نێوان ئینۆستەر و پەنلەکانی هاوسازی، کارکردن لەسەر دابینکردنی SSL زیاتر بووەتەوە و هەندێک لەو یەکەم جۆرە certificates (wildcard) بە تەنها پەنجرەیەکی دەستکاریی کردوون، کە ئەمەش فەروشتەی دوایان لە نێوان دوو režیمەکەدا لە ڕووی ئاسانکاری دامەزراندنەوەی کارکردن دەکات.
لە بەرامبەر režیمی subdirectory mode، سایتەکانی subdomain-based تۆڕ بە چیری لێکۆڵەرەکان وەرگریت وەک ئەو سایتانەی جیاواز کە دەبینن، ئەمەش واتای ئەوەیە کە ناوەڕۆکێک لە یەک subsite هیچ کاریگەریی لەسەر کارایی SEOی subsiteەکانی دیکە ناکات.
Super Admin (سەر ئیدارەری گشتی)
دامەزراندنی WordPress یەک-سایت ڕێگە دەداتتาน بە زیادکردنی ژمارەیەکی نامۆیی یەکەم وەرگرتوا و پێدانانی ڕۆڵ و مۆڵەت جیاواز بەو کارمەندە.
لە WordPress Multisite، جۆرێکی نوێی کارمەند دەبێتەوە: super admin – و پەنلێکی ئیدارەی نوێ دەکرێتەوە: the network admin panel.
وەک ناوییدا، super admin هێزەکان لەسەر تۆڕەکەتی هەیە، چ ونکە توانای بەڕێوەبردنی هەموو subsite هاوشێنان، plugins و themes و هەموو شتەکانی دیکەی دەدات.
کاتێک سایت یەک-سایت WordPress یەکەت گۆڕیت بۆ multisite، ئیدارەی سەرەکی سایتەکە بە شێوەیەکی ئۆتۆماتیک دەگۆڕێت بۆ super admin.
Plugins و themes تەنها لەلایەن super adminsەوە دەکرێت دامەزرێنرێنەوە یان نەرەت بکرێنەوە لە پەنل ئیدارەی تۆڕەکەدا. ئەوان subsite admins دەتوانن بزانن کە ئەو plugins یان themes هاوشێنان بەکاربهێنن یان نەرەت بکەن، سەرەڕای ئەوەی super adminی تۆڕەکە pluginێک چالاک بکات، کە ئەمەش بۆ هەموو subsiteکان هەمیشە چالاک دەبێت.
Note: چونکه میبینید، دعوت کردن کسی به شبکه خود و دادن وضعیت سوپر ادمین به او کنترل کامل شما بر کل شبکه را میدهد. برای مثال، سایر سوپر ادمینها حتی میتوانند وضعیت سوپر ادمین شما را حذف کنند و در واقع شما را از پنل مدیریت شبکه خود خارج سازند. برای اینکه مشتریان Ultimate Multisite بتوانند کنترل دقیقی روی کارهایی که سوپر ادمینهای اضافی میتوانند انجام دهند داشته باشند، ما یک افزونه به نام Support Agents داریم. این افزونه به شما اجازه میدهد نوع دیگری از کاربر – یعنی یک عامل (agent) – با فقط مجوزهایی که برای انجام وظایف خود در شبکه نیاز دارید ایجاد کنید.
چه چیزی بین سایتهای زیرمجموعه مشترک است و چه چیزی مشترک نیست
همانطور که قبلاً گفتیم، یکی از مزایای کلیدی وردپرس 멀티سایت این است که همه سایتهای زیرمجموعه از تنظیمات، فایلهای اصلی، تمها، پلاگینها، فایلهای هسته وردپرس و غیره به اشتراک گذاشته میشوند.
با این حال، مواردی وجود دارند که به خوبی بر اساس هر سایت زیرمجموعه محدود شدهاند.
- برای مثال، هر سایت زیرمجموعه پوشه آپلود مخصوص خودش را دارد. در نتیجه، آپلودهایی که توسط کاربران یک سایت زیرمجموعه خاص انجام میشود، قابل دسترسی در سایت زیرمجموعه دیگری نیستند.
- هر سایت زیرمجموعه پنل مدیریت اختصاصی خود را دارد و میتواند پلاگینها یا تمها را فعال یا غیرفعال کند مگر اینکه توسط یک سوپر ادمین شبکه فعال شده باشند.
- اکثر جداول پایگاه داده برای هر سایت زیرمجموعه ایجاد میشوند، به این معنی که پستها، کامنتها، صفحات، تنظیمات و موارد دیگر برای هر سایت زیرمجموعه مشخص هستند.
مدیریت کاربران در وردپرس 멀티سایت
یکی از مسائل حساس در وردپرس 멀티سایت مدیریت کاربران است. جدول کاربر وردپرس یکی از معدود جدولی است که بین همه سایتهای زیرمجموعه به اشتراک گذاشته میشود.
این تنظیمات بسته به اینکه قصد دارید با شبکه خود چه چیزی بسازید، میتواند مشکلات ایجاد کند. مثال زیر به روشن کردن مهمترین آنها کمک میکند.
تصور کنید سناریوی زیر را داریم:
شما یک شبکه چند سایت وردپرسی (multisite network) ایجاد میکنید و شروع به ارائه زیرسایتها با هزینه ماهانه به افرادی میکنید که میخواهند فروشگاه اینترنتی داشته باشند.
اولین مشتری پرداختکننده خود را پیدا میکنید – جان. شما برای جان در شبکه خود یک سایت ایجاد میکنید، تمام پلاگینهای لازم را نصب میکنید و سپس یک کاربر برای جان میسازید تا بتواند فروشگاهش را مدیریت کند.
سپس مشتری دوم – آلیس وارد میشود. شما همین کار را برای او انجام میدهید و حالا او هم یک فروشگاه در شبکه شما دارد.
جان و آلیس هر دو مشتریان شما هستند، اما آنها همدیگر را نمیشناسند. مهمتر از آن، اگر یکی از آنها به وبسایت فروشگاه دیگری مراجعه کند، راهی برای دانستن اینکه این فروشگاه روی همان شبکه سایتها میزبانی میشود وجود ندارد.
یک روز، جان نیاز دارد یک جفت کفش جدید بخرد و در فروشگاه آلیس پیدا میکند که عالی است. وقتی سعی میکند خرید را نهایی کند، با پیام خطای «ایمیل قبلاً استفاده شده» مواجه میشود، که عجیب است چون جان ۱۰۰٪ مطمئن است این اولین باری است که به وبسایت آلیس مراجعه میکند.
آنچه اینجا اتفاق افتاده این است که کاربر جان در کل شبکه مشترک است؛ بنابراین وقتی او سعی میکند برای پرداخت در سایت آلیس یک حساب کاربری ایجاد کند، وردپرس متوجه میشود که کاربری با همان آدرس ایمیل از قبل وجود دارد و خطا میدهد.
نکته: ما متوجه شدیم که این موضوع بسته به سناریوی استفاده شما چقدر میتواند بد باشد، بنابراین Ultimate Multisite گزینهای دارد که بررسیهای معمولی برای کاربر موجود را دور میزند و اجازه میدهد با یک آدرس ایمیل میتوان چندین حساب ایجاد کرد. هر حساب به یک زیرسایت خاص متصل است، بنابراین خطر تداخل در حداقل حفظ میشود. در مثال بالا، جان پیام خطایی دریافت نمیکند و میتواند بدون مشکل آن کفشها را بخرد. این گزینه «Enable Multiple Accounts» نام دارد و میتواند در Ultimate Multisite → Settings → Login & Registration فعال شود.
حتی اگر جدول کاربری مشترک باشد، يمكن إضافة المستخدمين وإزالتهم من المواقع الفرعية بواسطة مسؤولي الموقع الفرعي أو المسؤول العام، ويمكن أن يكون لديهم أدوار مستخدم مختلفة على مواقع فرعية مختلفة.
اعتبارات الأداء
منصة WordPress multisite قوية حقًا عندما يتعلق الأمر بعدد المواقع التي يمكنها دعمها. يمكن اختبار هذا من خلال حقيقة أن WordPress.com، وEdublogs، وCampuspress كلها خدمات قائمة على نظام متعدد المواقع (multisite) وكل مضيف يستضيف آلاف المواقع.
على الرغم من أنه نظريًا لا يوجد حد أقصى لعدد المواقع التي يمكنك استضافتها في تثبيت WordPress multisite واحد، إلا أن عدد المواقع التي يمكنك تشغيلها بشكل مُرضٍ يمكن أن يختلف إلى حد كبير اعتمادًا على عدة عوامل مختلفة: مدى ديناميكية المواقع، وما هي الإضافات (plugins) المتاحة للمواقع الفرعية، إلخ.
كقاعدة عامة، كلما كانت شبكتك أبسط، كان ذلك أفضل. تفضيل المواقع التي لا يكون محتواها ديناميكيًا حقًا (مما يجعلها مرشحين ممتازين لاستراتيجيات التخزين المؤقت القوية) والحفاظ على مجموعة الإضافات خفيفة قدر الإمكان (كلما قل عدد الإضافات النشطة كان ذلك أفضل) يمكن أن يزيد بشكل كبير من عدد المواقع الفرعية التي يمكنك استضافتها.
أفضل جزء هو أنه بما أن كل شيء هو WordPress هنا، فإن نفس الأدوات التي تعرفها وتحبها لتحسين الأداء ستعمل أيضًا لشبكة متعددة المواقع.
العنق الزجاجي الرئيسي للمواقع المتعددة (multisite) هو قاعدة البيانات ولكن إذا تم إعداد كل شيء بشكل صحيح، فقد يستغرق الأمر بضعة آلاف من المواقع قبل أن تحتاج إلى القلق بشأن ذلك. حتى في ذلك الوقت، هناك حلول يمكن إضافتها تدريجياً في تلك المرحلة (مثل حلول تقسيم قاعدة البيانات، على سبيل المثال).