Google Algorithm

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.

4 lượt xem Cập nhật: 31/05/2026

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-delay cao 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ẽ:

  1. Phát hiện dòng User-agent: * hoặc User-agent: YandexBot (tùy bot)
  2. Tìm dòng Crawl-delay: X (với X là số nguyên dương)
  3. Á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
  4. Nếu có nhiều quy tắc User-agent, bot chỉ tuân thủ giá trị Crawl-delay tươ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:

  1. 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)
  2. Đ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.
  3. 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
  4. Không áp dụng chung cho tất cả: Tránh dùng User-agent: * + Crawl-delay nế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).
  5. 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-delay cho 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òng Crawl-delay khỏi khối User-agent: * hoặc User-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ùng 2.5, 0.5 hay two.

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 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