ওয়ার্ডপ্রেস প্লাগইন কনফ্লিক্ট: সাইট ভাঙার আগেই যেভাবে খুঁজে বের করবেন
একটা প্লাগিন আপডেট করার পর হঠাৎ সাইট সাদা স্ক্রিন দেখাচ্ছে, অ্যাডমিন প্যানেলেও ঢোকা যাচ্ছে না। প্যানিক করার আগে এটা জানা দরকার, বেশিরভাগ ক্ষেত্রে এটা হ্যাকিং না, এটা ওয়ার্ডপ্রেস প্লাগইন কনফ্লিক্ট। প্রতিটা ওয়ার্ডপ্রেস সাইটে কোনো না কোনো সময় এই সমস্যা হয়, নতুন সাইট হোক বা বছরের পুরোনো। সমাধান জানা থাকলে এটা পাঁচ থেকে ত্রিশ মিনিটের মধ্যে ঠিক করা সম্ভব, না জানলে ঘণ্টার পর ঘণ্টা টেনশনে কাটে।
প্লাগইন কনফ্লিক্ট আসলে কেন হয়
প্লাগইন কনফ্লিক্ট হয় যখন দুটি বা তার বেশি প্লাগইন একই জাভাস্ক্রিপ্ট লাইব্রেরি, একই PHP ফাংশন বা একই হুক একসাথে ব্যবহার করতে চায়। ফলাফল হলো PHP ফ্যাটাল এরর, যেটা পুরো পেজ রেন্ডার হওয়ার আগেই থামিয়ে দেয়। এর সাথে যোগ হয় মেমরি এক্সহশন, থিমের সাথে প্লাগইনের অসামঞ্জস্যতা, আর সবচেয়ে বেশি দেখা যায় পুরোনো PHP ভার্সনের সাথে নতুন প্লাগইনের সংঘর্ষ।
একটা পরিসংখ্যান মাথায় রাখা দরকার, প্রায় অর্ধেক ক্ষেত্রে সমস্যাটা হয় কোনো একটা প্লাগইন আপডেটের পর যেটা থিম, PHP ভার্সন বা অন্য কোনো প্লাগইনের সাথে বেমানান হয়ে যায়। যেসব প্লাগিন গত ছয় মাসে আপডেট হয়নি, সেগুলো কনফ্লিক্টের ঝুঁকি সবচেয়ে বেশি বহন করে।
আজকাল এই তালিকায় নতুন একটা কারণ যোগ হয়েছে: AI দিয়ে লেখা কাস্টম কোড। ChatGPT বা Claude দিয়ে লেখা স্নিপেট অনেক সময় থিম বা অন্য প্লাগইনের সাথে কীভাবে আচরণ করবে তা যাচাই না করেই সরাসরি বসিয়ে দেওয়া হয়, যা নীরবে নতুন কনফ্লিক্ট তৈরি করে। AI দিয়ে ওয়ার্ডপ্রেস কোড লেখার নিরাপত্তা ঝুঁকি এবং সেটা নিরাপদে ব্যবহারের নিয়ম নিয়ে বিস্তারিত আছে AI দিয়ে ওয়ার্ডপ্রেস কোড লেখা কতটা নিরাপদ পোস্টে।
সাইট ভেঙে গেলে যেসব লক্ষণ দেখা যায়
সবচেয়ে পরিচিত লক্ষণ হলো White Screen of Death বা WSOD, পুরো পেজ সাদা খালি, কোনো এররর মেসেজ নেই, কিছুই লোড হচ্ছে না। এটা তখন হয় যখন PHP একটা ফ্যাটাল এরর পায় এবং পেজ রেন্ডার করার আগেই এক্সিকিউশন থামিয়ে দেয়।
এছাড়া সাইট ভাঙার আরও কিছু লক্ষণ আছে, লেআউট এলোমেলো হয়ে যাওয়া, বাটন বা ফর্ম কাজ না করা, অ্যাডমিন ড্যাশবোর্ড লক হয়ে যাওয়া, বা স্ক্রিনে অদ্ভুত এররর মেসেজ দেখা যাওয়া। ওয়ার্ডপ্রেস ৫.২ ভার্সনের পর থেকে একটা ভালো ফিচার আছে, ফ্যাটাল এরর হলে সাইট নিজে থেকেই Recovery Mode চালু করে এবং অ্যাডমিন ইমেইলে একটা সিক্রেট লগইন লিংক পাঠায়। এই ইমেইল উপেক্ষা না করে সাথে সাথে চেক করা উচিত।
প্লাগইন কনফ্লিক্ট কীভাবে নিজে খুঁজে বের করবেন
কোন প্লাগইন সমস্যা তৈরি করছে সেটা বের করার সবচেয়ে নির্ভরযোগ্য পদ্ধতি হলো একটা একটা করে প্লাগইন বন্ধ করে টেস্ট করা। কাজ শুরুর আগে অবশ্যই একটা ফুল ব্যাকআপ নিয়ে নেওয়া দরকার, যাতে কিছু ভুল হলে আগের অবস্থায় ফিরে যাওয়া যায়।
- FTP ক্লায়েন্ট (যেমন FileZilla) বা cPanel ফাইল ম্যানেজার দিয়ে সার্ভারে ঢুকুন এবং wp-content ফোল্ডারে যান
- plugins ফোল্ডারের নাম বদলে দিন, যেমন plugins-off; এতে ওয়ার্ডপ্রেস কোনো প্লাগিন লোড করতে পারবে না এবং সাইট সাথে সাথে ঠিক হয়ে যাওয়া উচিত
- সাইট ঠিক হয়ে গেলে ফোল্ডারের নাম আবার plugins এ ফিরিয়ে দিন, এখন সব প্লাগিন নিষ্ক্রিয় অবস্থায় থাকবে
- Plugins মেনু থেকে একটা একটা করে প্লাগিন অ্যাক্টিভেট করুন এবং প্রতিবার সাইট রিলোড করে দেখুন
- যে প্লাগিন অ্যাক্টিভেট করার পরই সাইট আবার ভেঙে যায়, সেটাই আসল দোষী; সেটাকে আপডেট করুন, বিকল্প প্লাগিন খুঁজুন, বা প্লাগিন ডেভেলপারকে জানান
এই পুরো প্রক্রিয়াটা সাধারণত পাঁচ থেকে দশ মিনিটেই শেষ হয়ে যায়, একবার কোন প্লাগিন দোষী সেটা ধরা পড়লে।
লাইভ ভিজিটর না হারিয়ে নিরাপদে টেস্ট করার উপায়
উপরের পদ্ধতিতে একটা সমস্যা আছে, প্লাগইন ফোল্ডারের নাম বদলালে পুরো সাইট সব ভিজিটরের জন্যই সাময়িকভাবে ভেঙে থাকে। এই ঝুঁকি এড়াতে Health Check & Troubleshooting নামের অফিসিয়াল প্লাগিনটা ব্যবহার করা যায়। এটা একটা আলাদা ট্রাবলশুটিং মোড চালু করে, যেখানে সব প্লাগিন নিষ্ক্রিয় এবং ডিফল্ট থিম লোড হয়, কিন্তু শুধু যে লগইন করে আছে তার জন্য। বাকি সব ভিজিটর স্বাভাবিক লাইভ সাইটই দেখতে থাকে।
এই মোডে ঢুকে একই পদ্ধতিতে একটা একটা প্লাগিন চালু করে দোষী প্লাগিন খুঁজে বের করা যায়, কোনো ভিজিটরের অভিজ্ঞতা নষ্ট না করেই। ছোট থেকে মাঝারি সাইজের যেকোনো সাইটের জন্য এটাই সবচেয়ে নিরাপদ পদ্ধতি।
ভবিষ্যতে প্লাগইন কনফ্লিক্ট এড়ানোর উপায়
একবার সমস্যা ঠিক করার পর একই ভুল যেন আবার না হয়, সেজন্য কিছু নিয়ম মেনে চলা জরুরি।
ব্যাকআপ ঠিকভাবে রাখা না থাকলে এই পুরো প্রক্রিয়াটাই ঝুঁকিপূর্ণ হয়ে যায়। ব্যাকআপ নিয়ে নিয়মিত অটোমেটিক ব্যাকআপ নেওয়ার পুরো পদ্ধতি বিস্তারিত আছে ওয়ার্ডপ্রেস ব্যাকআপ নেওয়ার এই গাইডে।
প্লাগইনের মতো সাইট স্লো হয়ে যাওয়ার পেছনেও প্রায়ই ভারী বা বেমানান প্লাগিন দায়ী থাকে। এই দুটো সমস্যা একসাথে দেখা দিলে ওয়ার্ডপ্রেস স্পিড অপ্টিমাইজেশন গাইড থেকে বাকি সমাধানগুলো মিলিয়ে নেওয়া যায়।
বেশিরভাগ ক্ষেত্রে যে প্লাগইনটা কনফ্লিক্ট তৈরি করে, সেটাই আসলে কয়েক মাস ধরে আপডেট হয়নি এমন একটা প্লাগিন। কেন পুরনো ভার্সন এভাবে সমস্যা তৈরি করে এবং কীভাবে নিরাপদে আপডেট করা যায় তার পুরো ব্যাখ্যা ওয়ার্ডপ্রেস আপডেট না করলে সাইট হ্যাক হওয়ার আসল কারণ পোস্টে দেওয়া আছে।
একই সতর্কতা প্রয়োজ্য নতুন কোনো ফিচার প্লাগইন বসানোর সময়ও, যেমন AI চ্যাটবট। স্টেজিং সাইটে টেস্ট না করে সরাসরি লাইভ সাইটে অ্যাক্টিভেট করলে ঠিক এই একই ধরনের কনফ্লিক্ট বা সাইট ভেঙে যাওয়ার ঝুঁকি থাকে। চ্যাটবট প্লাগইন কখন সত্যিই দরকার, কোনগুলো নিরাপদ, আর বসানোর আগে-পরে কী কী চেক করা জরুরি তার বিস্তারিত আছে ওয়েবসাইটে AI চ্যাটবট বসানোর এই গাইডে।
শেষ কথা
১০ বছরের বেশি সময় ধরে ওয়ার্ডপ্রেস সাইট তৈরি এবং ৯৫০ এর বেশি ফাইভার ক্লায়েন্ট প্রজেক্টের অভিজ্ঞতা থেকে একটা কথা স্পষ্ট: প্লাগইন কনফ্লিক্ট আতঙ্কের বিষয় না, এটা একটা প্রেডিক্টেবল সমস্যা যার প্রেডিক্টেবল সমাধান আছে। ঘাবড়ে গিয়ে থিম বা পুরো সাইট মুছে ফেলার দরকার নেই, ধৈর্য ধরে একটা একটা প্লাগিন টেস্ট করলেই দোষী ধরা পড়ে।
নিজে এই পুরো প্রক্রিয়াটা শেখা এবং ভবিষ্যতে সাইট নিজে ম্যানেজ করার দক্ষতা অর্জন করতে চাইলে ওয়ার্ডপ্রেস প্রো কোর্সে পুরো ট্রাবলশুটিং প্রক্রিয়া হাতে-কলমে শেখানো হয়। আর সময় বা টেকনিক্যাল ঝুঁকি নিতে না চাইলে, মানিব্যাক গ্যারান্টিসহ স্পিড অপটিমাইজেশন সার্ভিস নিয়ে পুরো সাইট প্রফেশনালদের হাতে ছেড়ে দেওয়া যায়।
এক্সট্রা প্লাগিন বসানো সবসময়ই একটা বাড়তি কনফ্লিক্ট রিস্ক নিয়ে আসে, এই কারণেই কাস্টম পোস্ট টাইপের মতো ফাংশনালিটির জন্য অনেক ক্ষেত্রে প্লাগইনের বদলে কোড দিয়ে করাটাই বেশি নিরাপদ। কাস্টম পোস্ট টাইপ কী, কখন দরকার, আর কোড দিয়ে কীভাবে নিরাপদে বানাবেন তা নিয়ে বিস্তারিত লেখা হয়েছে এই গাইডে।