SEO
Robots.txt là gì? Cách kiểm soát thu thập dữ liệu mà không làm mất SEO
Một dòng Disallow đặt sai có thể khiến cả website biến khỏi tầm nhìn của Google. Robots.txt ngắn, nhưng hiểu sai nó là một trong những lỗi SEO kỹ thuật đắt nhất.
ScalioCập nhật 13 phút đọc

Robots.txt là một tệp văn bản đặt ở thư mục gốc của website (ví dụ tenmien.vn/robots.txt), dùng để nói với trình thu thập dữ liệu (crawler) của công cụ tìm kiếm rằng chúng được phép hoặc không được phép truy cập những đường dẫn nào. Tệp này tuân theo giao thức loại trừ robot (Robots Exclusion Protocol) — một quy ước mà các crawler đàng hoàng như Googlebot tôn trọng.

Điều quan trọng nhất cần nhớ ngay từ đầu: robots.txt kiểm soát việc thu thập (crawl), không kiểm soát việc lập chỉ mục (index). Theo tài liệu giới thiệu robots.txt của Google Search Central, robots.txt chủ yếu để tránh làm quá tải website bằng các yêu cầu, và không phải là cách để giữ một trang khỏi Google. Muốn trang không xuất hiện trong kết quả tìm kiếm, bạn cần noindex hoặc bảo vệ bằng mật khẩu.
Robots.txt khác noindex thế nào
| Robots.txt (Disallow) | Noindex | |
|---|---|---|
| Tác dụng | Yêu cầu crawler không truy cập đường dẫn | Yêu cầu công cụ tìm kiếm không đưa trang vào chỉ mục |
| Đặt ở đâu | Một tệp duy nhất ở gốc tên miền | Thẻ meta robots trong trang hoặc tiêu đề HTTP X-Robots-Tag |
| Trang vẫn có thể xuất hiện trên Google? | Có — nếu URL được liên kết từ nơi khác, Google có thể index URL mà không đọc nội dung | Không, sau khi Google thu thập lại và đọc được chỉ thị |
| Điều kiện để hoạt động | Crawler tôn trọng giao thức | Google phải crawl được trang để đọc thấy noindex |
Hàng cuối chính là cái bẫy phổ biến: nếu bạn vừa gắn noindex cho một trang vừa chặn trang đó trong robots.txt, Googlebot không vào được trang nên không bao giờ đọc thấy noindex. Kết quả là trang có thể vẫn nằm trong chỉ mục, chỉ hiện URL mà không có mô tả. Muốn gỡ trang khỏi kết quả, hãy để trang được crawl và gắn noindex; khi trang đã ra khỏi chỉ mục, lúc đó mới cân nhắc chặn crawl nếu thật sự cần.
Cú pháp cơ bản của robots.txt
Một tệp robots.txt gồm các nhóm quy tắc. Mỗi nhóm bắt đầu bằng dòng User-agent (quy tắc áp dụng cho crawler nào), tiếp theo là các dòng Disallow hoặc Allow. Dòng Sitemap đứng riêng, không thuộc nhóm nào.
| Dòng | Ý nghĩa |
|---|---|
| User-agent: * | Nhóm quy tắc áp dụng cho mọi crawler không có nhóm riêng |
| User-agent: Googlebot | Nhóm quy tắc chỉ dành cho crawler của Google Search |
| Disallow: /gio-hang/ | Không thu thập các URL bắt đầu bằng /gio-hang/ |
| Allow: /tai-lieu/bang-gia.pdf | Cho phép một đường dẫn cụ thể dù thư mục cha bị chặn |
| Disallow: /*?sort= | Chặn URL có tham số sắp xếp (Google hỗ trợ ký tự đại diện dấu sao và ký tự $ đánh dấu cuối URL) |
| Disallow: (để trống) | Không chặn gì cả |
| Disallow: / | Chặn toàn bộ website — cực kỳ nguy hiểm nếu để quên trên site thật |
| Sitemap: https://tenmien.vn/sitemap.xml | Khai báo vị trí sitemap, phải là URL đầy đủ |
Một vài chi tiết hay bị bỏ qua: đường dẫn trong robots.txt phân biệt chữ hoa chữ thường; tệp chỉ áp dụng cho đúng tên miền, giao thức và cổng nơi nó nằm (tên miền phụ như shop.tenmien.vn cần tệp riêng); khi có quy tắc Allow và Disallow cùng khớp một URL, Google áp dụng quy tắc cụ thể hơn (đường dẫn dài hơn). Google cũng không hỗ trợ chỉ thị noindex hay crawl-delay đặt trong robots.txt.
Cần chuẩn bị gì trước khi sửa robots.txt
- Bản đồ cấu trúc URL: các thư mục chính (sản phẩm, danh mục, blog, trang tài khoản, giỏ hàng, trang tìm kiếm nội bộ) và các tham số URL mà website sinh ra khi lọc, sắp xếp.
- Danh sách trang phải được Google thấy: trang chủ, trang dịch vụ, sản phẩm, bài viết — để đối chiếu, không chặn nhầm.
- Tệp robots.txt hiện tại và lịch sử thay đổi của nó; nhiều nền tảng website hoặc plugin SEO tự sinh tệp này.
- Quyền truy cập Google Search Console để xem báo cáo robots.txt và kiểm tra URL sau khi sửa.
- Người chịu trách nhiệm: ai được sửa tệp, ai duyệt trước khi đưa lên site thật.
Quy trình viết và quản lý robots.txt 6 bước
Bước 1. Xác định vùng không cần crawl
Bắt đầu từ câu hỏi: có vùng nào trên website mà crawler vào chỉ tốn công, không đem lại trang nào đáng xuất hiện trên Google? Với một shop thời trang online, đó thường là giỏ hàng, trang thanh toán, trang tài khoản, kết quả tìm kiếm nội bộ và các tổ hợp bộ lọc vô tận (màu × size × giá × sắp xếp). Với website doanh nghiệp nhỏ chỉ vài chục trang, danh sách này có thể gần như trống — và như vậy là bình thường; chuyện crawl budget chủ yếu là vấn đề của site rất lớn.
Bước 2. Hiểu robots không phải noindex
Với mỗi vùng trong danh sách, phân loại lại theo mục tiêu thật. Nếu mục tiêu là “không muốn trang hiện trên Google” — ví dụ trang cảm ơn sau khi đặt lịch ở phòng khám nha, trang chính sách cũ — thì công cụ đúng là noindex, không phải Disallow. Nếu mục tiêu là “có nhiều bản gần giống nhau, muốn Google hiểu bản nào là chính” — ví dụ trang sản phẩm có tham số màu — thì công cụ đúng thường là canonical URL. Chỉ những vùng mà mục tiêu là “crawler không cần vào đây” mới đưa vào robots.txt.
Bước 3. Viết quy tắc theo user agent
Phần lớn doanh nghiệp nhỏ chỉ cần một nhóm User-agent: * áp dụng cho mọi crawler. Chỉ tách nhóm riêng khi có lý do rõ ràng. Lưu ý: một crawler chỉ theo nhóm cụ thể nhất khớp với nó — nếu bạn tạo nhóm riêng cho Googlebot, Googlebot sẽ bỏ qua nhóm dấu sao, nên phải chép lại các quy tắc chung vào nhóm đó.
Một số dịch vụ AI công bố tên user-agent riêng để chủ website quyết định có cho phép dùng nội dung hay không; Google cũng có token Google-Extended cho mục đích này. Đây là quyết định kinh doanh chứ không chỉ kỹ thuật — chặn có thể giảm khả năng nội dung được các hệ thống AI dùng tới, như bài AI visibility là gì phân tích. Kiểm tra tài liệu chính thức của từng dịch vụ trước khi viết quy tắc.
Bước 4. Khai báo sitemap
Thêm một hoặc nhiều dòng Sitemap với URL đầy đủ, ví dụ Sitemap: https://tenmien.vn/sitemap.xml. Đây là cách để mọi crawler đọc robots.txt đều tìm thấy sitemap, bổ sung cho việc gửi sitemap trong Search Console. Kiểm tra chéo: URL nào có trong XML sitemap thì không được bị chặn trong robots.txt — hai tệp nói ngược nhau là tín hiệu rối.
Bước 5. Kiểm thử trước khi phát hành
Trước khi đưa lên site thật, lấy 10–20 URL quan trọng và vài URL muốn chặn, kiểm tra từng URL có bị quy tắc mới chặn không. Đặc biệt xem có chặn nhầm tệp CSS, JavaScript hay thư mục ảnh mà Google cần để hiển thị trang không. Cái bẫy kinh điển: bản thử nghiệm (staging) để Disallow: / cho an toàn, rồi khi lên site thật thì chép nguyên tệp — hãy đưa bước “mở robots.txt trên site thật và đọc lại” vào mỗi lần ra mắt hoặc chuyển nền tảng.
Bước 6. Theo dõi thay đổi và lỗi
Search Console có báo cáo robots.txt cho biết Google đã lấy tệp lúc nào và có lỗi gì không; công cụ kiểm tra URL cho biết một URL cụ thể có bị chặn không. Trong báo cáo lập chỉ mục trang, trạng thái kiểu “bị chặn bởi robots.txt” hoặc “đã index dù bị robots.txt chặn” là tín hiệu cần xem lại. Cách đọc các báo cáo này có trong bài phân tích Google Search Console bằng AI. Mỗi khi website đổi cấu trúc URL, đổi nền tảng hay cài plugin mới, hãy mở lại robots.txt — và đưa mục này vào mỗi đợt SEO audit.
Ví dụ thực hành: shop thời trang online
Ví dụ giả định: một shop thời trang online có khoảng 400 sản phẩm, trang danh mục có bộ lọc màu, size, giá và sắp xếp; mỗi lần khách chọn bộ lọc là sinh một URL mới có tham số. Chủ shop muốn Google tập trung vào trang sản phẩm và danh mục chính.
| Vùng | Quyết định | Lý do |
|---|---|---|
| /gio-hang/, /thanh-toan/, /tai-khoan/ | Disallow trong robots.txt | Trang riêng của từng khách, không có giá trị tìm kiếm |
| /tim-kiem?q= | Disallow trong robots.txt | Kết quả tìm kiếm nội bộ sinh vô hạn URL |
| Danh mục có tham số ?sort= | Disallow mẫu tham số, giữ URL danh mục gốc | Cùng sản phẩm, chỉ khác thứ tự |
| Trang cảm ơn sau khi đặt hàng | Noindex, không Disallow | Muốn trang không hiện trên Google, cần Google đọc được noindex |
| Sản phẩm biến thể theo màu | Canonical về trang sản phẩm chính | Nội dung gần giống, cần chỉ rõ bản chính |
| Thư mục ảnh sản phẩm, CSS, JS | Không chặn | Google cần để hiển thị trang và hiểu ảnh |
Sau khi sửa, chủ shop nhận ra một thư mục cũ đã bị chặn từ lâu nhưng vẫn có vài URL trong chỉ mục vì được liên kết từ fanpage. Chặn crawl không làm các URL đó biến mất — cách đúng là mở chặn, gắn noindex hoặc chuyển hướng tới trang thay thế, rồi chờ Google thu thập lại.
AI giúp được gì với robots.txt
| AI làm tốt | Cần người làm hoặc kiểm tra |
|---|---|
| Giải thích từng dòng trong một tệp robots.txt có sẵn | Xác nhận quy tắc đúng với cấu trúc URL thật của website |
| Viết nháp quy tắc từ danh sách thư mục bạn cung cấp | Kiểm tra từng URL quan trọng bằng công cụ chính thức |
| Chỉ ra quy tắc mâu thuẫn hoặc thừa | Quyết định chặn hay không chặn crawler AI |
AI không nhìn thấy website của bạn trừ khi bạn đưa dữ liệu vào, nên rất dễ viết ra quy tắc “trông chuẩn” cho một cấu trúc URL không tồn tại. Một dấu gạch chéo đặt sai chỗ có thể chặn cả website; mọi bản nháp do AI viết đều phải được kiểm thử trước khi phát hành.
Sai lầm thường gặp
- Dùng Disallow để “xoá” trang khỏi Google — robots.txt không làm việc đó, và còn ngăn Google đọc noindex.
- Quên Disallow: / từ bản thử nghiệm khi chuyển lên site thật.
- Chặn CSS, JavaScript hoặc thư mục ảnh khiến Google không hiển thị đúng trang.
- Coi robots.txt là bảo mật và liệt kê đường dẫn nhạy cảm trong tệp công khai.
- Sitemap chứa URL đang bị chặn, khiến hai tín hiệu mâu thuẫn nhau.
- Chặn tràn lan trên site nhỏ chỉ vì nghe nói về crawl budget.
Câu hỏi thường gặp
Website nhỏ có cần tệp robots.txt không?
Không bắt buộc. Nếu không có tệp, crawler mặc định được thu thập toàn bộ website. Nhiều doanh nghiệp nhỏ vẫn nên có một tệp đơn giản để khai báo sitemap và chặn vài vùng như giỏ hàng hay trang tài khoản, nhưng không cần chặn gì thêm nếu không có lý do.
Chặn trang bằng robots.txt rồi, sao trang vẫn hiện trên Google?
Vì robots.txt chỉ ngăn thu thập, không ngăn lập chỉ mục. Nếu URL được liên kết từ nơi khác, Google vẫn có thể đưa URL vào chỉ mục mà không đọc nội dung. Muốn gỡ trang, hãy cho phép crawl và gắn noindex, hoặc chuyển hướng tới trang thay thế.
Sửa robots.txt bao lâu thì có hiệu lực?
Google thường lưu bộ nhớ đệm robots.txt một thời gian, thường đến khoảng một ngày, nên thay đổi không có tác dụng tức thì. Báo cáo robots.txt trong Search Console cho biết Google lấy tệp lần gần nhất lúc nào.
Để website có nội dung đáng được thu thập: lưu Brand Brain và viết bài blog, landing page bằng Content Studio.
Điền hồ sơ thương hiệu một lần: Scalio lập chiến lược, viết bài theo đúng giọng của bạn, xếp lịch đăng và chấm điểm marketing.
Tạo tài khoản miễn phí

