Tuần qua, John Mueller của Google đã trả lời một câu hỏi trên Reddit khiến nhiều webmaster giật minh. Một website Shopify chặn trang tìm kiếm qua robots.txt, nhưng Google vẫn index hàng loạt URL spam sinh ra từ thanh tìm kiếm. Nguyên nhân không phải Google lỗi, mà là một quy tắc ít ai để ý trong cách robots.txt hoạt động.
Google Bỏ Qua Robots.txt Khi Nào?
Google bỏ qua robots.txt khi file của bạn có nhiều phần user-agent khác nhau. Theo quy tắc: user-agent cụ thể luôn thắng user-agent tổng quát. Nếu file có User-agent: Googlebot riêng, Google chỉ đọc phần đó và phớt lờ hoàn toàn phần User-agent: *. Nhiều trang mắc lỗi này mà không hề hay biết.
Search Box Spam Là Gì Và Tại Sao Nguy Hiểm?
Search box spam xảy ra khi spammer dùng thanh tìm kiếm trên site của bạn để tạo URL rác. Họ tìm kiếm các từ khóa spammy kèm link, hệ thống sinh ra trang kết quả, và Google index những trang đó. Kết quả: website của bạn trở thành máy sinh spam, kéo theo chất lượng trang giảm, thậm chí bị Google phạt.
Trong vụ việc trên Reddit, chủ website Shopify đã thêm Disallow: /search vào robots.txt nhưng Google vẫn index. Lý do: phần User-agent: Googlebot riêng biệt trong file khiến các quy tắc ở phần User-agent: * bị bỏ qua hoàn toàn.
Quy Tắc User-Agent Cụ Thể Wins Hoạt Động Ra Sao?
John Mueller giải thích rất rõ: khi robots.txt có phần User-agent: Googlebot, Google sẽ chỉ tuân theo các quy tắc trong phần đó. Mọi quy tắc ở phần User-agent: * đều bị phớt lờ. Đây không phải bug, mà là thiết kế cho phép webmaster áp dụng quy tắc khác nhau cho từng crawler.
Cách sửa đúng: gộp các user-agent lại hoặc sao chép quy tắc từ phần dấu sao sang phần Googlebot. Ví dụ:
User-agent: Googlebot
User-agent: Bingbot
Disallow: /search
Disallow: /admin
User-agent: *
Disallow: /search
Disallow: /adminRobots.txt Khác Gì Với Noindex?
Đây là sự phân biệt quan trọng nhất: robots.txt kiểm soát crawl, không kiểm soát index. Google vẫn có thể index một URL bị chặn bởi robots.txt nếu có backlink trỏ về. Để ngăn index thực sự, bạn cần thẻ meta noindex trong phần <head> của trang đó.
Trong trường hợp search box spam, dùng noindex hiệu quả hơn robots.txt rất nhiều. Khi Google crawl trang và thấy noindex, nó sẽ không đưa vào chỉ mục. robots.txt chỉ ngăn Google crawl, nhưng nếu ai đó link đến URL đó, Google vẫn có thể index.
Cách Phòng Chống Search Box Spam Trên WordPress?
WordPress dễ phòng chống hơn Shopify. Nếu bạn dùng Yoast SEO, Rank Math, hoặc AIOSEO, các plugin này tự động thêm noindex cho trang tìm kiếm. Một số theme như Divi còn chặn sinh URL spam từ thanh tìm kiếm, trả về kết quả rỗng thay vì tạo trang mới.
Nếu bạn tự code, hãy thêm đoạn sau vào file functions.php hoặc dùng plugin Code Snippets:
add_action('template_redirect', function() {
if (is_search()) {
header('X-Robots-Tag: noindex, nofollow');
}
});Ngoài ra, bạn nên kiểm tra Google Search Console thường xuyên để phát hiện URL bất thường. Xem phần Page Indexing Report, lọc theo trạng thái “Indexed though blocked by robots.txt” để bắt sớm các trang spam.
Cách Phòng Chống Search Box Spam Trên Shopify?
Shopify yêu cầu can thiệp thủ công. Theo hướng dẫn chính thức, bạn cần chỉnh file theme.liquid và thêm code noindex cho trang tìm kiếm. Cụ thể: vào Online Store > Themes > Edit code > layout > theme.liquid, rồi thêm vào phần <head>:
{% if template contains 'search' %}
<meta name="robots" content="noindex">
{% endif %}Quan trọng: đừng dùng robots.txt để chặn trang tìm kiếm trên Shopify. Nếu robots.txt chặn crawl, Google không đọc được thẻ noindex, và bạn quay lại vòng lặp ban đầu.
Cách Kiểm Tra Robots.txt Đang Hoạt Động Đúng?
Bạn cần kiểm tra robots.txt định kỳ. Vào Google Search Console > Settings > Robots.txt Tester để xem Google đọc file của bạn ra sao. Công cụ này hiển thị chính xác phần nào Google áp dụng cho Googlebot và phần nào bị bỏ qua.
Ngoài ra, dùng URL Inspection Tool trong Search Console để kiểm tra từng URL cụ thể. Nếu trạng thái hiển thị “Indexed though blocked by robots.txt”, bạn biết ngay mình đang dùng sai phương pháp. Chuyển sang noindex để giải quyết triệt để.
Best Practices Cho Robots.txt 2026
Dựa trên phân tích của tôi và hướng dẫn từ Google, đây là các quy tắc bạn nên tuân thủ. Trước hết, giữ robots.txt đơn giản nhất có thể. Nếu không cần quy tắc riêng cho từng bot, chỉ dùng User-agent: *. Thứ hai, luôn nhớ rằng robots.txt không phải công cụ kiểm soát index. Cuối cùng, audit robots.txt mỗi quý, đặc biệt sau mỗi lần thay đổi cấu trúc website.
Đọc thêm về sự khác biệt giữa noindex và nofollow và cách Google quản lý crawl budget trong 2026 để hiểu bức tranh SEO tổng thể.
Kết Luận
Lỗi robots.txt bị bỏ qua không hiếm, nhưng hậu quả có thể nghiêm trọng. Từ search box spam đến index rác, tất cả đều bắt nguồn từ việc không hiểu quy tắc user-agent specificity. Thay đổi nhỏ trong file robots.txt có thể giải quyết vấn đề lớn. Và nhớ: noindex luôn là công cụ kiểm soát index đáng tin cậy hơn robots.txt.