WordPress

জরুরি প্লাগইন: ইনস্টলের পরে আসল কাজটা কী

কোন প্লাগইন লাগবে সেটা অর্ধেক প্রশ্ন। বাকি অর্ধেক — প্রতিটার সেটিংস কীভাবে ঠিক করবেন, খরচ কীভাবে মাপবেন, কনফ্লিক্ট কীভাবে ধরবেন, আর অটোলোড অপশন কীভাবে সাইট ধীর করে দেয়।

স্ট্যাক অ্যালিক্স টিমস্ট্যাক অ্যালিক্স টিম১০ জুল, ২০২৬ মিনিট পড়া
শেয়ার করুন

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

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

আগে মাপুন, তারপর ইনস্টল করুন

যেকোনো কিছু বদলানোর আগে Query Monitor ইনস্টল করুন। এটা ভিজিটর দেখতে পায় না, শুধু লগইন করা অ্যাডমিনের টুলবারে বসে। প্রতিটা পেজে এটা দেখায় কতগুলো ডেটাবেজ কোয়েরি চলেছে, পেজ জেনারেট হতে কত সময় লেগেছে, কত পিক মেমোরি লেগেছে, আর কোন প্লাগইন কতগুলো কোয়েরি করেছে। এই শেষ কলামটাই আসল সোনা — Queries by Component ট্যাব খুললে দেখবেন কে আপনার সাইট ধীর করছে, তার নাম-ঠিকানা সহ।

  • একটা সুস্থ ব্লগ হোমপেজে সাধারণত ৩০-৮০টা কোয়েরি হয়। ২৫০ পেরোলে কোথাও গণ্ডগোল আছে
  • পেজ জেনারেশন টাইম শেয়ার্ড হোস্টিংয়ে ০.৪-০.৮ সেকেন্ডের মধ্যে থাকা উচিত
  • পিক মেমোরি ৬৪ মেগাবাইট ছাড়ালে সন্দেহ করুন, ১২৮ ছুঁলে সমস্যা নিশ্চিত
  • HTTP API Calls ট্যাবে দেখুন কোনো প্লাগইন প্রতি পেজ লোডে বাইরের সার্ভারে কল করছে কি না — এটা সবচেয়ে দামি ভুল
প্লাগইনের সংখ্যা নিয়ে দুশ্চিন্তা করবেন না, খরচ নিয়ে করুন। ভালোভাবে লেখা ২৫টা প্লাগইন একটা বাজে প্লাগইনের চেয়ে হালকা হতে পারে।

ক্যাশিং: LiteSpeed না অন্য কিছু

বাংলাদেশের বেশিরভাগ শেয়ার্ড হোস্টিং LiteSpeed ওয়েব সার্ভারে চলে। সেক্ষেত্রে LiteSpeed Cache প্লাগইনটাই সেরা পছন্দ, কারণ এটা সার্ভার লেভেলে ক্যাশ করে — PHP চালু হওয়ার আগেই পেজ সার্ভ হয়ে যায়। হোস্টিং যদি Apache বা Nginx হয়, তাহলে LiteSpeed Cache-এর ক্যাশিং অংশটা কাজই করবে না, তখন WP Rocket বা FlyingPress দেখুন। আপনার সার্ভার কী, সেটা জানতে Query Monitor-এর Environment ট্যাব খুলুন — Server Software লেখা থাকবে।

  • Cache চালু করুন, কিন্তু WooCommerce থাকলে cart, checkout আর my-account পেজ Do Not Cache তালিকায় যোগ করুন
  • Object Cache চালু করুন শুধু তখনই যখন হোস্ট Redis বা Memcached দিয়েছে — নইলে ওটা নীরবে ফেল করে
  • CSS/JS Minify চালু করুন এক এক করে, প্রতিটার পরে সাইট চেক করুন। Combine অপশনটা প্রায়ই লেআউট ভাঙে
  • Lazy Load ছবিতে চালু, কিন্তু লোগো আর হিরো ইমেজ Exclude করুন — নইলে LCP খারাপ হবে

যাচাই করবেন যেভাবে: টার্মিনাল বা যেকোনো হেডার চেকার দিয়ে আপনার হোমপেজের রেসপন্স হেডার দেখুন। প্রথমবার x-litespeed-cache: miss দেখাবে, দ্বিতীয়বার hit দেখানোর কথা। hit না এলে বুঝবেন ক্যাশ কাজ করছে না — কারণ সাধারণত কোনো প্লাগইন কুকি সেট করছে, অথবা আপনি লগইন করা অবস্থায় টেস্ট করছেন। সবসময় ইনকগনিটোতে টেস্ট করুন।

সিকিউরিটি: কোন সেটিংগুলো আসলে কাজে দেয়

Wordfence-এর ফ্রি ভার্সন কিংবা Solid Security — যেটাই নিন, ইনস্টল করেই ভুলে যাওয়ার জিনিস এটা নয়। Wordfence-এ প্রথমেই Firewall পেজে গিয়ে Optimize Firewall চালান, যাতে এটা Extended Protection মোডে যায়; বেসিক মোডে থাকলে অনেক অ্যাটাক WordPress লোড হওয়ার পরে ধরা পড়ে, তখন আটকানোর মানে কম। এরপর Login Security-তে অ্যাডমিন অ্যাকাউন্টে 2FA চালু করুন আর Brute Force Protection-এ ব্যর্থ লগইনের সীমা ৫-এ নামান।

  • লগইন URL বদলানোর প্লাগইন নিরাপত্তা নয়, শুধু অস্পষ্টতা — তবু বট ট্রাফিক অনেক কমায়, ব্যবহার করতে পারেন
  • XML-RPC ব্যবহার না করলে বন্ধ করে দিন, কিন্তু Jetpack বা মোবাইল অ্যাপ ব্যবহার করলে সাবধান
  • ফাইল এডিটর বন্ধ করুন: wp-config.php-এ DISALLOW_FILE_EDIT সেট করে দিন
  • স্ক্যান শিডিউল সাপ্তাহিক রাখুন, দৈনিক নয় — শেয়ার্ড হোস্টিংয়ে দৈনিক স্ক্যান CPU লিমিট খেয়ে ফেলে

ব্যাকআপ: যেটা সবাই সবার শেষে ভাবে

UpdraftPlus-এর ফ্রি ভার্সনই যথেষ্ট, কিন্তু ডিফল্ট সেটিংস বিপজ্জনক — ডিফল্টে ব্যাকআপ আপনার নিজের সার্ভারেই জমা হয়। সার্ভার হ্যাক হলে বা হোস্ট অ্যাকাউন্ট সাসপেন্ড হলে সাইট আর ব্যাকআপ একসাথে যাবে। Remote Storage-এ Google Drive বা Dropbox যোগ করুন, ডেটাবেজ ব্যাকআপ দৈনিক আর ফাইল ব্যাকআপ সাপ্তাহিক রাখুন, আর Retention ৪ সেট করুন যাতে পুরোনো কপি জমে ডিস্ক না ভরে।

যাচাই করবেন যেভাবে: একটা সাবডোমেইনে স্টেজিং সাইট বানিয়ে সত্যিকারের রিস্টোর চালান। যে ব্যাকআপ কখনো রিস্টোর করে দেখা হয়নি, সেটা ব্যাকআপ নয় — সেটা একটা আশা। বছরে অন্তত দুবার এই মহড়াটা দিন।

মেইল আর ফর্ম: স্প্যাম ফোল্ডারের গল্প

Fluent Forms বা WPForms দিয়ে ফর্ম বানানো সহজ। কিন্তু শেয়ার্ড হোস্টিংয়ের PHP mail() ফাংশন দিয়ে পাঠানো মেইল প্রায়ই সরাসরি স্প্যামে যায়, কারণ IP-টা শত শত সাইটের সাথে ভাগাভাগি করা। সমাধান হলো একটা SMTP প্লাগইন (WP Mail SMTP বা FluentSMTP) আর Brevo, Amazon SES বা Postmark-এর মতো একটা ট্রানজ্যাকশনাল মেইল সার্ভিস। Brevo-র ফ্রি টিয়ারে দিনে ৩০০ মেইল — বেশিরভাগ SME সাইটের জন্য যথেষ্ট।

  • ডোমেইনে SPF, DKIM আর DMARC রেকর্ড বসান — সার্ভিস প্রোভাইডার DNS ভ্যালু দিয়ে দেবে
  • From অ্যাড্রেস অবশ্যই আপনার নিজের ডোমেইনের হতে হবে, জিমেইল অ্যাড্রেস দিলে ডেলিভারি ভাঙবে
  • সেটআপের পরে mail-tester.com-এ একটা টেস্ট মেইল পাঠিয়ে স্কোর দেখুন — ১০-এ ৯ বা তার বেশি না এলে DNS ঠিক হয়নি

বাংলা সাইটের নিজস্ব ঝামেলা

বাংলা ফন্ট সাইটের সবচেয়ে ভারী অ্যাসেট হয়ে দাঁড়াতে পারে। Google Fonts থেকে সরাসরি লোড না করে ফন্ট সেলফ-হোস্ট করুন (OMGF প্লাগইন এটা স্বয়ংক্রিয়ভাবে করে দেয়) — এতে একটা বাড়তি DNS লুকআপ আর কানেকশন বাঁচে। ফন্ট CSS-এ font-display: swap রাখুন, নইলে ফন্ট লোড হওয়া পর্যন্ত লেখা অদৃশ্য থাকবে। আর শুধু bengali সাবসেটটা লোড করুন; পুরো ফাইল টানলে অনেক অপ্রয়োজনীয় গ্লিফ আসে।

ই-কমার্স হলে পেমেন্ট গেটওয়ে প্লাগইন বাছাইয়ে সময় দিন। bKash, নগদ বা কার্ড নেওয়ার জন্য SSLCommerz বা aamarPay-এর অফিসিয়াল WooCommerce প্লাগইন ব্যবহার করুন — মার্কেটপ্লেসে ঘোরা অননুমোদিত কপি নয়। ইনস্টলের পরে স্যান্ডবক্স মোডে অন্তত একটা সফল আর একটা ব্যর্থ লেনদেন টেস্ট করুন, আর দেখুন IPN বা কলব্যাক ঠিকমতো অর্ডার স্ট্যাটাস বদলাচ্ছে কি না।

কনফ্লিক্ট ধরার সঠিক পদ্ধতি

সাইট ভাঙলে একে একে প্লাগইন ডিঅ্যাক্টিভেট করা সবচেয়ে খারাপ পদ্ধতি — লাইভ ভিজিটররা তখন ভাঙা সাইট দেখে। বদলে Health Check & Troubleshooting প্লাগইনটা ইনস্টল করুন। এর Troubleshooting Mode শুধু আপনার সেশনের জন্য সব প্লাগইন বন্ধ করে; ভিজিটররা স্বাভাবিক সাইটই দেখতে থাকে। এরপর বাইনারি সার্চ করুন — অর্ধেক প্লাগইন চালু করুন, সমস্যা থাকলে ওই অর্ধেকেই দোষী, না থাকলে অন্য অর্ধেকে। ৩২টা প্লাগইনের মধ্যে দোষী খুঁজতে ৩২ বার নয়, ৫ বারেই কাজ হয়ে যায়।

অটোলোড অপশন: নীরব ঘাতক

wp_options টেবিলের যেসব সারি autoload হিসেবে চিহ্নিত, সেগুলো প্রতিটা পেজ লোডে মেমোরিতে আসে — এমনকি যে পেজে তার কোনো দরকার নেই সেখানেও। মুছে ফেলা প্লাগইনও প্রায়ই নিজের ডেটা রেখে যায়। phpMyAdmin খুলে চেক করুন: SELECT SUM(LENGTH(option_value)) FROM wp_options WHERE autoload = 'yes'; ওয়ার্ডপ্রেস ৬.৬ থেকে ভ্যালুগুলো 'on' আর 'auto' হতে পারে, তাই দুটোই মিলিয়ে দেখুন। মোট আকার ৮০০ কিলোবাইট ছাড়ালে ছাঁটাই দরকার, ২ মেগাবাইট মানে সাইট প্রতিটা রিকোয়েস্টে অহেতুক ভার বইছে।

যেগুলো ইনস্টল না করাই ভালো

  • একাধিক পেজ বিল্ডার — একটাই রাখুন, বাকিগুলো শুধু CSS আর শর্টকোড আবর্জনা রেখে যায়
  • হিট কাউন্টার বা লাইভ ভিজিটর প্লাগইন — প্রতি ভিজিটে ডেটাবেজে লেখে, ট্রাফিক বাড়লেই সাইট বসে যায়
  • ভারী সোশ্যাল শেয়ার প্লাগইন — চারটা স্ক্রিপ্ট লোড করার বদলে সাধারণ লিংক দিয়েই শেয়ার বাটন বানানো যায়
  • একই কাজের দুটো প্লাগইন — বিশেষ করে দুটো ক্যাশিং বা দুটো SEO প্লাগইন একসাথে থাকলে ক্যানোনিকাল আর সাইটম্যাপ দুটোই গড়বড় হয়

সাধারণ প্রশ্ন

কতগুলো প্লাগইন হলে বেশি হয়ে যায়? নির্দিষ্ট কোনো সংখ্যা নেই। Query Monitor-এ দেখুন কোন প্লাগইন কত কোয়েরি আর কত মিলিসেকেন্ড খাচ্ছে। যেটা ৫০ মিলিসেকেন্ডের বেশি নিচ্ছে অথচ যার সুবিধা আপনি নিতে পারছেন না, সেটাই বেশি — সে আপনার একমাত্র প্লাগইন হলেও।

ফ্রি প্লাগইন কি নিরাপদ? WordPress.org রিপোজিটরির যেসব প্লাগইন গত তিন মাসে আপডেট হয়েছে, যাদের ১০ হাজারের বেশি ইনস্টল আর সাপোর্ট ফোরামে সক্রিয় উত্তর আছে — সেগুলো সাধারণত নিরাপদ। নালড বা ক্র্যাকড প্রিমিয়াম প্লাগইন কখনো নয়; বেশিরভাগেই ব্যাকডোর থাকে, আর সেটাই বাংলাদেশে হ্যাক হওয়া সাইটের এক নম্বর কারণ।

প্লাগইন আপডেট করব কীভাবে? স্টেজিংয়ে আগে, লাইভে পরে। স্টেজিং না থাকলে অন্তত আপডেটের আগে UpdraftPlus থেকে একটা ম্যানুয়াল ব্যাকআপ নিন, আর একসাথে দশটা প্লাগইন আপডেট না করে তিন-চারটা করে করুন — কিছু ভাঙলে দোষী খুঁজে পাওয়া সহজ হবে।

ডিঅ্যাক্টিভেট করলেই কি সমস্যা মিটে যায়? না। ডিঅ্যাক্টিভ প্লাগইনের কোড লোড হয় না ঠিকই, কিন্তু ডেটাবেজে তার অপশন, কাস্টম টেবিল আর cron ইভেন্ট থেকে যায়। পুরোপুরি বাদ দিতে চাইলে Delete করুন, তারপর WP Crontrol দিয়ে অনাথ cron ইভেন্ট আর phpMyAdmin দিয়ে পড়ে থাকা অপশন পরিষ্কার করুন।

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

ট্যাগ:WordPress#essential plugins#wordpress performance#query monitor#litespeed cache#wordpress security#plugin conflicts#wp-cli
স্ট্যাক অ্যালিক্স টিম
লেখক সম্পর্কে
স্ট্যাক অ্যালিক্স টিম
Stack Alix কন্ট্রিবিউটর

ডিজিটাল প্রোডাক্ট, ডেভেলপমেন্ট ও অনলাইন ব্যবসা নিয়ে নিয়মিত লেখেন।

নতুন আর্টিকেল ইনবক্সে পেতে চান?

সপ্তাহের সেরা টিপস ও গাইড সরাসরি আপনার ইমেইলে।

Essential Plugins: Measure the Cost Before Installing | Stack Alix