Robots.txt là gì? Hướng dẫn đầy đủ về cách hoạt động

Robots.txt là gì?

Robots.txt là một tệp văn bản đặc biệt nằm tại thư mục gốc của website, giúp kiểm soát quyền truy cập của các trình thu thập dữ liệu (hay còn gọi là web crawler như Googlebot hoặc Bingbot) đến các phần cụ thể trên trang web.

Thông qua các chỉ dẫn như User-agent, Disallow, và Allow, robots.txt hướng dẫn các công cụ tìm kiếm nên hoặc không nên truy cập vào những khu vực nào trong website của bạn. Khi được cấu hình chính xác, nó giúp bảo vệ tài nguyên nhạy cảm, tối ưu crawl budget, và cải thiện hiệu suất lập chỉ mục của trang web trên Google và các công cụ tìm kiếm khác.

Cấu trúc và cú pháp File robots.txt

File robots.txt có cấu trúc khá đơn giản, bao gồm một hoặc nhiều nhóm quy tắc. Mỗi nhóm bắt đầu bằng một dòng User-agent và theo sau là các chỉ thị Disallow, Allow, Crawl-delay hoặc Sitemap.

Dưới đây là các thuật ngữ phổ biến và ý nghĩa của chúng:

  • User-agent: Đây là tên của bot (web crawler) mà quy tắc bên dưới sẽ áp dụng. Ví dụ:
    • User-agent: Googlebot (áp dụng cho bot của Google)
    • User-agent: Bingbot (áp dụng cho bot của Bing)
    • User-agent: * (dấu sao đại diện cho tất cả các bot, đây là thiết lập phổ biến)
  • Disallow: Chỉ thị này thông báo cho bot không được truy cập vào một URL hoặc một thư mục cụ thể. Mỗi dòng Disallow chỉ nên chứa một URL hoặc một đường dẫn thư mục.
    • Ví dụ: Disallow: /hinh-anh-rieng-tu/ (chặn truy cập thư mục hinh-anh-rieng-tu)
    • Ví dụ: Disallow: /trang-noi-bo.html (chặn truy cập file trang-noi-bo.html)
    • Nếu để trống (Disallow:), nghĩa là không chặn gì cả, cho phép bot truy cập mọi thứ.
  • Allow: Chỉ thị này cho phép bot truy cập một URL hoặc một thư mục con cụ thể, ngay cả khi thư mục cha của nó đã bị chặn bởi lệnh Disallow. Lệnh Allow thường được dùng để ghi đè một lệnh Disallow trước đó. Theo một số nguồn, lệnh này chủ yếu được Googlebot nhận diện và tuân theo.
  • Chặn toàn bộ thư mục /wp-admin/ nhưng cho phép truy cập file admin-ajax.php bên trong đó
  • Crawl-delay: Chỉ thị này yêu cầu bot chờ một khoảng thời gian nhất định (tính bằng giây) trước khi thu thập dữ liệu trang tiếp theo. Mục đích là để giảm tải cho máy chủ.
    • Ví dụ: Crawl-delay: 10 (yêu cầu bot chờ 10 giây)
    • Lưu ý quan trọng: Googlebot hiện không còn thừa nhận lệnh Crawl-delay. Nếu bạn muốn kiểm soát tốc độ thu thập dữ liệu của Googlebot, bạn nên cài đặt trong Google Search Console. Các bot khác như Bingbot vẫn có thể tuân theo lệnh này.
  • Sitemap: Chỉ thị này dùng để khai báo vị trí của (các) tệp Sitemap XML của website. Điều này giúp các công cụ tìm kiếm dễ dàng tìm thấy tất cả các trang quan trọng trên website của bạn để thu thập dữ liệu. Lệnh này được hỗ trợ bởi Google, Bing, Yahoo, và Ask. Bạn có thể khai báo nhiều sitemap.
    • Ví dụ: Sitemap: https://www.example.com/sitemap.xml
    • Ví dụ: Sitemap: https://www.example.com/sitemap_index.xml
Cấu trúc và Cú pháp File robots.txt

Tại sao cần File robots.txt cho Website?

Việc sử dụng file robots.txt mang lại nhiều lợi ích quan trọng cho website của bạn, đặc biệt trong việc quản lý cách các công cụ tìm kiếm tương tác với nội dung:

  1. Kiểm soát quyền truy cập của bot: Đây là công dụng chính. Bạn có thể chỉ định rõ ràng những thư mục, tệp tin hoặc trang nào mà bạn không muốn các bot của công cụ tìm kiếm truy cập. Ví dụ: các trang quản trị, thư mục chứa tài liệu nội bộ.
  2. Ngăn chặn nội dung trùng lặp (duplicate content) xuất hiện trên SERP: Mặc dù robots.txt không phải là phương pháp chính để xử lý duplicate content (thẻ canonical hoặc noindex hiệu quả hơn cho việc ngăn index), nó có thể giúp ngăn bot lãng phí thời gian thu thập các phiên bản URL khác nhau của cùng một nội dung (ví dụ: URL có tham số, phiên bản in).
  3. Giữ một số phần của trang ở chế độ riêng tư: Bạn có thể chặn các khu vực chứa thông tin mà bạn không muốn công khai hoặc xuất hiện trên kết quả tìm kiếm, chẳng hạn như các trang thử nghiệm, tài liệu nội bộ. Tuy nhiên, cần nhớ rằng robots.txt không phải là một biện pháp bảo mật tuyệt đối.
  4. Ngăn các trang kết quả tìm kiếm nội bộ xuất hiện trên SERP: Các trang kết quả tìm kiếm trên website của bạn (ví dụ: yourdomain.com/?s=keyword) thường không mang lại giá trị cho người dùng từ Google và có thể tạo ra nhiều trang chất lượng thấp. Chặn chúng bằng Disallow: /*?s= là một thực hành tốt.
  5. Chỉ định vị trí của Sitemap XML: Khai báo sitemap trong robots.txt giúp các công cụ tìm kiếm dễ dàng tìm thấy danh sách các URL quan trọng trên website của bạn để thu thập dữ liệu.
  6. Ngăn bot index các tệp không cần thiết: Bạn có thể không muốn các tệp như PDF không quan trọng, hình ảnh thử nghiệm, hoặc các tệp script nội bộ được thu thập và có khả năng bị index.
  7. Giúp tối ưu hóa Crawl Budget (Ngân sách thu thập dữ liệu): Bằng cách hướng dẫn bot bỏ qua các phần không quan trọng, bạn giúp chúng tập trung tài nguyên (crawl budget) vào việc thu thập và lập chỉ mục các trang quan trọng, có giá trị nhất trên website.
  8. Ngăn chặn máy chủ bị quá tải (phần nào): Đối với các website rất lớn, việc bot thu thập dữ liệu liên tục có thể gây áp lực lên máy chủ. Mặc dù Googlebot không còn hỗ trợ Crawl-delay, một số bot khác có thể tuân thủ, hoặc việc chặn các khu vực không cần thiết cũng gián tiếp giảm tải. Tuy nhiên, việc điều chỉnh tốc độ crawl trong Google Search Console là giải pháp tốt hơn cho Googlebot.
Tại sao cần File robots.txt cho Website?

Những hạn chế của file robots.txt

Mặc dù hữu ích, file robots.txt cũng có những hạn chế quan trọng mà bạn nắm rõ:

  1. Không phải tất cả các bot đều tuân thủ: Các công cụ tìm kiếm lớn và uy tín (Google, Bing, Yahoo) thường tuân theo các chỉ thị trong robots.txt. Tuy nhiên, các bot bất chính như malware robots (bot thu thập email, bot tấn công) hoặc các scraping bots (bot cào dữ liệu) có thể hoàn toàn bỏ qua file này.
  2. Mỗi trình thu thập dữ liệu có thể phân tích cú pháp theo cách riêng: Mặc dù có những tiêu chuẩn chung, một số bot có thể diễn giải các chỉ thị trong robots.txt hơi khác nhau, đặc biệt là với các cú pháp phức tạp hơn.
  3. Trang bị chặn trong robots.txt vẫn có thể bị lập chỉ mục: Đây là một hiểu lầm phổ biến. Nếu một trang bị Disallow trong robots.txt nhưng lại có nhiều liên kết từ các trang khác (trên website của bạn hoặc từ website khác) trỏ đến nó, URL đó vẫn có thể được Google phát hiện và lập chỉ mục. Tuy nhiên, vì bot không thể crawl nội dung trang đó, kết quả tìm kiếm có thể chỉ hiển thị URL hoặc một đoạn mô tả ngắn dựa trên anchor text của các liên kết trỏ đến, thay vì nội dung thực tế. Để ngăn chặn việc lập chỉ mục một cách hiệu quả, hãy sử dụng thẻ meta noindex hoặc X-Robots-Tag.
  4. Không phải là phương pháp bảo mật thông tin tuyệt đối: Tuyệt đối không nên dùng robots.txt để ẩn hoặc bảo vệ dữ liệu nhạy cảm (như thông tin cá nhân người dùng, dữ liệu tài chính). Bất kỳ ai cũng có thể xem nội dung file robots.txt của bạn, và như đã nói, các bot xấu có thể bỏ qua nó. Hãy sử dụng các biện pháp bảo mật thực sự như mật khẩu bảo vệ thư mục hoặc xác thực người dùng.
  5. Các liên kết trên trang bị chặn sẽ không được bot theo dõi: Nếu một trang bị Disallow, các bot tuân thủ sẽ không truy cập trang đó. Do đó, bất kỳ liên kết nào (internal link hoặc external link) trên trang đó cũng sẽ không được bot “nhìn thấy” và “đi theo” (follow). Điều này có nghĩa là Link Juice (giá trị liên kết) sẽ không được truyền từ trang bị chặn đó đến các trang khác.
Những Hạn chế của File robots.txt

File robots.txt hoạt động như thế nào?

Quy trình hoạt động của file robots.txt khá đơn giản và diễn ra trước khi bot bắt đầu thu thập dữ liệu các trang khác trên website của bạn:

  1. Bot tìm nạp file robots.txt: Khi một web crawler (ví dụ: Googlebot) muốn truy cập một website (ví dụ: www.example.com), điều đầu tiên nó làm là cố gắng tìm và tải xuống file robots.txt tại địa chỉ www.example.com/robots.txt.
  2. Bot đọc và phân tích cú pháp các chỉ thị: Sau khi tải xuống, bot sẽ đọc nội dung của file robots.txt để hiểu các quy tắc và chỉ dẫn được đặt ra. Nó sẽ tìm các dòng User-agent phù hợp với nó và các lệnh Disallow, Allow tương ứng.
  3. Bot tuân theo các chỉ thị: Dựa trên các quy tắc đã đọc, bot sẽ quyết định những URL nào trên website nó được phép truy cập và thu thập dữ liệu, và những URL nào nó phải bỏ qua. Các bot “ngoan” (như Googlebot, Bingbot) sẽ tôn trọng các chỉ thị này.
  4. Trường hợp không có file robots.txt hoặc file trống: Nếu website không có file robots.txt, hoặc file robots.txt tồn tại nhưng trống rỗng hoặc không chứa bất kỳ chỉ thị Disallow nào, các bot sẽ mặc định rằng chúng được phép thu thập dữ liệu tất cả các trang trên website đó.
File robots.txt Hoạt động như thế nào?

Google thường lưu trữ (cache) nội dung file robots.txt trong khoảng 24 giờ. Nếu bạn cập nhật file này, có thể mất một khoảng thời gian để Googlebot nhận ra sự thay đổi.

Vị trí File robots.txt trên Website

  • Vị trí chuẩn: File robots.txt PHẢI được đặt trong thư mục gốc (root directory hay root domain) của website. Đây là thư mục chính chứa tất cả các tệp và thư mục khác của trang web.
  • Ví dụ URL: Nếu tên miền của bạn là https://www.example.com, thì URL của file robots.txt phải là https://www.example.com/robots.txt.
  • Lưu ý quan trọng:
    • Tên file phải chính xác là robots.txt (tất cả đều là chữ thường).
    • Nếu bạn đặt file robots.txt trong một thư mục con (ví dụ: https://www.example.com/subfolder/robots.txt), các bot của công cụ tìm kiếm sẽ KHÔNG tìm thấy và không đọc được nó.
  • Đối với WordPress: WordPress thường tạo ra một file robots.txt “ảo” (virtual) theo mặc định, ngay cả khi không có file vật lý nào tồn tại trong thư mục gốc. Bạn có thể tạo file robots.txt của riêng mình để ghi đè lên file ảo này.
  • Đối với Subdomain: Mỗi subdomain (ví dụ: blog.example.com, shop.example.com) được coi là một website riêng biệt. Do đó, nếu bạn có các subdomain, mỗi subdomain đó cũng cần có file robots.txt riêng, đặt tại thư mục gốc của subdomain đó (ví dụ: https://blog.example.com/robots.txt).
Vị trí File robots.txt trên Website

Cách kiểm tra website có File robots.txt không

  1. Cách đơn giản nhất: Mở trình duyệt web của bạn (Chrome, Firefox, Safari, v.v.) và nhập địa chỉ theo cú pháp: tên_miền_của_bạn.com/robots.txt.
    • Ví dụ: https://www.google.com/robots.txt hoặc https://www.thegioididong.com/robots.txt.
  2. Giải thích kết quả:
    • Nếu bạn thấy nội dung văn bản (các dòng lệnh như User-agent, Disallow, Sitemap…): Điều này có nghĩa là website đó có file robots.txt và bạn đang xem nội dung của nó.
    • Nếu bạn thấy lỗi 404 (Page Not Found) hoặc một trang hoàn toàn trống: Điều này có nghĩa là website đó không có file robots.txt hoặc file không thể truy cập được.
  3. Cách kiểm tra nâng cao (sử dụng công cụ):
    • Google Search Console: Nếu bạn là chủ sở hữu website và đã xác minh website với Google Search Console, bạn có thể sử dụng “Công cụ kiểm tra robots.txt” (Robots.txt Tester). Công cụ này không chỉ cho bạn biết Google có thể truy cập file robots.txt của bạn hay không mà còn cho phép bạn kiểm tra xem một URL cụ thể có bị chặn bởi file robots.txt hay không, đồng thời hiển thị các lỗi hoặc cảnh báo nếu có.
Cách Kiểm tra Website có File robots.txt không

Các cách tạo File robots.txt

Có nhiều cách để tạo file robots.txt, từ việc tạo thủ công hoàn toàn đến sử dụng các công cụ và plugin hỗ trợ, đặc biệt phổ biến với các nền tảng CMS như WordPress.

Tạo File robots.txt Thủ công

Đây là cách cơ bản nhất và áp dụng được cho mọi loại website.

  1. Sử dụng trình soạn thảo văn bản: Mở một trình soạn thảo văn bản đơn giản như Notepad (trên Windows), TextEdit (trên macOS ở chế độ plain text), hoặc các trình soạn thảo code nâng cao hơn như Notepad++, Sublime Text, VS Code.
    • Lưu ý quan trọng: Khi lưu file, đảm bảo bạn chọn định dạng mã hóa là UTF-8 để tránh các vấn đề tương thích.
  2. Viết nội dung file: Dựa trên cấu trúc và cú pháp đã học ở phần trên, hãy viết các chỉ thị User-agent, Disallow, Allow, Sitemap phù hợp với nhu cầu của website bạn.
  3. Lưu tên file chính xác: Lưu file với tên chính xác là robots.txt. Tên file phải là chữ thường hoàn toàn.
  4. Tải file lên thư mục gốc: Sử dụng một trình khách FTP (như FileZilla) hoặc trình quản lý tệp (File Manager) trong cPanel, Plesk, hoặc giao diện quản trị hosting của bạn để tải file robots.txt vừa tạo lên thư mục gốc của website. Thư mục này thường có tên là public_html, www, htdocs, hoặc tên miền chính của bạn.
  5. Lưu ý cho WordPress: Nếu bạn đang dùng WordPress và nó có một file robots.txt ảo mặc định, việc tải lên file robots.txt vật lý của bạn vào thư mục gốc sẽ ghi đè lên file ảo đó.

Sử dụng Plugin Yoast SEO

Yoast SEO là một trong những plugin SEO phổ biến nhất cho WordPress.

  1. Cài đặt và kích hoạt Yoast SEO: Nếu chưa có, hãy cài đặt và kích hoạt plugin này.
  2. Truy cập công cụ chỉnh sửa file: Trong WordPress Dashboard, đi tới SEO > Tools (Công cụ).
  3. Chọn File editor (Trình chỉnh sửa tập tin): Nhấp vào liên kết “File editor”.
  4. Chỉnh sửa file robots.txt: Nếu bạn chưa có file robots.txt vật lý, Yoast SEO sẽ cho phép bạn tạo một file mới. Nếu đã có, bạn sẽ thấy nội dung của nó và có thể chỉnh sửa trực tiếp trong giao diện này.
  5. Lưu thay đổi: Sau khi chỉnh sửa, nhấp vào nút “Save changes to robots.txt”.
  6. Lưu ý: Một số cấu hình máy chủ hoặc cài đặt bảo mật WordPress có thể không cho phép chỉnh sửa file trực tiếp. Nếu bạn không thấy tùy chọn “File editor” hoặc không thể lưu, bạn có thể cần kích hoạt tính năng chỉnh sửa file trong WordPress (thường liên quan đến quyền ghi file) hoặc tạo file thủ công.

Sử dụng Plugin All in One SEO (AIOSEO)

All in One SEO là một plugin SEO mạnh mẽ khác cho WordPress.

  1. Cài đặt và kích hoạt AIOSEO: Tương tự Yoast, hãy cài đặt và kích hoạt plugin này.
  2. Kích hoạt tính năng Robots.txt: Trong WordPress Dashboard, đi tới All in One SEO > Feature Manager (Quản lý tính năng). Tìm đến mục “Robots.txt” và đảm bảo nó đã được Activate (Kích hoạt).
  3. Truy cập và chỉnh sửa file robots.txt: Sau khi kích hoạt, một tab hoặc mục mới liên quan đến Robots.txt sẽ xuất hiện trong menu của All in One SEO > Robots.txt hoặc trong phần SEO Analysis. Từ đây, bạn có thể xem và chỉnh sửa file robots.txt.
  4. Giao diện và tùy chọn: Giao diện của AIOSEO có thể khác Yoast. Một số phiên bản AIOSEO có thể “làm mờ” các dòng mặc định của WordPress trong file robots.txt ảo và cho phép bạn thêm các quy tắc tùy chỉnh.
    • Ưu điểm: Thường dễ sử dụng, tích hợp sẵn các quy tắc tốt cho WordPress.
    • Nhược điểm: Có thể có ít quyền kiểm soát trực tiếp hơn so với việc chỉnh sửa file thủ công, tùy thuộc vào cách plugin triển khai tính năng.
Các Cách Tạo File robots.txt

Cách viết và gửi tệp Robots.txt

Quy tắc và lưu ý khi sử dụng File robots.txt

Để file robots.txt hoạt động hiệu quả và không gây ra các vấn đề không mong muốn cho SEO, hãy ghi nhớ các quy tắc và lưu ý sau:

Một số Quy tắc và Lưu ý Quan trọng khi sử dụng File robots.txt
  1. Vị trí và tên file: Luôn đặt file robots.txt ở thư mục gốc của website và đặt tên chính xác là robots.txt (chữ thường). Đây là điều kiện tiên quyết để bot tìm thấy nó.
  2. Không chặn CSS và JavaScript quan trọng: Các tệp CSS và JavaScript giúp Googlebot hiểu cách website của bạn hiển thị và hoạt động. Nếu bạn chặn các tệp này, Google có thể không “nhìn thấy” trang của bạn đúng cách, dẫn đến việc đánh giá sai lệch và ảnh hưởng tiêu cực đến xếp hạng.
  3. Đối với WordPress, không Disallow thư mục theme và plugin: Cụ thể là không nên thêm Disallow: /wp-content/themes/ hoặc Disallow: /wp-content/plugins/ một cách tùy tiện. Mặc dù bạn có thể muốn chặn một số tài nguyên cụ thể bên trong, việc chặn toàn bộ các thư mục này có thể ngăn Google truy cập các tài sản cần thiết để render trang.
  4. Tuyệt đối không dùng để ẩn thông tin nhạy cảm: Lặp lại một lần nữa, robots.txt không phải là biện pháp bảo mật. Dữ liệu cá nhân, thông tin bí mật cần được bảo vệ bằng mật khẩu hoặc các phương pháp xác thực khác.
  5. Liên kết trên trang bị Disallow sẽ không được theo dõi: Nếu một trang bị chặn bởi Disallow, các bot sẽ không crawl trang đó và do đó sẽ không theo dõi các liên kết trên trang đó. Điều này có nghĩa là Link Juice sẽ không được truyền đi từ các trang bị chặn.
  6. Sử dụng đường dẫn tương đối (relative path): Trong các lệnh Disallow và Allow, hãy sử dụng đường dẫn tương đối (bắt đầu bằng dấu /, ví dụ: /thu-muc-con/). Riêng đối với lệnh Sitemap, bạn phải sử dụng URL tuyệt đối (bao gồm cả http:// hoặc https:// và tên miền).
  7. Quy tắc cho User-agent: Bạn có thể chỉ định quy tắc riêng cho từng User-agent cụ thể (ví dụ: Googlebot, Bingbot) hoặc áp dụng chung cho tất cả các bot bằng cách sử dụng User-agent: *. Các quy tắc cho user-agent cụ thể thường được ưu tiên hơn.
  8. Google cache file robots.txt: Google thường lưu trữ phiên bản cache của file robots.txt và cập nhật nó ít nhất một lần mỗi ngày. Nếu bạn thực hiện thay đổi quan trọng, có thể mất đến 24 giờ để Google nhận diện. Bạn có thể yêu cầu Google cập nhật nhanh hơn thông qua Google Search Console (bằng cách gửi lại file robots.txt trong công cụ kiểm tra).

Phân biệt robots.txt, Meta robots và X-robots-tag

Phân biệt robots.txt, Meta robots và X-robots-tag

Trong SEO kỹ thuật, ngoài robots.txt, còn có hai cơ chế quan trọng khác để kiểm soát việc thu thập dữ liệu và lập chỉ mục của công cụ tìm kiếm: thẻ Meta robots và X-Robots-Tag. Hiểu rõ sự khác biệt giữa chúng là rất cần thiết:

Đặc điểmrobots.txtMeta robots TagX-Robots-Tag
LoạiTệp văn bản (.txt)Thẻ HTML trong phần <head> của trangTiêu đề HTTP (HTTP header) được gửi từ máy chủ
Phạm viToàn bộ website, thư mục, hoặc nhóm URL (cấp độ website/thư mục)Từng trang HTML cụ thể (cấp độ trang)Từng trang hoặc loại tệp cụ thể (ví dụ: PDF, hình ảnh, tài liệu – cấp độ trang/loại tệp)
Mục đích chínhHướng dẫn việc thu thập dữ liệu (crawl) – cho phép/không cho phép truy cập.Hướng dẫn việc lập chỉ mục (index) và theo dõi liên kết (follow) cho một trang.Hướng dẫn việc lập chỉ mục (index) và các chỉ thị khác cho trang hoặc tệp không phải HTML.
Vị tríThư mục gốc của website.Trong phần <head> </head> của mã HTML của trang.Trong phản hồi HTTP header của máy chủ cho một yêu cầu URL.
Ví dụ chỉ thịDisallow: /private/<meta name=”robots” content=”noindex, nofollow”>Header set X-Robots-Tag “noindex, noarchive”
Mức độ tuân thủCác bot “ngoan” tuân thủ, nhưng không bắt buộc. Không phải là cơ chế chặn index.Các bot “ngoan” thường tuân thủ nghiêm ngặt hơn đối với việc index/noindex.Tương tự Meta robots, được tuân thủ nghiêm ngặt hơn robots.txt, đặc biệt hữu ích cho tệp không phải HTML.
Linh hoạtÍt linh hoạt cho từng trang riêng lẻ.Linh hoạt cho từng trang HTML.Rất linh hoạt, áp dụng được cho cả tệp không phải HTML mà không cần sửa đổi nội dung tệp.

Trường hợp xung đột và lưu ý quan trọng:

  • Nếu file robots.txt chặn (Disallow) một URL, các công cụ tìm kiếm như Googlebot sẽ không thể truy cập URL đó. Điều này có nghĩa là chúng cũng sẽ không thể đọc được bất kỳ thẻ Meta robots ví dụ: noindex nào trên trang đó, hoặc tiêu đề X-Robots-Tag nào được máy chủ gửi cho trang đó.
  • Do đó, robots.txt không phải là cách hiệu quả để yêu cầu noindex (không lập chỉ mục) một trang. Nếu bạn muốn một trang không xuất hiện trong kết quả tìm kiếm, hãy sử dụng thẻ Meta noindex hoặc X-Robots-Tag noindex và đảm bảo rằng trang đó không bị chặn bởi robots.txt để bot có thể nhìn thấy chỉ thị noindex.

Các lỗi thường gặp khi sử dụng File robots.txt

Cấu hình sai file robots.txt có thể dẫn đến những hậu quả nghiêm trọng cho SEO, từ việc chặn nhầm nội dung quan trọng đến việc không ngăn được bot truy cập các khu vực không mong muốn. Dưới đây là một số lỗi thường gặp:

Các Lỗi Thường Gặp khi sử dụng File robots.txt
  1. Không đặt file ở thư mục gốc: Như đã đề cập, file robots.txt phải nằm ở domain.com/robots.txt. Đặt ở bất kỳ vị trí nào khác sẽ khiến bot không tìm thấy.
  2. Sử dụng ký tự đại diện (*, $) kém hoặc sai:
    • Ví dụ: Disallow: /directory* có thể chặn cả /directory-backup/ nếu không cẩn thận.
    • Quên dấu $ ở cuối khi muốn chặn một loại file cụ thể, ví dụ Disallow: /*.pdf thay vì Disallow: /*.pdf$, có thể vô tình chặn các URL chứa .pdf trong đường dẫn.
  3. Sử dụng lệnh noindex trong file robots.txt: Google đã chính thức ngừng hỗ trợ lệnh noindex (cũng như nofollow cho các chỉ thị trong file) trong file robots.txt từ ngày 1 tháng 9 năm 2019. Bất kỳ lệnh noindex nào trong robots.txt đều sẽ bị bỏ qua. Hãy sử dụng thẻ meta robots hoặc X-Robots-Tag.
  4. Chặn nhầm các tệp CSS và JavaScript quan trọng: Điều này ngăn Googlebot render trang đúng cách, ảnh hưởng đến khả năng hiểu nội dung và trải nghiệm người dùng của trang, từ đó có thể làm giảm thứ hạng.
  5. Không khai báo hoặc khai báo sai URL Sitemap XML:
    • Không khai báo sitemap làm lỡ cơ hội giúp bot tìm thấy nội dung nhanh hơn.
    • Khai báo URL sitemap sai (ví dụ: lỗi cú pháp, URL không tồn tại, URL tương đối thay vì tuyệt đối) sẽ khiến bot không thể truy cập sitemap.
  6. Để bot truy cập và lập chỉ mục website đang trong giai đoạn phát triển (staging site): Nếu website staging của bạn có thể truy cập công khai và không được chặn đúng cách (ví dụ: bằng mật khẩu bảo vệ hoặc Disallow: / trong robots.txt của staging site), nội dung thử nghiệm có thể bị index, gây ra vấn đề duplicate content khi website chính thức ra mắt.
  7. Sử dụng URL tuyệt đối (thay vì tương đối) trong các lệnh Disallow/Allow: Các lệnh Disallow và Allow nên sử dụng đường dẫn tương đối (ví dụ: /private/). Sử dụng URL tuyệt đối (ví dụ: http://domain.com/private/) có thể không được tất cả các bot hiểu đúng.
  8. Sử dụng các phần tử hoặc lệnh không còn được hỗ trợ: Ngoài noindex, lệnh Crawl-delay không được Googlebot hỗ trợ (mặc dù các bot khác có thể vẫn dùng). Luôn cập nhật các thực hành tốt nhất từ tài liệu của các công cụ tìm kiếm.
  9. Sai sót về chữ hoa/thường trong tên file hoặc đường dẫn: Tên file phải là robots.txt. Mặc dù các lệnh bên trong file thường không phân biệt chữ hoa/thường, đường dẫn URL có thể phân biệt chữ hoa/thường trên một số máy chủ. Tốt nhất là thống nhất cách viết.
  10. File robots.txt quá lớn: Google xử lý các file robots.txt có kích thước lên đến 500 KiB. Nội dung vượt quá giới hạn này có thể bị bỏ qua.

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

Google xử lý các file robots.txt có kích thước lên đến 500 KiB (Kilobytes). Nếu file của bạn lớn hơn, Google có thể sẽ không xử lý toàn bộ nội dung.

File robots.txt phải được đặt trong thư mục gốc (root directory) của tên miền chính, ví dụ: https://www.yourdomain.com/robots.txt.

Bạn có thể chỉnh sửa thủ công bằng cách tạo file và tải lên qua FTP/Trình quản lý tệp của hosting, hoặc sử dụng các plugin SEO phổ biến như Yoast SEO hoặc All in One SEO, chúng thường có công cụ tích hợp để chỉnh sửa file này.

Googlebot sẽ không bao giờ thấy lệnh Noindex vì nó đã bị chặn truy cập trang đó bởi lệnh Disallow trong robots.txt. Google đã ngừng hỗ trợ lệnh noindex trong file robots.txt từ năm 2019. Để noindex một trang, hãy dùng thẻ meta robots hoặc X-Robots-Tag và đảm bảo trang đó không bị Disallow.

Không. File robots.txt chỉ áp dụng cho host (tên miền hoặc subdomain) mà nó được đặt trên đó. Trong các lệnh Disallow và Allow, bạn nên sử dụng đường dẫn tương đối (ví dụ: /folder/page.html). Chỉ có lệnh Sitemap là sử dụng URL tuyệt đối.

Cách tốt nhất và được Google khuyên dùng để tạm ngừng khẩn cấp việc thu thập dữ liệu là trả về mã trạng thái HTTP 503 Service Unavailable cho tất cả các yêu cầu URL (bao gồm cả file robots.txt). Việc thay đổi file robots.txt thành Disallow: / sẽ có tác dụng, nhưng có thể mất thời gian hơn để Google xử lý và không phải là giải pháp cho tình huống khẩn cấp.

Nếu không có file robots.txt, các công cụ tìm kiếm sẽ mặc định rằng chúng được phép thu thập dữ liệu tất cả các trang và tệp trên website của bạn.

Nếu file robots.txt có lỗi cú pháp nghiêm trọng, các bot của công cụ tìm kiếm có thể bỏ qua toàn bộ file hoặc diễn giải sai các chỉ thị. Điều này có thể dẫn đến việc chúng thu thập dữ liệu các phần bạn không muốn hoặc bỏ qua các chỉ thị quan trọng. Hãy sử dụng công cụ kiểm tra robots.txt của Google Search Console để xác thực file của bạn.

Không hoàn toàn. robots.txt chỉ ngăn chặn việc thu thập dữ liệu. Nếu trang đó được liên kết từ nơi khác, URL vẫn có thể bị index (nhưng không có nội dung). Để chặn hoàn toàn việc lập chỉ mục, hãy sử dụng thẻ meta noindex hoặc X-Robots-Tag noindex.

  • robots.txt: Hướng dẫn các bot của công cụ tìm kiếm về những phần nào của website chúng được phép hoặc không được phép thu thập dữ liệu (crawl).
  • sitemap.xml: Cung cấp một danh sách các URL trên website mà bạn muốn công cụ tìm kiếm biết đến và thu thập dữ liệu, cùng với siêu dữ liệu bổ sung (ví dụ: tần suất thay đổi, mức độ ưu tiên). Nói cách khác, robots.txt là về quy tắc truy cập, còn sitemap.xml là về khám phá nội dung.
  • Để trống file robots.txt (không có nội dung gì).
  • Hoặc tạo file robots.txt với nội dung sau:

User-agent: *

Disallow:

  • (Dòng Disallow: để trống có nghĩa là không chặn gì cả).

Kết luận

Tệp robots.txt giúp các quản trị viên website kiểm soát hành vi của trình thu thập dữ liệu, từ đó tối ưu hóa quy trình lập chỉ mục và cải thiện hiệu suất SEO kỹ thuật. Việc cấu hình đúng và hợp lý không chỉ giúp bảo vệ nội dung nội bộ, mà còn đảm bảo Googlebot ưu tiên thu thập những trang giá trị nhất trên website của bạn.

Đọc thêm