WordPress হোস্টিং ও প্লাগইনস

WordPress দ্রুত এবং নিরাপদ করা: একটি পারফরম্যান্স এবং প্লাগইন চেকলিস্ট

ওয়ার্ডপ্রেস (WordPress) কেবল ততটুকুই দ্রুত ও নিরাপদ হতে পারে যতটুকু এর ভেতরে চলে। আমরা যে প্রতিটি ওয়ার্ডপ্রেস সাইট হোস্ট করি, সেগুলোতে আমরা যে ব্যবহারিক চেক্লিস্ট প্রয়োগ করি তা এখানে দেওয়া হলো — কী ক্যাশ করতে হবে, কী সুরক্ষিত করতে হবে এবং কোন প্লাগইনগুলো তাদের স্থান অর্জন করে বনাম প্ল্যাটফর্ম যেগুলোকে অপ্রয়োজনীয় করে তোলে।

WordPress ঠিক ততটাই ভালো যতটা এটি চালিত হয়

WordPress নমনীয় হওয়ার কারণে ওয়েবের একটি বড় অংশ চালিত করে, তবে সেই নমনীয়তাই এটিকে ধীরগতির এবং সুরক্ষাহীন করে তোলে: একটি ডিফল্ট ইনস্টল প্রতি পৃষ্ঠায় ডজন ডজন বার ডাটাবেস কোয়েরি করে, যে কেউ দেখলে তার সংস্করণ এবং স্ট্যাক সম্প্রচার করে এবং পারফরম্যান্স ও আক্রমণের ক্ষেত্র উভয়ই নীরবে বৃদ্ধি না পাওয়া পর্যন্ত প্লাগইন স্ট্যাক করার জন্য আমন্ত্রণ জানায়। এর কোনটিই WordPress-এর কোনো ত্রুটি নয় বরং এটি এমন অবকাঠামোতে চালানোর ফলাফল যা সাহায্য করার জন্য কিছুই করে না।

ভাল খবর হলো যে হাতে গোনা কয়েকটি সিদ্ধান্তই এর বেশিরভাগ সমাধান করে দেয়, এবং সেগুলো বিষয়বস্তুর পরিবর্তে স্ট্যাক সম্পর্কিত সিদ্ধান্ত। সঠিক স্তরে আগ্রাসীভাবে ক্যাশ করুন, ডেটাবেসকে হট পাথ থেকে দূরে রাখুন, কেবল সেই কয়েকটি প্লাগইন চালান যা সত্যিই তাদের স্থান অর্জন করে, সবকিছু প্যাচড রাখুন এবং সাইটটিকে আলাদা রাখুন যাতে একটি সমস্যা সীমাবদ্ধ থাকে। এই পোস্টটি হলো সেই চেকলিস্ট, যে ক্রমে আমরা প্ল্যাটফর্মের প্রতিটি WordPress সাইটে এটি প্রয়োগ করি।

সার্ভারে ক্যাশ করুন, কেবল একটি প্লাগইনে নয়

WordPress স্পিডের ক্ষেত্রে সবচেয়ে বড় চালিকাশক্তি হলো বেশিরভাগ ভিজিটের জন্য মোটেও WordPress না চালানো। একটি স্ট্যান্ডার্ড অনুরোধ WordPress বুট করে, একটি বাইট পাঠানোর আগে আপনার প্লাগইনগুলো চালায় এবং ডাটাবেজ কোয়েরি করে; একটি ফুল-পেজ ক্যাশ পরবর্তী হিটে সরাসরি ওয়েব সার্ভার থেকে প্রস্তুত পেজ পরিবেশন করে, পুরো বুট প্রক্রিয়াটি বাদ দেয়। সেই ক্যাশ কোথায় থাকে তা গুরুত্বপূর্ণ: একটি ক্যাশিং প্লাগইন PHP-এর ভেতরে থাকে, তাই ক্যাশ উত্তর দেওয়ার আগেই PHP চালু হতে হয়, যেখানে সার্ভার-স্তরের ক্যাশ অনুরোধের অনেক আগেই উত্তর দেয় এবং সার্ভার তাৎক্ষণিকভাবে ফ্লাশ করতে পারে এমন একটি ফর্মে পেজগুলো ধরে রাখে।

আমাদের হোস্ট করা প্রতিটি WordPress সাইট সার্ভার-লেভেল LSCache সহ LiteSpeed Enterprise-এ চলে, এবং আমাদের নিজস্ব ক্যাশে প্লাগইনটি WordPress-কে প্রথম থেকেই এর সাথে সঠিকভাবে যুক্ত করে—এটি আগে থেকেই ইনস্টল করা থাকে এবং স্বয়ংক্রিয়ভাবে আপডেট হয়, তাই এটি কনফিগার করার বা আপডেট রাখার মতো একটি ঝামেলা কমায়। নন-LiteSpeed অরিজিনে একই প্লাগইন কেবল কোনো ফুল-পেজ হেডার প্রকাশ করে না এবং অবজেক্ট ক্যাশে কাজ করতে থাকে বলে মাঝপথে সরে থাকে, তাই একটি মাইগ্রেট করা সাইট কখনো অর্ধেক কনফিগার করা অবস্থায় থাকে না। আপনার নিজস্ব চেকপিলিস্টের জন্য ব্যবহারিক নিয়মটি হলো: সার্ভারে একটি ফুল-পেজ ক্যাশে রাখুন এবং এর উপরে দ্বিতীয় কোনো ক্যাশিং প্লাগইন স্ট্যাক করবেন না—তারা একে অপরের সাথে সংঘাতে জড়ায়।

অবজেক্ট ক্যাশ এবং ডাটাবেস

প্রতিটি অনুরোধ স্ট্যাটিক পেজ হতে পারে না। লগ-ইন করা সেশন, অ্যাডমিন, সার্চ, কার্ট এবং যেকোনো ব্যক্তিগতকৃত অংশকে PHP চালাতে হয়, এবং সেগুলির ক্ষেত্রে লক্ষ্য হলো অ্যাপ্লিকেশন বাদ দেওয়া থেকে সরে এসে ডাটাবেজ বাদ দেওয়া। প্রতি সাইটের জন্য একটি অবজেক্ট ক্যাশ—আমাদের ক্ষেত্রে Redis—পুনরাবৃত্তি হওয়া ডাটাবেজ রিডের ফলাফল মেমরিতে ধরে রাখে, ফলে প্রতিটি হিটে একই অপশন, ট্রানজিয়েন্ট এবং লুকআপ ডাটাবেজে কুয়েরি করা হয় না। ফুল-পেজ ক্যাশ যেখানে সাহায্য করতে পারে না, এর প্রভাব ঠিক সেখানেই দেখা যায়: দ্রুতগতির অ্যাডমিন, দ্রুতগতির কার্ট এবং ট্রাফিকের নিচে ডাটাবেজের ওপর অনেক কম চাপ।

গুরুত্বপূর্ণ শব্দটি হলো প্রতি-সাইট (per-site)। একটি শেয়ার্ড অবজেক্ট ক্যাশের অর্থ হলো একটি ব্যস্ত বা খারাপভাবে লিখিত সাইট অন্য সবার ক্যাশ করা ডেটা মুছে ফেলতে পারে এবং এর আশেপাশের সাইটগুলোর জন্য ডাটাবেসকে সংকটে ফেলতে পারে; একটি ডেডিকেটেড প্রতি-সাইট ক্যাশ, প্রতি-সাইট ডাটাবেস সীমার সাথে যুক্ত হয়ে, সেই ক্ষয়ক্ষতির পরিসরকে সীমার মধ্যে রাখে। আপনার চেকলিস্টে, লগ-ইন করা ব্যবহারকারী বা স্টোর রয়েছে এমন যেকোনো সাইটের জন্য পারসিস্টেন্ট অবজেক্ট ক্যাশকে আবশ্যিক হিসেবে বিবেচনা করুন এবং এমন হোস্টিং থেকে সতর্ক থাকুন যেখানে এটি বিভিন্ন টেন্যান্টের মধ্যে শেয়ার করা হয়।

যে প্লাগইনগুলো ব্যবহার করা সার্থক—এবং প্ল্যাটফর্মটি যেগুলোর স্থলাভিষিক্ত হয়

আপনার যোগ করা প্রতিটি প্লাগইন এমন একটি কোড যা অনুরোধের সময় চলে এবং এটি এমন একটি দরজা যার মধ্য দিয়ে একদিন কেউ প্রবেশ করতে পারে, তাই সৎ উদ্দেশ্য হলো সর্বনিম্ন সংখ্যক প্লাগইন ব্যবহার করা যা সর্বাধিক কাজ করে। একটি ভালো হোস্টিং প্রোভাইডার সেগুলোর একটি সম্পূর্ণ বিভাগের প্রয়োজনীয়তা দূর করে: সার্ভার-স্তরের ক্যাশিং, একটি পরিচালিত অবজেক্ট ক্যাশ এবং প্ল্যাটফর্ম ব্যাকআপের মাধ্যমে, আপনার কোনো ক্যাশিং প্লাগইন, পৃথক অবজেক্ট-ক্যাশ প্লাগইন বা ব্যাকআপ প্লাগইনের প্রয়োজন হয় না—সেই কাজগুলো WordPress-এর নিচে আরও ভালোভাবে সম্পন্ন হয় এবং সেগুলোকে ওপরে চালানো কেবল দ্বন্দ্ব এবং ওভারহেড বৃদ্ধি করে।

যেগুলো সচল রাখার মতো বাকি থাকে তা হলো আসল সক্ষমতা যোগ করে এমন ছোট সেটটি: আপনার সাইটের কাজের জন্য যে প্লাগইনগুলো আসলে প্রয়োজন, এবং — আমাদের প্ল্যাটফর্মে — প্রতিটি সাইটের সাথে আমরা যে দুটি রেপো-গ্রেড প্লাগইন তৈরি করি ও সরবরাহ করি। আমাদের ক্যাশে প্লাগইন WordPress-কে সার্ভার ক্যাশের সাথে সংযুক্ত করে এবং স্মার্ট পার্জিং পরিচালনা করে যাতে একটি সম্পাদনা কেবল সেই পৃষ্ঠাগুলোই পরিষ্কার করে যেগুলো করা উচিত। আমাদের ফুটপ্রিন্ট প্লাগইনটি ডিফল্ট WordPress ইনস্টল থেকে সম্প্রচারিত সংকেতগুলো — সংস্করণ এবং জেনারেটর ট্যাগ, ডিসকভারি এন্ডপয়েন্ট, XML-RPC, পিংব্যাক এবং পাওয়োর্ড-বাই হেডার — প্রতিটি ডিপ্লয়ে সরিয়ে দেয়, যাতে কোনো প্লাগইন বা থিম আপডেট চুপচাপ সেগুলোকে ফিরিয়ে আনতে না পারে। উভয়টিই WordPress.org প্লাগইন-ডিরেক্টরি মানদণ্ড অনুযায়ী তৈরি, বিনামূল্যে পাওয়া যায় এবং নিজেরা আপডেট হয়।

WordPress সুরক্ষিত এবং আপডেট রাখা হচ্ছে

বেশিরভাগ WordPress কম্প্রোমাইজ চতুর নয়; সেগুলো পুরনো। একটি আপডেটহীন কোর, থিম বা প্লাগইন যাতে পরিচিত ও প্রকাশিত দুর্বলতা রয়েছে, সেটাই সাইটগুলোর আক্রান্ত হওয়ার সবচেয়ে সাধারণ কারণ। এটি আপ-টু-डेट থাকাকে সুরক্ষার ক্ষেত্রে সবচেয়ে মূল্যবান কাজ করে তোলে—এবং সবচেয়ে বিরক্তিকরও, যে কারণে এটি বাদ দেওয়া হয়। ম্যানেজড হোস্টিংয়ের কাজটি আপনার ওপর থেকে এটি সরিয়ে নেওয়া উচিত: WordPress-এর নিচের স্ট্যাক প্যাচ করা এবং পরীক্ষা করার জন্য একটি স্টেজিং কপি এবং রোল ব্যাক করার জন্য একটি ব্যাকআপ দিয়ে কোর ও প্লাগইন আপডেটগুলো নিরাপদভাবে প্রয়োগ করা।

মুদ্রার বিষয়টি ছাড়াও, আশা করতে পারেন যে আপনার জন্য নিয়মগুলো কঠোরভাবে কার্যকর করা হবে: ম্যালওয়্যার স্ক্যানিং ডিফল্টভাবে চালু থাকে যাতে কোনো দর্শনার্থীর চোখে পড়ার আগেই সংক্রমণ ধরা পড়ে, আইসোলেশন বা পৃথকীকরণ ব্যবস্থা থাকে যাতে একটি আপস করা সাইট অন্যটিতে পৌঁছাতে না পারে, প্রান্তে (এজ-এ) ডিডিওএস (DDoS) সুরক্ষা থাকে এবং স্বয়ংক্রিয়ভাবে নবায়নযোগ্য সার্টিফিকেট সহ সর্বত্র টিএলএস (TLS) থাকে। এর কোনটিই মৌলিক সতর্কতা—শক্তিশালী শংসাপত্র, ন্যূনতম সুযোগ-সুবিধাভিত্তিক অ্যাক্সেস এবং আর ব্যবহার করেন না এমন প্লাগইনগুলো সরিয়ে ফেলা—প্রতিস্থাপন করে না, তবে এর অর্থ হলো অবকাঠামোটি দুর্বল লিঙ্ক নয়। আপনার চেকলিস্টে, যেকোনো হোস্টিং প্রদানকারীর জন্য প্রশ্নটি সহজ: নিরাপত্তা কি ডিফল্টভাবে পাওয়া যায়, নাকি এটি এমন একটি বান্ডেল যা আপনাকে কিনে নিতে হয়?

WooCommerce এবং যে পৃষ্ঠাগুলি আপনার কখনোই ক্যাশে করা উচিত নয়

একটি স্টোর হলো এমন একটি জায়গা যেখানে আক্রমণাত্মক ক্যাশিং এর সবচেয়ে বড় সাফল্য আসে এবং এটি অপরিপক্ব হলে সবচেয়ে বড় ক্ষতি করে। ক্যাটালগ, পণ্য এবং ক্যাটাগরির পেজগুলো হলো আপনার সবচেয়ে বেশি ট্রাফিকপূর্ণ এবং ক্যাশ করার উপযোগী পেজ, আর ফুল-পেজ ক্যাশ থেকে এগুলো পরিবেশন করা একটি স্টোরের গতির জন্য আপনি যা করতে পারেন তার মধ্যে সবচেয়ে সেরা কাজ। কিন্তু কার্ট, চেকআউট এবং অ্যাকাউন্ট পেজগুলো ব্যক্তিগত এবং এগুলো কখনই শেয়ার্ড ক্যাশ থেকে পরিবেশন করা উচিত নয় — তা করলে একজন ক্রেতা অন্য কারও ঝুড়ি দেখতে পাবে, যা একাধারে একটি নষ্ট স্টোর এবং গোপনীয়তার লঙ্ঘন।

উভয় সুবিধা পাওয়ার উপায় হলো পেজ ক্যাশ করা এবং লাইভ অংশগুলোর জন্য ছিদ্র করা। Edge Side Includes প্রতিটি অনুরোধের বিপরীতে কার্ট ফ্র্যাগমেন্ট, মিনি-কার্ট টোটাল এবং অ্যাকাউন্ট স্টেট রেন্ডার করে, অথচ পেজের বাকি অংশ ক্যাশ থেকে পরিবেশন করা হয় এবং কার্ট, চেকআউট, my-account এবং যেকোনো ননস বা সেশন পেজ ডিফল্টভাবে বাদ দেওয়া হয়। কোনো পণ্য, মূল্য বা অর্ডার পরিবর্তিত হলে যে স্মার্ট অটো-পার্জ ট্রিগার হয় তার মাধ্যমে সতেজতা পরিচালনা করা হয়, ফলে কোনো পুরনো মূল্য কখনোই থেকে যায় না। আপনি যদি WooCommerce চালান, তবে নিখুঁতভাবে সম্পন্ন করার জন্য চেকলিস্টের এই অংশটি হলো: ক্যাশ থেকে দ্রুত স্টোরফ্রন্ট, প্রতি ব্যবহারকারীর জন্য লাইভ কার্ট, ব্যক্তিগত কিছু কখনোই ক্যাশ করা হয় না।

সচরাচর জিজ্ঞাসিত প্রশ্নাবলী

আমার কি এখনও WP Rocket-এর মতো কোনো ক্যাশিং প্লাগইনের প্রয়োজন আছে?

না। ফুল-পেজ ক্যাচিং ওয়েব সার্ভারে LiteSpeed-এর LSCache দ্বারা পরিচালিত হয়, আমাদের নিজস্ব ক্যাচ প্লাগিনটি এর সাথে WordPress-কে যুক্ত করে এবং স্মার্ট পার্জিং পরিচালনা করে, এবং এর পেছনে একটি প্রতি-সাইট Redis অবজেক্ট ক্যাচ রয়েছে। এর উপরে দ্বিতীয় কোনো ফুল-পেজ ক্যাচিং প্লাগিন যোগ করলে তা সাহায্য করার পরিবর্তে সাধারণত সার্ভার-স্তরের ক্যাচের সাথে বিরোধ তৈরি করে, তাই এটি প্রয়োজনও নয় বা সুপারিশও করা হয় না।

প্ল্যাটফর্মটি কোন প্লাগইনগুলোকে অপ্রয়োজনীয় করে তোলে?

এখানে ক্যাচিং প্লাগইন, আলাদা অবজেক্ট-ক্যাশ প্লাগইন এবং ব্যাকআপ প্লাগইনগুলো অপ্রয়োজনীয়, কারণ এই কাজগুলো WordPress-এর নিচেই সম্পন্ন হয়—সার্ভার-লেভেল ক্যাচিং, একটি পরিচালিত প্রতি-সাইট অবজেক্ট ক্যাশ এবং প্ল্যাটফর্ম ব্যাকআপ। এগুলো সরিয়ে ফেললে দ্বন্দ্ব এবং আক্রমণের ঝুঁকি কমে যায়। কেবল সেই প্লাগইনগুলোই রাখা মূল্যবান যা আপনার সাইটের কার্যক্রমের জন্য সত্যিকার অর্থে প্রয়োজন, সাথে আমাদের দুটি বিনামূল্যে ক্যাশ এবং ফুটপ্রিন্ট প্লাগইন, যা আগে থেকেই ইনস্টল করা থাকে।

ক্যাচিং কি আমার WooCommerce কার্ট বা লগ-ইন করা পৃষ্ঠাগুলো নষ্ট করে দেবে?

নম্বর। কার্ট, চেকআউট, মাই-অ্যাকাউন্ট এবং যেকোনো ননস বা সেশন পেজ ডিফল্টভাবে ক্যাশ থেকে বাদ দেওয়া হয়, এবং এজ সাইড ইনক্লুডস অন্যথায় ক্যাশ করা পেজগুলিতে কার্ট ফ্র্যাগমেন্ট এবং মোট পরিমাণ লাইভ রাখে। স্টোরফ্রন্ট এখনও ক্যাশ থেকে লোড হওয়ার সময় ক্রেতারা সবসময় তাদের নিজস্ব ঝুড়ি এবং একটি কাজ করার উপযোগী চেকআউট দেখতে পান, এবং একটি পণ্য, দাম বা অর্ডার পরিবর্তিত হলে স্মার্ট অটো-পার্জ প্রভাবিত পেজগুলি পরিষ্কার করে দেয়।

আমি কিভাবে এটি পরিচালনা না করেই WordPress নিরাপদ রাখি?

আমরা WordPress-এর নিচের স্ট্যাক প্যাচ করি, স্টেজিং এবং এক-ক্লিক রিস্টোর সুবিধা দিয়ে কোর ও প্লাগইন আপডেট নিরাপদ করি, ডিফল্টভাবে ম্যালওয়্যার স্ক্যানিং ও DDoS সুরক্ষা চালাই যাতে একটি সাইটের ক্ষতি অন্যটিতে ছড়িয়ে পড়তে না পারে প্রতিটি সাইটকে আলাদা রাখি, এবং স্বয়ংক্রিয়ভাবে TLS সার্টিফিকেট জারি ও নবায়ন করি। এর ফলে অবকাঠামো দুর্বলতম লিংক হিসেবে বাদ পড়ে; তবে শক্তিশালী ক্রেডেনশিয়াল ব্যবহার এবং অব্যবহৃত প্লাগইন মুছে ফেলার মতো মৌলিক সতর্কতা আপনার দায়িত্বেই থাকে।

১৪ দিনের জন্য বিনামূল্যে ব্যবহার করে দেখুন

১৪ দিনের জন্য আপনার প্রথম সাইটগুলো সম্পূর্ণ বিনামূল্যে চালু করুন — কোনো ক্রেডিট কার্ডের প্রয়োজন নেই। কোনো বিদ্যমান সাইট বা নেটওয়ার্ক স্থানান্তর করছেন? আপনার প্রথম মাইগ্রেশন সম্পূর্ণ বিনামূল্যে আমরা করে দিচ্ছি।

বিনামূল্যে শুরু করুন