যদি আপনি এটি পড়ছেন, তাহলে সম্ভবত আপনি বিরক্ত স্ট্যান্ডার্ড ওয়ার্ডপ্রেস পারফরম্যান্স পরামর্শ. স্বাভাবিক রুটিন—WP Rocket ইনস্টল করা, ইমেজ অপ্টিমাইজার প্লাগইন যোগ করা, এবং একটি অ্যাসেট ম্যানেজার যুক্ত করা—প্রায়শই একটি প্যারাডক্সের দিকে নিয়ে যায়: আপনি আপনার সাইটের গতি বাড়ানোর জন্য প্লাগইন ইনস্টল করেন, কিন্তু প্লাগইনগুলি নিজেরাই ডাটাবেস ব্লাট, ব্যাকগ্রাউন্ড ক্রন জব এবং তাদের নিজস্ব CSS/JS পেলোড যোগ করে।
সত্য কথা হল, ওয়ার্ডপ্রেসের এক সেকেন্ডের মধ্যে লোড হতে ১৫টি পারফরম্যান্স প্লাগইনের প্রয়োজন নেই। প্রকৃত গতি অপ্টিমাইজেশন মেটাল লেয়ারে ঘটে—সার্ভার, ডাটাবেস এবং কোর কোড।
এই নির্দেশিকায়, আমরা সম্পূর্ণরূপে প্লাগইন ইকোসিস্টেমকে বাইপাস করব। আমরা সার্ভার-সাইড কনফিগারেশন ব্যবহার করে ওয়ার্ডপ্রেস অপ্টিমাইজ করব, wp-config.php সমন্বয়, এবং সার্জিক্যাল functions.php স্নিপেট।
১. সার্ভার-সাইড ফাউন্ডেশন (PHP প্রয়োজন নেই)
ওয়ার্ডপ্রেস কোডের একটি লাইন স্পর্শ করার আগে, আপনার সার্ভার পরিবেশটি ব্যাপকভাবে অপ্টিমাইজ করা আবশ্যক। একটি দুর্বল সার্ভার সামনের ক্যাশিং দিয়ে ঠিক করা যায় না।
PHP 8.1+ এ আপগ্রেড করুন
ওয়ার্ডপ্রেস PHP-তে চলে। PHP 7.4 থেকে PHP 8.1 বা 8.2-এ যাওয়ার ফলে এক্সিকিউশন সময়ে ২০-৩০% হ্রাস এবং উল্লেখযোগ্যভাবে কম মেমরি ব্যবহার হতে পারে। পদক্ষেপ: আপনার cPanel, Plesk-এ পরিবর্তন করুন, অথবা CLI-এর মাধ্যমে যদি আপনি নিজের VPS ম্যানেজ করেন।
সার্ভার-লেভেল কম্প্রেশন চালু করুন (Gzip-এর পরিবর্তে Brotli)
যদিও Gzip স্ট্যান্ডার্ড, Brotli (Google-এর তৈরি) একই CPU খরচে টেক্সট ফাইল (HTML, CSS, JS) এর জন্য প্রায় ১৫-২০% ভালো কম্প্রেশন রেশিও প্রদান করে। কাজ (Nginx): নিশ্চিত করুন আপনার nginx.conf Brotli সক্রিয় আছে:
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/javascript application/json image/svg+xml;
FastCGI ক্যাশিং (Nginx) বা LiteSpeed Cache প্রয়োগ করুন
PHP-ভিত্তিক ক্যাশিং প্লাগইন ব্যবহার না করে (যার জন্য ক্যাশ পরিবেশন করতে এখনও ওয়ার্ডপ্রেসের আংশিক লোড প্রয়োজন), ওয়েব সার্ভার স্তরে ক্যাশ করুন। Nginx FastCGI ক্যাশিং জেনারেটেড HTML RAM বা ডিস্কে সংরক্ষণ করে এবং সরাসরি পরিবেশন করে, বেনামী দর্শকদের জন্য PHP এবং MySQL সম্পূর্ণভাবে বাইপাস করে।
২. শক্তিশালীকরণ এবং হ্রাসকরণ এর মাধ্যমে wp-config.php
দ wp-config.php ফাইলটি আপনার নিয়ন্ত্রণ কক্ষ। ডিফল্টরূপে, ওয়ার্ডপ্রেস কিছু নির্দিষ্ট আচরণের অনুমতি দেয় যা সময়ের সাথে আপনার ডাটাবেসকে ফুলিয়ে তোলে।
এই স্নিপেটগুলি এর ঠিক আগে যোগ করুন /* That's all, stop editing! Happy publishing. */ লাইন।
পোস্ট রিভিশন সীমিত করুন
ডিফল্টরূপে, ওয়ার্ডপ্রেস আপনার পোস্টের অসীম সংখ্যক রিভিশন সংরক্ষণ করে। ৫০ বার আপডেট করা একটি পোস্টের আপনার মধ্যে ৫০টি কপি থাকবে wp_posts ডাটাবেস টেবিল, যা ডাটাবেস ক্যোয়ারী নাটকীয়ভাবে ধীর করে দেয়।
// Keep only the last 3 revisions
define( 'WP_POST_REVISIONS', 3 );
অটোসেভ ব্যবধান অপ্টিমাইজ করুন
ওয়ার্ডপ্রেস প্রতি 60 সেকেন্ডে অটোসেভ করে। যদি একাধিক সম্পাদক কাজ করে, তবে এটি ডাটাবেসে চাপ সৃষ্টি করে। এটি ধীর করুন।
// Change autosave from 60 seconds to 5 minutes
define( 'AUTOSAVE_INTERVAL', 300 );
আবর্জনা দ্রুত খালি করুন
মুছে ফেলা পোস্ট এবং মন্তব্য 30 দিনের জন্য ডাটাবেসে থাকে। ডাটাবেস পাতলা রাখতে এটি হ্রাস করুন।
// Empty trash every 7 days
define( 'EMPTY_TRASH_DAYS', 7 );
৩. “অ্যান্টি-ব্লোট” functions.php মাস্টার স্নিপেট
ওয়ার্ডপ্রেস কোর আপনার মধ্যে প্রচুর পরিমাণে লিগ্যাসি সাপোর্ট স্ক্রিপ্ট, ডিসকভারি লিঙ্ক এবং ইনলাইন স্টাইল ইনজেক্ট করে এবং ডিফল্টরূপে।
প্রতিযোগীদের উপর সর্বাধিক তথ্য লাভ অর্জনের জন্য, আমরা আপনাকে কেবল “একটি ডিব্লোট প্লাগইন ব্যবহার করুন” বলব না। এখানে সবচেয়ে সাধারণ ওয়ার্ডপ্রেস ব্লোট অস্ত্রোপচারের মতো অপসারণের সঠিক কোড দেওয়া আছে।
নোট: এটি আপনার চাইল্ড থিমের সাথে যোগ করুন functions.php বা একটি ড্রপ-ইন মিউ-প্লাগইন।
/**
* The Ultimate WordPress Debloat Snippet
*/
add_action('init', function() {
// 1. Remove RSD, XMLRPC, and WLW links
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
add_filter('xmlrpc_enabled', '__return_false');
// 2. Remove WordPress version footprint (Security & Speed)
remove_action('wp_head', 'wp_generator');
// 3. Remove Shortlinks and REST API links from header
remove_action('wp_head', 'wp_shortlink_wp_head');
remove_action('wp_head', 'rest_output_link_wp_head');
// 4. Disable native Emojis (Saves 1 JS and 1 CSS HTTP Request)
remove_action('wp_head', 'print_emoji_detection_script', 7);
remove_action('wp_print_styles', 'print_emoji_styles');
remove_action('admin_print_scripts', 'print_emoji_detection_script');
remove_action('admin_print_styles', 'print_emoji_styles');
remove_filter('the_content_feed', 'wp_staticize_emoji');
remove_filter('comment_text_rss', 'wp_staticize_emoji');
remove_filter('wp_mail', 'wp_staticize_emoji_for_email');
// 5. Disable oEmbeds (If you don't embed external URLs automatically)
remove_action('wp_head', 'wp_oembed_add_discovery_links');
remove_action('wp_head', 'wp_oembed_add_host_js');
add_action('wp_footer', function() { wp_deregister_script('wp-embed'); });
});
/**
* 6. Remove Global Styles (WP 5.9+ Inline CSS Bloat)
*/
add_action('wp_enqueue_scripts', function() {
wp_dequeue_style('global-styles');
wp_dequeue_style('classic-theme-styles');
}, 100);
/**
* 7. Remove jQuery Migrate (If using modern themes/plugins)
*/
add_action('wp_default_scripts', function($scripts) {
if (!is_admin() && isset($scripts->registered['jquery'])) {
$script = $scripts->registered['jquery'];
if ($script->deps) {
$script->deps = array_diff($script->deps, ['jquery-migrate']);
}
}
});
/**
* 8. Throttle the Heartbeat API
* Prevents high CPU usage when leaving the WP Admin open
*/
add_filter('heartbeat_settings', function($settings) {
$settings['interval'] = 60; // Throttle to 60 seconds
return $settings;
});
আমরা এইমাত্র কী অর্জন করলাম?
উপরের কোড যোগ করে, আপনি তাত্ক্ষণিকভাবে পর্যন্ত নির্মূল করেছেন ৫-৮ অপ্রয়োজনীয় HTTP অনুরোধ এবং প্রতিটি পৃষ্ঠা লোড থেকে কয়েক ডজন লাইন ইনলাইন CSS/JS সরিয়ে ফেলেছেন—একটি প্লাগইন ইনস্টল না করেই।
৪. মিডিয়া অপটিমাইজেশন (কঠিন উপায়)
Smush বা Imagify-এর মতো প্লাগইনগুলি সুবিধাজনক, কিন্তু তারা আপনার PHP সার্ভারে ইমেজ প্রসেসিং চালায়, CPU সম্পদ ব্যবহার করে।
ম্যানুয়াল WebP/AVIF রূপান্তর
ওয়ার্ডপ্রেসে কোনও ইমেজ আপলোড করার আগে, এটি একটি বাহ্যিক, লসলেস কম্প্রেসারের মাধ্যমে চালান যেমন Squoosh.app (গুগল দ্বারা) বা TinyPNG. আরও ভাল, এগুলিকে এতে রূপান্তর করুন .webp অথবা .avif আপলোডের আগে স্থানীয়ভাবে ফর্ম্যাট করুন।
নেটিভ লেজি লোডিং ব্যবহার করুন
ওয়ার্ডপ্রেস 5.5 থেকে, নেটিভ লেজি লোডিং বিল্ট-ইন। ওয়ার্ডপ্রেস স্বয়ংক্রিয়ভাবে যোগ করে loading="lazy" আপনার ইমেজগুলিতে। আপনার একটি জাভাস্ক্রিপ্ট-ভিত্তিক লেজি লোডিং প্লাগইনের প্রয়োজন নেই। তবে, নিশ্চিত করুন যে আপনার “অবোভ দ্যা ফল্ড” ইমেজগুলি (যেমন আপনার লোগো বা হিরো ইমেজ) এই অ্যাট্রিবিউটটি ধারণ করে না, কারণ এটি লার্জেস্ট কন্টেন্টফুল পেইন্ট (LCP) বিলম্বিত করবে।
আপনি একটি পৃষ্ঠার প্রথম ইমেজের জন্য লেজি লোডিং এর মাধ্যমে সরাতে পারেন functions.php:
add_filter( 'wp_get_attachment_image_attributes', function( $attr, $attachment, $size ) {
static $is_first_image = true;
if ( $is_first_image ) {
$attr['loading'] = 'eager'; // Force immediate load for LCP
$is_first_image = false;
}
return $attr;
}, 10, 3 );
৫. phpMyAdmin এর মাধ্যমে ডাটাবেস ডিফ্র্যাগমেন্টেশন
অপটিমাইজেশন প্লাগইনগুলিতে সাধারণত একটি “ক্লিন ডাটাবেস” বোতাম থাকে। আপনি এটি ডাটাবেস স্তরে নেটিভভাবে করতে পারেন।
- আপনার হোস্টিং প্যানেলে লগইন করুন এবং খুলুন phpMyAdmin.
- আপনার ওয়ার্ডপ্রেস ডাটাবেস নির্বাচন করুন।
- নীচে স্ক্রোল করুন, চেক করুন সব চেক করুন.
- “সিলেক্টেড সহ:” ড্রপডাউনে, নির্বাচন করুন টেবিল অপটিমাইজ করুন.
MySQL টেবিল সূচী পুনর্নির্মাণ করবে এবং অব্যবহৃত স্থান পুনরুদ্ধার করবে। মাসে একবার ম্যানুয়ালি এটি করুন।
রায়
প্লাগইন ছাড়া ওয়ার্ডপ্রেস অপ্টিমাইজ করা শুধু প্রিমিয়াম সাবস্ক্রিপশনে টাকা বাঁচানোর বিষয় নয়। এটি একটি দর্শন প্রযুক্তিগত ঋণ কমানো. আপনি যত প্লাগইন ইনস্টল করেন না, তা একটি নিরাপত্তা দুর্বলতা যা আপনাকে প্যাচ করতে হবে না, একটি ডেটাবেস টেবিল যা আপনাকে পরিষ্কার করতে হবে না, এবং একটি PHP স্ক্রিপ্ট যা আপনার সার্ভারকে চালাতে হবে না।
ওয়ার্কলোড সার্ভারে স্থানান্তর করুন (PHP 8.1+, Nginx FastCGI), আপনার মধ্যে শৃঙ্খলা প্রয়োগ করুন wp-config.php, এবং আপনার ব্যবহার করে কোর ব্লট কেটে ফেলুন functions.php. আপনার টাইম টু ফার্স্ট বাইট (TTFB) এবং কোর ওয়েব ভাইটালস পার্থক্য প্রতিফলিত করবে।



