স্কিপ করে মূল কন্টেন্ট এ যান

WordPress Multisite কী?

WordPress-এর মূল কাঠামোতে 'Multisite' নামে একটি ফিচার আছে, যা ২০১০ সালে WordPress 3.0 চালু হওয়ার সময় থেকে এর যাত্রা শুরু। তারপর থেকে নতুন ফিচার যোগ এবং সিকিউরিটি আরও শক্তিশালী করতে এটি বেশ কয়েকবার আপডেট হয়েছে।

সহজ ভাষায় বলতে গেলে, WordPress multisite-কে এভাবে ভাবতে পারেন: একটি বিশ্ববিদ্যালয়ে WordPress-এর একটিই ইনস্টলেশন আছে, কিন্তু প্রতিটি বিভাগ তাদের নিজস্ব WordPress সাইট পরিচালনা করে।

WordPress Multisite আসলে কী?

Multisite হলো WordPress-এর এমন একটি ফিচার যা একাধিক সাইটকে একই WordPress ইনস্টলেশন শেয়ার করতে দেয়। Multisite চালু করলে, আসল WordPress সাইটটি রূপান্তরিত হয়ে যায় যাকে সাধারণত সাইটের নেটওয়ার্ক বলা হয়।

এই নেটওয়ার্ক ফাইল সিস্টেম শেয়ার করে (মানে plugin এবং theme-ও শেয়ার হয়), সাথে database, WordPress core ফাইল, wp-config.php ইত্যাদিও।

এর মানে হলো WordPress, theme এবং plugin আপডেট আপনার নেটওয়ার্কের সব সাইটের জন্য শুধু একবারই করতে হবে, কারণ সবাই ফাইল সিস্টেমে একই ফাইল ব্যবহার করে।

এটাই multisite-এর অন্যতম প্রধান সুবিধা, কারণ এটি আপনাকে সাইটের সংখ্যা বাড়াতে দেয়, অথচ গ্রাহকদের সাইট রক্ষণাবেক্ষণের জন্য আপনার কাজের পরিমাণ একই থাকে।

Subdomain নাকি Subdirectory?

WordPress multisite চালানোর দুটি মোড আছে – এবং আপনার সাধারণ WordPress ইনস্টলেশনকে multisite-এ রূপান্তর করার সময় একটি বেছে নিতে হবে:

Subdomain: যেমন: site.domain.com

…অথবা

Subdirectory: যেমন: yourdomain.com/site

প্রতিটি মোডের সুবিধা এবং অসুবিধা আছে যা এই সিদ্ধান্ত নেওয়ার সময় বিবেচনা করতে হবে।

তবে একটি গুরুত্বপূর্ণ বিষয় মনে রাখবেন: একবার সিদ্ধান্ত নেওয়ার পর, আপনার নেটওয়ার্ককে subdirectory থেকে subdomain-এ বা উল্টোটা পরিবর্তন করা খুবই কঠিন – বিশেষ করে যদি ইতিমধ্যে বেশ কিছু সাইট তৈরি হয়ে গিয়ে থাকে।

সিদ্ধান্ত নেওয়ার আগে, কিছু বিষয় মাথায় রাখুন:

Subdirectory মোড সেটআপ এবং রক্ষণাবেক্ষণের দিক থেকে সবচেয়ে সহজ। এটি হয় কারণ সব সাইট মূল ডোমেইনের সাথে path হিসেবে যুক্ত থাকে (যেমন yourdomain.com/subsite)। ফলে, মূল ডোমেইনের জন্য একটি SSL certificate হলেই পুরো নেটওয়ার্ক কভার হয়ে যায়।

একই সাথে, URL কাঠামোর কারণে Google এবং অধিকাংশ সার্চ ইঞ্জিন আপনার subdirectory-ভিত্তিক নেটওয়ার্কের সব subsite-কে একটি বিশাল সাইট হিসেবে দেখে। ফলে, আপনার গ্রাহকরা subsite-এ যে কন্টেন্ট যোগ করেন তা আপনার ল্যান্ডিং সাইটের SEO পারফরম্যান্সকে প্রভাবিত করতে পারে। এই প্রভাব কতটুকু তা নিয়ে মতভেদ আছে এবং কেউ কেউ মনে করেন এই ব্যবস্থা SEO পারফরম্যান্সের জন্য উপকারীও হতে পারে।

Subdomain মোড সেটআপ করতে একটু বেশি জটিল, তবে এর URL কাঠামো (যেমন subsite.yournetwork.com) সাধারণত "বেশি প্রফেশনাল" দেখায়।

Subdomain মোড সেটআপের অন্যতম প্রধান চ্যালেঞ্জ হলো পুরো নেটওয়ার্কের জন্য SSL কভারেজ (HTTPS)। ব্রাউজারগুলো subdomain-কে আলাদা entity হিসেবে দেখে। ফলে, আপনার নেটওয়ার্কের প্রতিটি subdomain-এর জন্য আলাদা SSL certificate লাগবে, অথবা Wildcard SSL certificate নামে একটি বিশেষ ধরনের certificate। সাম্প্রতিক বছরগুলোতে, hosting provider এবং panel গুলো SSL প্রদানে অনেক উন্নতি করেছে এবং কেউ কেউ এক ক্লিকে wildcard certificate দিচ্ছে, যা দুই মোডের সেটআপ জটিলতার পার্থক্য অনেকটা কমিয়ে দিয়েছে।

Subdirectory মোডের বিপরীতে, subdomain-ভিত্তিক নেটওয়ার্কের subsite-গুলো সার্চ ইঞ্জিনের কাছে আলাদা ওয়েবসাইট হিসেবে গণ্য হয়, মানে এক subsite-এর কন্টেন্ট অন্য subsite-এর SEO পারফরম্যান্সে কোনো প্রভাব ফেলে না।

Super Admin

Single-site WordPress ইনস্টলেশনে আপনি অসীম সংখ্যক ইউজার যোগ করতে পারেন এবং তাদের বিভিন্ন user role ও বিভিন্ন অনুমতি দিতে পারেন।

WordPress Multisite-এ একটি নতুন ধরনের ইউজার আনলক হয়: super admin – এবং একটি নতুন admin panel আনলক হয়: network admin panel

নাম থেকেই বোঝা যায়, super admin-এর নেটওয়ার্কের উপর সুপার পাওয়ার আছে, তিনি সব subsite, plugin, theme, সবকিছু ম্যানেজ করতে পারেন!

আপনার single-site WordPress ইনস্টলেশনকে multisite-এ রূপান্তর করলে, সিঙ্গেল সাইটের আসল admin স্বয়ংক্রিয়ভাবে super admin-এ আপগ্রেড হয়ে যাবে।

Plugin এবং theme শুধুমাত্র super admin-রা network admin panel থেকে ইনস্টল বা আনইনস্টল করতে পারেন। Subsite admin-রা তারপর সেই plugin বা theme activate বা deactivate করতে পারেন, যদি না super admin কোনো plugin network activate করেন, যা সেটিকে সব subsite-এ সব সময় active থাকতে বাধ্য করে।

দ্রষ্টব্য: আপনি দেখতেই পাচ্ছেন, কাউকে আপনার নেটওয়ার্কে আমন্ত্রণ জানিয়ে super admin স্ট্যাটাস দিলে এই ইউজার আপনার নেটওয়ার্কের উপর সম্পূর্ণ নিয়ন্ত্রণ পায়। উদাহরণস্বরূপ, অন্য super admin-রা এমনকি আপনার super admin স্ট্যাটাস সরিয়ে দিতে পারে, কার্যত আপনাকে আপনার নিজের network admin panel থেকে লক আউট করে দিতে পারে। Ultimate Multisite গ্রাহকদের অতিরিক্ত super admin-রা কী করতে পারবে তার উপর সূক্ষ্ম নিয়ন্ত্রণ দিতে, আমাদের Support Agents নামে একটি add-on আছে। এই add-on আপনাকে আরেক ধরনের ইউজার তৈরি করতে দেয় – একজন agent – যার শুধু নেটওয়ার্কে তাদের কাজ করার জন্য প্রয়োজনীয় অনুমতিই থাকবে।

Subsite-গুলোর মধ্যে কী শেয়ার হয় এবং কী হয় না

আমরা আগেই বলেছি, WordPress multisite-এর অন্যতম প্রধান সুবিধা হলো সব subsite একই configuration, core file, theme, plugin, WordPress core file ইত্যাদি শেয়ার করে।

তবে কিছু জিনিস আছে যা প্রতিটি subsite-এর জন্য সুন্দরভাবে আলাদা রাখা হয়।

- যেমন, প্রতিটি subsite তার নিজস্ব uploads ফোল্ডার পায়। ফলে, একটি নির্দিষ্ট subsite-এর ইউজাররা যা আপলোড করে তা অন্য subsite থেকে অ্যাক্সেস করা যায় না।

- প্রতিটি subsite-এর নিজস্ব admin panel আছে এবং super admin network active না করলে সে plugin বা theme activate বা deactivate করতে পারে।

- বেশিরভাগ database table প্রতিটি subsite-এর জন্য আলাদা করে তৈরি হয়, মানে post, comment, page, setting এবং আরও অনেক কিছু প্রতিটি subsite-এর জন্য আলাদা থাকে।

WordPress Multisite-এ ইউজার ম্যানেজমেন্ট

WordPress multisite-এ একটি জটিল বিষয় হলো ইউজার ম্যানেজমেন্ট। WordPress user table হলো সেই কয়েকটির একটি যা সব subsite-এর মধ্যে শেয়ার হয়।

আপনি নেটওয়ার্ক দিয়ে কী তৈরি করতে চাইছেন তার উপর নির্ভর করে এই ব্যবস্থা কিছু সমস্যা তৈরি করতে পারে। নিচের উদাহরণটি সবচেয়ে গুরুত্বপূর্ণ সমস্যাটি বুঝতে সাহায্য করবে।

নিচের দৃশ্যকল্পটি কল্পনা করুন:

আপনি একটি WordPress multisite নেটওয়ার্ক তৈরি করলেন এবং যারা e-commerce স্টোর চান তাদের মাসিক ফি-র বিনিময়ে subsite দেওয়া শুরু করলেন।

আপনার প্রথম পেইড গ্রাহক এলো – জন। আপনি জনের জন্য নেটওয়ার্কে একটি সাইট তৈরি করলেন, প্রয়োজনীয় সব plugin ইনস্টল করলেন, তারপর জনের জন্য একটি ইউজার তৈরি করলেন যাতে সে তার স্টোর ম্যানেজ করতে পারে।

তারপর দ্বিতীয় গ্রাহক এলো – অ্যালিস। আপনি তার জন্যও একই কাজ করলেন এবং এখন তারও আপনার নেটওয়ার্কে একটি স্টোর আছে।

জন এবং অ্যালিস দুজনেই আপনার গ্রাহক, কিন্তু তারা একে অপরকে চেনে না। আরও গুরুত্বপূর্ণ, তাদের কেউ যদি অন্যজনের স্টোর ওয়েবসাইটে যায়, তাদের জানার কোনো উপায় নেই যে এই স্টোরটি একই সাইট নেটওয়ার্কে হোস্ট করা।

একদিন, জনের নতুন একজোড়া জুতা দরকার হলো এবং সে অ্যালিসের স্টোরে পারফেক্ট জুতা খুঁজে পেলো। কেনাকাটা শেষ করতে গেলে সে "email already in use" এরর মেসেজ পেলো, যা অদ্ভুত কারণ জন ১০০% নিশ্চিত এটাই তার প্রথমবার অ্যালিসের ওয়েবসাইটে আসা।

এখানে যা হয়েছে তা হলো জনের ইউজার পুরো নেটওয়ার্কে শেয়ার হয়, তাই সে যখন অ্যালিসের সাইটে checkout করতে অ্যাকাউন্ট তৈরি করতে চায়, WordPress দেখে যে একই ইমেইল অ্যাড্রেসের ইউজার আগে থেকেই আছে এবং এরর দেখায়।

দ্রষ্টব্য: আমরা বুঝি আপনার use-case অনুযায়ী এটা কতটা খারাপ হতে পারে, তাই Ultimate Multisite-এ একটি অপশন আছে যা বিদ্যমান ইউজারের জন্য সাধারণ চেক বাইপাস করে, একই ইমেইল অ্যাড্রেস দিয়ে একাধিক অ্যাকাউন্ট তৈরি করতে দেয়। প্রতিটি অ্যাকাউন্ট একটি subsite-এর সাথে যুক্ত, তাই সংঘর্ষের ঝুঁকি ন্যূনতম থাকে। উপরের উদাহরণে, জন কোনো এরর মেসেজ পেতো না এবং কোনো সমস্যা ছাড়াই সেই জুতা কিনতে পারতো। এই অপশনটির নাম Enable Multiple Accounts, এবং Ultimate Multisite → Settings → Login & Registration থেকে activate করা যায়।

User table শেয়ার হলেও, subsite admin বা super admin ইউজারদের subsite-এ যোগ বা সরাতে পারেন, এবং তারা বিভিন্ন subsite-এ বিভিন্ন user role-ও পেতে পারেন।

পারফরম্যান্স বিবেচনা

WordPress multisite কতগুলো সাইট সাপোর্ট করতে পারে সে দিক থেকে সত্যিই শক্তিশালী। এটা এই বিষয় থেকে বোঝা যায় যে WordPress.com, Edublogs, এবং Campuspress সবই multisite-ভিত্তিক সার্ভিস এবং প্রত্যেকটি হাজার হাজার সাইট হোস্ট করে।

তাত্ত্বিকভাবে একটি WordPress multisite ইনস্টলেশনে আপনি সর্বোচ্চ কতগুলো সাইট হোস্ট করতে পারবেন তার কোনো সীমা নেই, তবে বাস্তবে আপনি সন্তোষজনকভাবে কতগুলো সাইট চালাতে পারবেন তা বিভিন্ন বিষয়ের উপর নির্ভর করে অনেক আলাদা হতে পারে: সাইটগুলো কতটা dynamic, subsite-গুলোতে কোন plugin পাওয়া যায় ইত্যাদি।

সাধারণ নিয়ম হিসেবে, আপনার নেটওয়ার্ক যত সহজ, তত ভালো। যেসব সাইটের কন্টেন্ট খুব একটা dynamic না (যা তাদের আগ্রাসী caching কৌশলের জন্য দারুণ প্রার্থী করে) এবং plugin stack যতটা সম্ভব হালকা রাখা (active plugin-এর সংখ্যা যত কম তত ভালো) – এগুলো আপনি কতগুলো subsite হোস্ট করতে পারবেন তা ব্যাপকভাবে বাড়াতে পারে।

সবচেয়ে ভালো বিষয় হলো যেহেতু এখানে সবই WordPress, পারফরম্যান্স উন্নতির জন্য আপনি যে টুলগুলো আগে থেকে জানেন এবং পছন্দ করেন সেগুলো multisite নেটওয়ার্কেও কাজ করবে।

Multisite-এর প্রধান বাধা হলো database, কিন্তু বাকি সব কিছু ঠিকভাবে সেটআপ করা থাকলে, এটা নিয়ে চিন্তা করার আগে কয়েক হাজার সাইট পর্যন্ত যেতে পারবেন। তখনও, সেই পর্যায়ে ধীরে ধীরে কিছু সমাধান যোগ করা যায় (যেমন database sharding সমাধান)।