চলুন সরাসরি টপিকের মধ্যে ডুব দেওয়া যাক… অনেকেই বলে, “আমি ১৫ এম্বিপিএস কানেকশন থেকে ১০০ এম্বিপিএস কানেকশনে সাবস্ক্রাইব করেছি, কিন্তু কেন এখনো আমার পছন্দের ওয়েবসাইট গুলো স্লো লোড হচ্ছে?” — যদি কানেকশন স্পিড আপগ্রেড করার পরেও ওয়েবসাইট লোডিং টাইম কমে না যায়, তাহলে বেশি টাকা খরচ করে লাইন আপগ্রেড করার কি উপকারিতা?
ওয়েল, ব্যাপারটা মোটেও এতোটা সহজ নয় যে আপনি ব্রডব্যান্ড কানেকশন স্পিড আপগ্রেড করলেন আর ওয়েবসাইট গুলো ও ফাস্ট লোড হওয়া শুরু হয়ে যাবে। এখানে অনেক ব্যাপার মাথায় রাখার মতো রয়েছে, বিশেষ করে ইন্টারনেট ট্র্যাফিক কিভাবে কাজ করে সে ব্যাপারে আপনাকে জানতে হবে, তবেই সম্পূর্ণ বিষয়টি পরিষ্কার হবে!
রেসপন্স টাইম
আপনার ফাস্ট ইন্টারনেট কানেকশনেও ওয়েবসাইট স্লো লোড হওয়ার প্রধান কারণটি হতে পারে রেসপন্স টাইম বা লেটেন্সি সমস্যা। এখন এই লেটেন্সি সমস্যা নানান বিষয়ের উপর নির্ভর করে। প্রথমত, আপনার কম্পিউটার এবং আপনি যে ওয়েবসাইটটি লোড করতে চাচ্ছেন তার সার্ভার লোকেশনের পার্থক্যের জন্য লেটেন্সি বেরে যেতে পারে। আপনার কম্পিউটার থেকে রিকোয়েস্ট সার্ভারের কাছে পৌছাতে বেশ দেরি হতে পারে যদি সার্ভারটি অনেক দূরের লোকেশনে অবস্থিত হয়ে থাকে।
যদিও ডাটা প্যাকেট গুলো আলোর গতিতে (৩০০,০০০ কিলোমিটার/সেকেন্ড) এক স্থান থেকে আরেক স্থানে স্থানান্তরিত হয়, কিন্তু আপনি বাংলাদেশে বসে থেকে অ্যামেরিকাতে অবস্থিত ওয়েব সার্ভার থেকে ওয়েবসাইট লোড করার চেষ্টা করলে, সেই লেটেন্সি অনুভূত হবেই, কেনোনা এতে কিছুটা সময় তো লেগেই যায়।
এখন আপনার আইএসপি এর পিং রেট ততোটা ভালো নাও হতে পারে, ১০০ মিলি-সেকেন্ডের উপরে পিং রেট হলে সেটা অনুভূত হবেই, এতে কিছুটা দেরি ভোগ করতেই হবে। ১০০ মিলি-সেকেন্ড সময় রিয়াল লাইফে কিছুই নয়, কিন্তু নেটওয়ার্কিং এর ক্ষেত্রে প্রত্যেক মিলি সেকেন্ড ম্যাটার করে। পিং রেট ১০০ মিলি সেকেন্ড + হওয়ার পরেও আপনার কানেকশন ব্যান্ডউইথ স্পিড ১০০ মেগাবিট/সেকেন্ড বা আরো বেশি হতে পারে। আবার মাত্র ১ মেগাবিটের কানেকশনের পিং রেট ২০ মিলি সেকেন্ড হতে পারে। তো পিং এবং ব্যান্ডউইথ স্পিড দুইটি আলাদা জিনিষ।
তো ব্যাপারটা কি দাঁড়ালো? — আপনার স্পিড শুধু ফাস্ট হলেই হবে না, আপনার কানেকশন রেসপন্স টাইম ও ফাস্ট হতে হবে, সাথে যে ওয়েবসাইট লোড করার চেষ্টা করছেন সেটার সার্ভার লোকেশন আপনার যতো নিকটে হবে সাইট ততোই ফাস্ট আক্সেস করা যাবে।
পেজ স্ক্রিপ্ট
কোন সাইটের লিংক ব্রাউজারে প্রবেশ করালেন আর সাইটটির আকর্ষণীয় হোমপেজটি লোড হয়ে গেলো — ব্যাপারটি আপনার কাছে এমনই ঘটলেও আপনার ব্রাউজারের কাছে কিন্তু এমন ঘটে না! আপনার ব্রাউজার ওয়েব পেজটিকে নানান কোডে ভর্তি হওয়া একটি জঙ্গল রুপে দেখতে পায়। সেই কোড গুলো ব্রাউজার ডিকোড করে তারপরে সুন্দর পেজটি আপনার সামনে রেন্ডার হয়।
এখন যে ওয়েব পেজে যতোবেশি স্ক্রিপ্ট ইউজ করা হয়েছে এবং সেই স্ক্রিপ্ট গুলো যতোটা আন-অপ্টিমাইজ, পেজটি ব্রাউজারে রেন্ডার হতে ততোই বেশি সময় সময় লাগবে। আপনার ইন্টারনেট কানেকশনের কাজ হচ্ছে ওয়েব সার্ভার থেকে রিকোয়েস্টেড পেজটি জাস্ট যতদ্রুত সম্ভব আপনার কম্পিউটারে ডাউনলোড করা। কিন্তু পেজটি ডাউনলোড হওয়ার পরে ব্রাউজারকে কোড থেকে পেজে পরিণত করার কাজ করতে হয়, এতে আপনার কম্পিউটারের র্যাম, সিপিইউ কাজ করে। আর যতোবেশি স্ক্রিপ্ট, ততোবেশি প্রসেসিং করতে হবে, ততোবেশি সময় লাগবে পেজটি ব্রাউজারে লোড হতে।
অনেক সময় আপনার পিসির সিপিইউ, র্যাম, ডিস্ক ইত্যাদি আলাদা টাস্ক কমপ্লিট করতে বিজি থাকে, সেক্ষেত্রে ওয়েব পেজটি ডিকোড করার জন্য সিস্টেমে যথেষ্ট রিসোর্স আক্সেস না থাকায় সাইট দেরীতে লোড হতে পারে, আর এই সাথে আপনার ফাস্ট ইন্টারনেট কানেকশনের কোনই সম্পর্ক নেই।
অনেক ওয়েব পেজে অ্যাডস ইউজ করা হয়, আর অ্যাডস রান হওয়ার সময় এক্সটারনাল সার্ভারের সাথে কানেক্ট হয়। সেই এক্সটারনাল সার্ভার মূল ওয়েব সার্ভার থেকে স্লো হতে পারে, তাছাড়া অ্যাডসের সাথে নানান ট্র্যাকিং স্ক্রিপ্ট লোড হয়, অ্যানালাইটিক্স কোড লোড হয় এতে ওয়েবসাইটটি লোড নিতে অনেক বেশি সময় লাগিয়ে ফেলে।
খারাপ অপটিমাইজেশন
যদি ওয়েবসাইটটি ভালো অপ্টিমাইজড না হয়ে থাকে সেক্ষেত্রে সাইটটি লোড নিতে দেরি করবেই, আপনার ১০০ মেগাবিট কেন, ১ গিগাবিট কানেকশন হলেও সাইট দেরিতেই লোড নেবে। এখন ভালো অপটিমাইজেশন বলতে কি বুঝানো হয়?
যেমন ধরুন ক্যাশিং, সাইটে যদি ব্রাউজার ক্যাশিং সিস্টেম এনাবল করা থাকে সেক্ষেত্রে ওয়েবসাইটটি বারবার সার্ভারের কাছে রিকোয়েস্ট না করে স্ট্যাটিক ফাইল গুলো লোকাল ড্রাইভ থেকে লোড করবে, এতে সাইট অনেক দ্রুত লোড হতে পারবে। তাছাড়া সাইটের স্ট্যাটিক কন্টেন্ট যেমন- ইমেজ, জাভা স্ক্রিপ্ট, সিএসএস — ইত্যাদির সাইজ কমানোর মাধ্যমে ওয়েবসাইট লোডিং ফাস্ট করা যেতে পারে।
এই আর্টিকেলে ওয়েবসাইট অপ্টিমাইজেশনের সকল টিপস গুলো শেয়ার করা হয়েছে। যাইহোক, এখন আপনার পছন্দের ওয়েবসাইটটি যদি নিয়ম না মেনে অপ্টিমাইজড না হয়ে থাকে সেক্ষেত্রে সাইটটি লোড নিতে দেরি করবেই।
এই জন্যই ওয়েব ডেভেলপাররা ওয়েবসাইট অপটিমাইজড করতে অনেক ট্রিক্স অনুসরণ করেন। যেমন- সিডিএন বা কন্টেন্ট ডেলিভারি নেটওয়ার্ক ব্যবহার করেন, সিডিএন হচ্ছে গোটা দুনিয়াতে ছড়িয়ে থাকা কম্পিউটার নেটওয়ার্ক। এতে সাইটটি আপনার কাছের লোকেশন থেকে আপনার কম্পিউটারে সার্ভ করা হয়ে থাকে যাতে সাইটটি ফাস্ট লোড হতে পারে।
তো বুঝতেই পারছেন, এখানে অনেক কারণ রয়েছে যার ফলে কোন পেজ আরেক পেজ থেকে লোড নিতে বেশি সময় লেগিয়ে দেয়। যখন আপনি আপনার ব্রডব্যান্ড কানেকশনটি আপগ্রেড করেন এর মানে হচ্ছে আপনি গোটা দুনিয়ার কম্পিউটারের (সাথে যেকোনো ওয়েবসাইট বা সার্ভিস) সাথে কানেক্ট করার দ্রুত কানেকশন পেয়ে যান, কিন্তু ওয়েব সার্ভার গুলো ঠিক আগের স্পিডেই কাজ করছে যেটা আপনার স্পিড আপগ্রেড করার পূর্বেও তেমন ছিল।
এক কথায় বলতে কোন স্লো ওয়েবসাইট কানেক্ট করতে চাইলে সেটা স্লো’ই লোড হবে, আপনি যতোই ফাস্ট ইন্টারনেট ইউজ করুন না কেন। আর স্লো ওয়েবসাইট বলতে, আপনার আর ওয়েব সার্ভারের মধ্যের দূরত্ব, ওয়েব সার্ভার হার্ডওয়্যার, আপনার পিসির হার্ডওয়্যার, প্যাকেট লস, ওয়েব সার্ভার লোড, ওয়েব পেজ অপটিমাইজেশন — ইত্যাদি নানান টপিকের উপরে নির্ভরশীল হয়ে আপনার নেট স্পিড ফাস্ট হওয়া সর্তেও ওয়েবসাইট গুলো স্লো লোড হয়!
তো আশা করছি, সম্পূর্ণ ব্যাপারটি এতক্ষণে পরিষ্কার হয়ে যাওয়ার কথা। যদি এখনো মনে কোন প্রশ্ন থাকে তো নিচে কমেন্ট ক্রএ ফেলতে পারেন!
Image Credit: Shutterstock