𝟯 𝗣𝗼𝘀𝘁-𝗗𝗲𝗽𝗹𝗼𝘆 𝗖𝗵𝗲𝗰𝗸𝘀 𝗜 𝗥𝘂𝗻 𝗔𝗳𝘁𝗲𝗿 𝗘𝘃𝗲𝗿𝘆 𝗖𝗹𝗼𝘂𝗱𝗳𝗹𝗮𝗿𝗲 𝗣𝗮𝗴𝗲𝘀 𝗕𝘂𝗶𝗹𝗱

আমি প্রোডাকশন এরর (production errors) ডিবাগ করতে দুই সপ্তাহ ব্যয় করেছি।

একটি এরর ছিল সাইটম্যাপ রুল (sitemap rule) যা আমার সাইটম্যাপ ইনডেক্সকে ব্লক করে দিচ্ছিল। অন্যটি ছিল ইমেজ আপলোড রেস কন্ডিশন (image upload race condition)। এই সমস্যাগুলো শুধুমাত্র ডিপ্লয়মেন্টের পরেই দেখা দিয়েছিল।

এখন আমি প্রতিটি Cloudflare Pages বিল্ডের পরে তিনটি নির্দিষ্ট চেক করি। আমি কোনো পূর্ণাঙ্গ টেস্ট স্যুট (full test suite) ব্যবহার করি না। প্রকৃত ব্যর্থতাগুলো ধরার জন্য আমি এই দ্রুত চেকগুলো ব্যবহার করি।

আমি Astro 5 SSG ব্যবহার করা তিনটি সাইটে এগুলো চালাই: aiappdex.com, findindiegame.com, এবং ossfind.com।

𝟭. 𝗦𝗶𝘁𝗲𝗺𝗮𝗽 𝗩𝗲𝗿𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻

আমি চেক করি যে sitemap-index.xml সব ডোমেইনে 200 স্ট্যাটাস কোড রিটার্ন করছে কি না। এটি যাচাই করতে আমি curl ব্যবহার করি। আমি রিডাইরেক্ট (redirects) অনুসরণ করি না।

এটি আমার করা একটি আগের ভুল ধরে ফেলেছিল। আমার একটি রুল ছিল যা আমার সাইটম্যাপ ইনডেক্সকে একটি সাব-সাইটম্যাপে রিডাইরেক্ট করছিল। ব্রাউজারে এটি ঠিক দেখাতো, কিন্তু এটি সার্চ ক্রলারগুলোকে (search crawlers) ব্লক করে দিচ্ছিল।

আমি sitemap-0.xml-ও চেক করি। আমি নিশ্চিত করি যে URL-এর সংখ্যা একটি ন্যূনতম থ্রেশহোল্ড (minimum threshold) পূরণ করছে কি না। যদি সংখ্যা কমে যায়, তবে সম্ভবত আমার ডেটা পাইপলাইন ব্যর্থ হয়েছে।

𝟮. 𝗜𝗻𝗱𝗲𝘅𝗡𝗼𝘄 𝗦𝘂𝗯𝗺𝗶𝘀𝘀𝗶𝗼𝗻

সাইটম্যাপ চেকের পরে, আমি একটি node স্ক্রিপ্ট চালাই। এই স্ক্রিপ্টটি লাইভ সাইটম্যাপটি পড়ে এবং URL গুলো IndexNow এন্ডপয়েন্টে (endpoint) পাঠিয়ে দেয়। এটি Bing, Yandex, Naver, এবং Seznam-কে নোটিফাই করে।

যদি IndexNow একটি 403 এরর রিটার্ন করে, তবে বুঝতে হবে আমার কী ভেরিফিকেশন ফাইলটি (key verification file) নেই অথবা কোনো রিডাইরেক্ট পাথটি নষ্ট করে দিচ্ছে। এটি সাথে সাথে শনাক্ত করা ইনডেক্সিং বিলম্ব রোধ করে।

ডিপ্লয়মেন্ট সফল হওয়ার পরে আমি এটি ম্যানুয়ালি চালাই। এটি নিশ্চিত করে যে আমি সেই URL গুলো সাবমিট করছি যা আসলে CDN-এ লাইভ আছে।

𝟯. 𝗟𝗶𝗴𝗵𝘁𝗵𝗼𝘂𝘀𝗲 𝗧𝗿𝗲𝗻𝗱 𝗠𝗼𝗻𝗶𝘁𝗼𝗿𝗶𝗻𝗴

আমি প্রতি সোমবার একটি cron job-এর মাধ্যমে এটি চালাই। প্রতিটি ডিপ্লয়মেন্টের পরে এটি চালানো অনেক ধীরগতির।

আমি পারফরম্যান্স (performance), লেআউট শিফট (layout shifts) এবং অ্যাক্সেসিবিলিটি (accessibility) চেক করি। আমি আমার Astro SSG সাইটগুলোতে রিগ্রেশন (regressions) খুঁজি। যদি স্কোর কমে যায়, তবে আমি আমার Tailwind কনফিগারেশন বা কম্পোনেন্ট পরিবর্তনগুলো পরীক্ষা করি।

আমি বিল্ড ব্লক করার জন্য এই স্কোরগুলো ব্যবহার করি না। আমি এগুলো ট্রেন্ড ট্র্যাক করার জন্য ব্যবহার করি।

এই তিনটি চেক আমার প্রকৃত ব্যর্থতার জায়গাগুলোকে কভার করে। আমি আপটাইম মনিটরিং (uptime monitoring) বা এন্ড-টু-এন্ড টেস্ট (end-to-end tests) ব্যবহার করি না। একটি CDN-এ থাকা স্ট্যাটিক সাইটের জন্য, এই নির্দিষ্ট চেকগুলো সবচেয়ে বেশি ভ্যালু প্রদান করে।

উৎস: https://dev.to/morinaga/three-post-deploy-checks-i-run-after-every-cloudflare-pages-build-2eg1