ওয়ার্ডপ্রেস সাইট যারা পরিচালনা করেন, তাদের অনেকেই সাইটের গতি বৃদ্ধির নানান কৌশল জানতে চান। সত্যিকার অর্থে গতি বৃদ্ধির ব্যাপারটা অনেক কিছুর সাথে সম্পর্কযুক্ত, যেমন:
- আপনি যে থিম ব্যবহার করছেন, তার কোডের মান কেমন?
- আপনি যে প্লাগইনগুলো ব্যবহার করছেন, তার কোডের মান কেমন?
- আপনি যে সার্ভারে সাইট হোস্ট করেছেন, তার মান/গতি কেমন?
- কিংবা আপনি যে তথ্য আপনার সাইটে রাখছেন, তা কতটা অপটিমাইজ্ড, মানে প্রয়োজনানুগ গুছিয়ে রাখা?
- কিংবা আপনার সাইটে যেসব থার্ড পার্টি রিসোর্স ব্যবহার করেছেন, সেগুলো কতটা গতিশীল?
…ইত্যাদি বহু কিছু। এসব বিষয়গুলো নিশ্চিত করার পরও অনেক সময় সাইটের গতি আশানুরূপ পাওয়া যায় না। আপনি যদি তখন Google-এর PageSpeed Insights, GTmetrix কিংবা Yahoo!’র YSlow ব্যবহার করে পরখ করে থাকেন, তাহলে দেখবেন, সেখানে আপনাকে বলা হচ্ছে, “Enable Compression” (কম্প্রেশন সক্রীয় করুন)।
এটা খায় না মাথায় দেয়
আপনি যখন একটা ওয়েবসাইটের ঠিকানা লিখে এন্টার চাপেন, আপনি তখন আসলে সার্ভারকে বলেন, অমুক সাইটের তথ্যগুলো পাঠাও তো…। সার্ভার তখন সেই সাইটের তথ্যগুলো আপনাকে পাঠাতে থাকে। 10 মেগাবাইট ডাটা থাকলে, সে 10 মেগাবাইট ডাটা আপনাকে পাঠিয়ে দেয়, আপনি তখন সাইটটা দেখতে পারেন। যদি gZip Compression চালু করা থাকে, তাহলে যা ঘটবে: আপনি সার্ভারকে বলবেন, সাইটের ডাটা পাঠাও… সে তখন দেখবে সাইটে 10 মেগাবাইট ডাটা আছে, সে সেটাকে কম্প্রেস করবে, মানে যিপ করবে, মানে গুটিয়ে নিবে, এতে ডাটার আকার কমে আসবে মাত্র 3 মেগাবাইটে, অর্থাৎ সার্ভার তখন আপনার ব্রাউযারে পাঠাবে 10 মেগাবাইটের বদলে মাত্র 3 মেগাবাইট… কতটা দ্রুত হয়ে যাবে সাইট বুঝতেই পারছেন। বাকি কাজটা হবে এবার আপনার ব্রাউযারে… ব্রাউযার সেই কম্প্রেস করা ফাইলটা পেয়ে সেটাকে আনকম্প্রেস/ডিকম্প্রেস করবে, মানে আনযিপ করবে, পোটলা খুলবে, তারপর আপনাকে সাইটটা দেখিয়ে দিবে। …এভাবে gZip কম্প্রেশন আপনার সাইট পেজের আকার ৭০% পর্যন্ত কমিয়ে আনতে পারে।
কিভাবে কম্প্রেশন সক্রীয় করতে হয়
আমি সাধারণত Apache সার্ভার ব্যবহার করি, তাই আমার জানা সমাধানগুলো অ্যাপাচি সার্ভার-কেন্দ্রীক।
জ্ঞাত পদ্ধতি ১: প্রথমদিকে মহা ফ্যাসাদে পড়লাম, কমপ্রেশন সক্রীয় করার উপায় পাচ্ছিলাম না। এমন সময় এক ব্লগে লেখা দেখলাম: ওয়ার্ডপ্রেস সাইটের অ্যাডমিন প্যানেলে লুকানো একটা সেটিং আছে: ব্রাউযারে লিখুন: .../wp-admin/options.php
– মানে, সাইটের অ্যাডমিন প্যানেলে থেকে options.php
পাতায় যান। এখানে gzipcompression নামে একটা অপশন আছে, সেটার মান 0
থেকে বদলে 1
করে দিতে হবে, মানে false
থেকে true
করে দিতে হবে। কিন্তু এটা ব্যবহার করে আমি কোনো সমাধান পেলাম না। আপনাদের কারো উপকার হলে, এটাই একাজে সবচেয়ে সহজ সমাধান।
জ্ঞাত পদ্ধতি ২: পরে ওয়ার্ডপ্রেস ডেভলপমেন্ট স্ট্যাকএক্সচেঞ্জে আলোচনা করে বের করে আনলাম এর কার্যকরী পদ্ধতি: আমাকে Toscho (Thomas Scholz) জানালেন: php.ini
ফাইলে zlib.output_compression = On
চালু করলেই তা হয়ে যায়।
যেহেতু আমি শেয়ার্ড সার্ভার ব্যবহার করছিলাম, তাই এটাও পরখ করে দেখা হয়নি।
সক্রীয় পদ্ধতি ৩: তারপর আরেকদিন আলোচনায় Rarst (Andrey “Rarst” Savchenko) আমাকে জানালেন এর .htaccess
পদ্ধতির কথা। তিনি আমাকে অ্যাপাচি’র কোড স্নিপেট^ই সরাসরি শেয়ার করলেন। সময়ের আবর্তে এই পাতায় অনেক পরিবর্তন আসছে, আসবে। তাই লাইন নম্বর ধরে কোডটা দিলে আজ এক জায়গায় কাল আরেক জায়গায় চলে যাবে। তাই আমি শুধু প্রয়োজনীয় অংশটুকু আলাদা করে নিলাম এখানে:
যেটা করতে হবে, আপনার ওয়ার্ডপ্রেস সাইটের .htaccess
ফাইলটা সম্পাদনা মোডে খুলুন (ফাইলটা ওয়ার্ডপ্রেসের র্যুটেই থাকে)। যদি .htaccess
ফাইল না থাকে, ঠিক এই নাম দিয়ে একটা ফাইল তৈরি করে নিন। আগে থেকে থাকা ফাইলে কিছু কোড থাকবে, সেগুলো আগে একটা জায়গায় কপি করে ব্যাকআপ নিয়ে রাখুন। সেখানেই সবার নিচে এই কোডটুকু বসিয়ে নিন।
ব্যস, কাজ শেষ।
যাচাই করুন
এবারে আসলেই সাইটে gZip কম্প্রেশন চালু হয়েছে কিনা যাচাই করে নিন RedBot^ থেকে, কিংবা GTmetrix^ থেকে। আপনার সাইটের URL লিখে সাবমিট করুন, দেখিয়ে দিবে gZip কম্প্রেশন চালু হয়েছে কিনা, এবং কতটুকু গতিবৃদ্ধি পেল তাতে।
মুদ্রার উল্টো পিঠ
আমরা বলেছিলাম সার্ভার আমাদের ব্রাউযারে কম্প্রেস করা ফাইলটা পাঠাবে। কিন্তু আমাদের ব্রাউযার যদি জানেই না কিভাবে কম্প্রেস করা ফাইলকে ডিকম্প্রেস করতে হয়, তখন? পুরোন ব্রাউযারগুলোতে এই সমস্যা ছিল। এখন আর এটা বোধহয় সমস্যা না। তাছাড়া, যত বড় কম্প্রেস ফাইল, তত বেশি CPU-এর ব্যবহার। সুতরাং এই পারফর্মেন্স পাওয়ার পিছনে আপনার সার্ভারের সিপিইউ-এর ব্যবহারও বাড়ছে। আরো জানা যাবে Lori MacVittie-এর এই ব্লগ (আর্কাইভ থেকে)^ থেকে।
তাই মনে রাখবেন, যদি কোনো সমস্যা হয়, তাহলে আপনার .htaccess
, যা ব্যাকআপ রেখেছিলেন, তা থেকে .htaccess
আবার আগের মতো করে নিন। আপনার ভুলের দায়ে আমাকে জড়ালে খুব কষ্ট পাবো তখন। 🙂 শুভ হোক!
-মঈনুল ইসলাম
🔗 mayeenulislam.github.io
বাড়তি পঠন
- PageSpeed: Enable gZip Compression^ – GTmetrix
ধন্যবাদ ভাই। নতুন কিছু শিখলাম।
৩য় পদ্ধতির কাছাকাছি একটা রেডিমেড কোড স্নিপেট দিয়ে কাজ করেছিলাম। ধন্যবাদ নতুন আরো পদ্ধতি জানানোর জন্য। বাকীগুলো সুযোগ হলে টেষ্ট করে দেখবো। 🙂
options.php তে ০ থেকে ১ করে দেওয়ার পরেইতো দেখি কাজ হইছে 🙂
দারুণ! শুনে ভালো লাগলো।
How I will understand it’s working?
আপনি বোধহয় পুরো লেখাটা পড়েননি। যাহোক, আপনাদের মতো কুইক স্ক্যানারদের জন্য একটা হেডিং ট্যাগ যোগ করলাম ঐ অংশে – যাচাই করুন।