Robot.txt có thể nằm trong thư mục con của máy chủ không?


16

Tôi có một thư mục con mà tôi muốn ẩn khỏi trình thu thập dữ liệu web của công cụ tìm kiếm.

Một cách để làm điều này là sử dụng một robots.txttrong thư mục gốc của máy chủ (cách tiêu chuẩn). Tuy nhiên, bất kỳ ai biết URL trang web và có một số kiến ​​thức web cơ bản đều có thể truy cập nội dung robot.txt và có thể phát hiện các thư mục không được phép.

Tôi nghĩ một cách để tránh điều này, nhưng tôi không chắc liệu nó có hoạt động không.

Đặt Xtên của thư mục con mà tôi muốn loại trừ. Một cách để ngăn chặn Trình thu thập dữ liệu Web lập chỉ mục Xthư mục và đồng thời để giúp ai đó khó xác định Xthư mục hơn từ thư mục gốc robots.txt, là thêm thư mục robots.txttrong Xthư mục thay vì thư mục gốc.

Nếu tôi làm theo giải pháp này, tôi có các câu hỏi sau:

  1. Trình thu thập dữ liệu web sẽ tìm thấy robots.txttrong thư mục con? (cho rằng, một robots.txtđã tồn tại và trong thư mục gốc)
  2. Nếu robots.txttrong Xthư mục con, tôi nên sử dụng đường dẫn tương đối hay tuyệt đối?:

    User-agent: *
    Disallow: /X/
    

    hoặc là

    User-agent: *
    Disallow: /
    

2
Tôi không chắc tại sao bạn muốn tránh mọi người đọc các thư mục không được phép của bạn, nhưng nếu có dữ liệu nhạy cảm thì nó không nên bị chặn khỏi robot mà còn bị hạn chế bởi thông tin đăng nhập hoặc một số bảo mật khác.
Andrew Lott

Đó không phải là trường hợp, tôi muốn một người dùng cụ thể có quyền truy cập vào nó (không có gì nhạy cảm về dữ liệu, chỉ vì quyền riêng tư) và tôi muốn không khóa thư mục.
Rafael

5
Nếu bạn có những lo ngại về quyền riêng tư, thì bạn nên bảo mật dữ liệu theo một cách khác. Đó không phải là những gì robot.txt dành cho.
Andrew Lott

Câu trả lời:


18

Không, trình thu thập dữ liệu web sẽ không đọc hoặc tuân theo tệp robot.txt trong thư mục con. Như được mô tả trên trang web robotstxt.org gần như chính thức :

Đặt nó ở đâu

Câu trả lời ngắn: trong thư mục cấp cao nhất của máy chủ web của bạn.

hoặc trên các trang trợ giúp của Google ( nhấn mạnh của tôi):

Một robots.txtfile là một file tại thư mục gốc của trang web của bạn cho biết những phần của trang web của bạn, bạn không muốn truy cập bằng trình thu thập công cụ tìm kiếm.

Trong mọi trường hợp, sử dụng robot.txt để ẩn các trang nhạy cảm khỏi kết quả tìm kiếm dù sao cũng là một ý tưởng tồi, vì các công cụ tìm kiếm có thể lập chỉ mục các trang không được phép trong tệp robots.txt nếu các trang khác liên kết với chúng. Hoặc, như được mô tả trên trang trợ giúp của Google được liên kết ở trên:

Bạn không nên sử dụng robot.txt làm phương tiện để ẩn các trang web của mình khỏi kết quả Tìm kiếm của Google. Điều này là do các trang khác có thể trỏ đến trang của bạn và trang của bạn có thể được lập chỉ mục theo cách đó, tránh tệp robot.txt.

Vậy bạn nên làm gì thay thế?

  • Bạn có thể cho phép các công cụ tìm kiếm thu thập dữ liệu các trang (nếu họ tìm thấy chúng), nhưng bao gồm thẻ meta robot có nội dung noindex,nofollow. Điều này sẽ yêu cầu các công cụ tìm kiếm không lập chỉ mục các trang đó ngay cả khi họ tìm thấy các liên kết đến chúng và không theo bất kỳ liên kết nào khác từ các trang đó. (Tất nhiên, điều này sẽ chỉ hoạt động cho các trang web HTML.)

  • Đối với tài nguyên không phải HTML, bạn có thể định cấu hình máy chủ web của mình (ví dụ: sử dụng .htaccesstệp) để gửi tiêu đề HTTP X-Robots-Tag có cùng nội dung.

  • Bạn có thể thiết lập xác thực mật khẩu để bảo vệ các trang nhạy cảm. Bên cạnh việc bảo vệ các trang khỏi khách truy cập trái phép của con người, nó cũng sẽ giúp các trình thu thập dữ liệu web tránh xa một cách hiệu quả.


Tuyệt vời, là một trang HTML tĩnh, bằng cách thêm thẻ meta sẽ thực hiện thủ thuật. Cảm ơn bạn.
Rafael

5

Bạn robots.txtnên ở trong thư mục gốc và không nên có bất kỳ tên nào khác. Theo đặc điểm kỹ thuật tiêu chuẩn :

Tệp này phải có thể truy cập qua HTTP trên URL cục bộ "/robots.txt".


Điều đó nói rằng, các trình thu thập dữ liệu web sẽ không tìm bất kỳ thư mục nào khác cho tệp robots.txt?
Rafael

1
Không phải là tôi đã từng thấy. /robots.txtlà tiêu chuẩn, vậy làm thế nào để các công cụ tìm kiếm thậm chí biết nơi khác?
Andrew Lott

0

Bạn thực sự có thể sử dụng robot.txt trong thư mục con. Đây hiện là cách chúng tôi đối xử với các tên miền phụ ngôn ngữ của chúng tôi. Chúng tôi sử dụng mẫu chuyển hướng 301 /robots.txt thành /lang/robots.txt (trên mỗi tên miền phụ) và nó đang được chọn chính xác.

Nó cũng đang chọn cấu trúc thư mục là root chính xác, khi sử dụng dấu gạch chéo đơn giản. ví dụ. không cho phép: /

được coi là không cho phép mọi thứ và không chỉ là thư mục con hiện tại, tệp robot.txt {được chuyển hướng} nằm trong đó.

Nhưng một lần nữa, chúng tôi chuyển hướng với một chiếc 301 và có sẵn vị trí đó, vì vậy nếu không có chiếc 301, tôi nghi ngờ nó sẽ được tìm thấy ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.