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