Crawl Delay
Thời gian chờ giữa hai lần yêu cầu liên tiếp của Googlebot tới cùng một máy chủ, thường được thiết lập qua robots.txt.
Crawl Delay là gì?
Crawl Delay là khoảng thời gian chờ (tính bằng giây) mà Googlebot tạm dừng giữa hai lần gửi yêu cầu liên tiếp tới cùng một tên miền hoặc máy chủ. Giá trị này được khai báo trong tệp robots.txt dưới dạng dòng lệnh Crawl-delay. Mục đích chính là giảm tải cho máy chủ web, đặc biệt với các trang có tài nguyên hạn chế hoặc cấu hình yếu.
Lưu ý: Google không hỗ trợ chính thức chỉ thị Crawl-delay. Đây là một tiêu chuẩn do các công cụ tìm kiếm khác (như Yandex, Bing trong một số phiên bản cũ) áp dụng. Googlebot bỏ qua dòng Crawl-delay hoàn toàn — dù bạn đặt giá trị là 1, 5 hay 30 giây, Google vẫn tự điều chỉnh tốc độ thu thập dựa trên khả năng phản hồi và hiệu suất của máy chủ.
Tại sao quan trọng trong SEO?
Dù Google không dùng Crawl-delay, khái niệm này vẫn quan trọng vì:
- Ảnh hưởng gián tiếp đến khả năng thu thập: Nếu máy chủ quá chậm hoặc thường xuyên trả lỗi 5xx, Googlebot sẽ tự động giảm tần suất thu thập — giống như hiệu ứng của
Crawl-delay, nhưng do thuật toán tự học chứ không phải do chỉ thị. - Tác động đến các công cụ tìm kiếm khác: Yandex (Nga), Baidu (Trung Quốc) và một số bot crawler chuyên ngành vẫn đọc và tuân thủ
Crawl-delay. Việc thiết lập sai có thể làm chậm việc lập chỉ mục trên những nền tảng này. - Phản ánh chất lượng kỹ thuật website: Một trang cần
Crawl-delaycao thường cho thấy vấn đề về hiệu năng máy chủ, cấu hình PHP, cơ sở dữ liệu hoặc thiếu bộ nhớ đệm — tất cả đều là yếu tố xếp hạng gián tiếp.
Cách hoạt động
Khi một bot hỗ trợ Crawl-delay đọc tệp robots.txt, nó sẽ:
- Phát hiện dòng
User-agent: *hoặcUser-agent: YandexBot(tùy bot) - Tìm dòng
Crawl-delay: X(với X là số nguyên dương) - Áp dụng khoảng chờ tối thiểu X giây giữa hai yêu cầu GET kế tiếp tới cùng tên miền
- Nếu có nhiều quy tắc
User-agent, bot chỉ tuân thủ giá trịCrawl-delaytương ứng với user-agent của chính nó
Googlebot không thực hiện bước nào trong số này. Thay vào đó, nó dùng Crawl Budget — một cơ chế nội bộ dựa trên: (1) mức độ quan trọng của trang, (2) tốc độ phản hồi máy chủ, (3) tần suất thay đổi nội dung, và (4) tỷ lệ lỗi HTTP.
Hướng dẫn thực hiện
Nếu bạn muốn kiểm soát tốc độ thu thập trên các nền tảng hỗ trợ Crawl-delay, hãy làm theo các bước sau:
- Xác định bot mục tiêu: Kiểm tra log server để biết bot nào đang gây tải cao (ví dụ:
YandexBot/3.0,Baiduspider) - Đo hiệu năng máy chủ: Dùng công cụ như WebPageTest hoặc GTmetrix để xác định thời gian phản hồi trung bình (TTFB). Nếu TTFB > 1.2s thường xuyên, cân nhắc giới hạn tốc độ thu thập.
- Chỉnh sửa
robots.txt: Thêm khối riêng cho từng bot. Ví dụ:User-agent: YandexBot Crawl-delay: 3 User-agent: Baiduspider Crawl-delay: 5
- Không áp dụng chung cho tất cả: Tránh dùng
User-agent: *+Crawl-delaynếu không cần thiết — vì có thể ảnh hưởng tới các bot hữu ích (như bot phân tích bảo mật hoặc feed reader). - Theo dõi sau triển khai: Dùng Google Search Console → Báo cáo thu thập → “Tần suất thu thập” để xem xu hướng. Với Yandex, dùng Yandex.Webmaster → “Thu thập trang”.
Lỗi thường gặp
- Lỗi 1: Đặt
Crawl-delaycho Googlebot
→ Hệ quả: Không có tác dụng, gây hiểu nhầm rằng bạn đang kiểm soát crawl của Google.
→ Cách khắc phục: Xóa dòngCrawl-delaykhỏi khốiUser-agent: *hoặcUser-agent: Googlebot. - Lỗi 2: Giá trị quá cao (ví dụ:
Crawl-delay: 60)
→ Hệ quả: Bot chậm thu thập nội dung mới, đặc biệt nguy hiểm với trang tin tức hoặc sản phẩm cập nhật nhanh.
→ Cách khắc phục: Giảm xuống 1–5 giây tùy hiệu năng máy chủ; ưu tiên tối ưu backend hơn là giới hạn bot. - Lỗi 3: Dùng giá trị thập phân hoặc ký tự
→ Hệ quả: Các bot hỗ trợ chỉ thị này sẽ bỏ qua toàn bộ khối hoặc xử lý sai (tùy trường hợp).
→ Cách khắc phục: Chỉ dùng số nguyên dương (ví dụ:2,10), không dùng2.5,0.5haytwo.
Ví dụ thực tế
Một website tin tức Việt Nam (tinmoi.vn) từng ghi nhận tình trạng bot Yandex thu thập quá nhanh, gây nghẽn CPU máy chủ. Sau khi phân tích log, đội kỹ thuật phát hiện YandexBot gửi trung bình 8–12 yêu cầu/giây. Họ thêm vào robots.txt:
User-agent: YandexBot
Crawl-delay: 2
Sau 48 giờ, tần suất thu thập giảm còn ~2.5 yêu cầu/giây, tải máy chủ giảm 40%, đồng thời không mất chỉ mục vì Yandex vẫn thu thập đều đặn — chỉ chậm hơn.
Ngược lại, một cửa hàng thương mại điện tử đã đặt Crawl-delay: 10 cho toàn bộ User-agent: *. Kết quả: Google không bị ảnh hưởng, nhưng bot của sàn Shopee (dùng crawler nội bộ để so sánh giá) ngừng thu thập trong 3 ngày — dẫn đến mất hiển thị giá cạnh tranh trên nền tảng bên ngoài.
Câu hỏi thường gặp
Google có đọc Crawl-delay không?
Không. Googlebot hoàn toàn bỏ qua chỉ thị Crawl-delay từ năm 2017. Google khuyến nghị dùng Crawl Stats trong Search Console và tối ưu hóa hiệu năng máy chủ để kiểm soát tốc độ thu thập.
Crawl-delay có ảnh hưởng đến thứ hạng không?
Không trực tiếp. Nhưng nếu do đặt sai mà khiến trang mới không được lập chỉ mục kịp thời (ví dụ: bài viết sự kiện bị chậm 3–5 ngày), thì cơ hội tiếp cận người dùng và tín hiệu tương tác ban đầu sẽ giảm — từ đó ảnh hưởng gián tiếp đến xếp hạng.
Có nên dùng Crawl-delay cho website WordPress?
Tùy trường hợp. Nếu site chạy trên hosting chia sẻ, không có cache plugin hoặc dùng theme nặng, việc đặt Crawl-delay: 2–3 cho bot không phải Google (như Yandex) có thể giúp ổn định máy chủ. Nhưng ưu tiên hàng đầu vẫn là cài WP Super Cache, tối ưu database và bật Gzip — thay vì phụ thuộc vào giới hạn bot.
| Bot | Hỗ trợ Crawl-delay? | Ghi chú |
|---|---|---|
| Googlebot | Không | Bỏ qua hoàn toàn kể từ 2017 |
| YandexBot | Có | Hỗ trợ từ phiên bản 3.0 trở lên |
| Baiduspider | Có (tùy phiên bản) | Một số phiên bản cũ hỗ trợ, phiên bản mới hơn có thể bỏ qua |
| Bingbot | Không | Microsoft không hỗ trợ chỉ thị này |