Rất nhiều thời gian kể từ khi câu hỏi và câu trả lời này đã được đăng. Kể từ đó mọi thứ đã thay đổi rất nhiều. Khuyến nghị điển hình về crawlers disallow để truy cập wp-content/themes
, wp-content/plugins
, wp-content/cache
, wp-includes
, và bất kỳ thư mục khác có chứa CSS hoặc js file cần thiết trong trang web, không còn giá trị.
Ví dụ: hãy nói về Google. Googlebot đã kết xuất các trang web không có CSS và không có js, nhưng thực tế không phải vậy. Trên thực tế, Googlebot lấy tài liệu đầy đủ và kiểm tra những thứ như độ phản hồi, số lượng, vị trí và kích thước của tập lệnh, v.v. Vì vậy, Google không thích nếu bạn không cho phép Googlebot truy cập các tệp CSS và js. Điều đó có nghĩa rằng bạn không nên không cho phép wp-content/themes
, wp-content/plugins
, wp-content/cache
và wp-includes
vì tất cả các thư mục có thể phục vụ CSS và js file.
Theo quan điểm của tôi, thực sự tệp robot.txt tốt nhất là tệp được tạo bởi WordPress theo mặc định ( robot.txt dưới đây là mặc định kể từ WP 4.0 ):
User-agent: *
Disallow: /wp-admin/
Nếu bạn có thư mục cgi-bin, có thể không nên cho phép thư mục cgi-bin:
User-agent: *
Disallow: /wp-admin/
Disallow: /cgi-bin/
Và nếu bạn sử dụng sơ đồ trang web, bạn nên đưa tham chiếu sơ đồ trang web vào tệp robots.txt (bạn vẫn cần gửi thủ công sơ đồ trang web cho Công cụ quản trị trang web của Google và Bing, nhưng tham chiếu có thể hữu ích cho các trình thu thập thông tin khác):
User-agent: *
Disallow: /wp-admin/
Disallow: /cgi-bin/
Sitemap: http://example.com/sitemap.xml
Đó là nói chung. Các trang web cụ thể có thể không cho phép các thư mục và tệp khác cần được nghiên cứu trong từng trường hợp cụ thể. Đối với exmaple, bạn có thể cần hoặc bạn có thể không cho phép một thư mục plugin cụ thể:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-content/plugins/plugin-folder/
Để sửa đổi tệp robots.txt, hãy sử dụng robots_txt
bộ lọc (sử dụng tệp robot.txt thực sự sẽ khiến WordPress không còn khả năng xử lý robot.txt). Ví dụ:
add_filter( 'robots_txt', function( $output ) {
$output .= "Disallow: /cgi-bin/\n";
$output .= "Disallow: /wp-content/plugins/plugin-folder-i-want-to-block/\n";
$output .= "\nSitemap: " . site_url( 'sitemap.xml' ) . "\n";
return $output;
});