چندسایتی وردپرس چیست؟
وردپرس در هسته خود قابلیتی به نام «چندسایتی» (Multisite) دارد که ریشههای آن به سال ۲۰۱۰ و زمان انتشار وردپرس ۳.۰ برمیگردد. از آن زمان تاکنون، این قابلیت بهروزرسانیهای متع ددی دریافت کرده که هدف آنها افزودن امکانات جدید و تقویت امنیت بوده است.
به زبان ساده، چندسایتی وردپرس را میتوان اینگونه تصور کرد: یک دانشگاه تنها یک نصب وردپرس دارد، اما هر دانشکده سایت وردپرسی مخصوص به خود را مدیریت میکند.
چندسایتی وردپرس دقیقاً چیست؟
چندسایتی قابلیتی در وردپرس است که به چندین سایت اجازه میدهد از یک نصب وردپرس مشترک استفاده کنند. وقتی چندسایتی فعال میشود، سایت اصلی وردپرس به چیزی تبدیل میشود که معمولاً به آن شبکهای از سایتها گفته میشود.
این شبکه فایلسیستم را به اشتراک میگذارد (یعنی افزونهها و پوستهها هم مشترک هستند)، همچنین پایگاه داده، فایلهای هسته وردپرس، فایل wp-config.php و غیره.
این یعنی بهروزرسانی وردپرس، پوستهها و افزونهها فقط یکبار برای همه سایتهای شبکه انجام میشود، چون همگی از فایلهای یکسانی در فایلسیستم استفاده میکنند.
این موضوع یکی از مزایای اصلی چندسایتی است، زیرا به شما امکان میدهد تعداد سایتهایی که مدیریت میکنید را افزایش دهید، در حالی که حجم کارهای نگهداری سایتهای مشتریانتان ثابت باقی میماند.
زیردامنه یا زیرپوشه؟
دو حالت برای اجرای چندسایتی وردپرس وجود دارد – و باید هنگام تبدیل نصب معمولی وردپرس به چندسایتی، یکی را انتخاب کنید:
زیردامنه: مثال: site.domain.com
…یا
زیرپوشه: مثال: yourdomain.com/site
هر حالت مزایا و معایبی دارد که باید هنگام تصمیمگیری در نظر بگیرید.
یک نکته مهم: پس از انتخاب، تغییر شبکه از زیرپوشه به زیردامنه یا برعکس واقعاً دشوار است – بهویژه اگر قبلاً چند سایت ایجاد کرده باشید.
قبل از تصمیمگیری، چند نکته را در نظر داشته باشید:
حالت زیرپوشه از نظر راهاندازی و نگهداری سادهترین حالت است. دلیلش این است که همه سایتها فقط مسیرهایی متصل به دامنه اصلی هستند (مثلاً yourdomain.com/subsite). در نتیجه، فقط به یک گواهی SSL برای دامنه اصلی نیاز دارید و این گواهی کل شبکه را پوشش میدهد.
در عین حال، به دلیل ساختار URL، گوگل و بیشتر موتورهای جستجوی دیگر، همه زیرسایتهای شبکه مبتنی بر زیرپوشه را یک سایت بزرگ در نظر میگیرند. در نتیجه، محتوایی که کاربران نهایی شما به زیرسایتها اضافه میکنند، ممکن است روی عملکرد سئوی سایت اصلی شما تأثیر بگذارد. البته میزان این تأثیر قابل بحث است و حتی میتوان استدلال کرد که چنین ترتیبی میتواند برای عملکرد سئو مفید باشد.
حالت زیردامنه راهاندازی پیچیدهتری دارد، اما ساختار URL آن (مثلاً subsite.yournetwork.com) معمولاً «حرفهایتر» به نظر میرسد.
یکی از چالشهای اصلی راهاندازی حالت زیردامنه، پوشش SSL (HTTPS) برای کل شبکه است. موضوع این است که مرورگرها زیردامنهها را موجودیتهای جداگانه در نظر میگیرند. در نتیجه، برای هر زیردامنه در شبکهتان به گواهی SSL جداگانه نیاز دارید، یا به نوع خاصی از گواهی به نام گواهی SSL Wildcard. در سالهای اخیر، ارائهدهندگان هاست و پنلها در زمینه صدور SSL پیشرفت کردهاند و برخی گواهیهای wildcard را با یک کلیک ارائه می دهند، که فاصله بین دو حالت را از نظر پیچیدگی راهاندازی کم کرده است.
برخلاف حالت زیرپوشه، زیرسایتها در شبکه مبتنی بر زیردامنه توسط موتورهای جستجو به عنوان وبسایتهای جداگانه در نظر گرفته میشوند، یعنی محتوای موجود در یک زیرسایت اصلاً روی عملکرد سئوی زیرسایتهای دیگر تأثیر نمیگذارد.
مدیر ارشد
نصبهای تکسایتی وردپرس به شما امکان میدهند تعداد نامحدودی کاربر اضافه کنید و نقشهای کاربری مختلف با مجوزهای متفاوت به آنها بدهید.
در چندسایتی وردپرس، نوع جدیدی از کاربر فعال میشود: مدیر ارشد (Super Admin) – و یک پنل مدیریت جدید باز میشود: پنل مدیریت شبکه.
همانطور که از نامش پیداست، مدیر ارشد قدرتهای ویژهای روی شبکه دارد و میتواند همه زیرسایتها، افزونهها، پوستهها و همه چیز را مدیریت کند!
وقتی نصب تکسایتی وردپرس را به چندسایتی تبدیل میکنید، مدیر اصلی سایت تکی بهطور خودکار به مدیر ارشد ارتقا پیدا میکند.
افزونهها و پوستهها فقط از پنل مدیریت شبکه و توسط مدیران ارشد قابل نصب یا حذف هستند. مدیران زیرسایتها سپس میتوانن د آن افزونهها یا پوستهها را فعال یا غیرفعال کنند، مگر اینکه مدیر ارشد یک افزونه را در سطح شبکه فعال کند، که در این صورت آن افزونه همیشه برای همه زیرسایتها فعال باقی میماند.
توجه: همانطور که میبینید، دعوت کردن کسی به شبکه و دادن مقام مدیر ارشد به او، کنترل کامل شبکه را به این کاربر میدهد. به عنوان مثال، مدیران ارشد دیگر حتی میتوانند مقام مدیر ارشد شما را حذف کنند و عملاً شما را از پنل مدیریت شبکه خودتان قفل کنند. برای اینکه مشتریان Ultimate Multisite بتوانند کنترل دقیقی روی کارهایی که مدیران ارشد اضافی میتوانند انجام دهند داشته باشند، ما افزونهای به نام Support Agents داریم. این افزونه به شما امکان میدهد نوع دیگری از کاربر – یک نماینده – ایجاد کنید که فقط مجوزهای لازم برای انجام وظایفش در شبکه را دارد.
چه چیزهایی بین زیرسایتها مشترک است و چه چیزهایی نیست
همانطور که قبلاً گفتیم، یکی از مزایای کلیدی چندسایتی وردپرس این است که همه زیرسایتها تنظ یمات، فایلهای هسته، پوستهها، افزونهها، فایلهای هسته وردپرس و غیره را به اشتراک میگذارند.
با این حال، عناصری هستند که بهخوبی برای هر زیرسایت جداسازی شدهاند.
- به عنوان مثال، هر زیرسایت پوشه آپلود مخصوص به خود را دارد. در نتیجه، فایلهایی که کاربران یک زیرسایت خاص آپلود میکنند، در زیرسایت دیگر قابل دسترسی نیست.
- هر زیرسایت پنل مدیریت اختصاصی خود را دارد و میتواند افزونهها یا پوستهها را فعال یا غیرفعال کند، مگر اینکه توسط مدیر ارشد در سطح شبکه فعال شده باشند.
- بیشتر جداول پایگاه داده برای هر زیرسایت ایجاد میشوند، یعنی نوشتهها، دیدگاهها، برگهها، تنظیمات و موارد دیگر برای هر زیرسایت جداگانه هستند.
مدیریت کاربران در چندسایتی وردپرس
یکی از موضوعات حساس در چندسایتی وردپرس، مدیریت کاربران است. جدول کاربران وردپرس یکی از معدود جداولی است که بین همه زیرسایتها مشترک است.
این ترتیب بسته به آنچه قصد دارید با شبکهتان بسازید، میتواند مشکلاتی ایجاد کند. مثال زیر به نشان دادن مهمترین مشکل کمک میکند.
سناریوی زیر را تصور کنید:
شما یک شبکه چندسایتی وردپرس ایجاد میکنید و شروع به ارائه زیرسایت با اشتراک ماهانه به افرادی میکنید که میخواهند فروشگاه آنلاین داشته باشند.
اولین مشتری پولی شما – علی – میآید. شما یک سایت برای علی در شبکهتان ایجاد میکنید، همه افزونههای لازم را نصب میکنید، سپس یک کاربر برای علی میسازید تا بتواند فروشگاهش را مدیریت کند.
بعد مشتری دوم – مریم – میآید. همان کار را برای او انجام میدهید و حالا او هم یک فروشگاه در شبکه شما دارد.
علی و مریم هر دو مشتریان شما هستند، اما یکدیگر را نمیشناسند. مهمتر اینکه، اگر یکی از آنها از وبسایت فروشگاه دیگری بازدید کند، هیچ راهی نیست بفهمد که این فروشگاه روی همان شبکه سایتها میزبانی میشود.
یک روز، علی به یک جفت کفش جدید نیاز دارد و کفشهای ایدهآل را در فروشگاه مریم پیدا میکند. وقتی میخواهد خرید را تکمیل کند، با پیام خطای «این ایمیل قبلاً استفاده شده» مواجه میشود، که عجیب است چون علی ۱۰۰٪ مطمئن است این اولین باری است که از وبسایت مریم بازدید میکند.
آنچه اینجا اتفاق افتاده این است که کاربر علی در کل شبکه مشترک است، پس وقتی میخواهد حسابی برای تسویهحساب در سایت مریم بسازد ، وردپرس تشخیص میدهد که کاربری با همان آدرس ایمیل قبلاً وجود دارد و خطا میدهد.
توجه: ما متوجه هستیم که این موضوع بسته به کاربرد شما چقدر میتواند بد باشد، بنابراین Ultimate Multisite گزینهای دارد که بررسیهای معمول برای کاربر موجود را دور میزند و اجازه میدهد چند حساب با همان آدرس ایمیل ایجاد شود. هر حساب به یک زیرسایت متصل است، پس خطر تداخل به حداقل میرسد. در مثال بالا، علی پیام خطا دریافت نمیکرد و میتوانست بدون مشکل آن کفشها را بخرد. این گزینه Enable Multiple Accounts نام دارد و میتوانید آن را از Ultimate Multisite ← Settings ← Login & Registration فعال کنید.
با وجود اینکه جدول کاربران مشترک است، کاربران میتوانند توسط مدیران زیرسایت یا مدیر ارشد به زیرسایتها اضافه یا از آنها حذف شوند، و حتی میتوانند نقشهای کاربری متفاوتی در زیرسایتهای مختلف داشته باشند.
ملاحظات عملکرد
چندسایتی وردپرس از نظر تعداد سایتهایی که میتواند پشتیبانی کند واقعاً قدرتمند است. این را میتوان با این واقعیت آزمایش کرد که WordPress.com، Edublogs و Campuspress همگی سرویسهای مبتنی بر چندسایتی هستند و هر کدام هزاران سایت را میزبانی میکنند.
در حالی که از نظر تئوری حداکثر تعداد سایتهایی که میتوانید روی یک نصب چندسایتی وردپرس میزبانی کنید وجود ندارد، در عمل تعداد سایتهایی که میتوانید بهخوبی اجرا کنید بسته به عوامل مختلف میتواند خیلی متفاوت باشد: سایتها چقدر پویا هستند، چه افزونههایی برای زیرسایتها در دسترس است و غیره.
به عنوان یک قانون کلی، هرچه شبکهتان سادهتر باشد، بهتر است. ترجیح دادن سایتهایی که محتوایشان واقعاً پویا نیست (که آنها را کاندیداهای عالی برای استراتژیهای کش تهاجمی میکند) و نگه داشتن مجموعه افزونهها تا حد امکان سبک (هرچه تعداد افزونههای فعال کمتر باشد بهتر است) میتواند تعداد زیرسایتهایی که میتوانید میزبانی کنید را بهشدت افزایش دهد.
بهترین بخش این است که چون همه چیز اینجا وردپرس است، همان ابزارهایی که قبلاً برای بهبود عملکرد میشناسید و دوست دارید، برای شبکه چندسایتی هم کار میکنند.
گلوگاه اصلی چندسایتی پایگاه داده است، اما اگر همه چیز دیگر بهدرستی تنظیم شده باشد، میتواند چند هزار سایت طول بکشد تا نیاز به نگرانی درباره آن داشته باشید. حتی در آن زمان هم، راهحلهایی وجود دارند که میتوان بهتدریج اضافه کرد (مثل راهحلهای database sharding).