আসালামু ওয়ালাইকুম,
আমি তানভীর হোসেন আপনাদের মাঝে প্লাগিন ডেভোলপমেন্ট এর টিউটোরিয়াল নিয়ে এসেছি। আপনারা অনেকেই এই বিষয় শিখতে আগ্রহী আমি বিগত সিরিজে একটি থিম ডেভেলপমেন্ট করেছি এবং সেটিকে একটি পূর্নাঙ্গ ব্যবহারের জন্য ডিজাইন
করেছি। তবে কিছু কাজ সম্পাদনা করা বাকি রয়েছে সেগুলো হলেই আমি থিম ডেভেলপমেন্ট এর ২য় সিরিজটি লঞ্চ করবো। এর মধ্যে দিয়ে যে সময়টুকু পাচ্ছি তাতে আপনাদের ওয়ার্ডপ্রেস এর জন্য একটি গুরুত্বপূর্ণ প্লাগিন ডেভোলপ করা শিখাব। যা ওয়েব সাইটের স্পিড এসইও ও অন্যান্য কাজে সাহায্য করবে।
প্লাগিনটা কিছুটা WP Optimizer এর মতো।
এই বলে আমি আমার উদ্দেশ্য প্রনোদিত করেছি।
কোড কপি করতে সমস্যা হলে
সরাসরি কোড গুলো এখান থেকে কপি করে নিন।
ওয়ার্ডপ্রেস প্লাগিন ডেভেলপমেন্ট: ডেটাবেজ অপ্টিমাইজেশন (পর্ব ৫)
আগের পর্বগুলাতে আমরা বেসিক ফাইল স্ট্রাকচার, অ্যাডমিন মেনু, ইমেজ অপ্টিমাইজেশন, এবং CSS ও JS ফাইল মিনিফিকেশন নিয়ে কাজ করেছিলাম। আজকের পর্বে আমরা আরও গভীরে গিয়ে ডেটাবেজ অপ্টিমাইজেশন নিয়ে কাজ করবো।
ওয়ার্ডপ্রেস সাইটের পারফরম্যান্স উন্নত করার জন্য ডেটাবেজ অপ্টিমাইজেশন খুব গুরুত্বপূর্ণ। সময়ের সাথে সাথে অপ্রয়োজনীয় ডেটা জমে সাইটকে স্লো করে ফেলে। ডেটাবেজ ক্লিনআপ করে আমরা সাইটের গতি বাড়াতে পারি।
পর্ব ৫-এর লক্ষ্য
এই পর্বে আমরা যা শিখবো:
- ডেটাবেজ অপ্টিমাইজেশন কেন দরকার।
- ওয়ার্ডপ্রেসে ডেটাবেজের সাধারণ সমস্যা।
- প্লাগিন দিয়ে ডেটাবেজ ক্লিনআপ ফিচার যোগ করা।
- ডেটাবেজ অপ্টিমাইজ করার সঠিক পদ্ধতি।
ডেটাবেজ অপ্টিমাইজেশন: প্রয়োজনীয়তা
- রিভিশন জমা হওয়া: পোস্ট এডিট করার সময় প্রতিবার রিভিশন জমা হয়। এতে অপ্রয়োজনীয় ডেটা বাড়ে।
- ডিলিটেড ডেটা: ডিলিট করা পোস্ট, পেজ, কমেন্টস ইত্যাদি ডেটাবেজে জমা থাকে।
- অপ্রয়োজনীয় ট্রান্সিয়েন্টস: টেম্পরারি ডেটা, যা মেয়াদ শেষ হলেও ডেটাবেজে রয়ে যায়।
- স্প্যাম কমেন্টস: স্প্যাম বা পেন্ডিং কমেন্টস জমে ডেটাবেজ ভারী হয়।
স্টেপ ১: নতুন ফাইল তৈরি করা
আমরা একটি নতুন ফাইল তৈরি করবো: includes/db-optimization.php
। এখানে ডেটাবেজ অপ্টিমাইজেশনের কাজ হবে।
query(“DELETE FROM $wpdb->posts WHERE post_type=”revision””);
// Delete trashed posts
$wpdb->query(“DELETE FROM $wpdb->posts WHERE post_status=”trash””);
// Delete spam and trashed comments
$wpdb->query(“DELETE FROM $wpdb->comments WHERE comment_approved = ‘spam’ OR comment_approved = ‘trash'”);
// Delete expired transients
$wpdb->query(“DELETE FROM $wpdb->options WHERE option_name LIKE ‘_transient_%’ AND option_value < NOW()”);
echo ‘
speed-optimizer.php
ফাইলে নিচের লাইন যোগ করুন:
আমরা অ্যাডমিন প্যানেলে একটি সাবমেনু তৈরি করলাম, যেখানে ইউজাররা ক্লিক করেই ডেটাবেজ অপ্টিমাইজ করতে পারবে।
আমাদের ফাংশনগুলো ওয়ার্ডপ্রেসের $wpdb
ক্লাস ব্যবহার করে সরাসরি ডেটাবেজে কাজ করে।
ডেটাবেজ অপ্টিমাইজেশনের সময় সিকিউরিটির বিষয় মাথায় রাখতে হবে।
পরবর্তী পর্বে:
আমরা অটো স্ক্রিপ্টিং এবং স্কেডিউল করা নিয়ে কাজ করবো। এর মাধ্যমে ডেটাবেজ ক্লিনআপ এবং অন্যান্য ফিচার অটোমেটিক্যালি কাজ করবে।