Cloudflare Pages-এর জন্য ৩টি পোস্ট-ডিপ্লয় চেক

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

আমি পূর্ণাঙ্গ এন্ড-টু-এন্ড টেস্ট স্যুট (end-to-end test suites) ব্যবহার করি না। পরিবর্তে, আমি প্রতিটি Cloudflare Pages বিল্ডের পরে তিনটি নির্দিষ্ট চেক চালাই। এই চেকগুলো মূলত আমার Astro 5 SSG সাইটগুলোতে যেসব নির্দিষ্ট সমস্যা বা ফেইলিওর হয়, সেগুলোকে লক্ষ্য করে তৈরি।

আমার কাজের ধারা (workflow) নিচে দেওয়া হলো:

১. Sitemap Verification

আমি চেক করি যে আমার সব ডোমেইনে sitemap-index.xml একটি 200 স্ট্যাটাস কোড রিটার্ন করছে কি না। আমি sitemap-0.xml-ও চেক করি যাতে নিশ্চিত হওয়া যায় যে এতে ন্যূনতম সংখ্যক URL রয়েছে।

আমার একটি সাইটের ক্ষেত্রে, যদি URL-এর সংখ্যা ১,০০০-এর নিচে নেমে যায়, তবে আমি বুঝতে পারি যে আমার ডেটা পাইপলাইন (data pipeline) ব্যর্থ হয়েছে। আমি _redirects রুলগুলোতে ভুল ধরার জন্য রিডাইরেক্ট অনুসরণ না করে (without redirect following) curl ব্যবহার করি। একটি ভুল রুল ব্রাউজারে ঠিক মনে হতে পারে, কিন্তু তা সার্চ ইঞ্জিন ক্রলারগুলোকে (search engine crawlers) ব্লক করে দিতে পারে।

২. IndexNow Submission

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

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

৩. Lighthouse Trend Monitoring

আমি প্রতি সোমবার একটি শিডিউল করা Lighthouse চেক চালাই। আমি প্রতিটি সাইটের হোমপেজ এবং একটি ডিপ পেজ (deep page) চেক করি।

আমি তিনটি বিষয় লক্ষ্য করি:

  • ৮০-এর নিচে Performance score
  • ০.১-এর বেশি Cumulative Layout Shift
  • Accessibility regression

আমি ডিপ্লয়মেন্ট ব্লক করার জন্য এই স্কোরগুলো ব্যবহার করি না। আমি এগুলো ব্যবহার করি ট্রেন্ড (trends) মনিটর করার জন্য। যদি স্কোর কমে যায়, তবে আমি আমার Tailwind config বা লেআউট কম্পোনেন্টগুলো চেক করি।

কেন এই তিনটি?

আমি আপটাইম (uptime) মনিটর করি না কারণ আমি Cloudflare-এর ওপর ভরসা করি। আমি API অ্যাভেইল্যাবিলিটি (availability) টেস্ট করি না কারণ আমার সাইটগুলো স্ট্যাটিক (static)। এই তিনটি চেক মূলত আমার নির্দিষ্ট সেটআপটি যেভাবে ব্যর্থ হতে পারে, সেই বিষয়গুলো কভার করে।

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