গত মাসে উত্তরার এক ক্লায়েন্ট ফোন করে বললেন, তাঁর সাইটটা নাকি “হয়ে গেছে” — হোস্টিং প্যানেল থেকে এক ক্লিকে ইনস্টল, থিম বসানো, লোগো আপলোড, সব শেষ। সমস্যা শুধু তিনটা: ডোমেইনটা তাঁর নামে রেজিস্টার করা নয়, কন্টাক্ট ফর্মের কোনো ইমেইল তাঁর ইনবক্সে পৌঁছায় না, আর প্রতিটা পেজের লিংক দেখতে অনেকটা এরকম — site.com/?p=147। ইনস্টলেশন সত্যিই পাঁচ মিনিটের কাজ। কিন্তু যে সিদ্ধান্তগুলো ওই পাঁচ মিনিটের আগে নিতে হয়, সেগুলো ভুল হলে বিলটা আসে ছয় মাস পরে, সুদে-আসলে।
wordpress নিয়ে কাজ করতে গিয়ে বাংলাদেশের ফ্রিল্যান্সার, ছোট ব্যবসার মালিক আর প্রথমবার সাইট বানাতে বসা মানুষের মুখে যে কথাগুলো সবচেয়ে বেশি শুনি, তার ছয়টা এখানে ধরে ধরে দেখব। প্রতিটার ক্ষেত্রে বলব — ধারণাটা কোথায় ভাঙে, আর বদলে ঠিক কাজটা কী।
“আগে সাইটটা দাঁড় করাই, বাকিটা পরে গুছিয়ে নেব”
এই একটা লাইনের পেছনে সবচেয়ে বেশি রিওয়ার্ক লুকিয়ে থাকে। ইনস্টলার আপনাকে সাইটের নাম, ইউজারনেম আর ভাষা জিজ্ঞেস করে — কিন্তু যে চারটা সিদ্ধান্ত সাইটের সারা জীবনের সঙ্গে জড়িয়ে থাকবে, সেগুলো সে জিজ্ঞেসই করে না: ডোমেইনটা কার নামে থাকবে, সাইটের ক্যানোনিকাল ঠিকানা কী হবে (https, www থাকবে কি থাকবে না), হোস্টিংয়ের স্ট্যাক কী, আর পারমালিংক স্ট্রাকচার কেমন হবে।
পারমালিংকের উদাহরণটা সবচেয়ে পরিষ্কার। ডিফল্ট সেটিংসে লিংক হয় /?p=147। ব্লগে ২০০টা পোস্ট আর গুগলে ইন্ডেক্স হয়ে যাওয়ার পর যখন আপনি সেটাকে /post-name/ বানাতে যাবেন, তখন প্রতিটা পুরোনো ইউআরএল থেকে নতুনটায় 301 রিডাইরেক্ট বসাতে হবে, Search Console-এ কয়েক সপ্তাহ ধরে কাভারেজ এরর দেখতে হবে, আর ফেসবুকে শেয়ার করা পুরোনো লিংকগুলোর শেয়ার-কাউন্ট শূন্য হয়ে যাবে। ইনস্টলের দিন এক মিনিটে ঠিক করলে এসবের কিছুই হতো না।
তাই কী-বোর্ড ছোঁয়ার আগে এই ছোট চেকলিস্টটা সেরে নিন:
- ডোমেইন কার অ্যাকাউন্টে, কোন ইমেইলে রেজিস্টার হবে — লিখে রাখুন
- সাইট অ্যাড্রেস https://example.com নাকি https://www.example.com — একটা বেছে নিন, দুটোতেই সাইট খুললে একটাকে অন্যটায় রিডাইরেক্ট করুন
- Settings → Permalinks → Post name, ইনস্টলের প্রথম দশ মিনিটেই
- Timezone: Dhaka, Site Language: বাংলা বা English — পরে বদলালে ডেট ফরম্যাট আর শিডিউল করা পোস্টের সময় এলোমেলো হয়
- ব্লগ/শপ সাব-ফোল্ডারে (site.com/blog) নাকি সাব-ডোমেইনে (blog.site.com) — এখনই ঠিক করুন
“WordPress.com আর WordPress.org তো একই জিনিস”
বাংলাদেশে সবচেয়ে ব্যয়বহুল বিভ্রান্তিগুলোর একটা। নতুন ব্যবহারকারী গুগলে “wordpress” লিখে প্রথম যে সাইটটা পান সেটা WordPress.com — একটা হোস্টেড সার্ভিস। ফ্রি প্ল্যানে সাইন আপ করে yourname.wordpress.com ঠিকানায় সাইট বানিয়ে ফেলেন, তারপর ইউটিউব দেখে Elementor বা WooCommerce ইনস্টল করতে গিয়ে দেখেন — প্লাগিন মেনুটাই নেই।
কারণটা সহজ: WordPress.com-এর ফ্রি বা সস্তা প্ল্যানে থার্ড-পার্টি প্লাগিন ইনস্টল করা যায় না, থিম আপলোড করা যায় না, ডেটাবেস বা ফাইল ম্যানেজারে ঢোকা যায় না। প্লাগিন সাপোর্ট পেতে বিজনেস প্ল্যানে যেতে হয়, যেটার খরচ মাসে ২৫ ডলারের আশপাশে — বছরে ৩০ হাজার টাকার বেশি। ওদিকে WordPress.org-এর সফটওয়্যারটা পুরোপুরি ফ্রি, আর দেশি শেয়ার্ড হোস্টিংয়ে বছরে ২,০০০–৪,০০০ টাকায় সেটা চালানো যায়, প্লাগিন-থিমে কোনো বিধিনিষেধ ছাড়াই।
নিয়ম মনে রাখার সহজ উপায়: হোস্টিং কিনে যে wordpress আপনি নিজে ইনস্টল করেন, সেটাই WordPress.org। ব্যবসার সাইট, বিশেষ করে যেখানে পেমেন্ট গেটওয়ে বা কাস্টম প্লাগিন লাগবে, সেটার জন্য এটাই একমাত্র বাস্তবসম্মত রাস্তা।
“ডোমেইন-হোস্টিং ডেভেলপারের অ্যাকাউন্টেই থাক, আমার এত ঝামেলার দরকার নেই”
এই ভরসাটা যতক্ষণ সম্পর্ক ভালো থাকে ততক্ষণই টেকে। ডোমেইনের রেজিস্ট্রেশন যাঁর ইমেইলে, আইনত ডোমেইনটা তাঁরই — ডেভেলপার যোগাযোগ বন্ধ করে দিলে বা এজেন্সি বন্ধ হয়ে গেলে ক্লায়েন্ট নিজের ব্র্যান্ডের নামটাই ফেরত পান না। বছরে অন্তত কয়েকটা এমন কেস আমাদের কাছে আসে, আর প্রায় সবগুলোতেই সমাধান হয় হয় দীর্ঘ ঝগড়া, নয়তো নতুন ডোমেইন কিনে আবার শূন্য থেকে শুরু।
সঠিক নিয়মটা সহজ: ডোমেইন আর হোস্টিং অ্যাকাউন্ট খুলুন ব্যবসার নিজের ইমেইলে (info@company.com বা মালিকের ব্যক্তিগত ইমেইল), তারপর ডেভেলপারকে সেখানে সাব-ইউজার বা কোলাবরেটর হিসেবে অ্যাক্সেস দিন। কাজ শেষে অ্যাক্সেস তুলে নিলেই হলো। .com.bd ডোমেইন হলে BTCL-এর জন্য ট্রেড লাইসেন্স/জাতীয় পরিচয়পত্রের কাগজ লাগে — সেগুলোও ব্যবসার নামেই জমা দিন, ডেভেলপারের নামে নয়।
হ্যান্ডওভারের সময় যা যা লিখিতভাবে বুঝে নেবেন:
- ডোমেইন রেজিস্ট্রার প্যানেলের লগইন এবং রেজিস্ট্র্যান্ট ইমেইল
- ট্রান্সফারের সময় দরকার হওয়া EPP/Auth কোড (মনে রাখুন, নতুন রেজিস্ট্রেশন বা ট্রান্সফারের পর ৬০ দিন লক থাকে)
- হোস্টিং প্যানেলের (cPanel/DirectAdmin) ইউজারনেম-পাসওয়ার্ড
- wordpress অ্যাডমিন অ্যাকাউন্ট, যেটার রোল Administrator
- কেনা থিম/প্লাগিনের লাইসেন্স কি এবং সেগুলো কোন ইমেইলে কেনা
“বিদেশি হোস্টিং কিনলেই সাইট ফাস্ট হবে”
দূরত্ব আর স্ট্যাক — দুটো আলাদা জিনিস, আর মানুষ প্রায়ই গুলিয়ে ফেলে। আপনার পাঠক যদি ঢাকা-চট্টগ্রামে বসে সাইট খোলেন, আর সার্ভার যদি যুক্তরাষ্ট্রের অ্যারিজোনায় হয়, তাহলে শুধু নেটওয়ার্ক লেটেন্সিতেই TTFB-তে ২৫০–৪০০ মিলিসেকেন্ড যোগ হবে — সার্ভার যত ভালোই হোক। উল্টোদিকে সিঙ্গাপুর বা ঢাকার একটা LiteSpeed সার্ভার, PHP 8.2, OPcache আর ঠিকঠাক ক্যাশিং থাকলে সেই সংখ্যাটা ৮০–১৫০ মিলিসেকেন্ডে নেমে আসে।
কিন্তু “দেশি হোস্টিং মানেই ভালো” — এটাও ঠিক নয়। সস্তা লোকাল প্যাকেজে অনেক সময় একটা সার্ভারে কয়েকশো অ্যাকাউন্ট গাদাগাদি করে বসানো থাকে, PHP worker বা entry process-এর সীমা এত কম যে দুজন একসঙ্গে চেকআউট করলেই 508 এরর আসে। কেনার আগে বিক্রেতাকে সরাসরি জিজ্ঞেস করুন এবং উত্তরটা স্ক্রিনশট করে রাখুন।
কেনার আগে এই পাঁচটা প্রশ্ন: PHP-র কোন ভার্সন পাওয়া যাবে (৮.২ বা তার ওপরে হওয়া চাই)? ওয়েব সার্ভার LiteSpeed না Apache? PHP memory limit কত (২৫৬MB চাই)? SSH বা WP-CLI অ্যাক্সেস আছে কি? আর ব্যাকআপ কতদিনের রাখা হয়, রিস্টোর কি নিজে করা যায়?
আরেকটা বাস্তবতা, যেটা টেকনিক্যাল নয় কিন্তু গুরুত্বপূর্ণ: দেশি হোস্টিং বিকাশ বা নগদে পে করা যায়, বিদেশিটার জন্য ডুয়াল-কারেন্সি কার্ড বা ডলার এনডোর্সমেন্ট লাগে। ছোট ব্যবসার ক্ষেত্রে রিনিউয়ালের সময় কার্ড কাজ না করে সাইট ডাউন হয়ে যাওয়ার ঘটনা কম নয়। কোনটা নেবেন সেটা আপনার পাঠক কোথায় আর বিলটা কে দেবেন — দুটোর ওপরেই নির্ভর করে।
“SSL পরে বসালেও চলবে, আগে সাইটটা বানাই”
SSL ফ্রি (Let’s Encrypt), বসাতে দুই মিনিট লাগে, তবু অনেকে http-তে পুরো সাইট বানিয়ে ফেলেন। সমস্যাটা হয় পরে। ততক্ষণে ডেটাবেসে শত শত জায়গায় http:// ঠিকানা বসে গেছে — ইমেজের src, ইন্টারনাল লিংক, Elementor-এর ব্যাকগ্রাউন্ড ইমেজ, থিম অপশনের সিরিয়ালাইজড অ্যারে। https-এ সুইচ করার পর ব্রাউজার mixed-content ওয়ার্নিং দেখায়, প্যাডলক ভাঙা থাকে, কোনো কোনো ইমেজ লোডই হয় না।
phpMyAdmin খুলে সাধারণ Find & Replace চালালে বিপদ আরও বাড়ে — সিরিয়ালাইজড ডেটায় স্ট্রিংয়ের দৈর্ঘ্য লেখা থাকে, তাই http (৪ অক্ষর) বদলে https (৫ অক্ষর) করলে অ্যারেটাই ভেঙে যায় এবং থিম সেটিংস উধাও হয়। ঠিক কাজটা হলো ইনস্টলের আগেই SSL চালু করা এবং ইনস্টলারে WordPress Address ও Site Address দুটোতেই https দিয়ে শুরু করা। যদি ইতিমধ্যেই ভুল হয়ে থাকে, WP-CLI দিয়ে সিরিয়ালাইজড-সেফভাবে ঠিক করুন — আগে ড্রাই রান, তারপর আসল রান: wp search-replace 'http://example.com' 'https://example.com' --all-tables --precise --dry-run
“ইনস্টল হয়ে গেছে মানে ইমেইলও কাজ করছে”
এই ভুলটা সবচেয়ে নীরবে টাকা নষ্ট করে। wordpress ডিফল্টভাবে PHP-র mail() ফাংশন দিয়ে ইমেইল পাঠায়। বেশিরভাগ শেয়ার্ড হোস্টিং সেটা হয় থ্রটল করে, নয়তো একেবারেই ব্লক করে রাখে। আর যেটুকু যায়, সেটা SPF/DKIM মেলে না বলে Gmail সরাসরি স্প্যামে ফেলে দেয়। ফলাফল: কন্টাক্ট ফর্মের মেসেজ কেউ পায় না, WooCommerce-এর অর্ডার কনফার্মেশন কাস্টমারের কাছে যায় না, পাসওয়ার্ড রিসেট মেইল আসে না — আর কেউ টেরও পায় না, কারণ কোথাও কোনো এরর দেখায় না।
সমাধানটা এক ঘণ্টার: একটা SMTP প্লাগিন (FluentSMTP ফ্রি, WP Mail SMTP-ও চলে) বসান, আর তার পেছনে একটা সত্যিকারের সেন্ডিং সার্ভিস যুক্ত করুন — Brevo-র ফ্রি প্ল্যানে দিনে ৩০০টা মেইল, বা বড় ভলিউমে Amazon SES। ডোমেইনের DNS-এ SPF আর DKIM রেকর্ড বসান। তারপর সবচেয়ে জরুরি ধাপ: একটা আসল টেস্ট অর্ডার দিন বা কন্টাক্ট ফর্ম পূরণ করুন, এবং Gmail, Outlook — দুটোতেই ইনবক্সে পৌঁছাচ্ছে কি না দেখুন।
ইনস্টলের আগে ২০ মিনিটের চেকলিস্ট
- ডোমেইন ব্যবসার নিজের ইমেইলে রেজিস্টার করা হয়েছে
- হোস্টিংয়ে PHP ৮.২+, LiteSpeed/Nginx, ২৫৬MB memory নিশ্চিত করা হয়েছে
- SSL ইস্যু হয়েছে এবং https কাজ করছে — ইনস্টলের আগেই
- www নাকি non-www, সিদ্ধান্ত নেওয়া এবং রিডাইরেক্ট সেট করা
- ডেটাবেস আর ডেটাবেস ইউজার আলাদা করে তৈরি, শক্ত পাসওয়ার্ড সহ
- অ্যাডমিন ইউজারনেম যেন admin না হয়, আর ইমেইলটা যেন ক্লায়েন্টের হাতে থাকে
- ইনস্টলের পরপরই: Permalinks → Post name, Timezone → Dhaka, Discourage search engines বক্সটা আনচেক করা আছে কি না দেখা
- SMTP সেট করে একটা টেস্ট মেইল পাঠানো
প্রথম সাইট বানানোর সময় যে প্রশ্নগুলো ঘুরেফিরে আসে
প্রথম সাইটের জন্য মোট কত টাকা লাগবে? ডোমেইন বছরে ১,২০০–১,৫০০ টাকা (.com), শেয়ার্ড হোস্টিং ২,০০০–৪,০০০ টাকা, SSL ফ্রি, wordpress ফ্রি। অর্থাৎ ৩,৫০০–৫,৫০০ টাকায় একটা সত্যিকারের সাইট শুরু করা যায়। প্রিমিয়াম থিম বা পেজ বিল্ডারের লাইসেন্স নিলে সেটা আলাদা খরচ, কিন্তু শুরুতে বাধ্যতামূলক নয়।
এক-ক্লিক ইনস্টলার (Softaculous) ব্যবহার করা কি খারাপ? না, ইনস্টলারটা ঠিকই কাজ করে। সমস্যা হয় তার ডিফল্ট সেটিংসে — একই সার্ভারে সবার জন্য একই টেবিল প্রিফিক্স, দুর্বল ডেটাবেস ইউজার, আর অপ্রয়োজনীয় প্লাগিন প্রি-ইনস্টল করা। ইনস্টলার চালান, তারপর প্রথম দশ মিনিটে সেটিংসগুলো নিজের হাতে ঠিক করে নিন।
লোকাল কম্পিউটারে (XAMPP/LocalWP) আগে বানিয়ে পরে আপলোড করা ভালো, নাকি সরাসরি লাইভে বানানো? ক্লায়েন্টের সাইট হলে লাইভ সার্ভারেই একটা স্টেজিং সাব-ডোমেইন বানিয়ে কাজ করুন — কারণ লোকাল মেশিনের PHP ভার্সন, মেমরি আর সার্ভার কনফিগ লাইভের সঙ্গে মেলে না, আর মাইগ্রেশনের সময় নতুন সমস্যা তৈরি হয়। শুধু শেখার জন্য হলে লোকাল ইনস্টল একদম ঠিক আছে।
সাইট বানানোর পর ডোমেইন নাম বদলানো যায়? যায়, কিন্তু সেটা কার্যত নতুন সাইট লঞ্চ করার সমান — ডেটাবেসে সার্চ-রিপ্লেস, প্রতিটা ইউআরএলে 301 রিডাইরেক্ট, Search Console-এ Change of Address, ব্যাকলিংকের একটা অংশ হারানো। তাই নামটা নিয়ে ভাবার সময় ইনস্টলের আগে, পরে নয়।
শুরুর এই সিদ্ধান্তগুলো একবার ঠিকঠাক নিলে wordpress সাইট বছরের পর বছর ঝামেলা ছাড়াই চলে। আর যদি মনে হয় নিজের হাতে করতে গিয়ে কোথাও আটকে যাচ্ছেন, স্ট্যাক অ্যালিক্স-এর টিম হোস্টিং বাছাই থেকে শুরু করে ইনস্টল, SSL, SMTP আর হ্যান্ডওভার — পুরো সেটআপটা করে দিতে পারে, আর অ্যাকাউন্টগুলো থাকে আপনারই নামে।

