ওয়ার্ডপ্রেস সাইট ভাঙার সবচেয়ে জনপ্রিয় পদ্ধতিটা হলো: থিম এডিটরে গিয়ে সরাসরি প্যারেন্ট থিমের style.css বা functions.php-তে কোড লিখে ফেলা। কাজটা তখন হয়, দেখতেও ঠিক লাগে। তারপর একদিন থিমের আপডেট আসে, আপনি নিশ্চিন্তে আপডেট বাটনে চাপ দেন, আর তিন মাসের সব কাস্টমাইজেশন এক ক্লিকে উধাও হয়ে যায়। বাংলাদেশে ছোট ব্যবসার সাইট নিয়ে আমাদের কাছে যত রিকভারি রিকোয়েস্ট আসে, তার একটা বড় অংশের গল্প ঠিক এটাই। থিম কাস্টমাইজেশন আসলে ডিজাইনের কাজ কম, শৃঙ্খলার কাজ বেশি। নিচের পরিকল্পনাটা ৩০ দিনের, চারটা ধাপে ভাগ করা। প্রতিদিন এক-দেড় ঘণ্টা দিলেই হবে। শর্ত একটাই — লাইভ সাইটে বসে শেখার চেষ্টা করবেন না।
ধাপ ১ (দিন ১–৭): হাত দেওয়ার আগে জাল পাতুন
প্রথম সপ্তাহে একটা লাইনও ডিজাইন কোড লিখবেন না। তিনটা জিনিস দাঁড় করাবেন, ব্যস। এক, লোকাল কপি — LocalWP বা XAMPP দিয়ে নিজের ল্যাপটপে সাইটটা নামান। দুই, ব্যাকআপ — UpdraftPlus বা হোস্টিং প্যানেলের নিজস্ব ব্যাকআপ চালু করে অন্তত একটা ফুল ব্যাকআপ গুগল ড্রাইভে নামিয়ে রাখুন। তিন, চাইল্ড থিম। চাইল্ড থিম নিয়ে অনেকে ভয় পান, অথচ জিনিসটা দুইটা ফাইল — একটা style.css যাতে হেডার কমেন্টে Template লাইনে প্যারেন্ট থিমের ফোল্ডারের নাম লেখা, আর একটা functions.php যেখানে প্যারেন্টের স্টাইলশিট enqueue করা। এই দুইটা ফাইল বানাতে দশ মিনিট লাগে, আর এটাই আপনার পরের তিন বছরের কাজ বাঁচাবে। ব্লক থিম ব্যবহার করলে চাইল্ড থিমের দরকার কম, কারণ সেখানে পরিবর্তন ডেটাবেসে জমা হয় — কিন্তু কোড লিখতে চাইলে নিয়ম একই।
এই ধাপ শেষ হয়েছে তখনই, যখন আপনি লোকাল সাইটে ইচ্ছা করে থিম ভেঙে ফেলে পাঁচ মিনিটে আগের অবস্থায় ফিরে আসতে পারবেন। ফিরতে না পারলে এগোবেন না।
ধাপ ২ (দিন ৮–১৪): কোড ছাড়াই যতটুকু হয়, ততটুকু আগে করুন
এখানে বেশিরভাগ মানুষ অকারণে CSS লেখা শুরু করে। আধুনিক থিমে রঙ, ফন্ট সাইজ, স্পেসিং, কনটেইনারের প্রস্থ — এসব theme.json বা সাইট এডিটরের গ্লোবাল স্টাইলস থেকেই বদলানো যায়, এবং সেটাই সঠিক জায়গা। এখানে বদলালে পুরো সাইটে এক নিয়ম চলে; CSS দিয়ে জোড়াতালি দিলে প্রতিটা নতুন পেজে সমস্যা ফেরত আসে।
বাংলা সাইটের সবচেয়ে বড় ধাক্কাটা এই ধাপেই খাবেন — ফন্ট। বেশিরভাগ থিমের ডিফল্ট ফন্টে বাংলা যুক্তাক্ষর ভেঙে যায় বা লাইন হাইট বসে যায়। Hind Siliguri, Noto Sans Bengali বা Baloo Da 2 বেছে নিন, আর সেটা গুগলের সার্ভার থেকে না টেনে নিজের সার্ভারে হোস্ট করুন — এতে পেজ দ্রুত লোড হয় এবং ইউরোপীয় প্রাইভেসি আইনের ঝামেলাও থাকে না। বাংলা টেক্সটের লাইন হাইট ইংরেজির চেয়ে একটু বেশি লাগে; ১.৭ থেকে ১.৮ ধরে শুরু করুন, ১.৫-এ বাংলা দমবন্ধ লাগে।
- শুধু ঠিক এই পেজটার জন্য দরকার: ব্লকের নিজস্ব সেটিংস বা অতিরিক্ত CSS ক্লাস
- পুরো সাইটে এক নিয়ম দরকার: theme.json বা গ্লোবাল স্টাইলস
- প্রতিটা পোস্টে আলাদা হবে: কাস্টম ফিল্ড, থিমের হার্ডকোড নয়
ধাপ ৩ (দিন ১৫–২২): CSS, hooks আর functions.php
তৃতীয় সপ্তাহে কোড। নিয়ম হলো — কাস্টম CSS যাবে চাইল্ড থিমের style.css-এ, অ্যাপিয়ারেন্স মেনুর Additional CSS বাক্সে নয়। ওই বাক্সটা ঠিক আছে দ্রুত দুইটা লাইনের জন্য, কিন্তু ওখানকার কোড ডেটাবেসে জমা হয়, গিটে ট্র্যাক হয় না, আর ছয় মাস পরে কেউ খুঁজে পায় না কোন স্টাইলটা কোথা থেকে আসছে।
ফাংশনালিটির জন্য থিমের টেমপ্লেট ফাইল কপি করে এডিট করার আগে দেখুন hook দিয়ে কাজটা হয় কি না। প্রায় সব ভালো থিমে অ্যাকশন আর ফিল্টার হুক থাকে — মূল্যের পাশে কিছু লেখা যোগ করা, পোস্টের নিচে লেখকের বাক্স বসানো, চেকআউটে একটা ফিল্ড আনা — এসব দুই-তিন লাইনের hook দিয়ে হয়ে যায়। টেমপ্লেট ওভাররাইড করলে প্যারেন্ট থিম আপডেট হওয়ার পর আপনার কপিটা পুরনো থেকে যায়, আর সেই পার্থক্য থেকেই ভবিষ্যতের বাগ জন্মায়। কোড ছোট হলে Code Snippets প্লাগইন ব্যবহার করা যায়, তবে দশটার বেশি স্নিপেট জমলে সেগুলো চাইল্ড থিমে সরিয়ে নিন। আর functions.php-তে কিছু যোগ করার আগে সাইটটা লোকালে খুলুন — একটা ভুল সেমিকোলন লাইভ সাইটকে সাদা স্ক্রিনে পরিণত করতে পারে।
ধাপ ৪ (দিন ২৩–৩০): গতি না মেপে কাস্টমাইজেশন শেষ নয়
কাস্টমাইজেশনের দাম আছে, এবং সেটা পেজ স্পিডে চোখে পড়ে। শেষ সপ্তাহে PageSpeed Insights-এ মোবাইল স্কোর দেখুন এবং LCP ২.৫ সেকেন্ডের নিচে রাখার চেষ্টা করুন। বাংলাদেশের বেশিরভাগ ভিজিটর মোবাইল ডেটায় আসে, ল্যাপটপের ফাইবার লাইনে নয় — ডেস্কটপে ৯৫ স্কোর দেখে খুশি হওয়ার কিছু নেই। যে তিনটা জিনিস সবচেয়ে বেশি গতি খায়: একাধিক ফন্ট ফ্যামিলি (দুইটার বেশি ওজন লোড করবেন না), স্লাইডার আর পপআপ প্লাগইন, আর প্রতিটা সেকশনের জন্য পেজ বিল্ডারের ভারী উইজেট। Query Monitor প্লাগইন বসিয়ে দেখুন কোন প্লাগইন কত ডেটাবেস কোয়েরি চালাচ্ছে — সংখ্যাটা দেখে অনেকেই চমকে যান।
যেগুলো করবেন না
- প্যারেন্ট থিমের কোনো ফাইল সরাসরি এডিট করা — এটাই এক নম্বর ভুল, আর সবচেয়ে বেশি ঘটে
- ফেসবুক গ্রুপ থেকে নাল করা প্রিমিয়াম থিম নামানো — বেশিরভাগে ম্যালওয়্যার বা ব্যাকডোর থাকে, আর ক্লায়েন্টের সাইট হ্যাক হলে দায়টা আপনার
- একই সাইটে তিনটা পেজ বিল্ডার জমিয়ে রাখা, কারণ পুরনো পেজগুলো একটাতে বানানো ছিল
- ডেমো কনটেন্ট ইমপোর্ট করে সেটার ওপর সাইট দাঁড় করানো, তারপর ভুলে যাওয়া কোন সেকশনটা আসলে কোথা থেকে আসছে
আপডেটের দিন যেভাবে চালাবেন
থিম আপডেট এলে আতঙ্কিত হওয়ার দরকার নেই, একটা ধারাবাহিকতা মেনে চললেই হয়। আগে স্টেজিং বা লোকাল কপিতে আপডেট দিন, হোমপেজ-প্রোডাক্ট পেজ-চেকআউট-মোবাইল মেনু এই চারটা জায়গা চোখে দেখুন, তারপর লাইভে দিন। আপডেটের আগে ব্যাকআপ নিন — এবং সেই ব্যাকআপ ফিরিয়ে আনা যায় কি না, সেটা অন্তত একবার পরীক্ষা করে দেখুন। যে ব্যাকআপ কোনোদিন রিস্টোর করে দেখা হয়নি, সেটা ব্যাকআপ নয়, শুধু একটা জিপ ফাইল।
তিরিশ দিন পরে নিজেকে যা জিজ্ঞেস করবেন
থিমের আপডেট বাটনে চাপ দিতে কি এখনো ভয় লাগে? না লাগলে ধাপ ১ কাজ করেছে। নতুন একটা সেকশন বানাতে কি আগের চেয়ে কম সময় লাগছে? লাগলে ধাপ ২ কাজ করেছে। আর আপনার কাস্টম কোডটা কোথায় আছে — সেটা কি এক বাক্যে বলতে পারছেন? পারলে ছয় মাস পরে আপনার সাইটটা এখনো রক্ষণাবেক্ষণযোগ্য থাকবে, আর সেটাই আসল লক্ষ্য।
কিছু প্রশ্ন, সরাসরি উত্তর
চাইল্ড থিম কি সবসময় লাগে? ক্লাসিক থিমে কোড লিখলে অবশ্যই লাগে। ব্লক থিমে যদি আপনার সব পরিবর্তন সাইট এডিটরের ভেতরেই হয়, তাহলে না — ওগুলো ডেটাবেসে থাকে, আপডেটে মুছে যায় না। কিন্তু PHP বা কাস্টম CSS ফাইল যোগ করার দরকার হলে চাইল্ড থিমই সঠিক জায়গা।
পেজ বিল্ডার ব্যবহার করা কি খারাপ? খারাপ নয়, কিন্তু খরচ আছে — পেজ বিল্ডার আপনার কনটেন্টকে তার নিজস্ব ফরম্যাটে বেঁধে ফেলে, ফলে পরে বিল্ডার বদলাতে চাইলে পেজগুলো নতুন করে বানাতে হয়। ক্লায়েন্ট নিজে পেজ বানাবেন এমন সাইটে বিল্ডার যুক্তিসঙ্গত; শুধু একটাই বেছে নিন এবং সেটাতেই থাকুন।
ফ্রি থিম দিয়ে কি ক্লায়েন্টের সাইট বানানো যায়? যায়, এবং অনেক ক্ষেত্রেই যাওয়া উচিত। GeneratePress, Kadence বা Blocksy-র ফ্রি ভার্সন যথেষ্ট শক্তপোক্ত। যেটা এড়াবেন তা হলো ভারী মাল্টিপারপাস থিম, যেখানে চল্লিশটা ডেমোর কোড লোড হয় আপনার একটা সাইট চালানোর জন্য।
কাস্টম CSS কোথায় লিখব — Additional CSS নাকি ফাইলে? দুই-তিন লাইন হলে Additional CSS ঠিক আছে। কিন্তু কোড যদি একশ লাইন ছাড়ায় বা একাধিক মানুষ সাইটে কাজ করে, তাহলে চাইল্ড থিমের ফাইলে নিন — তাহলে গিটে ইতিহাস থাকে, আর কে কী বদলেছে সেটা খুঁজে বের করা যায়।
থিম কাস্টমাইজেশন যদি একটা সাইট বানাতে গিয়ে দুই সপ্তাহ খেয়ে ফেলে, স্ট্যাক অ্যালিক্সের রেডি টেমপ্লেট আর কাস্টমাইজেশন সাপোর্ট দেখতে পারেন — ভিত্তিটা তৈরি থাকলে আপনার সময় ডিজাইনে যায়, আপডেট মেরামতে নয়।

