Tan Phat Media

Robots.txt Là Gì? Cách Tối Ưu Robots.txt Chuẩn SEO

25 tháng 5, 2026
4.683
robots.txt
robots txt seo
technical seo robots txt
google robots txt
crawl website seo
cách tạo robots.txt
robots.txt chuẩn seo
robots.txt theo google
cấu hình robots.txt website
Robots.txt Là Gì? Cách Tối Ưu Robots.txt Chuẩn SEO - Tấn Phát Digital

Một file thường nhỏ hơn 1 KB, nhưng chỉ cần một dòng sai là có thể xóa sổ toàn bộ traffic của bạn:

User-agent: *
Disallow: /

Bốn ký tự Disallow: / vô tình còn sót lại khi deploy từ staging lên production — và toàn bộ website biến mất khỏi Google. Đây là sức mạnh và cũng là sự nguy hiểm của robots.txt.

Bài viết này giải mã toàn bộ về robots.txt — từ cơ bản đến nâng cao. Bài dành cho: developer quản lý website, technical SEO chuyên về crawl/index, DevOps deploy production, và chủ website muốn hiểu để tránh rủi ro.

Phần 1: Robots.txt là gì?

Theo Google, robots.txt cho crawler biết những URL nào chúng có thể truy cập trên site của bạn. Mục đích chính là tránh làm quá tải server bằng quá nhiều request — nó KHÔNG phải là cơ chế để giấu một trang khỏi Google.

Hiểu lầm lớn nhất

Đây là điều hầu hết mọi người hiểu sai: robots.txt KHÔNG dùng để ẩn trang khỏi Google.

Google cảnh báo rõ: đừng dùng robots.txt như một cách để giấu trang khỏi kết quả tìm kiếm. Lý do: nếu các trang khác trỏ link tới trang đó kèm văn bản mô tả, Google vẫn có thể index URL đó mà không cần truy cập trang. Kết quả: trang vẫn xuất hiện trong search, chỉ là không có snippet/mô tả.

Muốn thật sự chặn một trang khỏi Google, hãy dùng:

<!-- Cách 1: meta noindex -->
<meta name="robots" content="noindex">
# Cách 2: HTTP header
X-Robots-Tag: noindex
# Cách 3: bảo vệ bằng mật khẩu
AuthType Basic
AuthName "Restricted"
AuthUserFile /path/.htpasswd
Require valid-user

Hoặc dùng công cụ Removals trong Search Console.

Phần 2: Robots.txt dùng cho gì?

Loại file

Dùng robots.txt để

Lưu ý

Trang web (HTML, PDF)

Quản lý lưu lượng crawl, tránh crawl trang không quan trọng hoặc trang trùng lặp

KHÔNG dùng để ẩn trang, không thay thế noindex hay mật khẩu

File media (ảnh, video, audio)

Quản lý crawl và có thể ngăn ảnh/video xuất hiện trong Google Search

Không ngăn được người khác link tới file

File tài nguyên (CSS, JS)

Hầu như không nên chặn

Nếu thiếu tài nguyên khiến Google khó hiểu trang, đừng chặn chúng

Cảnh báo quan trọng: đừng chặn CSS/JS. Nếu chặn, Google sẽ render ra một trang "trần trụi" và đánh giá kém — đây là lỗi kinh điển được nêu trong checklist Technical SEO.

# SAI — Google không render được trang đúng cách
User-agent: Googlebot
Disallow: /css/
Disallow: /js/

Phần 3: Cú pháp

Cấu trúc cơ bản gồm User-agent (chỉ định crawler) và các directive (Disallow, Allow, Sitemap).

Bot của Google

Mục đích

Googlebot

Crawler web chính

Googlebot-Image

Hình ảnh

Googlebot-Video

Video

Googlebot-News

Tin tức

AdsBot-Google

Google Ads

Mediapartners-Google

AdSense

User-agent: *              # áp dụng cho MỌI crawler
Disallow: /admin/          # chặn thư mục
Disallow: /private.html    # chặn file cụ thể
Disallow: /*?sort=         # chặn URL chứa ?sort=
Allow: /admin/public/      # Allow ghi đè Disallow

Sitemap: https://example.com/sitemap.xml

Wildcard:

  • * khớp bất kỳ chuỗi ký tự nào: Disallow: /*?utm_source= chặn mọi URL có tham số UTM.

  • $ khớp phần cuối URL: Disallow: /*.pdf$ chỉ chặn URL kết thúc bằng .pdf/page.pdf bị chặn, nhưng /page.pdf?ref=fb thì không.

  • # bắt đầu một comment.

Phần 4: Các template thường dùng

Cho phép tất cả (an toàn nhất cho hầu hết website):

User-agent: *
Allow: /

Sitemap: https://example.com/sitemap.xml

WordPress:

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /readme.html
Disallow: /xmlrpc.php
Disallow: /*?replytocom=

Allow: /wp-admin/admin-ajax.php

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

Ecommerce (chặn tổ hợp filter vô tận để tiết kiệm crawl budget):

User-agent: *

# Chặn khu vực admin và tài khoản
Disallow: /admin/
Disallow: /account/
Disallow: /checkout/
Disallow: /cart/

# Chặn tổ hợp tìm kiếm/lọc vô tận
Disallow: /search?
Disallow: /*?sort=
Disallow: /*?filter=

# Chặn tham số tracking
Disallow: /*?utm_
Disallow: /*?fbclid=
Disallow: /*?gclid=

# Cho phép trang quan trọng
Allow: /san-pham/
Allow: /danh-muc/

Sitemap: https://shop.com/sitemap.xml
Sitemap: https://shop.com/sitemap-products.xml

Chặn AI scraper (xu hướng 2024–2026):

User-agent: *
Allow: /

# Chặn các crawler thu thập dữ liệu huấn luyện AI
User-agent: GPTBot
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: Bytespider
Disallow: /

User-agent: Google-Extended
Disallow: /

Sitemap: https://example.com/sitemap.xml

Cân nhắc kỹ trước khi chặn: việc chặn các bot AI không ảnh hưởng thứ hạng trên Google Search (Google-Extended chỉ liên quan tới việc dùng nội dung cho các sản phẩm AI của Google, không phải xếp hạng Search). Tuy nhiên, trong bối cảnh AI Search ngày càng quan trọng, việc chặn hoàn toàn các AI crawler có thể làm giảm cơ hội thương hiệu bạn được AI trích dẫn. Hãy cân nhắc giữa bảo vệ nội dung và độ phủ thương hiệu.

Phần 5: Best practices

  • Vị trí: robots.txt phải nằm ở root của domain (https://example.com/robots.txt), không phải trong thư mục con.

  • Encoding: UTF-8, không có BOM.

  • Phân biệt hoa/thường: URL trong robots.txt case-sensitiveDisallow: /Admin/ không chặn /admin/. Nên dùng lowercase nhất quán.

  • Rule cụ thể hơn sẽ thắng khi có xung đột.

  • Luôn khai báo Sitemap — có thể có nhiều dòng Sitemap:.

  • Giữ đơn giản: một file robots.txt tối thiểu, rõ ràng, có comment tốt hơn một file 200 dòng rối rắm.

  • Test trước khi deploy bằng robots.txt tester hoặc công cụ online.

Phần 6: 10 sai lầm chết người

Sai lầm

Hậu quả

Cách đúng

Disallow: / trên production

Toàn bộ site bị chặn crawl

Checklist deploy + test ngay sau deploy

Chặn CSS/JS

Google render sai → tụt hạng

Cho phép Googlebot crawl CSS/JS

Dùng robots.txt để giấu nội dung

URL vẫn xuất hiện trong search; người khác đọc robots.txt là biết bạn có /private-data/

Dùng mật khẩu + noindex

Quên directive Sitemap

Google khó tìm sitemap

Luôn thêm Sitemap:

Đặt file sai vị trí

Google không tìm thấy

Luôn để ở root

Chặn chính file sitemap

Google không crawl được sitemap

Đừng chặn /sitemap.xml

Rule mâu thuẫn nhau

Hành vi khó đoán

Rule rõ ràng, nhất quán

Chặn Googlebot-Image toàn bộ

Mất traffic từ Google Images

Chỉ chặn ảnh không muốn hiển thị

Chặn tham số quá rộng (Disallow: /*?)

Chặn mọi URL có query string, kể cả URL hợp lệ

Chặn tham số cụ thể: /*?utm_, /*?fbclid=

Không test sau deploy

Không phát hiện lỗi kịp thời

Test ngay sau mỗi thay đổi

Phần 7: Giới hạn của robots.txt

Google nêu ba giới hạn quan trọng:

  1. Không phải crawler nào cũng tuân thủ. Chỉ thị trong robots.txt không thể cưỡng chế hành vi của crawler — việc tuân theo là tùy ở crawler. Googlebot, Bingbot tuân thủ; nhưng spam bot và scraping bot có thể phớt lờ. Robots.txt không bảo vệ nội dung khỏi bot xấu.

  2. Mỗi crawler diễn giải rule khác nhau — cần test với từng công cụ tìm kiếm quan trọng.

  3. Trang bị disallow vẫn có thể được index nếu được link từ site khác — như đã nói ở Phần 1.

Phần 8: Robots.txt theo nền tảng

WordPress có robots.txt ảo mặc định; có thể tùy chỉnh qua plugin (Yoast, Rank Math → Tools → File editor) hoặc tạo file vật lý ở root.

Shopify cho phép chỉnh qua robots.txt.liquid:

{% for group in robots.default_groups %}
  {{- group.user_agent }}
  {%- for rule in group.rules -%}
    {{ rule }}
  {%- endfor -%}
  {%- if group.sitemap != blank -%}
    {{ group.sitemap }}
  {%- endif -%}
{% endfor %}

# Custom rules
User-agent: GPTBot
Disallow: /

Next.js: tạo file public/robots.txt.

Nginx (phục vụ trực tiếp từ server):

location = /robots.txt {
    add_header Content-Type text/plain;
    return 200 "User-agent: *\nAllow: /\n\nSitemap: https://example.com/sitemap.xml\n";
}

Phần 9: Giám sát

  • Search Console: dùng robots.txt tester để validate cú pháp và test URL cụ thể; xem Crawl Stats (Settings → Crawl Stats) để biết Google fetch robots.txt khi nào và phát hiện vấn đề.

  • Server log: kiểm tra request tới robots.txt — Google thường fetch file này khoảng mỗi 24 giờ.

grep "robots.txt" /var/log/nginx/access.log | tail -20
  • Công cụ ngoài: Screaming Frog (test tác động của robots.txt), Sitebulb (audit toàn diện).

Phần 10: Checklist

Giai đoạn

Cần kiểm tra

Trước deploy

File ở root domain; UTF-8, không BOM; URL lowercase nhất quán; không lỗi cú pháp; có directive Sitemap; comment rõ ràng

Kiểm thử

Test bằng robots.txt tester; test nhiều URL (cả allowed lẫn disallowed); xác nhận CSS/JS không bị chặn; xác nhận trang quan trọng không bị chặn

Production

Deploy cẩn thận; test ngay sau deploy; theo dõi Search Console trong 24h; kiểm tra crawl stats

Kết luận

Robots.txt là file nhỏ nhưng sức mạnh khổng lồ: một dòng sai có thể phá hủy toàn bộ SEO, một setup đúng giúp tối ưu crawl budget hiệu quả. Năm thông điệp cốt lõi: (1) KHÔNG dùng robots.txt để giấu trang — hãy dùng noindex hoặc mật khẩu; (2) KHÔNG chặn CSS/JS; (3) LUÔN khai báo Sitemap; (4) TEST ngay sau khi deploy; và (5) giữ đơn giản.

Robots.txt là nền tảng của chiến lược Technical SEO và quản lý crawl hiệu quả. Nếu bạn muốn tối ưu Technical SEO và xây dựng website chuẩn Google, hãy tham khảo dịch vụ SEO website hoặc liên hệ Tấn Phát Digital để được tư vấn.

Biên soạn và Việt hóa từ tài liệu Google Search Central về robots.txt. Code sample và best practice thuộc về Tấn Phát Digital.

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

Robots.txt là gì?

Robots.txt là tệp văn bản đặt ở thư mục gốc của website để hướng dẫn bot công cụ tìm kiếm được phép hoặc không được phép truy cập khu vực nào. Đây là công cụ kiểm soát crawl, không phải phương pháp bảo mật nội dung.

Robots.txt có ảnh hưởng đến SEO như thế nào?

Robots.txt ảnh hưởng trực tiếp đến việc crawl website. Nếu chặn nhầm trang quan trọng, Google có thể không thu thập dữ liệu đúng cách, làm giảm khả năng index. Ngược lại, cấu hình hợp lý giúp bot tập trung vào các trang có giá trị SEO cao hơn.

Robots.txt có khác gì với noindex không?

Robots.txt dùng để chặn bot truy cập URL, còn noindex là chỉ thị yêu cầu công cụ tìm kiếm không đưa trang vào kết quả tìm kiếm. Nếu một trang bị chặn bởi robots.txt, bot có thể không đọc được thẻ noindex trên trang đó.

Nên chặn những thư mục hoặc trang nào trong robots.txt?

Bạn nên cân nhắc chặn các khu vực không cần xuất hiện trên tìm kiếm như trang admin, giỏ hàng, trang lọc tham số, kết quả tìm kiếm nội bộ hoặc file hệ thống. Không nên chặn các trang sản phẩm, danh mục hoặc bài viết cần SEO.

Có nên chặn file CSS và JavaScript trong robots.txt không?

Thông thường không nên chặn CSS và JavaScript vì Google cần truy cập các tài nguyên này để hiểu bố cục, giao diện mobile và trải nghiệm trang. Chặn các file này có thể khiến công cụ tìm kiếm đánh giá sai nội dung hoặc chất lượng hiển thị.

Cú pháp cơ bản của robots.txt gồm những gì?

Robots.txt thường dùng các dòng như User-agent để xác định bot, Disallow để chặn truy cập, Allow để cho phép truy cập một phần và Sitemap để khai báo sơ đồ website. Cú pháp cần chính xác vì chỉ sai một ký tự cũng có thể gây chặn nhầm.

Tệp robots.txt nên đặt ở đâu để hoạt động đúng?

Tệp robots.txt phải được đặt ở thư mục gốc của domain, ví dụ domain.com/robots.txt. Nếu đặt sai vị trí, công cụ tìm kiếm có thể không đọc được. Mỗi subdomain cũng cần có robots.txt riêng nếu muốn áp dụng quy tắc riêng biệt.

Làm sao kiểm tra robots.txt có đang chặn nhầm trang quan trọng hay không?

Bạn có thể kiểm tra bằng Google Search Console, xem báo cáo crawl và thử URL cụ thể để biết bot có bị chặn không. Ngoài ra nên rà soát lại các dòng Disallow, đặc biệt sau khi chỉnh sửa website hoặc cài plugin SEO mới.

Có nên khai báo sitemap trong robots.txt không?

Có, vì việc thêm dòng Sitemap giúp bot tìm thấy sơ đồ website nhanh hơn, nhất là với site lớn hoặc có cấu trúc phức tạp. Dù không bắt buộc, đây vẫn là cách hỗ trợ quá trình crawl và index hiệu quả hơn.

Những lỗi robots.txt phổ biến cần tránh là gì?

Các lỗi thường gặp gồm chặn toàn bộ website bằng Disallow: /, chặn nhầm thư mục chứa nội dung SEO, chặn CSS hoặc JS, dùng sai cú pháp và quên cập nhật sau khi website thay đổi cấu trúc. Những lỗi này có thể làm giảm khả năng index nghiêm trọng.

Bài cùng chuyên mục

Bài trụ cột của chủ đề

Hình ảnh đại diện của bài viết: Nghiên Cứu Từ Khóa SEO 2026: Tìm Từ Khóa "Hái Ra Tiền"
Bài trụ cột

Nghiên Cứu Từ Khóa SEO 2026: Tìm Từ Khóa "Hái Ra Tiền"

Nghiên cứu từ khóa SEO cho người mới 2026: phân biệt từ khóa thông tin vs "hái ra tiền", chọn theo ý định tìm kiếm, công cụ miễn phí và lập bản đồ từ khóa.

Bài mới nhất cùng chuyên mục

Zalo
Facebook
Tấn Phát Digital
Zalo
Facebook