Google Search Console প্রায়শই Next.js সাইটগুলোতে soft 404 error চিহ্নিত করে, যা crawl budget নষ্ট করতে পারে।
আসলে soft 404 কী
একটি প্রকৃত 404 রেসপন্স HTTP 404 status code পাঠায়, যা ব্রাউজার এবং বটগুলোকে জানায় যে অনুরোধ করা রিসোর্সটি নেই। এর বিপরীতে, একটি soft 404 খুব সামান্য বা কোনো কন্টেন্ট ছাড়াই 200 OK status রিটার্ন করে। সার্চ ইঞ্জিনগুলো 200 status-কে একটি সুস্থ পেজ হিসেবে গণ্য করে, অথচ পেজটি কোনো ভ্যালু প্রদান করে না। এর ফলে crawl cycles নষ্ট হয় এবং Google-এর কাছে একটি সংকেত যায় যে সাইটের কন্টেন্টের মান নিম্নমানের।
কেন Next.js এই ফাঁদে পড়ে
Next.js-এর dynamic routing আপনাকে প্রতিটি URL হার্ড-কোড না করেই /products/[slug] এর মতো পেজ সার্ভ করতে দেয়। যখন ডেটাবেস থেকে কোনো প্রোডাক্ট হারিয়ে যায়, কম্পোনেন্টটি তবুও রেন্ডার হয়, এবং যদি কোডটি মিসিং ডেটা চেক না করে, তবে Next.js ডিফল্টভাবে 200 OK রেসপন্স দেয়। একই ঘটনা ঘটে যখন কোনো ইউজার ভুল URL টাইপ করে অথবা রিডিজাইনের পর পুরনো রুটগুলো থেকে যায়। পেজটি লোড হয়, কিন্তু কোনো অর্থপূর্ণ কন্টেন্ট প্রদান করে না, যা Search Console-এ soft-404 ফ্ল্যাগ ট্রিগার করে।
সাইট মালিকদের জন্য এর ঝুঁকি
- Crawl budget অপচয় – বটগুলো প্রতিটি সাইটের জন্য একটি নির্দিষ্ট সংখ্যক রিকোয়েস্ট বরাদ্দ করে। Soft 404s সেই কোটা খেয়ে ফেলে, ফলে আসল পেজগুলো ইনডেক্স হওয়ার সুযোগ কমে যায়।
- SEO penalty – বারবার soft 404 হওয়া সার্চ ইঞ্জিনগুলোকে জানায় যে সাইটটির মান নিম্নমানের।
- User experience-এ প্রভাব – ভিজিটররা যখন একটি খালি পেজে পৌঁছান, তারা সাথে সাথে সাইট থেকে বেরিয়ে যান (bounce), যা bounce rate বাড়িয়ে দেয় এবং conversion কমিয়ে দেয়।
কীভাবে একটি soft 404-কে সঠিক 404-এ রূপান্তর করবেন
1. বিল্ট-ইন notFound হেল্পার ব্যবহার করুন
- App Router –
next/navigationথেকেnotFoundইমপোর্ট করুন। ডেটা ফেচ করার পর, যদি রেজাল্ট না পাওয়া যায় তবেnotFound()কল করুন। এরপর Next.js একটি প্রকৃত 404 status পাঠাবে। - Pages Router – ডেটা ফেচ করতে ব্যর্থ হলে
getStaticPropsবাgetServerSidePropsথেকে{ notFound: true }রিটার্ন করুন। পুরনো রাউটিং API-এর ক্ষেত্রে এটি একই কাজ করে।
2. একটি কাস্টম 404 পেজ ডেপ্লয় করুন
ডিফল্ট এরর পেজ ইউজারদের বিভ্রান্ত করে ফেলে। নেভিগেশন লিঙ্ক, একটি সার্চ বক্স বা সম্পর্কিত কন্টেন্টের সাজেশনসহ app/not-found.js (App Router) অথবা pages/404.js (Pages Router) তৈরি করুন। একটি সুন্দরভাবে ডিজাইন করা 404 পেজ ভিজিটরদের সরাসরি সাইট থেকে বেরিয়ে যাওয়ার পরিবর্তে সাইটের ভেতরেই ধরে রাখতে সাহায্য করে।
3. orphaned রুটগুলো পরিষ্কার করুন
যেসব স্ট্যাটিক পেজ আর প্রয়োজন নেই সেগুলো ডিলিট করে দিন। যদি কোনো ফাইল থেকে যায় কিন্তু তার কন্টেন্ট খালি থাকে, তবে একটি notFound রেসপন্স যোগ করুন অথবা ফাইলটি পুরোপুরি সরিয়ে ফেলুন। pages বা app ডিরেক্টরি নিয়মিত অডিট করলে ডেড URL ছড়িয়ে পড়া রোধ করা যায়।
4. সরানো কন্টেন্টের জন্য পার্মানেন্ট (301) রিডাইরেক্ট সেট আপ করুন
যখন কোনো পেজের URL পরিবর্তিত হয়, তখন একটি 301 redirect ব্রাউজার এবং বটগুলোকে জানায় যে রিসোর্সটি স্থায়ীভাবে সরানো হয়েছে। next.config.js-এ redirects কী-এর অধীনে রিডাইরেক্ট যোগ করুন। এটি পুরনো URL থেকে কোনো কন্টেন্ট ছাড়াই 200 রিটার্ন হওয়া রোধ করে।
5. Search Console অ্যালার্ট মনিটর করুন এবং ব্যবস্থা নিন
soft 404 শনাক্ত করতে প্রায়ই Google Search Console চেক করুন। নতুন এররগুলো জমা হওয়ার আগেই তা খুঁজে পেতে একটি অটোমেটেড ক্রলার ব্যবহার করুন। প্রতিটি অ্যালার্টকে ডেটা-ফেচ লজিক যাচাই করার একটি সংকেত হিসেবে বিবেচনা করুন।
মূল কথা
যে পেজ কোনো কন্টেন্ট ছাড়াই 200 OK রিটার্ন করে, তা নিঃশব্দে SEO ভ্যালু কমিয়ে দেয়। Next.js-এ dynamic routes এবং আনচেকড ডেটা ফেচিংয়ের কারণে soft 404 হওয়া সাধারণ বিষয়, তবে আপনি এগুলো দূর করতে পারেন। notFound ব্যবহার করুন, একটি সহায়ক কাস্টম 404 তৈরি করুন, orphaned রুটগুলো সরিয়ে ফেলুন, 301 রিডাইরেক্ট কনফিগার করুন এবং crawl budget রক্ষা করতে, র্যাঙ্কিং বজায় রাখতে এবং ভিজিটরদের সাইটে ধরে রাখতে Search Console-এ সতর্ক থাকুন।
