Một trang public bị đen, trống hoặc loading vô hạn không chỉ là lỗi giao diện. Đó là lỗi niềm tin. Người đọc không quan tâm phía sau là lỗi API, cache, routing, D1, CDN hay deploy nhầm project. Với họ, website chỉ đơn giản là không giữ được lời hứa cơ bản: mở ra một trang có thể đọc được.
Vì vậy, DSTS cần một nguyên tắc cứng: không trang public nào được phép kẹt trong trạng thái “Đang tải...” mãi mãi. Mỗi bề mặt phải có ít nhất một trong bốn kết quả rõ ràng: render nội dung thật, render fallback tĩnh, render trạng thái pending có giải thích, hoặc trả 404 đúng nghĩa nếu nội dung không tồn tại.
Fallback không phải nội dung phụ
Trong một hệ thống public, fallback là một phần của sản phẩm. Nếu API lỗi, D1 chưa có dữ liệu hoặc dynamic content chưa sẵn, người dùng vẫn phải đọc được nội dung căn bản. Fallback không nên là vài dòng qua loa. Nó phải đủ hoàn chỉnh để bảo vệ trải nghiệm, SEO và niềm tin trong những lúc hệ thống động gặp sự cố.
Với DSTS, fallback còn có vai trò editorial: nó giữ những bài viết nền, nguyên tắc công bố, thông tin chương trình và trạng thái route ở một mức có thể kiểm chứng. Khi dữ liệu động hoạt động, hệ thống có thể mở rộng. Khi dữ liệu động lỗi, nền tảng vẫn không sụp đổ trước mắt người dùng.
Route phải nói thật trạng thái của mình
Không phải route nào cũng nên index. Một số route đã đủ nội dung thì có thể index, như Movement Events, Sponsors Readiness Hub, Diaspora Map hoặc Tour Roadmap. Một số route chưa đủ quyết định thì nên noindex, như Gala 2026 khi A7 còn Founder TBD. Điều quan trọng là route phải nói thật: đang live, đang read-only, đang pending hay không tồn tại.
Nếu một route chưa đủ điều kiện, cách đúng không phải là để 404 vô nghĩa hoặc chuyển người dùng vào trang loading. Cách đúng là đưa ra trạng thái rõ: vì sao chưa mở, cần điều kiện gì, người đọc nên đi đâu tiếp theo và phần nào không được hiểu là đã hoạt động.
Smoke test là hợp đồng tối thiểu
Smoke test không thay thế QA sâu, nhưng là hợp đồng tối thiểu trước khi gọi một bản deploy là an toàn. Test phải kiểm route chính trả 200, content marker xuất hiện, 404 thật trả 404, content missing trả 404, sitemap/RSS/robots hoạt động và các route noindex không bị đưa vào sitemap.
Quan trọng hơn, smoke test phải chạy trên production, không chỉ local. Một site có thể đúng ở local nhưng sai trên custom domain vì cache, redirect hoặc project Cloudflare nhầm. DSTS đã gặp những lỗi này, nên quy trình phải giữ bằng chứng kiểm tra sau mỗi lần deploy.
Không trang đen là tiêu chuẩn thấp nhất nhưng không thể thương lượng. Khi một dự án muốn nói về phát triển con người, sự tử tế và minh bạch, nó phải bắt đầu bằng việc không bỏ người đọc đứng trước một màn hình rỗng.