Tệp robots.txt là một công cụ quan trọng giúp bạn kiểm soát cách mà các công cụ tìm kiếm thu thập dữ liệu trên trang web của bạn. Bằng cách thiết lập đúng cách, bạn có thể hướng dẫn các bot tìm kiếm về những phần trang web mà chúng được phép hoặc không được phép truy cập. Trong bài viết này, chúng ta sẽ tìm hiểu cách viết và gửi tệp robots.txt một cách chi tiết, từ việc tạo tệp đến việc kiểm tra và gửi cho Google.
Nếu bạn đang sử dụng một dịch vụ lưu trữ web như Wix hoặc Blogger, có khả năng bạn không cần hoặc không thể tự mình chỉnh sửa trực tiếp tệp robots.txt. Thay vào đó, các nhà cung cấp dịch vụ này thường cung cấp các tùy chọn cài đặt tìm kiếm hoặc các cơ chế tích hợp khác để thông báo cho công cụ tìm kiếm biết liệu có nên thu thập dữ liệu từ trang web của bạn hay không.
Trong trường hợp bạn muốn kiểm soát khả năng hiển thị của một trang cụ thể trên công cụ tìm kiếm, bạn nên tham khảo tài liệu hướng dẫn của dịch vụ lưu trữ để tìm cách chỉnh sửa chế độ hiển thị trong kết quả tìm kiếm. Ví dụ, bạn có thể tìm kiếm cụm từ “wix ẩn trang khỏi công cụ tìm kiếm” để nhận được hướng dẫn cụ thể.
Tệp robots.txt là một công cụ hữu ích cho phép bạn kiểm soát quyền truy cập của các trình thu thập dữ liệu (crawlers) trên trang web của mình. Tệp này thường được đặt tại thư mục gốc của trang web. Chẳng hạn, đối với trang web www.example.com, tệp robots.txt sẽ nằm tại địa chỉ www.example.com/robots.txt. Đây là một tệp văn bản thuần túy tuân theo tiêu chuẩn loại trừ robot (robots exclusion standard), trong đó chứa các quy tắc chỉ định liệu một bot cụ thể có được phép thu thập dữ liệu từ một đường dẫn nhất định trên trang web của bạn hay không. Mặc định, nếu không có quy tắc nào được chỉ định, tất cả các trình thu thập dữ liệu đều được phép truy cập vào các tài nguyên của trang web.
Ví dụ: Một tệp robots.txt đơn giản có thể bao gồm hai quy tắc như sau:
makefile
User-agent: Googlebot
Disallow: /nogooglebot/User-agent: *Allow: /
Sitemap: https://www.example.com/sitemap.xml
Trong tệp robots.txt này, quy tắc đầu tiên chỉ định rằng Googlebot không được phép thu thập dữ liệu từ bất kỳ URL nào bắt đầu bằng https://example.com/nogooglebot/. Quy tắc thứ hai cho phép tất cả các bot khác được quyền thu thập dữ liệu trên toàn bộ trang web. Tuy nhiên, ngay cả khi không có quy tắc này, mặc định tất cả các bot vẫn sẽ được phép truy cập toàn bộ trang web, trừ khi có quy tắc disallow cụ thể.
Ngoài ra, tệp robots.txt này cũng chỉ định vị trí của tệp sitemap, giúp các bot tìm kiếm có thể dễ dàng tìm thấy sơ đồ trang web tại địa chỉ https://www.example.com/sitemap.xml. Điều này hỗ trợ tối ưu quá trình thu thập dữ liệu và lập chỉ mục nội dung của trang web.
Hãy đảm bảo rằng tệp robots.txt của bạn được cấu hình chính xác để tránh những vấn đề không mong muốn trong quá trình tối ưu hóa công cụ tìm kiếm (SEO).
Nguyên tắc cơ bản để tạo tệp robots.txt
Các nguyên tắc cơ bản để tạo tệp robots.txt trong SEO bao gồm bốn bước chính như sau:
- Tạo tệp robots.txt
- Thêm các quy tắc vào tệp robots.txt
- Tải tệp robots.txt lên thư mục gốc của trang web
- Kiểm tra tệp robots.txt
Tạo tệp robots.txt
Để tạo tệp robots.txt, bạn có thể sử dụng bất kỳ trình soạn thảo văn bản nào, chẳng hạn như Notepad, TextEdit, vi hoặc emacs. Điều quan trọng là tránh sử dụng các trình xử lý văn bản vì chúng thường lưu tệp dưới các định dạng độc quyền và có thể thêm các ký tự không mong muốn (ví dụ: dấu ngoặc kép cong), điều này có thể gây ra lỗi khi các trình thu thập dữ liệu cố gắng phân tích cú pháp tệp. Hãy luôn lưu tệp dưới định dạng mã hóa UTF-8 nếu được yêu cầu trong quá trình lưu.
Quy tắc về định dạng và vị trí:
- Tệp phải được đặt tên là robots.txt.
- Trang web của bạn chỉ có thể có một tệp robots.txt duy nhất.
- Tệp robots.txt phải được đặt tại thư mục gốc của máy chủ trang web, tương ứng với phạm vi mà tệp này sẽ áp dụng. Ví dụ, để kiểm soát quá trình thu thập dữ liệu cho tất cả các URL trên https://www.example.com/, tệp robots.txt cần được đặt tại https://www.example.com/robots.txt. Bạn không thể đặt tệp này trong các thư mục con, chẳng hạn như https://example.com/pages/robots.txt. Nếu bạn không biết cách truy cập vào thư mục gốc của trang web hoặc cần quyền truy cập, hãy liên hệ với nhà cung cấp dịch vụ lưu trữ web của bạn. Nếu bạn không thể truy cập vào thư mục gốc, bạn có thể sử dụng các phương pháp thay thế như thẻ meta để kiểm soát quyền truy cập của các bot.
- Tệp robots.txt có thể được đăng trên các miền con (ví dụ: https://website.example.com/robots.txt) hoặc trên các cổng không chuẩn (ví dụ: https://example.com:8181/robots.txt).
- Tệp robots.txt chỉ áp dụng cho các đường dẫn trong giao thức, máy chủ và cổng nơi tệp này được đăng. Nói cách khác, các quy tắc trong https://example.com/robots.txt chỉ áp dụng cho các tệp trên https://example.com/, chứ không áp dụng cho các miền con như https://m.example.com/ hoặc các giao thức khác như http://example.com/.
- Tệp robots.txt phải là tệp văn bản được mã hóa UTF-8 (bao gồm cả ASCII). Google có thể bỏ qua các ký tự không nằm trong phạm vi UTF-8 vì các quy tắc trong tệp robots.txt có thể không hiển thị chính xác nếu sử dụng mã hóa khác.
Cách viết quy tắc trong tệp robots.txt
Các quy tắc trong tệp robots.txt đóng vai trò hướng dẫn các trình thu thập dữ liệu (crawlers) về những phần của trang web được phép hoặc không được phép truy cập. Khi thêm quy tắc vào tệp robots.txt, bạn cần tuân theo các nguyên tắc chuyên ngành sau:
- Cấu trúc nhóm quy tắc: Tệp robots.txt có thể bao gồm một hoặc nhiều nhóm quy tắc. Mỗi nhóm chứa một loạt các quy tắc (lệnh) được viết trên từng dòng riêng biệt. Mỗi nhóm bắt đầu bằng dòng “User-agent” để xác định bot mà nhóm quy tắc đó áp dụng.
- Nội dung của nhóm quy tắc: Mỗi nhóm quy tắc cung cấp thông tin về:
- Bot mà nhóm quy tắc áp dụng (user-agent).
- Các thư mục hoặc tệp mà bot được phép truy cập.
- Các thư mục hoặc tệp mà bot không được phép truy cập.
- Thứ tự xử lý: Trình thu thập dữ liệu sẽ xử lý các nhóm quy tắc theo thứ tự từ trên xuống dưới. Một bot cụ thể chỉ khớp với một nhóm quy tắc duy nhất, đó là nhóm đầu tiên và cụ thể nhất khớp với tên bot. Nếu có nhiều nhóm quy tắc cho cùng một bot, chúng sẽ được kết hợp thành một nhóm trước khi xử lý.
- Mặc định thu thập dữ liệu: Theo mặc định, nếu không có quy tắc “disallow”, các bot được phép thu thập dữ liệu từ mọi trang hoặc thư mục.
- Phân biệt chữ hoa chữ thường: Các quy tắc trong tệp robots.txt có phân biệt chữ hoa và chữ thường. Ví dụ, “disallow: /file.asp” chỉ áp dụng cho https://www.example.com/file.asp, nhưng không áp dụng cho https://www.example.com/FILE.asp.
- Nhận xét trong tệp: Ký tự “#” được sử dụng để đánh dấu nhận xét trong tệp. Các nhận xét sẽ bị bỏ qua trong quá trình xử lý.
Các lệnh trong tệp robots.txt được Google hỗ trợ:
- user-agent: Lệnh này là bắt buộc và xuất hiện ít nhất một lần trong mỗi nhóm. Nó xác định tên của bot (trình thu thập dữ liệu) mà quy tắc áp dụng. Dấu hoa thị (*) đại diện cho tất cả các bot, ngoại trừ AdsBot, mà bạn cần chỉ định tên cụ thể. Ví dụ:
plaintext
# Ví dụ 1: Chặn chỉ Googlebot
User-agent: Googlebot
Disallow: /# Ví dụ 2: Chặn Googlebot và AdsbotUser-agent: Googlebot
User-agent: AdsBot-Google
Disallow: /
# Ví dụ 3: Chặn tất cả các bot ngoại trừ AdsBot
User-agent: *
Disallow: /
- Disallow: Lệnh này chỉ định thư mục hoặc trang (tương đối so với miền gốc) mà bạn không muốn bot truy cập. Quy tắc này phải bắt đầu bằng ký tự “/” và nếu áp dụng cho thư mục, thư mục phải kết thúc bằng dấu “/”.
- Allow: Lệnh này cho phép bot truy cập vào một thư mục hoặc trang (tương đối so với miền gốc), ngay cả khi thư mục hoặc trang đó nằm trong một thư mục bị chặn bởi quy tắc “disallow”. Nó ghi đè quy tắc “disallow” để cho phép thu thập dữ liệu tại các vị trí cụ thể.
- Sitemap: Lệnh này không bắt buộc, nhưng nếu có, nó xác định vị trí của sơ đồ trang web (sitemap) cho trang web. URL của sitemap phải là một URL đầy đủ, và Google không tự động kiểm tra các phiên bản thay thế. Ví dụ:
plaintext
Sitemap: https://example.com/sitemap.xml
Sitemap: https://www.example.com/sitemap.xml
Mọi quy tắc trong tệp robots.txt, ngoại trừ “sitemap”, đều hỗ trợ ký tự đại diện “*” để khớp với các phần của đường dẫn. Các dòng không tuân theo bất kỳ quy tắc nào trong danh sách trên sẽ bị bỏ qua.
Để hiểu chi tiết hơn về cách Google xử lý tệp robots.txt, bạn nên tham khảo hướng dẫn từ Google để nắm vững quy cách của từng quy tắc.
Tải tệp robots.txt lên
Khi bạn đã hoàn thành việc lưu tệp robots.txt trên máy tính, bạn sẽ cần tải tệp này lên máy chủ của trang web để trình thu thập dữ liệu từ các công cụ tìm kiếm có thể truy cập. Không có công cụ tự động nào hỗ trợ quá trình này, vì cách thức tải tệp robots.txt lên phụ thuộc vào cấu trúc trang web và máy chủ mà bạn đang sử dụng. Bạn nên liên hệ với nhà cung cấp dịch vụ lưu trữ của mình hoặc tham khảo tài liệu hỗ trợ của họ, chẳng hạn như tìm kiếm “cách tải tệp lên infomaniak”.
Sau khi tệp robots.txt được tải lên, bạn cần kiểm tra xem tệp này có thể truy cập công khai hay không và Google có thể phân tích cú pháp nội dung của tệp.
Kiểm tra mã đánh dấu trong tệp robots.txt
Để đảm bảo tệp robots.txt có thể truy cập công khai, hãy mở một cửa sổ trình duyệt ở chế độ duyệt web riêng tư (hoặc chế độ tương đương) và nhập địa chỉ URL của tệp robots.txt. Ví dụ, bạn có thể nhập https://example.com/robots.txt. Nếu tệp hiển thị đúng nội dung khi truy cập, bạn đã sẵn sàng để kiểm tra mã đánh dấu của tệp.
Google cung cấp hai phương pháp để kiểm tra mã đánh dấu trong tệp robots.txt:
- Trình kiểm tra robots.txt trong Google Search Console: Công cụ này chỉ có thể được sử dụng cho các tệp robots.txt hiện đang có sẵn trên trang web của bạn. Nó giúp bạn kiểm tra xem tệp có được cấu hình đúng cách hay không và Google có thể hiểu được các quy tắc mà bạn đã thiết lập.
- Thư viện robots.txt mã nguồn mở của Google: Nếu bạn là nhà phát triển, bạn có thể sử dụng thư viện này để kiểm tra tệp robots.txt trực tiếp trên máy tính cá nhân của mình. Thư viện này cũng được sử dụng bởi Google Search, do đó nó cung cấp một cách chính xác để kiểm tra tệp trước khi tải lên.
Gửi tệp robots.txt cho Google
Sau khi bạn đã tải tệp robots.txt lên và xác minh rằng nó hoạt động đúng cách, các trình thu thập dữ liệu của Google sẽ tự động tìm và sử dụng tệp này để điều hướng quá trình thu thập dữ liệu trên trang web của bạn. Bạn không cần thực hiện thêm bất kỳ hành động nào. Tuy nhiên, nếu bạn đã cập nhật tệp robots.txt và cần Google làm mới bản sao đã lưu trong bộ nhớ đệm, bạn có thể tìm hiểu cách gửi phiên bản cập nhật của tệp này cho Google để quá trình làm mới diễn ra nhanh chóng hơn.
Các quy tắc hữu ích trong tệp robots.txt
Dưới đây là một số quy tắc phổ biến và quan trọng mà bạn có thể sử dụng trong tệp robots.txt để quản lý hiệu quả việc thu thập dữ liệu của các công cụ tìm kiếm:
- Chặn toàn bộ trang web khỏi việc thu thập dữ liệu
- Quy tắc này ngăn mọi bot thu thập dữ liệu từ toàn bộ trang web của bạn. Tuy nhiên, hãy lưu ý rằng Google có thể vẫn lập chỉ mục các URL ngay cả khi không thu thập dữ liệu.
- Lưu ý: Quy tắc này không áp dụng cho nhiều trình thu thập dữ liệu của AdsBot. Bạn cần chỉ định cụ thể nếu muốn chặn các bot này.
plaintext
User-agent: *
Disallow: /
- Chặn thu thập dữ liệu một thư mục và toàn bộ nội dung bên trong
- Quy tắc này ngăn bot thu thập dữ liệu từ một thư mục cụ thể và toàn bộ nội dung trong thư mục đó bằng cách thêm dấu gạch chéo vào cuối tên thư mục.
- Lưu ý: Tệp robots.txt không phải là giải pháp phù hợp để chặn quyền truy cập vào nội dung riêng tư. Hãy sử dụng các phương thức bảo mật khác. Google có thể lập chỉ mục các URL bị chặn mà không cần thu thập dữ liệu. Bất kỳ ai cũng có thể xem tệp robots.txt, điều này có thể tiết lộ vị trí của các nội dung riêng tư.
plaintext
User-agent: *
Disallow: /calendar/
Disallow: /junk/
Disallow: /books/fiction/contemporary/
- Chỉ cho phép một trình thu thập dữ liệu cụ thể truy cập
- Ví dụ: Quy tắc này chỉ cho phép googlebot-news thu thập dữ liệu trên toàn bộ trang web, trong khi ngăn cản các bot khác.
plaintext
User-agent: *User-agent: Googlebot-news
Allow: /
Disallow: / - Chặn một bot cụ thể nhưng cho phép các bot khác truy cập
- Quy tắc này ngăn cản bot Unnecessarybot thu thập dữ liệu trên trang web, trong khi cho phép các bot khác truy cập.
plaintext
User-agent: *User-agent: Unnecessarybot
Disallow: /
Allow: / - Chặn thu thập dữ liệu trên một trang cụ thể của trang web
- Ví dụ: Quy tắc này không cho phép thu thập dữ liệu trên trang useless_file.html và trang other_useless_file.html nằm trong thư mục junk.
plaintext
User-agent: *
Disallow: /useless_file.html
Disallow: /junk/other_useless_file.html
- Chặn thu thập dữ liệu toàn bộ trang web ngoại trừ một thư mục con
- Quy tắc này chỉ cho phép các bot thu thập dữ liệu trong thư mục con public, trong khi chặn tất cả các phần khác của trang web.
plaintext
User-agent: *
Disallow: /
Allow: /public/
- Chặn một hình ảnh cụ thể khỏi việc xuất hiện trên Google Hình ảnh
- Ví dụ: Quy tắc này chặn không cho hình ảnh dogs.jpg xuất hiện trên Google Hình ảnh.
plaintext
User-agent: Googlebot-Image
Disallow: /images/dogs.jpg
- Chặn toàn bộ hình ảnh trên trang web khỏi Google Hình ảnh
- Quy tắc này ngăn cản Google lập chỉ mục và thu thập dữ liệu tất cả hình ảnh trên trang web của bạn.
plaintext
User-agent: Googlebot-Image
Disallow: /
- Chặn thu thập dữ liệu các tệp thuộc một định dạng cụ thể
- Ví dụ: Quy tắc này không cho phép thu thập dữ liệu từ tất cả các tệp .gif.
plaintext
User-agent: Googlebot
Disallow: /*.gif$
- Chặn toàn bộ trang web ngoại trừ Mediapartners-Google
- Quy tắc này chặn toàn bộ trang web khỏi kết quả tìm kiếm, nhưng vẫn cho phép Mediapartners-Google thu thập dữ liệu để quyết định quảng cáo hiển thị.
plaintext
User-agent: Mediapartners-GoogleUser-agent: *
Disallow: /
Allow: / - Sử dụng ký tự đại diện * và $ để khớp với những URL kết thúc bằng một chuỗi cụ thể
- Ví dụ: Quy tắc này chặn không cho phép thu thập dữ liệu từ tất cả các tệp có phần mở rộng .xls.
plaintext
User-agent: Googlebot
Disallow: /*.xls$
Tệp robots.txt là một phần không thể thiếu trong việc tối ưu hóa SEO và bảo vệ nội dung trang web. Bằng cách thiết lập đúng, bạn có thể kiểm soát cách các bot tìm kiếm truy cập và lập chỉ mục nội dung, giúp nâng cao hiệu quả SEO và bảo mật thông tin quan trọng trên trang web của bạn. Hãy luôn kiểm tra kỹ càng sau khi tạo và tải lên tệp robots.txt để đảm bảo rằng nó hoạt động như mong muốn.
