Hướng dẫn viết robots.txt chuẩn: crawl rules, Sitemap và tránh chặn nhầm asset Next.js
· Tác giả: Trường — Founder Webchốt
Liên quan: Cần website bán hàng tải nhanh? Liên hệ Webchốt — thiết kế web bán hàng.
Sau hơn hai trăm dự án web Next.js đã bàn giao cho SME, studio dịch vụ và hộ kinh doanh tại Webchốt, mình vẫn thấy cùng một lỗi lặp lại: file robots.txt copy từ theme WordPress cũ hoặc template SaaS nước ngoài, kết quả là chặn nhầm thư mục static, làm Google không render đúng CSS và tụt hạng thầm lặng. Một số team staging để Disallow: / quên gỡ sau khi trỏ domain production, traffic organic “mất tích” mấy tuần mới phát hiện qua Search Console. Hướng dẫn viết robots.txt chuẩn ở đây bám theo hành vi bot thật, không chỉ lý thuyết RFC: bạn sẽ nắm User-agent, thứ tự rule Allow/Disallow, chỗ đặt Sitemap, và cách khớp với Next.js 16 (App Router) để Lighthouse 100/100, LCP ~0.8s vẫn được crawl hiểu đúng layout. Cuối bài có checklist 5 bước áp dụng ngay cho site đang chạy Vercel hoặc host tự quản.
Chuẩn hoá robots.txt giúp bot hiểu đúng site, tránh waste crawl budget vào URL rác | Nguồn: webchot.com
Robots txt rules: User-agent, nhóm directive và ý nghĩa thực tế
Chuẩn robots.txt là tệp văn bản đặt tại gốc domain, ví dụ https://webchot.com/robots.txt. Bot tuân thủ (như Googlebot) đọc từng khối bắt đầu bằng User-agent:; mỗi khối áp cho một nhóm bot hoặc dùng * làm mặc định. Các directive phổ biến gồm Disallow chặn path prefix, Allow mở ngoại lệ trong prefix đã chặn (Google hỗ trợ tốt hơn Bing ở một số edge case), và Sitemap chỉ URL XML sitemap tuyệt đối. Điểm dễ nhầm: robots.txt không ẩn URL khỏi chỉ mục nếu bot khác không tuân thủ hoặc URL đã được liên kết công khai — nó chỉ “yêu cầu lịch sự” không crawl.
Với site Next.js render phía server, đừng chặn /_next/static hoặc font subset nếu không có lý do bảo mật; thiếu asset khiến rendering pipeline của Google giống user thấy trang vỡ. Khi triển khai song song dịch vụ web full-stack tại Webchốt, team kỹ thuật luôn đối chiếu robots với nhật ký crawl thực tế sau tuần đầu go-live.
Next.js, crawl budget và mối liên hệ với hiệu năng
Site nhanh không tự động có crawl budget vô hạn: Google vẫn phân bổ tài nguyên theo chất lượng và tần suất cập nhật. Robots.txt giúp loại URL thừa — bộ lọc nội bộ, trang thank-you, preview CMS, kết quả tìm kiếm site — để bot dồn vào URL mang giá trị. Với stack Next.js 16, React 19, Tailwind v4 trên Vercel, bundle tối ưu dưới 100KB và LCP khoảng 0.8s là mục tiêu Webchốt thường cam kết trong brief; robots chỉ là một mảnh trong bức tranh kỹ thuật SEO cùng hreflang, canonical và schema Article.
- Điểm 1: Một dòng
Disallowsai có thể loại hàng nghìn URL prefix con — kiểm tra bằng URL Inspection sau mỗi thay đổi. - Điểm 2: Wildcard
*và$cuối path có hành vi khác nhau giữa Google và các bot khác; ghi chú trong nội bộ. - Điểm 3: File phải UTF-8, không BOM; lỗi encoding đôi khi làm parser bỏ qua nửa file.
- Điểm 4: Kết hợp
X-Robots-TagHTTP header cho file PDF hoặc API trả JSON khi cần chặn index mà không dùng meta tag.
Bảng so sánh chiến lược robots.txt phổ biến
Bảng dưới giúp stakeholder không kỹ thuật chọn hướng trước khi dev commit file; không có “đáp án vạn năng” cho mọi ngành.
| Tiêu chí | Lựa chọn A | Lựa chọn B | Khuyên dùng |
|---|---|---|---|
| Mục tiêu index | Mở toàn phần public | Chặn có chọn lọc thư mục /admin, /preview | B cho site có CMS và staging path |
| Môi trường staging | Chỉ Disallow: / | Basic auth + robots nhẹ | Kết hợp B vì robots không thay cho khóa cửa |
| E-commerce variant | Để bot crawl mọi query string | Chặn facet trùng nội dung | B khi có hàng nghìn URL lọc trùng |
| Blog và tags | Index mọi tag | Disallow tag mỏng, chỉ giữ category | B khi tag sinh thin content |
Nếu bạn đang cân nhắc chi phí tối ưu gói pricing Webchốt, phần rà soát robots và sitemap thường nằm trong hạng mục SEO kỹ thuật của gói Business trở lên; Starter vẫn có checklist tối thiểu trước khi bật index.
Quy trình 5 bước để có robots.txt chuẩn trước khi Go-live
- Bước 1 — Inventory URL: Export danh sách route từ Next.js và CMS, đánh dấu public, authenticated, và duplicate; quyết định prefix cần chặn crawl.
- Bước 2 — Draft file: Viết khối
User-agent: *trước; thêm khối riêng cho Googlebot-Image hoặc AdsBot-Google chỉ khi có lý do đo đạc cụ thể. - Bước 3 — Sitemap: Thêm một hoặc nhiều dòng
Sitemap:trỏ XML hợp lệ; sau deploy mở trực tiếp URL sitemap trên trình duyệt để xác nhận. - Bước 4 — Validate: Dùng Search Console robots testing tool và fetch as Google (URL Inspection) cho vài URL mẫu ở biên prefix.
- Bước 5 — Giám sát: Trong 14 ngày đầu, theo dõi báo cáo Crawl Stats và soft-404; chỉnh rule nếu thấy bot dính vào infinite pattern (calendar, pagination).
Sau khi hoàn tất, lưu bản changelog robots ngắn trong repo để đợt audit sau biết ai đổi rule vì chiến dịch landing tạm thời hay vĩnh viễn.
Dịch vụ rà soát SEO kỹ thuật và robots cùng Webchốt
Khi không chắc internal search, faceted navigation hay UTM có tạo URL rác, bạn có thể ủy quyền audit giai đoạn đầu cho đội làm web quen tay với Core Web Vitals. Tại trang catalog dịch vụ web Webchốt, các gói thường bao gồm đồng bộ robots.txt, sitemap động, canonical đa ngôn ngữ và kiểm tra hreflang nếu brand mở rộng ASEAN. Cam kết thực tế: bảo hành 12 tháng, hoàn 100% trong 7 ngày nếu bàn giao lệch scope đã ký, source code 100% thuộc repo khách hàng.
Stack triển khai: Next.js 16, TypeScript, Tailwind v4, Supabase khi cần dữ liệu, Resend cho transactional mail. Lighthouse 100/100 là KPI hướng tới trên lab; trên thực địa Webchốt vẫn đối chiếu CrUX hoặc dữ liệu RUM nếu khách bật.
Sai lầm phổ biến khi viết robots.txt (kể cả dev có kinh nghiệm)
Những lỗi sau từng xuất hiện trên dự án thật và gây mất thời gian rollback.
- Sai lầm 1 — Nhầm lẫn Disallow với noindex: Chặn crawl không đồng nghĩa xoá URL đã index; cần request removal hoặc trả 404/410 sau khi gỡ liên kết nội bộ.
- Sai lầm 2 — Chặn CSS/JS quan trọng: Google cần resource render; chặn
/_next/hoặc CDN asset có thể làm rich result fail. - Sai lầm 3 — File robots quá dài và trùng lặp: Parser có giới hạn kích thước; nhiều dòng wildcard lặp khó debug.
- Sai lầm 4 — Quên môi trường đa domain: Preview deployment trên subdomain Vercel vẫn có thể bị index nếu không có header noindex — robots.txt một mình không đủ.
FAQ — hướng dẫn viết robots.txt chuẩn
robots.txt có bắt buộc để được Google index không?
Không. Trang có thể được index mà không cần file; robots.txt chỉ đưa gợi ý cho bot tuân thủ. Nếu muốn chắc chắn một URL không xuất hiện SERP, dùng noindex hoặc xác thực quyền trong Search Console. Trên site Next.js, meta robots có thể set qua Metadata API để khớp từng route.
Chặn toàn site bằng Disallow: / có đủ an toàn cho staging?
Không đủ một mình; scraper không nhất thiết tuân thủ. Best practice là basic auth hoặc allowlist IP, robots chỉ là lớp bổ sung. Nhiều team quên đổi file khi prod go-live và mất crawl — checklist deploy nên có mục “verify robots khác staging”.
Trong Next.js App Router nên dùng robots.ts hay static?
robots.ts linh hoạt khi biến môi trường đổi host; public/robots.txt đơn giản cho site tĩnh. Dù chọn cách nào, phải đảm bảo response 200, không redirect chuỗi, và cache header hợp lý khi file hiếm khi đổi.
Có nên disallow toàn bộ /api/?
Hầu hết endpoint JSON không cần index; disallow giúp bot khỏi lãng phí request. Nếu có public API documentation HTML, tách path riêng hoặc Allow cụ thể.
Sitemap: một hay nhiều file?
Nhiều file được khuyến khích khi số URL lớn hoặc tách theo loại nội dung; khai báo hết trong robots.txt. Sau khi đổi slug hàng loạt, cập nhật sitemap và theo dõi coverage error trong vài tuần.
Liên Hệ Webchốt
Cách nhanh nhất để biết hướng dẫn viết robots.txt chuẩn trong bài có khớp cấu trúc URL và CMS thực tế của bạn hay không là nhận demo concept trong 48h từ Webchốt — anh Trường và team đối chiếu Search Console snapshot, chỉ ra prefix nên chặn và chỗ để bot vào đầy đủ. Nếu bản giao chưa đúng cam kết đã ký trong tuần đầu, bạn được hoàn 100% và giữ source trên repo GitHub riêng. Remote 100% vẫn bắt đầu được; studio tại TP.HCM mở T2–T7, 9h–18h. Gửi brief qua hotline/Zalo hoặc form để chốt khung audit kỹ thuật: trang liên hệ Webchốt.
- Hotline / Zalo: 0905 151 701 — gặp anh Trường (founder/dev).
- Chat Zalo: zalo.me/0905151701 — phản hồi nhanh.
- Email: hi@webchot.com — phản hồi <12h làm việc.
- Studio: 262/1/93 Phan Anh, Phường Phú Thạnh, TP.HCM (T2–T7, 9h–18h).
Tham khảo thêm: 17 template Next.js · 10 dịch vụ web chuyên sâu · bảng giá Webchốt 2026 · 12 công cụ kế toán/tài chính miễn phí.
Reference: Next.js robots metadata · Google crawlers và robots.txt.