Bị chặn bởi robots.txt — trạng thái GSC
Trạng thái “Blocked by robots.txt” trong Page Indexing của Google Search Console: URL bị loại khỏi lập chỉ mục vì robots.txt không cho phép crawl; cách phân biệt với “Indexed, though blocked”, xử lý xung đột noindex + disallow và sửa điểm chặn ngoài ý muốn.
Ngôn ngữ
1 tín hiệu bằng chứng trên trang này
- Công cụ trực tuyến liên quanrobots.txt Tester
“Blocked by robots.txt” là trạng thái loại trừ trong Page Indexing của Google Search Console: Google tìm thấy URL nhưng không crawl vì robots.txt không cho phép, nên URL không được lập chỉ mục ở trạng thái này. Phần lớn trường hợp có chủ đích và không có vấn đề — robots.txt kiểm soát crawl, không kiểm soát lập chỉ mục, vì vậy disallow không phải công cụ gỡ chỉ mục. Trạng thái liên quan “Indexed, though blocked by robots.txt” có kết quả ngược lại: Google vẫn lập chỉ mục URL bị chặn, thường qua liên kết. Sai lầm lớn là kết hợp noindex với disallow: Google không thể crawl trang nên không thấy noindex. Muốn gỡ trang, hãy cho phép crawl và phục vụ noindex. Chỉ sửa trạng thái này khi bạn chặn nhầm nội dung thực sự muốn được lập chỉ mục.
Tóm tắt — “Blocked by robots.txt” trong Search Console nghĩa là Google đã tìm thấy trang nhưng không đọc trang vì tệp
robots.txtyêu cầu crawler không truy cập. Thông thường đây là chủ đích và hoàn toàn bình thường — kết quả dự kiến của một lệnh chặn, không phải lỗi. Trạng thái này chỉ là vấn đề khi bạn chặn nhầm một trang thực sự muốn xuất hiện trên Google.
Trạng thái này có nghĩa gì
Mở báo cáo Page Indexing trong Google Search Console, chọn “Blocked by robots.txt,” (bản dịch) “Bị chặn bởi robots.txt,” bạn sẽ thấy danh sách URL Google quyết định không lập chỉ mục. Lý do đơn giản: Google đã tìm thấy các URL đó, nhưng tệp robots.txt của website cho biết crawler không được phép fetch chúng. Evidence for this claim Google reports Blocked by robots.txt when crawling is disallowed and warns that this does not guarantee the URL cannot be indexed by other means. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Page indexing report Nhãn này báo một điểm chặn crawl; nó không bảo đảm URL tuyệt đối không thể được lập chỉ mục qua tín hiệu khác.
Điều đầu tiên tôi thường nói là: đừng hoảng. Trạng thái này thường có chủ đích. Nếu bạn — hoặc CMS hay plugin — cố ý chặn kết quả tìm kiếm nội bộ, URL điều hướng theo bộ lọc, đường dẫn staging, giỏ hàng hoặc checkout, việc thấy chúng ở đây chính là kết quả mong đợi. Google đang xác nhận lệnh chặn hoạt động, không phải báo một sai sót.
Một nguyên tắc cần ghi nhớ
robots.txt kiểm soát crawl, không kiểm soát việc lập chỉ mục. Đây là hai việc khác nhau. Chặn trang trong robots.txt ngăn Google đọc trang; nó không xóa Evidence for this claim Google says robots.txt manages crawler access and is not a mechanism for keeping a page out of Google. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: robots.txt introduction
trang khỏi Google và không phải cách gỡ trang khỏi kết quả tìm kiếm. Tôi đã tự kiểm thử điều xảy ra khi chặn một trang — chi tiết nằm trong tab Advanced — nhưng kết luận cốt lõi là: lệnh chặn dừng crawl, chỉ vậy thôi.
Đây có phải vấn đề không?
Hãy kiểm tra một điều: bạn có chủ ý chặn các URL này không?
- Có, tôi cố ý chặn → giữ nguyên. Hệ thống đang hoạt động đúng chủ đích.
- Không, trang đó cần xuất hiện trên Google → đây là trường hợp cần sửa. Tìm quy tắc trong
robots.txtđang khớp URL, xóa hoặc thu hẹp quy tắc rồi yêu cầu lập chỉ mục.
Bạn cũng có thể gặp một trạng thái liên quan nhưng khác: “Indexed, though blocked by robots.txt.” Đây là cảnh báo, không phải loại trừ — Google đã lập chỉ mục một URL bị chặn dù vậy, thường vì các trang khác liên kết đến URL. Cùng nguyên nhân nhưng kết quả ngược lại. Nếu đó là trạng thái bạn đang xem, hãy dùng bài hướng dẫn riêng.
Evidence for this claim Google reports Blocked by robots.txt when crawling is disallowed and warns that this does not guarantee the URL cannot be indexed by other means. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Page indexing reportrobots.txt còn không thể giữ nội dung ở chế độ riêng tư. Nó là một yêu cầu, không phải biện pháp kiểm soát truy cập — bot tuân thủ chuẩn sẽ làm theo, nhưng không có gì buộc mọi bot phải tuân thủ hay ngăn URL xuất hiện ở nơi khác qua liên kết, ảnh chụp màn hình hoặc scraper bỏ qua robots.txt. Nếu trang chứa nội dung nhạy cảm, hãy bảo vệ bằng đăng nhập hoặc mật khẩu, không phải một lệnh disallow.
Sai lầm cần tránh
Nhiều người cố gỡ trang khỏi Google bằng cách chặn trong robots.txt, đôi khi còn thêm thẻ noindex. Cách này không hiệu quả và còn phản tác dụng. Nếu Google không thể crawl trang, Google không bao giờ thấy noindex, nên trang vẫn có thể tồn tại trên Google. Muốn thật sự gỡ trang khỏi kết quả tìm kiếm, hãy làm ngược lại: cho phép Google crawl và thêm noindex.
Muốn xem bản đầy đủ — cách tìm chính xác quy tắc chặn, vì sao noindex kết hợp disallow gây xung đột và thử nghiệm của tôi cho thấy gì — hãy chuyển sang tab Advanced.
Tóm tắt — “Blocked by robots.txt” là trạng thái loại trừ trong Page Indexing: Google phát hiện URL nhưng không crawl vì
robots.txtkhông cho phép, nên URL không được lập chỉ mục ở trạng thái này. Điều này thường có chủ đích và vô hại — robots.txt quản lý crawl, không quản lý lập chỉ mục, vì vậyDisallowkhông bao giờ là công cụ gỡ chỉ mục. Đừng nhầm với cảnh báo “Indexed, though blocked by robots.txt” — Google vẫn lập chỉ mục URL bị chặn, thường qua liên kết trỏ đến. Sai lầm kinh điển là kết hợpdisallowvớinoindex: Google không thể crawl trang nên không thấynoindex, và trang vẫn có thể được lập chỉ mục. Muốn gỡ trang, hãy cho phép crawl và phục vụnoindex. Chỉ coi trạng thái này là lỗi khi bạn chặn nhầm URL thực sự muốn được lập chỉ mục.
Trạng thái này thực sự báo điều gì
Trong báo cáo Page Indexing của Search Console, “Blocked by robots.txt” là trạng thái loại trừ, không phải lỗi hay cảnh báo. Google mô tả rõ rằng trang “was blocked by your site’s robots.txt file,” (bản dịch) “đã bị tệp robots.txt của website chặn,” đồng thời thêm lưu ý quan trọng rằng điều này “does not guarantee that the page won’t be indexed through some other means.” (bản dịch) “không bảo đảm trang sẽ không được lập chỉ mục bằng cách khác.” Evidence for this claim Google reports Blocked by robots.txt when crawling is disallowed and warns that this does not guarantee the URL cannot be indexed by other means. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Page indexing report Lưu ý đó tóm gọn toàn bộ chủ đề — xem phần dưới.
Về cơ chế: Googlebot biết URL tồn tại — qua liên kết, sitemap hoặc lịch sử — cố tuân thủ quy tắc, gặp một Disallow phù hợp rồi dừng lại. Không fetch nghĩa là không có nội dung để lập chỉ mục, vì vậy URL nằm trong nhóm loại trừ này. Đây là kết quả dự kiến của một lệnh disallow; phần lớn URL ở đây đúng ra phải nằm ở đây.
Crawl không phải lập chỉ mục — vì sao disallow không gỡ chỉ mục
Google mô tả robots.txt là cơ chế kiểm soát quyền crawl, không phải biện pháp gỡ nội dung đáng tin cậy. Evidence for this claim Google says robots.txt manages crawler access and is not a mechanism for keeping a page out of Google. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: robots.txt introduction
Đây là trục chính xác của toàn bộ trạng thái. robots.txt kiểm soát crawl. Google nói rõ nó “is not a mechanism for keeping a web page out of Google.” (bản dịch) “không phải cơ chế giữ một trang web khỏi Google.” Chặn URL ngăn việc fetch; không xóa URL khỏi chỉ mục và không phải công cụ gỡ chỉ mục.
Như tôi từng viết trong bài Ahrefs về trạng thái liên quan: “crawling and indexing are two different things.” (bản dịch) “crawl và lập chỉ mục là hai việc khác nhau.” Trang bị chặn vẫn có thể được lập chỉ mục nếu trang khác liên kết đến nó — Google chỉ không thể thấy nội dung, đồng thời không thấy bất kỳ noindex nào bạn đặt trên trang. Điều này dẫn tới sai lầm phổ biến nhất khi người dùng mở báo cáo này.
“Blocked by robots.txt” so với “Indexed, though blocked by robots.txt”
Hai trạng thái này thường xuyên bị nhập làm một; chúng có cùng nguyên nhân nhưng kết quả trái ngược:
| Blocked by robots.txt | Indexed, though blocked by robots.txt | |
|---|---|---|
| Nhóm báo cáo | Loại trừ — chưa lập chỉ mục | Cảnh báo — đã lập chỉ mục |
| Điều đã xảy ra | Google tìm thấy URL, không crawl và không lập chỉ mục | Google lập chỉ mục URL dù không crawl |
| Lý do | Disallow hoạt động và không có tín hiệu nào buộc lập chỉ mục | Disallow hoạt động nhưng liên kết/tín hiệu vẫn khiến URL được lập chỉ mục |
| Thường là vấn đề? | Không — thường có chủ đích | Tùy trường hợp — thường không sao với URL tiện ích |
Nếu bạn đang nhìn phiên bản cảnh báo — URL bị chặn nhưng vẫn được lập chỉ mục và hiển thị dưới dạng URL trần không có mô tả — đó là trường hợp indexed-though-blocked, được xử lý trong bài riêng. Bài này nói về trạng thái loại trừ thuần túy: bị chặn và chưa được lập chỉ mục.
Với URL tiện ích, việc “vẫn được lập chỉ mục” thường không đáng lo. John Mueller trả lời một chủ website có URL WooCommerce ?add-to-cart= xuất hiện trong trạng thái indexed-though-blocked rằng các URL đó không cần được lập chỉ mục, chặn chúng bằng robots.txt là ổn, và ngay cả khi chúng được “lập chỉ mục” trong lúc bị chặn, chúng khó xuất hiện trong tìm kiếm trừ khi ai đó dùng truy vấn rất cụ thể cho chính các URL đó — điều người dùng thực tế không làm.
Xung đột noindex + disallow — cách sửa số một nhưng phản tác dụng
Đây là cái bẫy. Ai đó muốn một trang biến mất nên thêm Disallow trong robots.txt và thẻ meta noindex — tưởng là bảo vệ hai lớp. Cách này không hiệu quả vì hai chỉ thị mâu thuẫn nhau.
Google nêu quy tắc trực tiếp: “For the noindex rule to be effective, the page or resource must not be blocked by a robots.txt file, and it has to be otherwise accessible to the crawler.” (bản dịch) “Để quy tắc noindex có hiệu lực, trang hoặc tài nguyên không được bị tệp robots.txt chặn và phải truy cập được với crawler theo cách khác.” Nếu trang bị disallow, Google không crawl, không thấy noindex và trang vẫn có thể được lập chỉ mục. Như tôi đã viết trong bài về “Indexed, though blocked by robots.txt”: nếu Google không thể crawl trang, Google sẽ không thấy thẻ noindex và vẫn có thể lập chỉ mục trang vì có liên kết trỏ tới.
Vì vậy, trình tự gỡ chỉ mục trái ngược với phản xạ thường thấy:
- Cho phép crawl URL — xóa
Disallow. - Phục vụ
noindex— qua thẻ meta robots hoặc headerX-Robots-Tag— và để Google crawl lại để thấy chỉ thị. - Sau khi URL bị loại, vẫn để trang có thể crawl với
noindex. Chặn lại không phải “bước kết thúc” an toàn: nếu disallow URL lần nữa, Google có thể mất khả năng nhìn thấy quy tắcnoindexở lần crawl tiếp theo, và URL bị chặn nhưng có liên kết vẫn có thể được lập chỉ mục lại từ liên kết trên trang khác — đúng kết quả “indexed, though blocked” bạn muốn tránh. Nếu crawl budget cho trang đã gỡ thật sự là vấn đề, hãy dùng xác thực hoặc xóa trang —404/410— thay vì quay lạirobots.txt.
Nếu cần gỡ khẩn cấp, công cụ Removals của Search Console, bảo vệ bằng mật khẩu hoặc xóa hẳn trang — trả 404/410 — là các đường nhanh hơn.
Cách tìm quy tắc đang chặn URL
Có ba công cụ, mỗi công cụ làm một việc khác nhau — đừng mong một công cụ làm thay hai công cụ còn lại:
- URL Inspection — GSC. Dán URL cụ thể. Công cụ cho biết URL hiện có bị chặn không và là cách kiểm tra nhanh nhất cho từng URL.
- Báo cáo robots.txt — GSC. Báo cáo giám sát cấp domain property, không phải trình kiểm thử có thể chỉnh sửa; nó hiển thị các tệp
robots.txtGoogle tìm thấy cho những host hàng đầu, thời điểm fetch gần nhất, trạng thái fetch, cảnh báo phân tích cú pháp và thao tác “request a recrawl” sau khi bạn đổi tệp. Báo cáo cho biết Google thấy tệp; không kiểm thử từng URL với tệp đó. - Trình xác thực robots.txt hoặc parser robots.txt mã nguồn mở của Google. Muốn biết dòng nào khớp một URL, hãy chạy URL qua trình xác thực, vì quy tắc dài nhất và cụ thể nhất sẽ thắng — một
Allowcó thể ghi đèDisallowrộng hơn.
Sau khi tìm được dòng gây chặn, cách sửa phụ thuộc vị trí quản lý robots.txt. Nếu bạn trực tiếp kiểm soát tệp, hãy xóa hoặc sửa quy tắc và chú ý cú pháp. Nếu dùng nền tảng host như Wix, Shopify hoặc Squarespace, bạn có thể phải làm theo tài liệu riêng của nhà cung cấp vì một số nền tảng quản lý robots.txt thay bạn.
Thử nghiệm của tôi: điều gì xảy ra khi chặn một trang cần được lập chỉ mục
Câu hỏi thực sự hữu ích là: nếu vô tình chặn một trang cần xếp hạng, thiệt hại nghiêm trọng đến đâu? Tôi đã trực tiếp chạy thử nghiệm đó. Ngày 30 tháng 1 năm 2023, tôi chặn hai trang đang thực sự xếp hạng của chúng tôi — “Top Bing Searches” và “Top YouTube Searches” — bằng robots.txt rồi theo dõi kết quả.
Thiệt hại có thật nhưng nhỏ hơn tôi dự kiến. Chúng tôi mất một vị trí ở chỗ này hay chỗ khác — vài từ khóa tụt một hoặc hai bậc, một vài từ thậm chí tăng — và mất toàn bộ đoạn trích nổi bật của hai trang khi bị chặn; chúng quay lại sau khi tôi bỏ chặn. Cách hiển thị trên SERP cũng suy giảm: Google hiện “no information is available for this page” (bản dịch) “không có thông tin cho trang này” thay cho phần mô tả và mất tiêu đề tùy chỉnh. Vì mục hiển thị trông kém hơn, lượt nhấp giảm nhiều hơn lượt hiển thị — CTR chịu tác động.
Tóm tắt của tôi khi đó là: “We lost a position here or there and all of the featured snippets for the pages. I expected a lot more impact, but the world didn’t end.” (bản dịch) “Chúng tôi mất một vị trí ở chỗ này hay chỗ khác và toàn bộ featured snippet của các trang. Tôi đã dự kiến tác động lớn hơn nhiều, nhưng thế giới không kết thúc.” Kết luận tôi vẫn giữ nguyên: đừng chặn trang bạn muốn được lập chỉ mục. Việc đó gây hại. Không tệ như bạn có thể nghĩ — nhưng vẫn gây hại. Đó là khung tư duy đúng cho báo cáo này. Nếu mọi mục trong nhóm “Blocked by robots.txt” đều là nội dung bạn định chặn, không có vấn đề. Nếu có trang bạn quan tâm, hãy bỏ chặn.
Một lưu ý về phạm vi thử nghiệm: cả hai trang đã được lập chỉ mục và xếp hạng trước khi tôi chặn, nên kết quả đo lường cho thấy điều xảy ra khi một trang đã lập chỉ mục bị đẩy vào trạng thái “indexed, though blocked” — không dự báo điều xảy ra với URL chưa bao giờ được lập chỉ mục và chỉ nằm trong nhóm loại trừ này. Nếu URL ở đây chưa từng được lập chỉ mục, bỏ chặn chỉ cho phép Google crawl và xem xét bình thường; không có lịch sử featured snippet hay CTR để mất vì chúng chưa từng tồn tại.
Cây quyết định
- Bạn có chủ ý chặn URL không? → Giữ nguyên. Hệ thống hoạt động đúng chủ đích.
- Không — bạn muốn URL được lập chỉ mục? → Xóa hoặc thu hẹp quy tắc
robots.txt, rồi yêu cầu lập chỉ mục. - Bạn muốn URL biến mất khỏi Google? → Đừng dùng disallow. Cho phép crawl +
noindex— hoặc dùng Removals/xóa trang — rồi giữ URL có thể crawl; chặn lại có thể che quy tắcnoindexlần nữa. - URL bị chặn nhưng vẫn được lập chỉ mục? → Đó là trường hợp indexed-though-blocked, không phải trạng thái này; xử lý theo bài tương ứng.
- Trang chứa nội dung nhạy cảm hoặc riêng tư? → robots.txt không phải kiểm soát truy cập; đó là yêu cầu bot có thể bỏ qua. Dùng xác thực hoặc mật khẩu, không dùng disallow.
Nguyên tắc crawl-khác-lập-chỉ-mục có tính phổ quát: Bing cũng tuân thủ robots.txt khi crawl, và việc gỡ URL khỏi Bing tương tự dùng công cụ Block URLs hoặc noindex trên trang có thể crawl — không dùng riêng một disallow.
Muốn tìm hiểu toàn bộ tệp — cú pháp, wildcard, vị trí tệp và những gì nó có hoặc không thể làm — hãy xem hướng dẫn robots.txt. Muốn hiểu cách quyết định lập chỉ mục được đưa ra ở thượng nguồn, hãy xem hub về indexing.
Tóm tắt bằng AI
Bản rút gọn của nội dung trong tab Advanced:
- “Blocked by robots.txt” = trạng thái loại trừ trong Page Indexing. Google tìm thấy URL nhưng không crawl vì
robots.txtkhông cho phép, nên URL không được lập chỉ mục ở trạng thái này. Đây là kết quả bình thường của một lệnh chặn — thường có chủ đích và vô hại. - robots.txt kiểm soát crawl, không kiểm soát lập chỉ mục. Google nói nó “is not a mechanism for keeping a web page out of Google.” (bản dịch) “không phải cơ chế giữ một trang web khỏi Google.” Disallow dừng fetch; không gỡ chỉ mục trang.
- Đừng nhầm với cảnh báo “Indexed, though blocked by robots.txt.” Cùng nguyên nhân, kết quả ngược lại: URL bị chặn vẫn được lập chỉ mục, thường qua liên kết trỏ đến. Với URL tiện ích, Mueller cho biết điều này thường không sao — URL vừa bị chặn vừa được lập chỉ mục hiếm khi xuất hiện cho truy vấn bình thường.
- Phản tác dụng số một: dùng
noindexcùngdisallow. Google không thể crawl trang bị disallow nên không thấynoindex, và trang vẫn có thể được lập chỉ mục. Quy tắc của Google: đểnoindexhoạt động, trang không được bị robots.txt chặn. - Muốn thật sự gỡ trang: cho phép crawl, phục vụ
noindex, để Google crawl lại rồi tiếp tục giữ trang có thể crawl. Chặn lại sau đó có thể che quy tắcnoindexvà khiến URL được lập chỉ mục từ liên kết — trái với mục tiêu. Trường hợp khẩn cấp, dùng Removals, bảo vệ bằng mật khẩu hoặc xóa trang. - Tìm quy tắc chặn bằng URL Inspection — kiểm tra từng URL — và trình xác thực robots.txt — xác định dòng khớp; quy tắc dài nhất/cụ thể nhất thắng. Báo cáo robots.txt của GSC giám sát trạng thái fetch tệp, không kiểm thử URL riêng. Cách sửa phụ thuộc nơi quản lý tệp; nền tảng host có thể cần quy trình riêng.
- Thử nghiệm của Patrick: chặn hai trang đã xếp hạng và đã lập chỉ mục làm mất một vài vị trí cùng toàn bộ featured snippet, làm listing SERP xấu đi và click giảm nhiều hơn impression — “the world didn’t end,” (bản dịch) “thế giới không kết thúc,” nhưng “don’t block pages you want indexed.” (bản dịch) “đừng chặn trang bạn muốn được lập chỉ mục.” Thử nghiệm cho thấy điều xảy ra khi trang đã lập chỉ mục bị đẩy sang “indexed, though blocked”; nó không dự báo kết quả cho URL chưa từng được lập chỉ mục.
- robots.txt không phải biện pháp bảo mật. Đó là yêu cầu bot có thể bỏ qua. Hãy bảo vệ nội dung nhạy cảm bằng xác thực, không dùng disallow.
- Quy tắc quyết định: định chặn → giữ nguyên; muốn lập chỉ mục → bỏ chặn + yêu cầu lập chỉ mục; muốn gỡ → cho phép crawl +
noindexvà tiếp tục giữ trang có thể crawl.
Tài liệu chính thức
Tài liệu nguồn sơ cấp từ các công cụ tìm kiếm.
- Báo cáo Lập chỉ mục trang — nơi chứa định nghĩa nguyên văn của “Blocked by robots.txt” (bản dịch) “Bị chặn bởi robots.txt” và trường hợp URL vẫn được lập chỉ mục dù bị chặn.
- Bỏ chặn trang bị robots.txt chặn — hướng dẫn từng bước của Google để tìm và sửa quy tắc chặn URL.
- Báo cáo robots.txt — báo cáo cấp thuộc tính miền hiển thị các tệp robots.txt Google tìm thấy, trạng thái truy xuất, cảnh báo và yêu cầu crawl lại.
- Giới thiệu về robots.txt — robots.txt làm gì và không làm gì, gồm tuyên bố “is not a mechanism for keeping a web page out of Google.” (bản dịch) “không phải cơ chế giữ một trang web khỏi Google.”
- Chặn lập chỉ mục Search bằng noindex — quy tắc
noindexchỉ hoạt động trên trang không bị robots.txt chặn — xung đột noindex + disallow.
Bing / Microsoft
- Trợ giúp Bing Webmaster Tools — Bing cũng tuân thủ robots.txt khi crawl; robots.txt Tester và công cụ Block URLs áp dụng cùng nguyên tắc phân biệt crawl với lập chỉ mục.
Trích dẫn từ nguồn
Các tuyên bố chính thức từ Google. Mỗi liên kết sâu chuyển thẳng tới đoạn được trích trên trang nguồn.
Google — trạng thái này có nghĩa gì
- “This page was blocked by your site’s robots.txt file. You can verify this using the robots.txt tester. Note that this does not guarantee that the page won’t be indexed through some other means.” (Bản dịch) “Trang này bị tệp robots.txt của website chặn. Bạn có thể xác minh bằng robots.txt tester. Lưu ý rằng điều này không bảo đảm trang sẽ không được lập chỉ mục bằng cách khác.” — Trợ giúp Google Search Console, báo cáo Page indexing. Đi tới trích dẫn
Google — robots.txt kiểm soát crawl, không kiểm soát lập chỉ mục
- “it is not a mechanism for keeping a web page out of Google.” (Bản dịch) “nó không phải cơ chế giữ một trang web khỏi Google.” — Google Search Central, Giới thiệu về robots.txt. Đi tới trích dẫn
Google — vì sao noindex + disallow xung đột
- “For the
noindexrule to be effective, the page or resource must not be blocked by a robots.txt file, and it has to be otherwise accessible to the crawler.” (Bản dịch) “Để quy tắcnoindexcó hiệu lực, trang hoặc tài nguyên không được bị tệp robots.txt chặn và phải truy cập được với crawler theo cách khác.” — Google Search Central, Chặn lập chỉ mục Search bằng noindex. Đi tới trích dẫn
Số liệu và dữ liệu bên thứ nhất đáng trích dẫn
- Chặn trang đang xếp hạng: thiệt hại có thật nhưng có thể chịu được. Trong thử nghiệm bắt đầu ngày 30 tháng 1 năm 2023, tôi chặn hai trang đã xếp hạng và đã lập chỉ mục bằng
robots.txt. Các trang mất một vị trí ở chỗ này hay chỗ khác cùng toàn bộ featured snippet; listing SERP xuống cấp thành “no information is available for this page,” (bản dịch) “không có thông tin cho trang này,” và click giảm nhiều hơn impression. Tôi tóm tắt: “I expected a lot more impact, but the world didn’t end” (bản dịch) “Tôi đã dự kiến tác động lớn hơn nhiều, nhưng thế giới không kết thúc” — song “don’t block pages you want indexed. It hurts.” (bản dịch) “đừng chặn trang bạn muốn được lập chỉ mục. Việc đó gây hại.” Thử nghiệm đo điều xảy ra với trang đã lập chỉ mục bị đẩy sang trạng thái “indexed, though blocked”; không dự báo URL chưa từng được lập chỉ mục. Nguồn - URL tiện ích bị chặn nhưng vẫn được lập chỉ mục thường vô hại. Theo John Mueller, chặn URL kiểu add-to-cart bằng robots.txt là ổn; ngay cả khi chúng hiện là indexed-though-blocked, chúng khó xuất hiện cho truy vấn bình thường. Bài tường thuật
- Mức độ phổ biến của việc chặn robots.txt trên web — dữ liệu tỷ lệ chặn cho biết crawler nào bị khoảng 140 triệu website disallow nhiều nhất, từ nghiên cứu của tôi với Xibeijia Guan. Nguồn
Sai lầm định hình trạng thái này: noindex + disallow
Sai lầm: kết hợp Disallow với noindex để cố gỡ trang.
Đây là sai lầm phổ biến nhất gắn với “Blocked by robots.txt” và cần được gọi đúng tên vì nó có vẻ như bảo vệ hai lớp nhưng thực ra tự triệt tiêu. Ai đó muốn trang biến mất khỏi Google nên thêm Disallow trong robots.txt và thẻ meta noindex. Cách này không hoạt động. Google nêu rõ: “For the noindex rule to be effective, the page or resource must not be blocked by a robots.txt file, and it has to be otherwise accessible to the crawler.” (bản dịch) “Để quy tắc noindex có hiệu lực, trang hoặc tài nguyên không được bị tệp robots.txt chặn và phải truy cập được với crawler theo cách khác.” Nếu trang bị disallow, Google không crawl, không thấy noindex, và trang vẫn có thể được lập chỉ mục — hoàn toàn ngược mục tiêu. Cách sửa đi theo hướng ngược lại: cho phép crawl, rồi phục vụ noindex.
Lầm tưởng: “Disallow trong robots.txt là công cụ gỡ chỉ mục.”
Không phải, và Google nói trực tiếp rằng robots.txt “is not a mechanism for keeping a web page out of Google.” (bản dịch) “không phải cơ chế giữ một trang web khỏi Google.” Chặn URL dừng việc fetch; không xóa URL khỏi chỉ mục, và trang bị chặn nhưng có liên kết vẫn có thể xuất hiện — đó là trạng thái liên quan “Indexed, though blocked by robots.txt”. Hãy dùng noindex khi vẫn cho phép crawl hoặc công cụ Removals nếu mục tiêu thực sự là gỡ trang.
Lầm tưởng: “Mọi mục trong nhóm ‘Blocked by robots.txt’ đều là vấn đề cần sửa.” Thường ngược lại. Trạng thái này là kết quả dự kiến của một disallow có chủ đích — kết quả tìm kiếm nội bộ, tham số điều hướng theo bộ lọc, đường dẫn staging. Chỉ nên coi đây là lỗi khi một URL bạn thực sự muốn được lập chỉ mục vô tình nằm trong danh sách.
Sai lầm: chặn trang bạn muốn xếp hạng mà không kiểm tra chi phí trước. Chặn một trang cần xếp hạng để “dọn dẹp” hoặc “tiết kiệm crawl budget” rủi ro hơn vẻ ngoài. Trong thử nghiệm chặn hai trang đang xếp hạng, tôi mất toàn bộ featured snippet khi chúng bị chặn và click giảm nhiều hơn impression vì listing SERP xuống cấp thành “no information is available for this page.” (bản dịch) “không có thông tin cho trang này.” Thứ hạng nhìn chung vẫn giữ được, nhưng hãy coi việc chặn robots.txt trên trang quan trọng là quyết định thực sự, không phải thao tác vệ sinh.
Checklist phân loại “Blocked by robots.txt”
Làm theo danh sách từ trên xuống khi mở trạng thái trong Search Console:
- Mở báo cáo Page Indexing và chọn “Blocked by robots.txt” để xem danh sách URL thực tế bị ảnh hưởng.
- Với từng URL — hoặc mẫu URL — hãy hỏi: tôi có chủ ý chặn URL này không?
- Nếu có — tìm kiếm nội bộ, faceted navigation, staging, cart/checkout — giữ nguyên. Trạng thái đang hoạt động đúng mục đích với URL đó.
- Nếu không hoặc chưa chắc — chạy URL qua URL Inspection để xác nhận URL hiện vẫn bị chặn, không phải snapshot cũ.
- Tìm quy tắc cụ thể khớp URL bằng robots.txt Tester — hoặc trình xác thực robots.txt khác. Quy tắc khớp dài nhất và cụ thể nhất thắng; một
Allowcó thể ghi đèDisallowrộng hơn. Báo cáo GSC chỉ theo dõi việc fetch tệp robots.txt chứ không chạy phép thử cho từng URL. - Xác nhận bạn không đồng thời dựa vào
noindextrên cùng URL bị disallow — tổ hợp đó không hoạt động; nếu mục tiêu là gỡ trang, hãy chọn cho-phép-crawl-cộng-noindex. - Xóa hoặc thu hẹp quy tắc chặn — trực tiếp nếu bạn kiểm soát
robots.txt, hoặc theo tài liệu nền tảng host nếu tệp được quản lý thay, chẳng hạn Wix, Shopify, Squarespace. - Yêu cầu lập chỉ mục URL đã sửa trong Search Console sau khi bỏ chặn.
- Kiểm tra lại để không nhầm trạng thái này với “Indexed, though blocked by robots.txt” — đó là kết quả ngược lại, vẫn được lập chỉ mục, và cần cách sửa khác.
- Kiểm tra lại nhóm sau vài tuần để xác nhận số lượng đi theo hướng mong đợi — giảm với URL đã sửa, ổn định với lệnh chặn có chủ đích.
- Nếu URL chứa nội dung nhạy cảm, đừng dựa vào disallow để giữ riêng tư; hãy thêm xác thực hoặc bảo vệ bằng mật khẩu.
Đi qua cây quyết định
Trả lời từng câu hỏi để tìm hành động đúng cho một URL nằm trong nhóm “Blocked by robots.txt”.
What should I do about a URL blocked by robots.txt?
Các mô hình tư duy
1. Crawl ≠ lập chỉ mục. Toàn bộ trạng thái trở nên khó hiểu nếu nhập hai khái niệm làm một. robots.txt kiểm soát crawl — Googlebot có fetch trang không. Nó không trực tiếp kiểm soát lập chỉ mục — URL có vào chỉ mục Google không. Trang bị disallow không được lập chỉ mục qua crawl, nhưng vẫn có thể được lập chỉ mục mà không có nội dung nếu trang khác liên kết đến. Tách riêng hai ý niệm và phần lớn nhầm lẫn về trạng thái này sẽ biến mất.
2. Phân loại bằng một câu hỏi. Trước khi làm gì khác, hãy hỏi: tôi có chủ ý chặn URL này không? Có → giữ nguyên, hệ thống hoạt động đúng. Không → đây là trường hợp duy nhất đáng sửa. Một câu hỏi này phân loại đúng gần như mọi URL trong nhóm.
3. Muốn gỡ trang, hãy đảo ngược bản năng. Phản xạ tự nhiên — disallow cộng noindex để “an toàn hơn” — hoàn toàn ngược. Google không thể thấy chỉ thị trên trang không bao giờ fetch. Trình tự đúng trái với trực giác: cho phép crawl, rồi phục vụ noindex. Mỗi khi ai đó định dùng disallow để làm trang biến mất, đó là tín hiệu áp dụng mô hình này.
4. robots.txt là công cụ crawl budget, không phải công cụ kết quả tìm kiếm.
Dùng nó để giữ bot khỏi không gian URL giá trị thấp hoặc vô hạn — tìm kiếm nội bộ, bộ lọc, staging — để nỗ lực crawl tập trung vào trang cần được tìm thấy; không dùng làm đòn bẩy quyết định nội dung xuất hiện trong tìm kiếm. Việc đó thuộc về noindex, bảo vệ bằng mật khẩu hoặc xóa trang.
Theo dõi số lượng trong nhóm, không chỉ việc nhóm có tồn tại
Con số đáng theo dõi là số URL nằm trong hàng “Blocked by robots.txt” của báo cáo Page Indexing theo thời gian — một snapshot riêng lẻ không cho biết cách sửa có hiệu quả hay điểm chặn ngoài ý muốn mới đang xuất hiện.
Số lượng “Blocked by robots.txt” theo thời gian
- Chỉ số — Số URL trong “Blocked by robots.txt” của báo cáo Page Indexing GSC, theo dõi theo thời gian.
- Ý nghĩa — Cho biết nhóm có hoạt động như dự kiến không. Với URL bạn cố ý chặn — tìm kiếm nội bộ, bộ lọc, staging — số lượng nên tương đối ổn định khi các không gian URL đó ổn định; tăng đột ngột thường nghĩa một khu vực mới vô tình bị cuốn vào mẫu
Disallowhiện có. Với URL bạn chủ ý bỏ chặn để lập chỉ mục, URL cụ thể đó phải rời nhóm sau lần crawl tiếp theo. - Cách lấy — Báo cáo Page Indexing GSC lọc theo hàng “Blocked by robots.txt”; kiểm tra URL cụ thể bằng URL Inspection để xác nhận trạng thái hiện tại thay vì snapshot cũ.
- Benchmark / khoảng thực tế — Không có mục tiêu phổ quát; phụ thuộc hoàn toàn vào phần website được cố ý disallow. Ngưỡng trung thực: không URL nào bạn thực sự muốn lập chỉ mục nằm trong nhóm, và phần còn lại có xu hướng ổn định. Hãy lập baseline số lượng riêng trước khi đánh giá thay đổi có đi đúng hướng không.
- Nhịp đo — Kiểm tra ngay sau mọi thay đổi
robots.txt; ngoài ra xem định kỳ — hằng tháng là đủ với phần lớn website — để phát hiện drift.
Playbook: thật sự gỡ một trang khỏi Google
Trình tự có thể lặp lại khi URL thực sự cần rời chỉ mục Google — không chỉ bị chặn khỏi những lần crawl sau.
1. Xác nhận mục tiêu là gỡ khỏi chỉ mục, không chỉ kiểm soát crawl.
Nếu mục tiêu thật sự là “ngừng lãng phí crawl budget cho trang này”, một disallow đơn thuần trong robots.txt là công cụ đúng và playbook này không áp dụng — trang vẫn có thể được lập chỉ mục qua liên kết và điều đó không sao. Chỉ dùng trình tự này khi trang phải thực sự rời chỉ mục.
2. Cho phép crawl.
Xóa hoặc thu hẹp quy tắc Disallow đang chặn URL. Xác nhận bằng robots.txt Tester rằng URL nay được cho phép, không còn bị chặn.
3. Phục vụ noindex.
Thêm thẻ meta robots noindex hoặc header HTTP X-Robots-Tag vào trang nay có thể crawl. Đây mới là chỉ thị gỡ trang thực sự — disallow chưa bao giờ làm nhiệm vụ đó.
4. Để Google crawl lại và nhận chỉ thị.
Google phải fetch trang lần nữa mới thấy noindex. Không có cách buộc fetch tức thì ngoài việc yêu cầu lập chỉ mục trong Search Console và chờ lần crawl tiếp theo.
5. Xác nhận trang đã được gỡ.
Kiểm tra URL Inspection trong Search Console để biết trạng thái lập chỉ mục hiện tại của trang. Khi công cụ báo trang bị loại trừ do noindex, việc gỡ đã thành công.
6. Đừng coi chặn lại là bước kết thúc.
Sau khi trang bị loại, thêm lại Disallow không phải thao tác vô hại: Google có thể mất khả năng nhìn thấy quy tắc noindex ở lần crawl tiếp theo, và URL bị chặn nhưng có liên kết có thể được lập chỉ mục lại qua liên kết từ trang khác — đúng kết quả “indexed, though blocked” bạn muốn tránh. Nếu crawl budget là mối lo, hãy cân nhắc với rủi ro đó, hoặc dùng xác thực/xóa trang nếu trang thực sự phải biến mất lâu dài.
7. Trường hợp khẩn cấp, bỏ qua thời gian chờ.
Nếu trang cần biến mất ngay, hãy dùng công cụ Removals của Search Console, bảo vệ trang bằng mật khẩu hoặc xóa hẳn — trả 404/410 — thay vì chờ chu kỳ crawl-rồi-noindex.
Prompt AI dùng ngay
Các prompt có thể sao chép để xử lý điểm chặn robots.txt bằng LLM. Hãy coi đầu ra là giả thuyết ban đầu; xác nhận mọi phần quan trọng bằng robots.txt Tester hoặc URL Inspection của Search Console trước khi hành động.
Xác định quy tắc nào chặn URL nào
Here is my robots.txt file and a list of URLs. For each URL, tell me whether it
is blocked or allowed, and quote the exact line in robots.txt responsible
(remember: the longest, most specific matching rule wins, and an Allow can
override a broader Disallow). If a URL isn't matched by any rule, say so.
ROBOTS.TXT:
[paste]
URLS:
[paste list, one per line]Kiểm tra nhanh một điểm chặn có vẻ có chủ đích không
I run a [type of site]. Here is my robots.txt file. For each Disallow rule, tell
me what kind of URLs it likely targets (e.g. internal search, faceted
navigation, staging, cart/checkout, admin) and flag any rule that looks broad
enough it might be catching content pages by accident. Don't guess about pages
you can't see — just reason from the rule pattern and ask me to confirm
anything ambiguous.
ROBOTS.TXT:
[paste]Soạn trình tự noindex-rồi-crawl cho một trang cụ thể
I need to remove [URL] from Google. It's currently blocked by this robots.txt
rule: [paste rule]. Walk me through the exact sequence of changes in order
(robots.txt edit, meta tag or header change, what to check in Search Console at
each step) so I don't accidentally leave the noindex tag unseen by Google. Kiểm thử URL với quy tắc robots.txt
Trước khi thay đổi, hãy xác nhận chính xác quy tắc nào đang khớp URL. robots.txt Tester dùng matcher được chuyển từ parser robots.txt mã nguồn mở của Google và hiển thị quy tắc thắng cho từng URL — đây là cách kiểm tra nhanh và chính xác nhất. Nếu cần kiểm tra thủ công nhanh mà không dùng công cụ, đây là logic cốt lõi bằng Python:
import re
def rule_matches(path, rule):
"""Very simplified robots.txt path matcher: '*' = wildcard, '$' = end anchor."""
pattern = re.escape(rule).replace(r'\*', '.*')
if pattern.endswith(r'\$'):
pattern = pattern[:-2] + '$'
return re.match(pattern, path) is not None
def find_blocking_rule(path, disallow_rules, allow_rules):
"""Longest matching rule wins; ties go to Allow (mirrors Google's documented
precedence). Returns the winning rule string, or None if nothing matches."""
matches = [r for r in disallow_rules if rule_matches(path, r)]
matches += [r for r in allow_rules if rule_matches(path, r)]
if not matches:
return None
return max(matches, key=len)
# Example
disallow = ["/search", "/*?*sort="]
allow = ["/search/help"]
print(find_blocking_rule("/search/help", disallow, allow)) # -> "/search/help" (Allow wins, longer)
print(find_blocking_rule("/search/results", disallow, allow)) # -> "/search" (Disallow, no competing Allow)Đây là bản đơn giản hóa matcher thực tế của Google — phân tích robots.txt thật có nhiều trường hợp biên hơn về escaping và chọn group. Hãy dùng để kiểm tra mô hình tư duy, đồng thời xác nhận mọi điều quan trọng bằng tester thực trước khi dựa vào kết quả.
Công cụ chẩn đoán và sửa trạng thái này
- Google Index Checker — sau khi sửa điểm chặn, dùng công cụ này để kiểm tra tín hiệu khả năng lập chỉ mục quan sát được của trang — status code, redirect,
noindex, canonical — trước khi chuyển sang Search Console để lấy câu trả lời thực tế của Google. - URL Inspection — Google Search Console — nguồn tin cậy về việc một URL cụ thể hiện có bị chặn không, khả năng lập chỉ mục trong live test và — sau khi sửa — Google đã nhận lại URL chưa.
- Báo cáo robots.txt — Google Search Console — chế độ xem cấp domain property về các tệp
robots.txtGoogle tìm thấy cho host hàng đầu, thời điểm fetch gần nhất và trạng thái fetch, kèm thao tác “request a recrawl” sau khi thay đổi tệp.
Tự kiểm tra: Blocked by robots.txt
Năm câu hỏi về trạng thái “Blocked by robots.txt” và các sai lầm thường gặp. Chọn đáp án cho từng câu rồi kiểm tra kết quả.
Chứng minh việc gỡ trang thực sự thành công
“Tôi đã đặt noindex” hoặc “tôi đã sửa robots.txt” tự nó không chứng minh gì — kết quả duy nhất có ý nghĩa là chỉ mục Google phản ánh gì sau đó. Các phép thử này tách thay đổi bạn thực hiện khỏi kết quả Google đạt tới.
Kiểm tra 1 — Crawl thực sự được cho phép
- Kiểm tra cần chạy — Chạy URL qua robots.txt Tester sau khi sửa tệp.
- Kết quả mong đợi — URL được báo allowed, không có quy tắc
Disallowkhớp — hoặc mộtAllowcụ thể hơn thắngDisallowrộng hơn. - Diễn giải khi thất bại — Vẫn bị chặn nghĩa một quy tắc khác cụ thể hơn đang khớp URL hoặc chỉnh sửa chưa được deploy; hãy kiểm tra nội dung tệp live thực tế, không chỉ thay đổi bạn định thực hiện.
- Khoảng theo dõi — Ngay lập tức — đây là kiểm tra tĩnh với tệp đang được phục vụ.
- Điều kiện rollback — Không áp dụng; sửa quy tắc trước khi chuyển sang phép thử tiếp theo. Không bước hạ nguồn nào hoạt động cho tới khi crawl thực sự được cho phép.
Kiểm tra 2 — noindex được phục vụ đúng
- Kiểm tra cần chạy — Dùng URL Inspection → Live Test trong Search Console — hoặc fetch trực tiếp và kiểm tra response header/HTML — trên URL nay có thể crawl.
- Kết quả mong đợi — Live test hiển thị
noindex, dưới dạng thẻ meta robots trong<head>hoặc header HTTPX-Robots-Tag. - Diễn giải khi thất bại — Thiếu
noindexở đây nghĩa việc gỡ sẽ không bao giờ xảy ra dù chờ bao lâu; riêng bước cho phép crawl không gỡ nội dung. - Khoảng theo dõi — Ngay lập tức — live test phản ánh trang đang được phục vụ.
- Điều kiện rollback — Không áp dụng; phép thử này phải đạt trước khi Google có cơ hội hành động.
Kiểm tra 3 — Google thực sự đã loại trang
- Kiểm tra cần chạy — Dùng URL Inspection — trường trạng thái đã lập chỉ mục, không chỉ Live Test — trên URL và kiểm tra định kỳ sau khi hai phép thử trước đạt.
- Kết quả mong đợi — Trạng thái chuyển thành bị loại trừ do
noindex, đồng thời URL ngừng xuất hiện trong tìm kiếmsite:hoặc dữ liệu theo dõi thứ hạng. - Diễn giải khi thất bại — Vẫn được lập chỉ mục sau một chu kỳ crawl đầy đủ thường nghĩa cache/độ trễ lan truyền, không nhất thiết cấu hình hỏng; Google phải crawl lại để nhận thay đổi và việc đó không tức thì.
- Khoảng theo dõi — 1–3 tuần, tùy tần suất Google đã crawl URL; đừng đánh giá ngay ngày hôm sau khi triển khai.
- Điều kiện rollback — điều kiện dừng được nêu rõ — Vẫn được lập chỉ mục sau một chu kỳ crawl đầy đủ và server log tiếp tục cho thấy trang vừa được crawl → ngừng giả định chỉ là độ trễ và kiểm tra lại Kiểm tra 1, 2 để tìm sai sót — tầng cache phục vụ robots.txt cũ, CDN loại header
X-Robots-Taghoặc quy tắc xung đột thứ hai là thủ phạm thường gặp.
Nhật ký thay đổi
Đã cập nhật 9 thg 8, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
Đã cập nhật 8 thg 8, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
Đã cập nhật 17 thg 7, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.