Làm cách nào để ngăn chặn tệp PDF bị công cụ tìm kiếm lập chỉ mục?


27

Tôi có một liên kết đến tài liệu PDF trên một trang web công cộng. Làm cách nào để ngăn công cụ tìm kiếm lập chỉ mục liên kết và tài liệu PDF này?

Ý tưởng duy nhất tôi nghĩ đến là sử dụng CAPTCHA. Tuy nhiên, tôi tự hỏi nếu có bất kỳ từ ma thuật nào nói với một công cụ tìm kiếm để không lập chỉ mục liên kết và tài liệu PDF? Các tùy chọn sử dụng PHP hoặc JavaScript cũng tốt.

Chỉ để làm cho nó rõ ràng. Tôi không muốn mã hóa PDF và bảo vệ nó bằng mật khẩu. Tôi chỉ muốn làm cho nó vô hình cho các công cụ tìm kiếm, nhưng không phải cho người dùng.

Câu trả lời:


32

Để ngăn tệp PDF của bạn (hoặc bất kỳ tệp không phải HTML nào) được liệt kê trong kết quả tìm kiếm, cách duy nhất là sử dụng X-Robots-Tagtiêu đề phản hồi HTTP , ví dụ:

X-Robots-Tag: noindex

Bạn có thể làm điều này bằng cách thêm đoạn mã sau vào tệp .htaccess gốc hoặc tệp httpd.conf của trang web:

<Files ~ "\.pdf$">
  Header set X-Robots-Tag "noindex, nofollow"
</Files>

Lưu ý rằng để các công việc trên hoạt động, bạn phải có thể sửa đổi các tiêu đề HTTP của tệp đang đề cập. Do đó, bạn có thể không làm được điều này, ví dụ, trên Trang GitHub .

Cũng lưu ý rằng robots.txt không không ngăn không cho trang của bạn không bị liệt kê trong kết quả tìm kiếm.

Những gì nó làm là ngăn bot thu thập dữ liệu trang của bạn, nhưng nếu bên thứ ba liên kết đến tệp PDF của bạn từ trang web của họ , trang của bạn sẽ vẫn được liệt kê.

Nếu bạn ngăn bot thu thập dữ liệu trang của bạn bằng robot.txt , nó sẽ không có cơ hội thấy X-Robots-Tag: noindexthẻ phản hồi. Do đó, không bao giờ không cho phép một trang trong robot.txt nếu bạn sử dụng X-Robots-Tagtiêu đề. Thông tin thêm có thể được tìm thấy trên Google Developers: Robots Meta Tag .


Tôi không theo dõi cách robot.txt với mục nhập cho trang sẽ ngăn Thẻ X-Robots được tôn trọng / tuân theo nếu trang có Thẻ X-Robots đó được yêu cầu trong tương lai.
Don Cheadle

1
Tôi nghĩ rằng khi trang được yêu cầu, nó ("Google") sẽ thấy tiêu đề X-Robots-Tag, và sau đó biết không lập chỉ mục cho nó ... nhưng có vẻ như X-Robots-Tag chỉ hữu ích cho trình thu thập thông tin mà sau đó biết không lập chỉ mục cho nhà phát
Don Cheadle

Vì bạn đang sử dụng Fileschỉ thị kích hoạt regex , thay FilesMatchvào đó, bạn nên xem xét sử dụng thay vào đó, như được đề xuất ở đây stackoverflow.com/q/14792381/1262357
Gruber

15

Có nhiều cách để làm điều này (kết hợp chúng rõ ràng là một cách chắc chắn để thực hiện điều này):

1) Sử dụng robot.txt để chặn các tệp từ trình thu thập thông tin của công cụ tìm kiếm:

User-agent: *
Disallow: /pdfs/ # Block the /pdfs/directory.
Disallow: *.pdf  # Block pdf files. Non-standard but works for major search engines.

2) Sử dụng rel="nofollow"trên các liên kết đến các tệp PDF đó

<a href="something.pdf" rel="nofollow">Download PDF</a>

3) Sử dụng x-robots-tag: noindextiêu đề HTTP để ngăn các trình thu thập thông tin lập chỉ mục chúng. Đặt mã này vào tệp .htaccess của bạn :

<FilesMatch "\.pdf$">
  header set x-robots-tag: noindex
</FilesMatch>

2
Ngược lại, sử dụng cả hai x-robots-tagrobots.txtcùng một lúc không phải là một ý tưởng tốt và có thể khiến nội dung được lập chỉ mục dù sao đi nữa. Nếu bạn sử dụng cả hai robots.txtx-robots-tag: noindex, trình thu thập thông tin sẽ không bao giờ thu thập dữ liệu hoặc xem x-robots-tagbởi vì trước tiên, nó sẽ tôn vinh robots.txt. robots.txtkhông ngăn tài nguyên được lập chỉ mục, chỉ được thu thập thông tin, vì vậy giải pháp tốt nhất là sử dụng x-robots-tagtiêu đề, nhưng cho phép các công cụ tìm kiếm thu thập dữ liệu và tìm tiêu đề đó bằng cách để bạn robots.txtmột mình.
Maximillian Laumeister

1

Bạn có thể sử dụng tệp robot.txt . Bạn có thể đọc thêm ở đây .


3
Sử dụng robot.txt không ngăn chặn lập chỉ mục . Nó chỉ ngăn chặn . Xem câu trả lời của Pacerier để có giải pháp chính xác.
toxalot

1

Không chắc chắn nếu ngưỡng này có thể mang lại một số giá trị cho bất kỳ ai, nhưng gần đây chúng tôi đã gặp phải một vấn đề là hộp GSA tại cơ sở của chúng tôi không sẵn sàng lập chỉ mục tệp PDF.

Bộ phận Hỗ trợ của Google đã khắc phục sự cố và phản hồi của họ là nó có liên quan đến thực tế là tài liệu PDF này có bộ thuộc tính tùy chỉnh (Tệp -> Thuộc tính Tài liệu -> Tùy chỉnh (tab))

name: robots
value: noindex

đã ngăn không cho nó được lập chỉ mục chính xác bởi GSA.

Nếu bạn có quyền truy cập vào tài liệu và có thể sửa đổi các thuộc tính của nó, tài sản này có thể hoạt động ... khi cho thuê GSA.


1

Nếu các trường hợp phát triển được cung cấp bởi nginx đang hiển thị trong kết quả tìm kiếm của Google, có một cách nhanh chóng và dễ dàng để ngăn công cụ tìm kiếm thu thập dữ liệu trang web của bạn. Thêm dòng sau vào khối vị trí của tệp cấu hình virtualhost của bạn cho khối mà bạn muốn ngăn thu thập thông tin.

add_header  X-Robots-Tag "noindex, nofollow, nosnippet, noarchive";

-2

Bạn có thể sử dụng tệp robot.txt. Các công cụ tìm kiếm tôn vinh tập tin đó sẽ không lập chỉ mục PDF. Chỉ cần sử dụng lệnh để không cho phép lập chỉ mục tệp và chỉ định thư mục hoặc tệp PDF nào bạn không muốn các công cụ tìm kiếm lập chỉ mục.


4
Sử dụng robot.txt không ngăn chặn lập chỉ mục . Nó chỉ ngăn chặn . Xem câu trả lời của Pacerier để có giải pháp chính xác. Tôi đã đọc gần đây về việc sử dụng một lệnh noindex (chứ không phải không cho phép) trong tệp robot.txt, nhưng nó không có giấy tờ và không chuẩn. Và bây giờ tôi không thể tìm thấy nơi tôi đọc nó.
toxalot

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.