Thought for 4 seconds### ওয়ার্ডপ্রেস থিম স্ক্রিপ্ট অপটিমাইজেশন এবং স্পিড বাড়ানোর উপায়
১. আপনার স্ক্রিপ্ট লোডিং অপটিমাইজেশন
আপনার বর্তমান কোডটি ভালো আছে, কিন্তু আরও অপটিমাইজ করা যায়। নিচে jQuery রিমুভ করে এবং স্ক্রিপ্ট লোডিং অপটিমাইজ করার জন্য আপডেট করা কোড দেওয়া হলো:
// Enqueue scripts and styles
function ivy_machinery_scripts() {
// Remove jQuery completely
if (!is_admin()) {
wp_deregister_script('jquery');
}
// Enqueue Tailwind CSS
wp_enqueue_style('ivy-machinery-tailwind', get_template_directory_uri() . '/css/output.css', array(), '1.0.0');
// Enqueue custom styles
wp_enqueue_style('ivy-machinery-style', get_template_directory_uri() . '/css/styles.css', array(), '1.0.0');
// Conditionally load AOS only on pages that need animations
if (!is_page('contact-us') && !is_page('about') && !is_front_page()) {
// Skip AOS on pages that don't need it
// Customize this condition based on your needs
} else {
// Enqueue AOS CSS with preload
wp_enqueue_style('aos-css', 'https://unpkg.com/aos@next/dist/aos.css', array(), '1.0.0');
// Add preload for AOS CSS
add_action('wp_head', function() {
echo '<link rel="preload" href="https://unpkg.com/aos@next/dist/aos.css" as="style">';
});
// Enqueue AOS JavaScript
wp_enqueue_script('aos-js', 'https://unpkg.com/aos@next/dist/aos.js', array(), '1.0.0', true);
// Enqueue shared JavaScript
wp_enqueue_script('ivy-machinery-shared', get_template_directory_uri() . '/js/shared.js', array('aos-js'), '1.0.0', true);
}
// Enqueue homepage JavaScript only on the front page
if (is_front_page()) {
wp_enqueue_script('ivy-machinery-homepage', get_template_directory_uri() . '/js/homepage.js', array(), '1.0.0', true);
}
// Only load comment reply script when needed
if (is_singular() && comments_open() && get_option('thread_comments')) {
wp_enqueue_script('comment-reply');
}
}
add_action('wp_enqueue_scripts', 'ivy_machinery_scripts');
// Add async/defer attributes to scripts
function add_async_defer_attribute($tag, $handle) {
// Add async to AOS
if ('aos-js' === $handle) {
return str_replace(' src', ' async src', $tag);
}
// Add defer to your scripts
if ('ivy-machinery-shared' === $handle || 'ivy-machinery-homepage' === $handle) {
return str_replace(' src', ' defer src', $tag);
}
return $tag;
}
add_filter('script_loader_tag', 'add_async_defer_attribute', 10, 2);
// Preload critical assets
function ivy_machinery_preload_assets() {
?>
<link rel="preload" href="<?php echo get_template_directory_uri(); ?>/css/output.css" as="style">
<link rel="preload" href="<?php echo get_template_directory_uri(); ?>/css/styles.css" as="style">
<?php
}
add_action('wp_head', 'ivy_machinery_preload_assets', 1);উপরের কোডে যে অপটিমাইজেশন করা হয়েছে:
- jQuery সম্পূর্ণ রিমুভ করা হয়েছে – অ্যাডমিন প্যানেল ছাড়া সাইটের ফ্রন্টএন্ডে jQuery লোড হবে না
- কন্ডিশনাল লোডিং – শুধুমাত্র যে পেজে দরকার সেখানেই AOS লোড হবে
- async/defer অ্যাট্রিবিউট – স্ক্রিপ্টগুলোতে async/defer অ্যাট্রিবিউট যোগ করা হয়েছে
- প্রিলোড – ক্রিটিক্যাল CSS ফাইল প্রিলোড করা হয়েছে
২. স্পিড অপটিমাইজেশনের জন্য সেরা প্লাগইন
আপনার থিমের জন্য নিম্নলিখিত প্লাগইন কম্বিনেশন সুপারিশ করছি:
ক) ক্যাশিং এবং মিনিফিকেশন
WP Rocket (প্রিমিয়াম) – সবচেয়ে সম্পূর্ণ সমাধান
- ক্যাশিং, মিনিফিকেশন, লেজি লোডিং, ডিফার JS সবকিছু একসাথে
- সহজ সেটআপ, কোন কোড লেখার দরকার নেই
- ভাল সাপোর্ট
অথবা ফ্রি বিকল্প:
- WP Fastest Cache (ফ্রি) – সহজ সেটআপ, ভাল পারফরম্যান্স
- LiteSpeed Cache (ফ্রি) – যদি আপনার হোস্টিং LiteSpeed সার্ভার ব্যবহার করে
খ) ইমেজ অপটিমাইজেশন
ShortPixel (ফ্রি/প্রিমিয়াম)
- উচ্চমানের ইমেজ কম্প্রেশন
- WebP কনভার্শন
- ফ্রি প্ল্যানে মাসে 100 ইমেজ অপটিমাইজ করা যায়
অথবা:
- Optimole (ফ্রি/প্রিমিয়াম) – ক্লাউড-বেসড ইমেজ অপটিমাইজেশন এবং CDN
গ) ডাটাবেস অপটিমাইজেশন
WP-Optimize (ফ্রি)
- ডাটাবেস ক্লিন এবং অপটিমাইজ করে
- ক্যাশিং ফিচারও আছে
- ইমেজ কম্প্রেশন ফিচার আছে
ঘ) CDN এবং সিকিউরিটি
Cloudflare (ফ্রি/প্রিমিয়াম)
- গ্লোবাল CDN
- DDoS প্রটেকশন
- ফ্রি SSL সার্টিফিকেট
- ফ্রি প্ল্যান দিয়েই শুরু করতে পারেন
৩. আপনার থিমের জন্য অপটিমাইজেশন সেটআপ গাইড
ধাপ ১: প্লাগইন ইনস্টল এবং সেটআপ
WP Fastest Cache সেটআপ:
- প্লাগইন ইনস্টল করুন
- Settings > WP Fastest Cache এ যান
- নিচের অপশনগুলো এনাবল করুন:
- Cache System
- Preload
- Logged-in Users
- Mobile
- New Post
- Minify HTML
- Minify CSS
- Combine CSS
- Minify JavaScript
- Combine JavaScript
- GZIP
- Browser Caching
- Disable Emojis
- সেভ করুন
ShortPixel সেটআপ:
- প্লাগইন ইনস্টল করুন
- Settings > ShortPixel এ যান
- API কী সেটআপ করুন (ফ্রি অ্যাকাউন্ট তৈরি করে)
- Compression Type: “Lossy” সিলেক্ট করুন
- “Also include thumbnails” অপশন চেক করুন
- “WebP Images” অপশন চেক করুন
- সেভ করুন
WP-Optimize সেটআপ:
- প্লাগইন ইনস্টল করুন
- WP-Optimize > Database এ যান
- “Run all selected optimizations” ক্লিক করুন
- WP-Optimize > Settings এ যান
- “Schedule automatic cleanup” এনাবল করুন
- সেভ করুন
Cloudflare সেটআপ:
- Cloudflare.com এ অ্যাকাউন্ট তৈরি করুন
- আপনার ডোমেইন যোগ করুন
- Cloudflare এর নেমসার্ভার আপনার ডোমেইন রেজিস্ট্রারে আপডেট করুন
- ওয়ার্ডপ্রেসে Cloudflare প্লাগইন ইনস্টল করুন
- প্লাগইনে আপনার Cloudflare API কী সেটআপ করুন
ধাপ ২: থিম অপটিমাইজেশন
আপনার থিমের functions.php ফাইলে নিচের কোড যোগ করুন:
// Remove WordPress version number
function remove_version_info() {
return '';
}
add_filter('the_generator', 'remove_version_info');
// Remove query strings from static resources
function remove_query_strings() {
if(!is_admin()) {
add_filter('script_loader_src', 'remove_query_strings_split', 15);
add_filter('style_loader_src', 'remove_query_strings_split', 15);
}
}
function remove_query_strings_split($src){
$output = preg_split("/(&ver|\?ver)/", $src);
return $output[0];
}
add_action('init', 'remove_query_strings');
// Disable embeds
function disable_embeds() {
// Remove the REST API endpoint
remove_action('rest_api_init', 'wp_oembed_register_route');
// Turn off oEmbed auto discovery
add_filter('embed_oembed_discover', '__return_false');
// Don't filter oEmbed results
remove_filter('oembed_dataparse', 'wp_filter_oembed_result', 10);
// Remove oEmbed discovery links
remove_action('wp_head', 'wp_oembed_add_discovery_links');
// Remove oEmbed JavaScript from the front-end and back-end
remove_action('wp_head', 'wp_oembed_add_host_js');
// Remove all embeds rewrite rules
add_filter('rewrite_rules_array', 'disable_embeds_rewrites');
}
add_action('init', 'disable_embeds', 9999);
function disable_embeds_rewrites($rules) {
foreach($rules as $rule => $rewrite) {
if(false !== strpos($rewrite, 'embed=true')) {
unset($rules[$rule]);
}
}
return $rules;
}
// Disable XML-RPC
add_filter('xmlrpc_enabled', '__return_false');
// Remove REST API links
remove_action('wp_head', 'rest_output_link_wp_head', 10);
remove_action('template_redirect', 'rest_output_link_header', 11);ধাপ ৩: .htaccess অপটিমাইজেশন
আপনার .htaccess ফাইলে নিচের কোড যোগ করুন:
# BEGIN Expire headers
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType text/css "access plus 1 month"
ExpiresByType text/html "access plus 1 minute"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresByType application/x-font-ttf "access plus 1 year"
ExpiresByType application/x-font-woff "access plus 1 year"
ExpiresByType application/font-woff "access plus 1 year"
ExpiresByType application/font-woff2 "access plus 1 year"
ExpiresByType font/woff "access plus 1 year"
ExpiresByType font/woff2 "access plus 1 year"
</IfModule>
# END Expire headers
# BEGIN GZIP
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE font/opentype font/ttf font/eot font/otf
</IfModule>
# END GZIP৪. অতিরিক্ত টিপস
- ইমেজ সাইজ অপটিমাইজেশন
- ইমেজ আপলোড করার আগে সঠিক সাইজে রিসাইজ করুন
- WebP ফরম্যাট ব্যবহার করুন
- ফন্ট অপটিমাইজেশন
- Google Fonts ব্যবহার করলে, শুধু প্রয়োজনীয় ফন্ট ওয়েট লোড করুন
- ফন্ট ফাইল লোকালি হোস্ট করুন
- থার্ড-পার্টি স্ক্রিপ্ট অপটিমাইজেশন
- Google Analytics, Facebook Pixel ইত্যাদি স্ক্রিপ্ট async বা defer অ্যাট্রিবিউট দিয়ে লোড করুন
- হোস্টিং অপটিমাইজেশন
- PHP 8.0+ ব্যবহার করুন
- MySQL অপটিমাইজেশন করুন
- SSD হোস্টিং ব্যবহার করুন
৫. পারফরম্যান্স টেস্টিং
আপনার ওয়েবসাইট অপটিমাইজ করার পর, নিম্নলিখিত টুল ব্যবহার করে পারফরম্যান্স টেস্ট করুন:
- Google PageSpeed Insights – https://pagespeed.web.dev/
- GTmetrix – https://gtmetrix.com/
- Pingdom – https://tools.pingdom.com/
এই টুলগুলো ব্যবহার করে আপনার ওয়েবসাইটের স্পিড স্কোর দেখুন এবং আরও কি অপটিমাইজ করা যায় তা চিহ্নিত করুন।
আশা করি এই টিপসগুলো আপনার ওয়েবসাইট অপটিমাইজ করতে সাহায্য করবে। যেকোনো প্রশ্ন থাকলে জানাবেন।