Blog · 2026-08-30
আপনার সাইট হয়তো এই মুহূর্তেই crawl budget পুড়িয়ে ফেলছে: soft 404 আর Cloudflare Pages-এর SPA fallback ফাঁদ
ভুল URL-এ সবসময় 200 আর গোটা একটা হোমপেজ ফেরত দেওয়া মানে "অন্তত কিছু একটা তো আছে" নয়, মানে হলো ক্রলার তার বরাদ্দ আবর্জনা URL-এর পেছনে খরচ করছে; একটা 404.html দিয়েই এটা সারানো যায়, আর সারানোর পর এমন একগুচ্ছ সমস্যা চোখে পড়ে যেগুলো এতদিন অদৃশ্য ছিল।
নতুন সাইটের ইনডেক্স কিছুতেই বাড়ছে না, আপনি ভাবছেন কনটেন্ট যথেষ্ট ভালো নয়। আসলে আরেকটা সম্ভাবনা আছে: যেসব URL অস্তিত্বেই নেই, নষ্ট হয়ে যাওয়া পুরনো বাইরের লিঙ্ক, বানান ভুল ইন্টারনাল লিঙ্ক, স্ক্যানারের এলোমেলো চেষ্টা করা পাথ, আপনার সাইট সেগুলোর সবকটাতে 200 ফেরত দিচ্ছে, সঙ্গে গোটা একটা হোমপেজ উপহার দিচ্ছে। ক্রলার রোজ আসে, বরাদ্দের পুরোটা এই আবর্জনা অনুরোধেই খরচ হয়ে যায়, আর যে পাতাগুলো সত্যিই ক্রল হওয়ার কথা সেগুলো সারিতেই জায়গা পায় না।
উপসর্গ: অস্তিত্বহীন একটা পাথে curl করে দেখুন কী ফেরত আসে
আমাদের হাতে থাকা 60-এর বেশি পাতার একটা কনটেন্ট সাইট দীর্ঘদিন ধরে ক্রলের ঘাটতিতে ভুগছিল। হেলথ চেকের সময় নিশ্চিতভাবে অস্তিত্বহীন কয়েকটা পাথে curl করলাম: /random-xyz, /rss.xml, /llms.txt, সবগুলোই HTTP 200 ফেরত দিল, body-তে পুরো হোমপেজের HTML, 87KB, canonical দেখাচ্ছে /-এ।
এটাই soft 404: URL নেই, অথচ সার্ভার বলছে "আছে"। এর দুটো কূট বৈশিষ্ট্য আছে:
- মনিটরিং পুরো সবুজ। uptime চেক আর ক্লিক টেস্ট সবই 200 পায়, কখনও অ্যালার্ট বাজে না।
- আপনি নিজেও ঠকে যাবেন। সাইটে
llms.txtআছে কি না দেখতে গিয়ে curl-এ 200 পেয়ে ধরে নেবেন আছে, অথচ হাতে যা এলো তা হোমপেজ। আমরা সত্যিই একবার এভাবে ঠকেছি।
কারণটা খুব সরল: Cloudflare Pages-এর বিল্ড আউটপুটের রুট ডিরেক্টরিতে 404.html না থাকলে সেটা নিজে থেকেই single-page application মোডে ফিরে যায়, আর যেসব পাথ মেলে না সেগুলোর সবকটাতে index.html সহ 200 ফেরত দেয়। সত্যিকারের SPA-র জন্য এটা একটা ফিচার; বহু পাতার স্ট্যাটিক সাইটের জন্য এটা বিপর্যয়, আর এটা নিঃশব্দ ডিফল্ট আচরণ।
এটা কেন crawl budget পোড়ায়
"হোমপেজের canonical তো /-এ দেখাচ্ছে, ভুল URL ডুপ্লিকেট কনটেন্ট হিসেবে ইনডেক্স হবে না, তাহলে সমস্যা কোথায়?"
ইনডেক্স হওয়াটা সত্যিই আটকায়, ক্রল হওয়াটা আটকায় না। canonical লেখা থাকে HTML-এর ভেতরে, আর সেটা পড়তে হলে Googlebot-কে আগে গোটা 87KB হোমপেজ ডাউনলোড করতে হয়; প্রতিটা ভুল URL মানে একটা করে পূর্ণ ডাউনলোড। আর ভুল URL-এর উৎস ভাবনার চেয়ে অনেক বেশি: অন্যের ভুল লেখা বাইরের লিঙ্ক, রিডিজাইনের পর পড়ে থাকা পুরনো পাথ, স্ক্যানার যেসব জায়গায় নিয়ম করে পা দেয় যেমন /feed, /.env ইত্যাদি।
আরও খারাপ হলো, 200 ফেরত দেওয়া মানে সার্চ ইঞ্জিনকে বলা "এই URL বেঁচে আছে", ফলে সেটা শিডিউলে থেকে যায় আর বারবার আবার ক্রল হয়; অন্যদিকে সত্যিকারের 404-এর ক্রল ফ্রিকোয়েন্সি ধাপে ধাপে কমিয়ে আনা হয়। Google-এর crawl budget ব্যবস্থাপনার গাইডেও soft 404-কে ক্রলিং সম্পদ অপচয়ের কারণ হিসেবে নাম ধরে উল্লেখ করা আছে। বড় সাইটের জন্য এটা নয়েজ; আর যে সাইটের ক্রলের পরিমাণ এমনিতেই কম, তার জন্য এটা জীবনরক্ষাকারী বরাদ্দটা নর্দমায় ঢেলে দেওয়া।
সমাধান: একটা 404.html রাখুন, প্ল্যাটফর্ম SPA মোড থেকে বেরিয়ে আসবে
সমাধানটা অসম রকম সস্তা: বিল্ড আউটপুটের রুট ডিরেক্টরিতে একটা সত্যিকারের 404.html রাখুন, Cloudflare Pages সেটা দেখলেই স্ট্যাটিক সাইট মোডে ফিরে যায়, আর না মেলা পাথগুলো আবার আসল HTTP 404 ফেরত দিতে শুরু করে।
আমরা 404 পাতাটা হাতে লেখা অনাথ ফাইল না বানিয়ে জেনারেটরের ভেতরেই ঢুকিয়েছি: সাইটের একই CSS আর নেভিগেশন ব্যবহার করে মূল পাতাগুলোর লিঙ্ক বসিয়েছি, যাতে ভুল করে ঢুকে পড়া সত্যিকারের মানুষটার এগোনোর পথ থাকে।
বাস্তব ফলাফল:
- ভুল URL: 200 / 87KB → 404 / 34KB
- সাইটের 67টা আসল পাতা সবগুলোই 200-তে অটুট, একটাও ক্ষতিগ্রস্ত হয়নি
- Googlebot-এর UA দিয়ে আরেক রাউন্ড চালিয়ে দেখা গেল, একই 404 আসছে
যাচাই তিন দিক থেকে করতে হবে: ভুল URL 404 হয়েছে কি না, ভালো URL-গুলো সঙ্গে নষ্ট হয়ে যায়নি তো, আর ক্রলারের পরিচয়ে যা দেখা যায় তা আপনার দেখার সঙ্গে মেলে কি না। শুধু প্রথমটা যাচাই করে কাজ শেষ ধরা মানে জুয়া খেলা।
সারানোর পরের দিনই ডেড লিঙ্কগুলো সামনে এলো
soft 404 সারানোর পরের দিনই আমাদের নিজের লোক নেভিগেশন বারে ক্লিক করে 404-এ গিয়ে ঠেকল। খুঁজে দেখা গেল হোমপেজের নেভিগেশন বারে অনেকদিনের দুটো ডেড লিঙ্ক ছিল: একটা এমন পাতার দিকে যেটা কখনও বানানোই হয়নি; আরেকটায় একটা বাড়তি ডিরেক্টরি স্তর ঢুকে গেছে, সঠিক পাথ /how-to-pick/ অথচ লিঙ্কে লেখা /guide/how-to-pick/।
কেউ কখনও ধরতে পারেনি কেন? কারণ soft 404-এর যুগে ক্লিক করলে 200 আর হোমপেজ আসত, দেখে মনে হতো "একটু অদ্ভুত কিন্তু চলছে তো"। 404 ঠিক হওয়ার পর এই লিঙ্কগুলো প্রথমবারের মতো সত্যিকারের 404 চেহারায় মানুষের চোখের সামনে এলো। মূল কারণটাও খুব চেনা: হোমপেজ হাতে রক্ষণাবেক্ষণ হয়, ভেতরের পাতার নেভিগেশন জেনারেটর বানায়, আর দুই দিক আলাদা আলাদা বিবর্তিত হতে হতে বেসুরো হয়ে গেছে।
তাই 404 সারানোকে মামলার নিষ্পত্তি ভাববেন না, এটা পুরনো সমস্যাগুলো সামনে আসার শুরু। পরের কয়েকদিনে এমন একগুচ্ছ খারাপ লিঙ্ক উঠে আসবে বলেই ধরে নিন যেগুলো এতদিন অদৃশ্য ছিল।
চেকটাকে ডিপ্লয় গেট বানান, আর আগে প্রমাণ করুন যে সেটা সত্যিই আটকায়
মানুষের চোখে যা ধরা পড়ে না, সেটা মানুষের চোখের ভরসায় রাখাই উচিত নয়। আমরা ডিপ্লয় প্রবাহে একটা ডেড লিঙ্ক গেট যোগ করেছি: বিল্ড আউটপুটের প্রতিটা সাইট-অভ্যন্তরীণ href স্ক্যান করা হয়, আর সেটা যদি কোনো আসল ফাইলে না পৌঁছায় এবং কোনো রিডাইরেক্ট নিয়মও তাকে না ধরে, তাহলে সেই ডিপ্লয় সরাসরি আটকে দেওয়া হয়।
আসল কথাটা হলো নেগেটিভ টেস্ট: ইচ্ছে করে জানা একটা ডেড লিঙ্ক আবার ঢুকিয়ে দিন, আর নিশ্চিত হোন গেটটা সত্যিই আটকায়। যে গেটকে কখনও কিছু আটকাতে দেখেননি, সেটা নিছক মন শান্ত রাখার সাজসজ্জা।
একই রাউন্ডের পূর্ণ সাইট স্ক্যানে আরেকটা খালি চোখে অদৃশ্য সমস্যা ধরা পড়ল: 27টা পাতার শিরোনাম 30টা ফুল-উইডথ অক্ষর ছাড়িয়ে গেছে (হোমপেজের 33.5 অক্ষর সহ), অথচ ঐতিহ্যবাহী চীনা ভাষার সার্চ ফলাফলের পাতা মোটামুটি 28 থেকে 30 অক্ষরেই কেটে দেয়, ফলে তার পরের অংশটুকু লেখাই বৃথা। পাতা ধরে ধরে 30 অক্ষরের ভেতরে চেপে আনা হলো, ব্র্যান্ড আর মূল কিওয়ার্ড বাক্যটা রেখে শুধু শেষের বাড়তি কথা ছেঁটে, আর তাতেই সীমা ছাড়ানোর সংখ্যা শূন্যে নামল।
শেষ কথা
soft 404-এর কঠিন দিকটা সারানোয় নয়, একটা 404.html দিয়েই তো মিটে যায়; কঠিন দিকটা হলো পুরো সময়টা এর কোনো উপসর্গই থাকে না: মনিটরিংয়ে সবুজ বাতি, ক্লিক করলে পাতা আসে, এমনকি চেক করার কমান্ডটাও ঠকে যায়। আপনার সাইট যদি Cloudflare Pages-এ থাকে বা SPA fallback আছে এমন যেকোনো প্ল্যাটফর্মে থাকে, এখনই অস্তিত্বহীন একটা পাথে curl করে দেখুন কী ফেরত আসে; 200 এলে বুঝবেন ইনডেক্স না নড়ার একটা কারণ আপনি পেয়ে গেছেন। সারানোর পর ডেড লিঙ্ক স্ক্যানটা ডিপ্লয় গেটে বসাতে ভুলবেন না, আর নেগেটিভ টেস্ট দিয়ে প্রমাণ করুন যে সেটা কাজ করে। এই ধরনের "দেখে তো নষ্ট মনে হয় না বলে কেউ সারায় না" সমস্যা আমরা অনেক সামলেছি; নিজের সাইটে আর কী কী লুকিয়ে আছে জানতে চাইলে আমাদের সঙ্গে কথা বলতে পারেন।
এই ধরনের টেকনিক্যাল ঋণ আমরা সার্ভিস বানিয়ে ফেলেছি
soft 404-এর মতো সমস্যা ওয়েবসাইট বন্ধ করে দেয় না, শুধু নিঃশব্দে আপনার crawl budget পুড়িয়ে শেষ করে দেয়, আর একদিন আবিষ্কার করেন নতুন পাতা কিছুতেই ইনডেক্স হচ্ছে না।
- সাইট আর্কিটেকচার আর টেকনিক্যাল SEO: স্ট্যাটাস কোড, canonical, sitemap, robots একসঙ্গে মিলিয়ে দেওয়া
- ইনডেক্স মনিটরিং: পাতা ধরে ধরে ইনডেক্স অবস্থা যাচাই, ক্রল হয়েছে কিন্তু ইনডেক্স হয়নি এমন পাতা খুঁজে বের করা
- কনটেন্ট উৎপাদন: crawl budget এমন পাতায় খরচ করা যেখানে সত্যিই কনটেন্ট আছে
| প্ল্যান | ফি | কী কী থাকছে |
|---|---|---|
| সেটআপ | $900 USDT | সাইট আর্কিটেকচার, টেকনিক্যাল SEO, প্রাথমিক কনটেন্ট |
| মাসিক রক্ষণাবেক্ষণ | $400 USDT / মাস | কনটেন্ট উৎপাদন, ইন্টারনাল লিঙ্ক রক্ষণাবেক্ষণ, ইনডেক্স মনিটরিং |
স্পেসিফিকেশন আছে iGaming SEO সাইট বিল্ড সার্ভিস পাতায়।
এই ধরনের সমস্যা আমরা প্রতিদিন সমাধান করি
আপনার পরিস্থিতি জানান, আমরা সরাসরি বলব এটা সম্ভব কিনা এবং আনুমানিক খরচ কত।
Telegram-এ আলাপ করুন