প্রতি পৃষ্ঠা লোড, ফর্ম জমা, প্লাগইন অপারেশন এবং ব্যবহারকারীর সেশন WordPress-এ ডেটাবেস কোয়েরির সাথে জড়িত। সময়ের সাথে সাথে, ডেটাবেস অতিরিক্ত তথ্য জমা করে: পুরানো পোস্ট সংস্করণ, মেয়াদোত্তীর্ণ ট্রানজিয়েন্ট, অনাথ মেটাডেটা, স্প্যাম মন্তব্য এবং নিষ্ক্রিয় প্লাগইন থেকে অপ্রয়োজনীয় টেবিল। এই অতিরিক্ত তথ্য কোয়েরিগুলিকে ধীর করে, ব্যাকআপের আকার বাড়ায় এবং সামগ্রিক সাইটের কর্মক্ষমতা হ্রাস করে। এই গাইডে ডেটাবেসের অতিরিক্ত তথ্য চিহ্নিত করা, নিরাপদে পরিষ্কার করা এবং এটি পুনরায় ফিরে আসা প্রতিরোধ করার পদ্ধতি আলোচনা করা হয়েছে।
WordPress ডেটাবেসে কি সংরক্ষণ করে
আপনার ডেটাবেসে কি রয়েছে তা বোঝা আপনাকে চিহ্নিত করতে সাহায্য করে কি নিরাপদে মুছে ফেলা যেতে পারে। একটি স্ট্যান্ডার্ড WordPress ইনস্টলেশন 12টি মূল টেবিল ব্যবহার করে, এবং প্লাগইনগুলি প্রয়োজন অনুসারে তাদের নিজস্ব টেবিল যোগ করে।
| টেবিল | সংরক্ষণ করে | সাধারণ অতিরিক্ত তথ্যের উৎস |
|---|---|---|
| wp_posts | পোস্ট, পৃষ্ঠা, সংস্করণ, সংযুক্তি, কাস্টম পোস্ট টাইপ | পোস্ট সংস্করণ, অটো-ড্রাফট |
| wp_postmeta | পোস্টের জন্য মেটাডেটা (কাস্টম ফিল্ড, প্লাগইন ডেটা) | মুছে ফেলা পোস্ট থেকে অনাথ মেটা |
| wp_options | সাইটের সেটিংস, প্লাগইন সেটিংস, ট্রানজিয়েন্ট | মেয়াদোত্তীর্ণ ট্রানজিয়েন্ট, পুরানো প্লাগইন সেটিংস |
| wp_comments | মন্তব্য এবং ট্র্যাকব্যাক | স্প্যাম মন্তব্য, ট্র্যাশে থাকা মন্তব্য |
| wp_commentmeta | মন্তব্যের জন্য মেটাডেটা | মুছে ফেলা মন্তব্যের জন্য Akismet মেটাডেটা |
| wp_usermeta | ব্যবহারকারীর মেটাডেটা | সেশন টোকেন, প্লাগইন ব্যবহারকারী ডেটা |
| wp_termmeta | শ্রেণী এবং ট্যাগের জন্য মেটাডেটা | অনাথ টার্ম মেটাডেটা |
ডেটাবেসের অতিরিক্ত তথ্যের সাধারণ উৎস
পোস্ট সংস্করণ
আপনি যখন একটি পোস্ট বা পৃষ্ঠায় "সেভ ড্রাফট" বা "আপডেট" ক্লিক করেন, WordPress প্রতি সময় একটি সংস্করণ সংরক্ষণ করে। একটি পোস্ট যা 50 বার সম্পাদনা করা হয়েছে, wp_posts টেবিলে 50টি সংস্করণ সংরক্ষণ করে, প্রতিটির নিজস্ব পোস্টমেটা এন্ট্রি রয়েছে। শত শত পোস্ট সহ একটি সাইটে, সংস্করণগুলি হাজার হাজার অপ্রয়োজনীয় ডেটাবেস রো হিসাবে গণনা করতে পারে।
ট্রানজিয়েন্ট
ট্রানজিয়েন্ট হল অস্থায়ী ডেটা যা wp_options টেবিলে WordPress কোর এবং প্লাগইন দ্বারা সংরক্ষিত হয়। এগুলির মেয়াদ শেষের সময় থাকে, তবে WordPress স্বয়ংক্রিয়ভাবে মেয়াদোত্তীর্ণ ট্রানজিয়েন্ট মুছে ফেলে না। সময়ের সাথে সাথে এগুলি জমা হয় এবং বিশেষ করে অনেক প্লাগইন সহ সাইটগুলিতে অপশন টেবিলকে উল্লেখযোগ্যভাবে বাড়িয়ে তুলতে পারে।
অনাথ ডেটা
যখন আপনি একটি পোস্ট মুছে ফেলেন, তখন এর মেটাডেটা (wp_postmeta এন্ট্রি) মুছে ফেলা নাও হতে পারে। একইভাবে, মন্তব্য, ব্যবহারকারী বা টার্ম মুছে ফেললে অনাথ মেটাডেটা রো রেখে যেতে পারে। নিষ্ক্রিয় এবং মুছে ফেলা প্লাগইনগুলি প্রায়ই তাদের ডেটাবেস টেবিলগুলি রেখে যায়, স্থান দখল করে এবং আপনার ডেটাবেসকে বিশৃঙ্খল করে।
স্প্যাম এবং ট্র্যাশে থাকা বিষয়বস্তু
স্প্যাম মন্তব্য, ট্র্যাশে থাকা পোস্ট এবং ট্র্যাশে থাকা মন্তব্য ডেটাবেসে থাকে যতক্ষণ না ম্যানুয়ালি খালি করা হয়। Akismet বা অন্যান্য স্প্যাম ফিল্টার সহ সাইটগুলি প্রায়ই হাজার হাজার স্প্যাম মন্তব্য জমা করতে পারে যা সময়ে সময়ে পরিষ্কার করার প্রয়োজন।
অটো-ড্রাফট
আপনি যখন পোস্ট সম্পাদকতে "নতুন যোগ করুন" ক্লিক করেন, WordPress অটো-ড্রাফট পোস্ট তৈরি করে, যদিও আপনি কখনও প্রকাশ করেন না। এগুলি সময়ের সাথে সাথে জমা হয় এবং সম্পাদনার সেশন শেষ হওয়ার পরে কোন উদ্দেশ্য রাখে না।
SQL এর মাধ্যমে ম্যানুয়াল ডেটাবেস পরিষ্কার করা
যাদের SQL-এ স্বাচ্ছন্দ্য আছে, তারা phpMyAdmin বা একটি ডেটাবেস ক্লায়েন্ট ব্যবহার করে সরাসরি পরিষ্কার করতে পারেন। পরিষ্কার করার কোয়েরি চালানোর আগে সর্বদা আপনার ডেটাবেসের ব্যাকআপ নিন।
পোস্ট সংস্করণ মুছে ফেলুন
-- সমস্ত পোস্ট সংস্করণ মুছে ফেলুন
DELETE FROM wp_posts WHERE post_type = 'revision';
-- মুছে ফেলা পোস্টের জন্য অনাথ পোস্টমেটা মুছে ফেলুন
DELETE pm FROM wp_postmeta pm
LEFT JOIN wp_posts p ON pm.post_id = p.ID
WHERE p.ID IS NULL;
অস্থায়ী তথ্য মুছুন
-- মেয়াদ শেষ হওয়া অস্থায়ী তথ্য মুছুন
DELETE FROM wp_options
WHERE option_name LIKE '%_transient_timeout_%'
AND option_value < UNIX_TIMESTAMP();
-- মেয়াদ শেষ হওয়া অস্থায়ী তথ্যের জন্য তথ্য মুছুন
DELETE FROM wp_options
WHERE option_name LIKE '%_transient_%'
AND option_name NOT LIKE '%_transient_timeout_%';
স্প্যাম এবং মুছে ফেলা মন্তব্য মুছুন
-- স্প্যাম মন্তব্য মুছুন
DELETE FROM wp_comments WHERE comment_approved = 'spam';
-- মুছে ফেলা মন্তব্য মুছুন
DELETE FROM wp_comments WHERE comment_approved = 'trash';
-- অনাথ মন্তব্য মেটাডেটা মুছুন
DELETE cm FROM wp_commentmeta cm
LEFT JOIN wp_comments c ON cm.comment_id = c.comment_ID
WHERE c.comment_ID IS NULL;
প্লাগইন-ভিত্তিক ডেটাবেস পরিষ্কার
যদি আপনি একটি GUI-ভিত্তিক পদ্ধতি পছন্দ করেন, তবে বেশ কয়েকটি প্লাগইন সময়সূচী সক্ষমতার সাথে ডেটাবেস অপ্টিমাইজেশন পরিচালনা করে:
WP-Optimize
WP-Optimize একটি বিনামূল্যের প্লাগইন যা সংশোধন, খসড়া, স্প্যাম, অস্থায়ী এবং অনাথ তথ্য পরিষ্কার করে। এটি ডেটাবেস টেবিলও অপ্টিমাইজ করে এবং সময়সূচী পরিষ্কার সমর্থন করে। প্রো সংস্করণটি মাল্টিসাইট সমর্থন এবং উন্নত সময়সূচী যোগ করে।
WP Rocket ডেটাবেস অপ্টিমাইজেশন
WP Rocket একটি ডেটাবেস ট্যাব অন্তর্ভুক্ত করে যা সংশোধন, অটো-খসড়া, মুছে ফেলা পোস্ট, স্প্যাম মন্তব্য, অস্থায়ী এবং টেবিল অপ্টিমাইজেশন পরিচালনা করে। যেহেতু WP Rocket মূলত একটি ক্যাশিং প্লাগইন, আপনি এক টুলে পারফরম্যান্স অপ্টিমাইজেশনের সাথে ডেটাবেস পরিষ্কার পান।
অ্যাডভান্সড ডেটাবেস ক্লিনার
এই প্লাগইন নিষ্ক্রিয় প্লাগইন দ্বারা ফেলে দেওয়া টেবিল এবং অনাথ ক্রন ইভেন্টগুলি সনাক্ত করে। এটি টেবিলগুলিকে ওয়ার্ডপ্রেস কোর, প্লাগইন-সৃষ্টি, বা অজানা হিসাবে শ্রেণীবদ্ধ করে, আপনাকে সনাক্ত করতে সহায়তা করে কোন টেবিলগুলি মুছে ফেলা নিরাপদ।
| প্লাগইন | বিনামূল্যের সংস্করণ | সময়সূচী পরিষ্কার | টেবিল সনাক্তকরণ |
|---|---|---|---|
| WP-Optimize | হ্যাঁ | হ্যাঁ | মৌলিক |
| WP Rocket | না (শুধুমাত্র প্রিমিয়াম) | হ্যাঁ | না |
| অ্যাডভান্সড ডেটাবেস ক্লিনার | হ্যাঁ | শুধুমাত্র প্রো | হ্যাঁ (বিস্তারিত) |
wp-config.php অপ্টিমাইজেশন
আপনার wp-config.php ফাইলে এই কনস্ট্যান্টগুলি যোগ করে ডেটাবেসের অতিরিক্ত বৃদ্ধি প্রতিরোধ করুন:
পোস্ট সংশোধন সীমাবদ্ধ করুন
// প্রতি পোস্টে শুধুমাত্র 5টি সংশোধন রাখুন (সুপারিশকৃত)
define( 'WP_POST_REVISIONS', 5 );
// সম্পূর্ণরূপে সংশোধন অক্ষম করুন (বেশিরভাগ সাইটের জন্য সুপারিশ করা হয় না)
define( 'WP_POST_REVISIONS', false );
সংশোধন 5 এ সেট করা ভুল থেকে পুনরুদ্ধারের জন্য যথেষ্ট ইতিহাস প্রদান করে, যখন অসীম সংশোধনের বৃদ্ধি প্রতিরোধ করে। ঘন ঘন সম্পাদনা সহ কনটেন্ট-ভিত্তিক সাইটগুলির জন্য, 10টি সংশোধন একটি যুক্তিসঙ্গত বিকল্প।
অটো-খালি ট্র্যাশ
// প্রতি 7 দিনে ট্র্যাশ খালি করুন (ডিফল্ট 30 দিন)
define( 'EMPTY_TRASH_DAYS', 7 );
// ট্র্যাশ অক্ষম করুন (আইটেমগুলি তাত্ক্ষণিকভাবে মুছে ফেলা হয় - সতর্কতার সাথে ব্যবহার করুন)
define( 'EMPTY_TRASH_DAYS', 0 );
অটোসেভ ইন্টারভ্যাল
// অটোসেভ ইন্টারভ্যাল 5 মিনিটে বাড়ান (ডিফল্ট 60 সেকেন্ড)
define( 'AUTOSAVE_INTERVAL', 300 );
ডেটাবেস টেবিল অপ্টিমাইজ করা
লাইন মুছার পর, টুকরো টুকরো স্থান পুনরুদ্ধার করতে একটি OPTIMIZE অপারেশন চালান:
OPTIMIZE TABLE wp_posts, wp_postmeta, wp_options, wp_comments, wp_commentmeta;
এটি মাসিকভাবে বা বড় পরিষ্কার অপারেশনের পরে সময়সূচী করুন। বেশিরভাগ পরিষ্কার প্লাগইন তাদের সময়সূচী করা কাজগুলিতে টেবিল অপ্টিমাইজেশন অন্তর্ভুক্ত করে।
স্বয়ংক্রিয় ক্লিনআপ নির্ধারণ
স্বয়ংক্রিয় সময়সূচী সেট আপ করুন: সাপ্তাহিক অস্থায়ী এবং স্প্যাম ক্লিনআপ, মাসিক সংস্করণ অপসারণ এবং টেবিল অপ্টিমাইজেশন, এবং ত্রৈমাসিক অরফানড প্লাগইন টেবিলের অডিট। WP-Optimize এবং WP Rocket উভয়ই নির্ধারিত ক্লিনআপ সমর্থন করে। অফ-পিক সময়ে এগুলি কনফিগার করুন।
ডেটাবেসের আকার পর্যবেক্ষণ
ব্লোট ধরার জন্য আপনার ডেটাবেসের আকার ট্র্যাক করুন। পৃথক টেবিলের আকার দেখতে এই কোয়েরি চালান:
SELECT table_name AS 'Table',
ROUND(data_length / 1024 / 1024, 2) AS 'Data (MB)',
table_rows AS 'Rows'
FROM information_schema.tables
WHERE table_schema = 'your_database_name'
ORDER BY (data_length + index_length) DESC
LIMIT 20;
যদি wp_options 5 MB অতিক্রম করে বা wp_postmeta 100 MB এর বেশি বৃদ্ধি পায়, তবে এটি ক্লিনআপের সময়। এই টেবিলগুলি প্রায়ই কোয়েরি করা হয়, তাই তাদের আকার সরাসরি পৃষ্ঠার লোড সময়কে প্রভাবিত করে।
ডেটাবেস অপ্টিমাইজেশন, ক্যাশিং, ইমেজ অপ্টিমাইজেশন এবং সার্ভার কনফিগারেশন সহ একটি ব্যাপক কর্মক্ষমতা অপ্টিমাইজেশন পদ্ধতির জন্য আমাদের WordPress গতি অপ্টিমাইজেশন গাইড পড়ুন। আপনার রক্ষণাবেক্ষণ রুটিনের অংশ হিসাবে চলমান ডেটাবেস স্বাস্থ্য সম্পর্কে জানার জন্য, আমাদের WordPress রক্ষণাবেক্ষণ গাইড দেখুন।
আরও বিস্তারিত জানার জন্য, অফিসিয়াল ডকুমেন্টেশনে দেখুন: WordPress ডেটাবেস API.
প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী
ডেটাবেস থেকে পোস্ট সংস্করণ মুছে ফেলা নিরাপদ কি?
হ্যাঁ, পোস্ট সংস্করণ মুছে ফেলা নিরাপদ এবং আপনার প্রকাশিত সামগ্রীকে প্রভাবিত করে না। সংস্করণগুলি খসড়া পরিবর্তনের ঐতিহাসিক স্ন্যাপশট। একবার আপনার সামগ্রী চূড়ান্ত হলে, বেশিরভাগ সাইটের জন্য সংস্করণগুলির কোনও উদ্দেশ্য থাকে না। তবে, যেকোনো ক্লিনআপ করার আগে সর্বদা আপনার ডেটাবেস ব্যাকআপ নিন।
ডেটাবেস অপ্টিমাইজেশন কি আমার সাইটের গতি উল্লেখযোগ্যভাবে উন্নত করবে?
উন্নতি আপনার ডেটাবেস কতটা ব্লোটেড তার উপর নির্ভর করে। 50,000+ অরফানড সারি বা 10 MB এর বেশি wp_options টেবিল সহ সাইটগুলি পৃষ্ঠার লোড সময় এবং প্রশাসনিক ড্যাশবোর্ডের প্রতিক্রিয়া সময়ে উল্লেখযোগ্য উন্নতি দেখতে পাবে। ছোট সাইটগুলি মার্জিনাল লাভ দেখতে পারে। ডেটাবেস অপ্টিমাইজেশন ক্যাশিং এবং অন্যান্য কর্মক্ষমতা ব্যবস্থার সাথে মিলিতভাবে কাজ করে সামষ্টিক উন্নতির জন্য।
আমার WordPress ডেটাবেস কত ঘন ঘন অপ্টিমাইজ করা উচিত?
নিয়মিত সামগ্রী আপডেট সহ সক্রিয় সাইটগুলির জন্য, মাসিক অপ্টিমাইজেশন একটি ভাল ভিত্তি। উচ্চ-ট্রাফিক সাইটগুলি যেগুলিতে প্রায়ই মন্তব্য, WooCommerce লেনদেন, বা ফর্ম জমা দেওয়া হয় সেগুলি মাসিক টেবিল অপ্টিমাইজেশনের সাথে সাপ্তাহিক অস্থায়ী এবং স্প্যাম ক্লিনআপ থেকে উপকৃত হতে পারে।
ডেটাবেস ক্লিনআপ প্লাগইনগুলি কি আমার সাইট ভেঙে দিতে পারে?
WP-Optimize এবং WP Rocket এর মতো বিশ্বাসযোগ্য প্লাগইনগুলি নিরাপদ হতে ডিজাইন করা হয়েছে। তারা পরিচিত ব্লোট বিভাগ (সংস্করণ, অস্থায়ী, স্প্যাম) লক্ষ্য করে এবং প্রয়োজনীয় ডেটা স্পর্শ করে না। প্লাগইন-নির্দিষ্ট টেবিলগুলি ম্যানুয়ালি মুছে ফেলার সময় ঝুঁকি বাড়ে। যদি নিশ্চিত না হন যে একটি টেবিল প্রয়োজনীয়, তবে এটি স্থানে রেখে তার উদ্দেশ্য সম্পর্কে প্রথমে গবেষণা করুন।
OPTIMIZE TABLE এবং সারি মুছে ফেলার মধ্যে পার্থক্য কি?
সারি মুছে ফেলা টেবিল থেকে ডেটা অপসারণ করে। OPTIMIZE TABLE সারিগুলি মুছে ফেলার পরে টেবিলের শারীরিক স্টোরেজ পুনর্গঠন করে, ডিস্ক স্পেস পুনরুদ্ধার করে এবং ডেটা ফাইলের ডিফ্র্যাগমেন্ট করে। এটি ফাইল মুছে ফেলার (সারি মুছে ফেলা) বিপরীতে আপনার হার্ড ড্রাইভের ডিফ্র্যাগমেন্ট করার (টেবিল অপ্টিমাইজ করা) মতো ভাবুন।
WordPress টেবিলগুলির জন্য InnoDB বা MyISAM ব্যবহার করা উচিত?
WordPress ডিফল্টভাবে সংস্করণ 5.5 থেকে InnoDB ব্যবহার করে এবং এটি সুপারিশকৃত স্টোরেজ ইঞ্জিন। InnoDB সারি-স্তরের লকিং (একসাথে ব্যবহারকারীদের জন্য ভাল), লেনদেন এবং ক্র্যাশ পুনরুদ্ধার সমর্থন করে। MyISAM পড়ার জন্য ভারী অপারেশনের জন্য দ্রুত কিন্তু এই নির্ভরযোগ্য বৈশিষ্ট্যগুলি নেই। যদি আপনি আপনার ডেটাবেসে MyISAM টেবিল খুঁজে পান, তবে সেগুলিকে InnoDB তে রূপান্তর করা সাধারণত সুপারিশ করা হয়।
আমি কীভাবে নিষ্ক্রিয় প্লাগইন দ্বারা ছেড়ে দেওয়া টেবিলগুলি চিহ্নিত করব?
Advanced Database Cleaner প্লাগইন অ-কোর টেবিলগুলি সনাক্ত এবং শ্রেণীবদ্ধ করতে পারে। বিকল্পভাবে, SQL কোয়েরি SHOW TABLES চালান এবং টেবিলের নামগুলি WordPress কোর টেবিল এবং আপনার বর্তমানে সক্রিয় প্লাগইনের বিরুদ্ধে তুলনা করুন। নিষ্ক্রিয় প্লাগইনের সাথে মিলে যাওয়া প্রিফিক্সযুক্ত টেবিলগুলি অপসারণের জন্য প্রার্থী।
WooCommerce কি উল্লেখযোগ্য ডেটাবেস ব্লোট যোগ করে?
হ্যাঁ। WooCommerce অর্ডার ডেটা, পণ্য মেটাডেটা, গ্রাহক সেশন এবং অস্থায়ী তথ্য সংরক্ষণ করে যা সক্রিয় স্টোরগুলিতে উল্লেখযোগ্যভাবে বৃদ্ধি পায়। নিয়মিতভাবে মেয়াদোত্তীর্ণ অস্থায়ী এবং সেশন পরিষ্কার করতে WooCommerce > স্ট্যাটাস > টুলস ব্যবহার করুন।
প্রতিটি কোণ থেকে কর্মক্ষমতা অপ্টিমাইজ করুন
WP Rocket ক্যাশিং, ডেটাবেস ক্লিনআপ এবং কর্মক্ষমতা অপ্টিমাইজেশন একটি প্লাগইনে পরিচালনা করে, তাই আপনি আপনার সাইটকে মসৃণভাবে চালিয়ে যেতে পারেন।
WP Rocket আবিষ্কার করুন →


