File robots.txt là một file dùng để cấm hoặc cho phép các cỗ máy tìm kiếm đánh chỉ mục cho website của bạn, những con robots này hoạt động hoàn toàn tự động và thông thường thì trước khi truy cập vào website của bạn để “craw” chúng sẽ kiểm tra file robots.txt xem có hiện diện không, nếu có nó sẽ phân tích xem bạn có ngăn cấm nó thực hiện lập chỉ mục cái mà nó đang có dự định lập không. Và thông thường file này cần phải để cùng với thư mục root của website, tôi lấy ví dụ đường dẫn hợp lệ là “domain.com/robots.txt”. Tuy nhiên, bạn cần lưu ý là file robots.txt này có hoạt động hay không hay bị các công cụ tìm kiếm bỏ qua là việc khác, các Spammer và những hacker khai thác lỗ hổng thường bỏ qua file robots này và vẫn thực hiện càn quét website của bạn. Vì thế nếu bạn ngăn cấm một thư mục nào đó trong file robots là chưa đủ, bạn nên đặt mật khẩu cho chúng hoặc dùng các phương pháp thích hợp để những kẻ cố tình không thể nhòm ngó được các thông tin này.
Phần mềm Ninja xin hướng dẫn 1 số nội dung sau:
Các robots phải tuân thủ nội quy do robots.txt đề ra 😛
Nếu các bạn muốn chắc chắn rằng đường dẫn hoặc folder của bạn không được truy cập, các bạn có thể truy cập vào công cụ quản trị website miễn phí của Google để kiểm tra nhé, Google Webmaster có thông báo rất chi tiết về tình trạng của Website bạn.
Còn nếu bạn đang không cấm bất kỳ một đường dẫn hay folder nào trong website của bạn thì bạn không cần phải sử dụng file robots này, thậm chí bạn không cần một file trống nữa cơ.
Nhưng cũng xin lưu ý thêm với các bạn là dù có cấm một đường dẫn trong file robots.txt thì kết quả của bạn vẫn sẽ được Google hiển thị trên kết quả tìm kiếm, nó sẽ hiển thị theo anchor name của đường dẫn khi trỏ tới đường dẫn bị cấm, nhưng sẽ không có mô tả thêm nào mà thay vào đó là dòng cảnh báo “file robots.txt của trang này ngăn cản việc lập chỉ mục” – hoặc cái gì đó tương đương.
Để sử dụng được file robots.txt các bạn cần phải có quyền root của domain hoặc hosting, và cần phải để file này vào folder gốc trên cùng của website, ví dụ nếu bạn đang để root là như sau: “domain.com/blog/” thì file robots.txt sẽ ở “domain.com/blog/robots.txt”.
Phương án thay thế thì có nhiều cách, bạn có thể sử dụng thẻ meta robots hoặc X-ROBOTS trong Header khi trả về của Website, nhưng chúng ta sẽ bàn luận tới vấn đề này sau.
Trong một file robot.txt sẽ có nội dung như sau:
User-agent: Quy định dành riêng cho cỗ máy tìm kiếm nào (* tất cả hoặc Google-bot ) Disallow: Đường dẫn hay folder bạn đang muốn cấm
Đoạn mã trên chỉ là ví dụ, bạn cũng có thể tạo ra nhiều hơn một dòng cấm, các dòng cho phép hoặc danhsách các User-Agent, lưu ý là mỗi dòng lệnh phân cách bằng xuống dòng
Mỗi một phần trong file robots.txt này phân cách và không dùng các giá trị của các giá trị quy định trước đó, tôi có thể lấy ví dụ như sau:
User-agent: * Disallow: /folder1/ User-Agent: Googlebot Disallow: /folder2/
Trong ví dụ này thì tất cả các cỗ máy tìm kiếm đều không được phép chui vào folder1 và Riêng Google bot sẽ không được chui vào vừa folder1 và cả folder2 nữa.
Với mỗi dòng Disallow là một đường dẫn bạn muốn cấm lập chỉ mục, bạn có thể list một lô xích xông các đường dẫn bằng dấu xuống dòng, nhưng chúng ta cũng không được quên dấu (/) khi bắt đầu nhé.
Để cấm toàn bộ trang, ta dùng lệnh này:
Disallow: /
Để cấm một folder và tất tật các thứ sâu hơn bên trong nữa, ta dùng lệnh này:
Disallow: /junk-directory/
Để cấm một trang nào đó, ta liệt kê hẳn đường dẫn ra:
Disallow: /private_file.html
Tôi lấy ví dụ như để cấm Google ảnh index một ảnh của bạn:
User-agent: Googlebot-Image Disallow: /images/dogs.jpg
Và đoạn code này thì cấm hẳn Google Ảnh index trang của bạn:
User-agent: Googlebot-Image Disallow: /
Để cấm hàng loạt các loại file, ta dùng dấu đô la ( tượng trưng cho “tương tự như …”):
User-agent: Googlebot Disallow: /*.gif$
Còn đoạn code sau đây là cấm toàn bộ các máy tìm kiếm lập chỉ mục trang của bạn, nhưng chúng ta không nên cấm cả Google Adsense nếu bạn đang hiển thị quảng cáo trên trang của bạn, việc cho phép này hoàn toàn không ảnh hưởng vì con bot của Google Adsense không chia sẻ kết quả với các loại khác của Google:
User-agent: * Disallow: / User-agent: Mediapartners-Google Allow: /
Có một điều cần phải lưu ý ở đây, là Google phân biệt “Uppercase” trong đường dẫn, nếu bạn cấm “domain.com/a.html” thì nó sẽ vẫn lập chỉ mục cho “domain.com/A.html”, và cũng nên tránh khoảng trắng trong đường dẫn cấm vì Google hay các cỗ máy khác sẽ không hiểu đoạn đó và bỏ qua.
Google bot có một thuật toán giống với Python, đó mà “matching”, Nhưng tôi chả biết các cỗ máy khác có không, và có một vài trường hợp đặc biệt như sau:
Ta sẽ dùng dấu sao (*) để tìm kiếm tất cả các thứ có liên quan đằng sau nó:
User-agent: Googlebot Disallow: /private*/
Bạn cũng có thể cấm tất tật các thứ có dấu hỏi chấm (?) đằng sau, ví dụ:
User-agent: Googlebot Disallow: /*?
Khi bạn muốn cấm bất kỳ cái gì có đuôi là XLS chẳng hạn, hãy dùng dấu tương tự ($)
User-agent: Googlebot Disallow: /*.xls$
Bạn hoàn toàn có thể dùng cả Allow và Disallow bằng các dấu đặc biệt này:
User-agent: * Allow: /*?$ Disallow: /*?
Để tôi giải thích thêm: Đoạn code này là cấm toàn bộ các thứ liên quan tới dấu hỏi chấm ở đằng sau, nhưng lại cho phép tất cả các đường dẫn có kết thúc bằng dấu hỏi chấm.
Thêm một điều đặc biệt nữa, bạn có thể để đường dẫn sitemap vào trong robots.txt để khai báo cho các cỗ máy tìm kiếm biết và lập chỉ mục, ví dụ:
Sitemap http://domain.com/sitemap.xml
Bây giờ bạn có thể tạo được file robots.txt cho riêng mình rồi đó, bạn hãy thử kiểm tra bằng cách truy cập domain.com/robots.txt và kiểm tra các dòng lệnh xem có hợp lệ không nhé !
Chúc các bạn thành công !