Bỏ qua tới nội dung
Kiến thức SEO· ·9 phút đọc

Robots.txt là gì (và vì sao nó không phải công cụ ẩn trang khỏi Google)

Trần Trọng Luân
Robots.txt là gì (và vì sao nó không phải công cụ ẩn trang khỏi Google)
Cỡ chữ

Mỗi khi Googlebot hay một bot tìm kiếm khác ghé thăm website, việc đầu tiên nó làm là đọc một file nhỏ tên robots.txt. File này quyết định bot được đi vào những đường dẫn nào và phải tránh ra những đường dẫn nào. Viết đúng thì tiết kiệm tài nguyên thu thập; viết sai một dòng có thể vô tình chặn cả website khỏi Google.

Robots.txt dùng để làm gì

Theo tài liệu chính thức của Google, robots.txt được dùng chủ yếu để tránh làm quá tải máy chủ bằng số lượng yêu cầu thu thập (crawl request) quá lớn. Bạn dùng nó để chỉ cho bot biết những phần không cần ghé: trang quản trị, trang kết quả lọc trùng lặp, file tạm, các URL tham số sinh ra vô số biến thể.

Điểm quan trọng nhất cần khắc cốt: robots.txt không phải cơ chế để giấu một trang khỏi Google. Nó kiểm soát việc thu thập (crawling — bot đọc nội dung trang), chứ không kiểm soát việc lập chỉ mục (indexing — đưa trang vào kho kết quả tìm kiếm). Hai khái niệm này khác nhau, và nhầm lẫn giữa chúng là nguồn gốc của hầu hết lỗi nghiêm trọng.

Vị trí đặt file và cách bot đọc

File phải nằm ở thư mục gốc của tên miền, truy cập được tại địa chỉ cố định https://tenmien.com/robots.txt. Đặt ở thư mục con (ví dụ /blog/robots.txt) thì bot bỏ qua hoàn toàn. Mỗi tên miền và mỗi tên miền phụ (subdomain) cần file riêng của nó.

File là văn bản thuần, mã hoá UTF-8. Bot đọc từng nhóm chỉ dẫn, mỗi nhóm bắt đầu bằng một dòng User-agent xác định nhóm đó áp cho bot nào.

Bảng bốn chỉ dẫn cơ bản trong robots.txt
Bốn chỉ dẫn cơ bản ghép nên một file robots.txt.

Cú pháp cơ bản

Một file robots.txt được ghép từ vài chỉ dẫn (directive) đơn giản:

  • User-agent — tên bot mà nhóm luật áp dụng. Dấu * nghĩa là áp cho mọi bot.
  • Disallow — đường dẫn bot không được thu thập.
  • Allow — đường dẫn được phép thu thập, dùng để mở lại một phần nằm trong vùng đã bị Disallow.
  • Sitemap — địa chỉ đầy đủ của file sitemap XML khai báo URL cho bot, giúp bot tìm trang nhanh hơn.

Một file ví dụ:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=

Sitemap: https://tenmien.com/sitemap_index.xml

Ở đây mọi bot bị chặn khỏi thư mục quản trị, nhưng vẫn được phép gọi file admin-ajax.php cần cho website chạy, và bị chặn khỏi các URL tìm kiếm nội bộ /?s=.

Khi luật mâu thuẫn thì cái nào thắng

Với Google, luật cụ thể hơn (đường dẫn dài hơn) thắng. Nếu bạn có Disallow: /san-pham/Allow: /san-pham/khuyen-mai/ thì thư mục khuyến mãi vẫn được thu thập, vì đường dẫn Allow dài và cụ thể hơn. Đây là cơ chế giúp bạn chặn diện rộng rồi mở lại một ngách nhỏ.

Lỗi chặn nhầm thường gặp

Vì một dòng sai có thể chặn cả site, đây là những bẫy hay gặp nhất:

  • Chặn toàn bộ site khi lên prod. Dòng Disallow: / (kèm User-agent: *) chặn mọi đường dẫn. Đây là cấu hình mặc định của nhiều site staging/demo — quên gỡ khi đẩy lên thật là tai nạn kinh điển.
  • Chặn file CSS và JavaScript. Bot hiện đại render trang như trình duyệt. Nếu bạn Disallow: /assets/js/ hoặc chặn thư mục theme, Googlebot sẽ thấy một phiên bản vỡ của trang và đánh giá sai trải nghiệm.
  • Tưởng Disallow là ẩn trang. Một URL bị Disallow vẫn có thể bị lập chỉ mục nếu có trang khác trên web trỏ link tới nó. Lúc đó Google hiển thị URL trần trong kết quả, không có mô tả — vừa không ẩn được, vừa xấu.
  • Sai đường dẫn vì phân biệt hoa thường. robots.txt phân biệt chữ hoa chữ thường ở phần đường dẫn; /Blog/ khác /blog/.

Sau khi sửa, hãy kiểm tra lại bằng công cụ kiểm thử robots.txt trong Google Search Console để chắc URL quan trọng không bị chặn ngoài ý muốn.

Robots.txt khác meta robots ở chỗ nào

Đây là phân biệt cốt lõi, vì hai thứ giải quyết hai bài toán khác nhau:

Tiêu chírobots.txtmeta robots / X-Robots-Tag
Kiểm soát điều gìThu thập (bot có đọc trang không)Lập chỉ mục (trang có vào kết quả không)
Vị trí1 file ở gốc tên miềnThẻ trong <head> hoặc HTTP header của từng trang
Dùng để ẩn trangKhông đáng tinĐúng công cụ cho việc này

Quy tắc vàng để không bao giờ làm sai: muốn một trang KHÔNG xuất hiện trên Google, bạn phải dùng thẻ noindex, đồng thời PHẢI để bot được thu thập trang đó. Nếu bạn vừa chặn trong robots.txt vừa gắn noindex, bot không vào đọc được trang nên không bao giờ thấy thẻ noindex — và URL vẫn có thể bị lập chỉ mục. Hãy mở cho bot vào, rồi để noindex làm việc. Tìm hiểu sâu hơn về cách điều khiển lập chỉ mục ở bài meta robots và các giá trị noindex, nofollow.

Lưu ý thêm: Google khuyến cáo không dựa vào chỉ dẫn Noindex viết trong robots.txt — đó không phải chuẩn chính thức và không được Google tuân theo. Việc chặn lập chỉ mục thuộc về thẻ meta hoặc header.

So sánh robots.txt và meta robots: cái kiểm soát thu thập, cái kiểm soát lập chỉ mục
Robots.txt lo việc thu thập; muốn ẩn trang phải dùng thẻ noindex.

Khi nào nên động vào robots.txt

Đa số website nhỏ chỉ cần một file mặc định gọn gàng là đủ. Bạn nên rà lại robots.txt khi: vừa đẩy site từ staging lên thật, vừa đổi cấu trúc URL, hoặc khi báo cáo lập chỉ mục trong Search Console báo nhiều trang “Bị chặn bởi robots.txt” ngoài dự kiến. File này là một mảnh trong bức tranh kiểm tra kỹ thuật SEO toàn diện — chặn đúng giúp bot dồn sức vào những trang đáng giá.

Câu hỏi thường gặp

Không có file robots.txt thì sao?

Không sao cả. Khi không tìm thấy file, bot hiểu là được thu thập toàn bộ. File chỉ cần khi bạn muốn chặn một số phần.

Robots.txt có chặn được người dùng truy cập trang không?

Không. Nó chỉ là hướng dẫn cho bot ngoan; người dùng và bot xấu vẫn truy cập bình thường. Muốn bảo vệ thật thì dùng mật khẩu hoặc phân quyền máy chủ.

Sửa robots.txt bao lâu có hiệu lực?

Google cache file này khoảng một ngày. Muốn cập nhật nhanh hơn, bạn có thể yêu cầu Google tải lại file trong Search Console.

Cần làm web?

Dịch vụ liên quan
tới chủ đề bài này.

Tất cả dịch vụ
Đọc tiếp

Bài viết
cùng chủ đề.

Tất cả bài viết