วิธีการป้องกันไม่ให้ไฟล์ PDF ถูกทำดัชนีโดยเครื่องมือค้นหา?


27

ฉันมีลิงค์ไปยังเอกสาร PDF บนหน้าเว็บสาธารณะ ฉันจะป้องกันไม่ให้เครื่องมือค้นหาจัดทำดัชนีลิงก์นี้และเอกสาร PDF ได้อย่างไร

ความคิดเดียวที่ฉันคิดคือการใช้ CAPTCHA อย่างไรก็ตามฉันสงสัยว่ามีคำวิเศษใด ๆ ที่บอกให้เครื่องมือค้นหาทำดัชนีลิงก์และเอกสาร PDF หรือไม่ ตัวเลือกที่ใช้ PHP หรือ JavaScript ก็ใช้ได้เช่นกัน

เพียงเพื่อให้ชัดเจน ฉันไม่ต้องการเข้ารหัส PDF และป้องกันด้วยรหัสผ่าน ฉันแค่ต้องการทำให้มันมองไม่เห็นสำหรับเครื่องมือค้นหา แต่ไม่ใช่สำหรับผู้ใช้

คำตอบ:


32

เพื่อป้องกันไฟล์ PDF ของคุณ (หรือไฟล์ที่ไม่ใช่ HTML) จากการแสดงในผลการค้นหาวิธีเดียวคือใช้X-Robots-Tagส่วนหัวการตอบกลับHTTP เช่น:

X-Robots-Tag: noindex

คุณสามารถทำได้โดยการเพิ่มตัวอย่างต่อไปนี้ในไฟล์ root .htaccess ของเว็บไซต์หรือไฟล์ httpd.conf:

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

โปรดทราบว่าสำหรับการทำงานด้านบนคุณต้องสามารถแก้ไขส่วนหัว HTTP ของไฟล์ที่เป็นปัญหาได้ ดังนั้นคุณอาจจะไม่สามารถที่จะทำเช่นนี้เช่นบนหน้า GitHub

โปรดทราบว่าrobots.txtไม่ได้ป้องกันไม่ให้หน้าเว็บของคุณปรากฏในผลการค้นหา

มันจะหยุดบอทจากการรวบรวมข้อมูลหน้าของคุณ แต่ถ้าบุคคลที่สามเชื่อมโยงไปยังไฟล์ PDF ของคุณจากเว็บไซต์ของพวกเขาหน้าของคุณจะยังคงอยู่ในรายการ

หากคุณหยุดบอทไม่ให้รวบรวมข้อมูลหน้าเว็บของคุณโดยใช้robots.txtก็จะไม่มีโอกาสเห็นX-Robots-Tag: noindexแท็กตอบ ดังนั้นห้ามใช้หน้าเว็บในrobots.txtหากคุณใช้X-Robots-Tagส่วนหัว ข้อมูลเพิ่มเติมสามารถพบได้บนGoogle Developers: หุ่นยนต์ Meta Tag


ฉันไม่ปฏิบัติตามวิธีที่ robots.txt พร้อมกับรายการสำหรับหน้าจะป้องกันไม่ให้ X-Robots-Tag ได้รับการเคารพ / เชื่อฟังหากหน้าเว็บที่มี X-Robots-Tag นั้นถูกร้องขอในอนาคต
Don Cheadle

1
ฉันคิดว่าเมื่อมีการร้องขอหน้าเว็บนั้น ("Google") จะเห็นส่วนหัว X-Robots-Tag จากนั้นรู้ว่าจะไม่สร้างดัชนี ... แต่ดูเหมือนว่า X-Robots-Tag จะมีประโยชน์สำหรับโปรแกรมรวบรวมข้อมูลเท่านั้น ซึ่งรู้แล้วว่าไม่ควรจัดทำดัชนีมันDevelopers.google.com/webmasters/control-crawl-index/docs/…
Don Cheadle

เนื่องจากคุณใช้Filesคำสั่งที่เปิดใช้งาน regex คุณควรพิจารณาใช้แทนFilesMatchแทนตามที่แนะนำไว้ที่นี่stackoverflow.com/q/14792381/1262357
Gruber

14

มีหลายวิธีในการทำเช่นนี้ (การรวมเข้าด้วยกันเป็นวิธีที่แน่นอนในการทำให้สำเร็จ):

1) ใช้robots.txtเพื่อบล็อกไฟล์จากโปรแกรมรวบรวมข้อมูลของเครื่องมือค้นหา:

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

2) ใช้rel="nofollow"ลิงก์ไปยัง PDF เหล่านั้น

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

3) ใช้x-robots-tag: noindexส่วนหัว HTTP เพื่อป้องกันโปรแกรมรวบรวมข้อมูลจากการจัดทำดัชนี วางรหัสนี้ในไฟล์. htaccessของคุณ:

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

2
การใช้ทั้งสองอย่างx-robots-tagและrobots.txtในเวลาเดียวกันนั้นไม่ใช่ความคิดที่ดีและอาจทำให้เนื้อหานั้นถูกจัดทำดัชนีอย่างไรก็ตาม หากคุณใช้ทั้งสองrobots.txtและx-robots-tag: noindexรวบรวมข้อมูลจะไม่รวบรวมข้อมูลหรือดูเพราะมันเกียรตินิยมแรกx-robots-tag ไม่ได้ป้องกันไม่ให้ทรัพยากรถูกทำดัชนีเพียง แต่ถูกรวบรวมข้อมูลเท่านั้นดังนั้นทางออกที่ดีที่สุดคือใช้ส่วนหัว แต่อนุญาตให้เครื่องมือค้นหารวบรวมข้อมูลและค้นหาส่วนหัวนั้นโดยปล่อยให้อยู่คนเดียว robots.txtrobots.txtx-robots-tagrobots.txt
Maximillian Laumeister

1

คุณสามารถใช้ไฟล์robots.txt คุณสามารถอ่านเพิ่มเติมที่นี่


3
ใช้ robots.txt ไม่ได้ป้องกันการจัดทำดัชนี มันป้องกันการรวบรวมข้อมูลเท่านั้น ดูคำตอบของPacerierสำหรับวิธีการแก้ไขที่ถูกต้อง
toxalot

1

ไม่แน่ใจว่าธรณีประตูนี้อาจนำคุณค่ามาสู่ใครบางคน แต่เมื่อเร็ว ๆ นี้เราพบปัญหาว่ากล่อง GSA ในสถานที่ของเราไม่เต็มใจที่จะสร้างดัชนีไฟล์ PDF

ฝ่ายสนับสนุนของ Google ทำงานกับปัญหานี้และการตอบกลับของพวกเขาคือเกี่ยวข้องกับข้อเท็จจริงที่ว่าเอกสาร PDF นี้มีชุดคุณสมบัติที่กำหนดเอง (ไฟล์ -> คุณสมบัติของเอกสาร -> กำหนดเอง (แท็บ))

name: robots
value: noindex

ซึ่งป้องกันไม่ให้ถูกจัดทำดัชนีอย่างถูกต้องโดย GSA

หากคุณมีสิทธิ์เข้าถึงเอกสารและสามารถแก้ไขคุณสมบัติของมันอาจเป็นไปได้ว่า ... ที่เช่าสำหรับ GSA


1

หากคุณพบอินสแตนซ์การพัฒนาที่ขับเคลื่อนโดย nginx ในผลการค้นหาของ Google มีวิธีที่ง่ายและรวดเร็วในการป้องกันไม่ให้เครื่องมือค้นหารวบรวมข้อมูลเว็บไซต์ของคุณ เพิ่มบรรทัดต่อไปนี้ไปยังบล็อกที่ตั้งของไฟล์กำหนดค่า virtualhost ของคุณสำหรับบล็อกที่คุณต้องการป้องกันการรวบรวมข้อมูล

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

-2

คุณสามารถใช้ไฟล์ robots.txt เครื่องมือค้นหาที่เคารพไฟล์นั้นจะไม่สร้างดัชนี PDF เพียงใช้คำสั่งสำหรับการไม่อนุญาตให้จัดทำดัชนีไฟล์และกำหนดว่าโฟลเดอร์หรือไฟล์ PDF ใดที่คุณไม่ต้องการให้เอ็นจินการค้นหาจัดทำดัชนี


4
ใช้ robots.txt ไม่ได้ป้องกันการจัดทำดัชนี มันป้องกันการรวบรวมข้อมูลเท่านั้น ดูคำตอบของPacerierสำหรับวิธีการแก้ไขที่ถูกต้อง ฉันได้อ่านเมื่อเร็ว ๆ นี้เกี่ยวกับการใช้คำสั่ง noindex (แทนที่จะเป็นไม่อนุญาต) ภายในไฟล์ robots.txt แต่มันไม่มีเอกสารและไม่ใช่มาตรฐาน และตอนนี้ฉันไม่สามารถหาที่ฉันอ่านได้
toxalot

เรามีคำถามเกี่ยวกับ: “ Noindex:” ใน robots.txt ทำงานอย่างไร
Stephen Ostermiller
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.