বর্তমান সময়ঃ- 5 June, 2020

কীভাবে আপনার সাইটকে আরও স্মুথ এবং হেলথি করে তুলবেন।

হে গাইজ! হোয়াট ইজ আপ? মানে উপরে কী? আমার উপরে তো চাল আপনাদের উপরে কি সেটা হিসেবে জবাব দিন কমেন্টে। তো ভালো আছেন তো? আছি আমি কোন রকম ভালো আপনাদের দোয়ায়। তো কাজের কথায় আসা যাক:-

তো এখনকার দিনে একটি ওয়েবসাইটের জন্য তার থিমের সৌন্দর্যতা এবং সুন্দর ও মানসম্পন্ন পোস্টই যথেষ্ট নয়। আপনি যদি হোন একটি ওয়েবসাইটের মালিক তবে আপনাকে এটি অবশ্যই জানতে হবে যে আমাদের গুগল ভ্রাতা একটি এলগরিদম ফলো করে যার মাধ্যমে সাইটের লোডিং স্পিড বা লোডিং টাইম নির্ধারণ করে এবং সাইটের লোডিং টাইম অনুযায়ী আপনার সাইটকে সার্চ রেজাল্ট এ শো করে। তো যেসব সাইট কয়েক সেকেন্ড নেয় লোড নিতে সেইসব সাইট ভিসিটর এবং গুগল এর সার্চ ইঞ্জিন এর রেজাল্ট এ বেশিদিন টিকে।

তো একটি গণ সমীক্ষায় জানা গেছে যে ইন্টারনেট এর প্রায় অর্ধেক মানুষ এটা চায় যে তাদের ভিসিট কৃত সাইট টি যাতে ২ সেকেন্ড এর ভিতর লোড নেয়। তো এই ক্ষেত্রে আমাদের অনেক বেশি সচেতন হতে হবে। এতে করে সাইটের ভিসিটর অনেক আংশে বৃদ্ধি পাবে।

এখন প্রথমে গুগল এ যান আর Website Speed Test। তারপর একটি ভালো সাইটে ডুকুন আর আপনার সাইটের ইউয়ারেল দিয়ে সাবমিট করে স্পিড টা মেপে নিন। এবংং স্ক্রিনশট রাখুন যেটা পরে কাজে লাগবে। এখন যাই পদ্ধতির দিকে।

তো অনেক গুলো পদ্ধতি রয়েছে সাইটের স্পিড বাড়ানোর। তার মধ্যে অনেক গুলো নির্ভর করে সাইটের থিমে কতটুকু জাভাস্ক্রিপ্ট বা জেকুয়েরি ব্যবহার করা হয়েছে, থিমে কতটা ফাংশন রয়েছে। তো আজ আমরা যে পদ্ধতিটা সম্পর্কে জানবো তা হলো একটি ফাইল এডিট এর মাধ্যমে যার নাম হচ্ছে .htaccess।

তো বেশি কিছু বলবোনা এই ফাইল্টি সম্পর্কে বিস্তারিত না হয় অন্য কোন দিন অন্য কোন পোস্টে বলবো। তো এই ফাইলটি হলো একটি এপাচি সার্ভার এর কনফিগারেশন ফাইল। যেটি সার্ভার এর রুট ফাইল public_html অথবা www তে থাকে।

তো প্রথম আমরা আমাদের সিপ্যানেল এ যাবো আর ফাইল ম্যানেজার এ গিয়ে ফাইল্টি খুজে বের করবো। খুজে বের করার জন্যে সার্চ বার ইউজ করুন। তারপর সেটাকে এডিটর দিয়ে ওপেন করবো। প্রথমতো আমরা কম্প্রশন এর কোড এড করবো যা সকল প্রকার ফাইল এর সাইজ কে ছোট করে দিবে যখন আপনি আপ্লোড করবেন। নিচের কোড কপি করুন আর পেস্ট করুন:-

# BEGIN DEFLATE COMPRESSION

# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml

# END DEFLATE COMPRESSION

উপরের কোড টা ছিলো সকল প্রকার ফাইল এর জন্যে যেমন: এইচটিএমএল, জাভাস্ক্রিপ্ট। কিন্তু নিচের ফাইলটা mod_gzip এর জন্যে চাইলে এটিও এড করতে পারেন। আমি সাজেস্ট করবো এটা এড করতে:-

# BEGIN GZIP COMPRESSION

mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*

# END GZIP COMPRESSION

তো পেস্ট করা ডান? ডান হলে এদিকে তাকান কাজ এখন ও শেষ হয়নি। তো আমরা যখন কোন ব্রাউজার এর মাধ্যমে কোন সাইট ব্রাউজ করি তো সাইট থেকে ব্রাউজার কিছু ফাইল রেখে দেয় যা পরবর্তি কাজের সময় কাজে লাগায়। আর তাই আমরা দুটো মেথড ইউজ করবো তা হলো:-

Expires Header

#BEGIN EXPIRES HEADERS

# Enable expirations
ExpiresActive On
# Default expiration: 1 hour after request
ExpiresDefault “now plus 1 hour”
# CSS and JS expiration: 1 week after request
ExpiresByType text/css “now plus 1 week”
ExpiresByType application/javascript “now plus 1 week”
ExpiresByType application/x-javascript “now plus 1 week”
# Image files expiration: 1 month after request
ExpiresByType image/bmp “now plus 1 month”
ExpiresByType image/gif “now plus 1 month”
ExpiresByType image/jpeg “now plus 1 month”
ExpiresByType image/jp2 “now plus 1 month”
ExpiresByType image/pipeg “now plus 1 month”
ExpiresByType image/png “now plus 1 month”
ExpiresByType image/svg+xml “now plus 1 month”
ExpiresByType image/tiff “now plus 1 month”
ExpiresByType image/vnd.microsoft.icon “now plus 1 month”
ExpiresByType image/x-icon “now plus 1 month”
ExpiresByType image/ico “now plus 1 month”
ExpiresByType image/icon “now plus 1 month”
ExpiresByType text/ico “now plus 1 month”
ExpiresByType application/ico “now plus 1 month”
# Webfonts
ExpiresByType font/truetype “access plus 1 month”
ExpiresByType font/opentype “access plus 1 month”
ExpiresByType application/x-font-woff “access plus 1 month”
ExpiresByType image/svg+xml “access plus 1 month”
ExpiresByType application/vnd.ms-fontobject “access plus 1 month”

#END EXPIRES HEADERS

Cache Control

# BEGIN Cache-Control Headers

<filesMatch “\.(ico|jpe?g|png|gif|swf)$”>
Header set Cache-Control “public”

<filesMatch “\.(css)$”>
Header set Cache-Control “public”

<filesMatch “\.(js)$”>
Header set Cache-Control “private”

<filesMatch “\.(x?html?|php)$”>
Header set Cache-Control “private, must-revalidate”

# END Cache-Control Headers

আর আমরা যদি ক্যাচে কন্ট্রল অন্য ভাবে করতে চাই তবে কোডে যেমন চেইঞ্জ আনতে হবে তা হলো:-

# BEGIN Cache-Control Headers

<filesMatch “\.(ico|jpe?g|png|gif|swf)$”>
Header set Cache-Control “max-age=2592000, public”

<filesMatch “\.(css)$”>
Header set Cache-Control “max-age=604800, public”

<filesMatch “\.(js)$”>
Header set Cache-Control “max-age=216000, private”

<filesMatch “\.(x?html?|php)$”>
Header set Cache-Control “max-age=600, private, must-revalidate”

# END Cache-Control Headers

তো এখন আবার সেই সাইট টিতে যান এবংং সাইটের স্পিড মাপান এবং আগের রেজাল্ট এর যেই স্ক্রিনশট টি রেখেছেন সেটির সাথে কম্পেয়ার করুন দেখুন কাজ করছে কিনা। ইনশাল্লাহ কাজ করবে।

তো ততদিনে ভালো থাকুন সুস্থ থাকুন সুস্থ রাখুন ধন্যবাদ

Share
ইনাদ ইসলাম

একজন প্রোফেশনাল ওয়েব ডেভলপার। জীবনের দ্বিতীয় ভালোবাসা প্রোগ্রামিং।

Leave a Reply