Technical SEO

Robots.txt là gì? Hướng dẫn cấu hình chuẩn và những lỗi nguy hiểm cần tránh

Robots.txt là gì? Hướng dẫn cú pháp đầy đủ, template robots.txt chuẩn cho WordPress, các lỗi nguy hiểm nhất (block toàn website, block CSS/JS) và cách kiểm tra bằng GSC.

A
admin
10/08/2025
7 phút đọc
1,491 từ

Nếu sitemap XML là “bản đồ chỉ đường” cho Googlebot — thì robots.txt là “bảo vệ cổng” kiểm soát Googlebot có được phép vào những khu vực nào. Một file robots.txt được cấu hình đúng giúp bảo vệ các trang nhạy cảm và tối ưu crawl budget. Một file robots.txt bị cấu hình sai có thể vô tình block toàn bộ website khỏi Google — đây là một trong những lỗi Technical SEO nghiêm trọng nhất và thực sự đã xảy ra với nhiều website lớn. Bài viết này hướng dẫn toàn diện về robots.txt — từ cú pháp đến các pitfalls (bẫy kỹ thuật) cần tránh.

Robots.txt Là Gì?

Robots.txt (file văn bản đặt tại thư mục gốc của website (ví dụ: https://seonhanh.top/robots.txt, chứa các chỉ thị (directives) cho web crawlers biết trang nào được phép và không được phép crawl, theo chuẩn Robots Exclusion Protocol) là file đơn giản nhưng cực kỳ quyền lực.

Điểm quan trọng cần hiểu ngay:

  • Robots.txt kiểm soát crawling, không kiểm soát indexing — Googlebot có thể index trang bị disallowed trong robots.txt nếu có external links trỏ đến trang đó
  • Robots.txt là request, không phải enforcement (yêu cầu, không phải bắt buộc) — bots (robot tự động) tuân thủ quy tắc theo thiện chí, không bị ép buộc kỹ thuật. Malicious bots (bot độc hại) thường bỏ qua robots.txt
  • Robots.txt không ẩn nội dung khỏi người dùng — chỉ ảnh hưởng đến bots

Cú Pháp Robots.txt — Từng Directive Giải Thích

Cấu trúc cơ bản:

User-agent: *
Disallow: /admin/
Disallow: /checkout/
Allow: /public/
Sitemap: https://seonhanh.top/sitemap.xml

User-agent

User-agent (tác nhân người dùng — identifier của bot) chỉ định quy tắc áp dụng cho bot nào:

  • User-agent: * — áp dụng cho tất cả bots
  • User-agent: Googlebot — chỉ áp dụng cho Googlebot
  • User-agent: Bingbot — chỉ áp dụng cho Bing
  • User-agent: Googlebot-Image — chỉ áp dụng cho bot crawl ảnh của Google

Disallow

Disallow (không cho phép) chỉ định path (đường dẫn) không được crawl:

  • Disallow: / — block toàn bộ website ⚠️ CỰC KỲ NGUY HIỂM
  • Disallow: /admin/ — block thư mục /admin/ và tất cả subpaths
  • Disallow: /wp-admin/ — block WordPress admin (phổ biến và đúng)
  • Disallow: /?s= — block search results pages

Allow

Allow (cho phép) được dùng để cho phép một path cụ thể bên trong một path bị disallow:

User-agent: Googlebot
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php

admin-ajax.php (file PHP xử lý AJAX requests của WordPress) cần được Googlebot truy cập để render trang đúng — đây là exception (ngoại lệ) cổ điển trong robots.txt của WordPress.

Sitemap Directive

Khai báo vị trí sitemap XML — Googlebot đọc được ngay mà không cần tìm kiếm:

Sitemap: https://seonhanh.top/sitemap.xml
Sitemap: https://seonhanh.top/sitemap-images.xml

Robots.txt Chuẩn Cho WordPress

Template robots.txt tối ưu cho WordPress:

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /?s=
Disallow: /search/
Disallow: /trackback/
Disallow: /feed/
Disallow: /comments/feed/
Disallow: /author/
Allow: /wp-admin/admin-ajax.php

User-agent: Googlebot-Image
Allow: /wp-content/uploads/

Sitemap: https://seonhanh.top/sitemap.xml

Giải thích các disallow:

  • /wp-admin/: Trang quản trị WordPress — không cần index
  • /wp-includes/: Core files WordPress (file lõi WordPress) — không có nội dung cần index
  • /?s=: Search results pages (trang kết quả tìm kiếm nội bộ) — duplicate content risk cao
  • /feed/: RSS feeds (định dạng chuẩn phân phối nội dung) — không cần index thường
  • /author/: Author archive pages (trang lưu trữ bài theo tác giả) — thường là thin content

Các Lỗi Robots.txt Nguy Hiểm Nhất

Lỗi Code lỗi Hậu quả Cách phát hiện
Block toàn bộ website Disallow: / Toàn bộ website biến mất khỏi Google GSC Coverage Report báo lỗi hàng loạt
Block CSS và JavaScript Disallow: /wp-content/ Googlebot không render được trang đúng, ảnh hưởng rankings GSC → URL Inspection → xem Googlebot nhìn thấy gì
Block staging URL lan vào production Copy robots.txt từ staging có Disallow: / Website production bị block Kiểm tra robots.txt ngay sau mỗi deployment
Block hình ảnh Disallow: /wp-content/uploads/ Ảnh không xuất hiện trong Google Images Ahrefs → Site Audit → kiểm tra image indexing

Kiểm Tra Robots.txt

  • Google Search Console → Settings → robots.txt: Xem file robots.txt Google đang đọc và test URL cụ thể
  • Robots.txt Tester trong GSC: Nhập URL bất kỳ để kiểm tra xem Googlebot có được phép crawl không
  • Trực tiếp: Truy cập yoursite.com/robots.txt trong browser để xem nội dung hiện tại
  • Screaming Frog: Crawl và report tất cả URLs bị block bởi robots.txt

Đọc thêm về sitemap XML, crawling và indexingtechnical SEO audit để nắm toàn cảnh.

Câu hỏi thường gặp về Robots.txt

Robots.txt có thể ẩn nội dung khỏi Google hoàn toàn không?

Không hoàn toàn. Robots.txt block crawling nhưng không block indexing. Nếu có external links trỏ đến trang bị disallow, Google có thể vẫn index URL đó (biết URL tồn tại) dù không đọc được nội dung. Trang sẽ xuất hiện trong index nhưng không có snippet (đoạn trích nội dung). Để ẩn hoàn toàn: dùng thẻ noindex kết hợp password protection (bảo vệ bằng mật khẩu). Robots.txt phù hợp nhất để tiết kiệm crawl budget, không phải để bảo mật nội dung.

Có nên disallow category pages và tag pages không?

Phụ thuộc vào chất lượng nội dung của những trang đó. Nếu category pages có unique description và value — không nên disallow. Nếu là thin pages chỉ liệt kê bài viết không có nội dung riêng — có thể cân nhắc disallow hoặc tốt hơn là thêm noindex tag. Disallow qua robots.txt không lý tưởng cho trường hợp này vì Googlebot vẫn có thể index URL nếu có external links — tốt hơn nên dùng noindex meta tag để kiểm soát indexing rõ ràng hơn.

Robots.txt và noindex tag khác nhau thế nào?

Đây là một trong những điểm nhầm lẫn phổ biến nhất trong Technical SEO: robots.txt kiểm soát crawling (Googlebot có đến trang đó không), trong khi noindex kiểm soát indexing (Google có thêm trang vào index không). Mâu thuẫn nguy hiểm: nếu disallow một trang trong robots.txt, Googlebot không thể crawl trang đó để đọc noindex tag — dẫn đến trang có thể vẫn được index. Quy tắc vàng: không dùng robots.txt disallow cho trang muốn noindex — dùng noindex meta tag thay thế.

Cần cập nhật robots.txt bao lâu một lần?

Không có lịch cố định — cập nhật khi cần: thêm section mới cần block (staging subdirectory, new admin area), khi có tính năng mới tạo ra nhiều URLsparameters cần block, hoặc sau khi thay đổi cấu trúc website. Quan trọng: kiểm tra robots.txt sau mỗi lần update WordPress major version, sau mỗi lần thay theme, và sau mỗi lần deploy code mới lên production — đây là những thời điểm robots.txt dễ bị overwrite.