Google ไม่ได้รวบรวมข้อมูลไฟล์ CDN


11

ฉันสังเกตเห็นว่า Google Webmaster Tools กำลังรายงานทรัพยากรที่ถูกบล็อกจำนวนมากในเว็บไซต์ของฉัน ตอนนี้ "ทรัพยากรที่ถูกบล็อก" ทั้งหมดเป็น. css, .js และรูปภาพ (.jpg, .png) ที่ฉันให้บริการจาก Cloudfront CDN

ฉันใช้เวลาทดสอบเป็นจำนวนมากและพยายามหาสาเหตุที่ Google ไม่รวบรวมข้อมูลไฟล์เหล่านี้และรายงานสถานะ "บล็อกทรัพยากร"

ขณะนี้ฉันให้บริการไฟล์เหล่านี้จากชื่อโฮสต์หลายชื่อเช่น: cdn1.example.com, cdn2.example.com, ...

cdn1, cdn2 และอื่น ๆ เป็น CNAME ไปยังชื่อการแจกจ่าย cloudfront

ทดสอบ: ฉันพยายามใช้การกระจายแบบคลาวด์โดยตรง (ไม่มี CNAME) แต่ปัญหายังคงอยู่

ปัจจุบัน robots.txt ของฉันมีลักษณะดังนี้:

# Google AdSense
User-agent: Mediapartners-Google
Disallow:

#Google images
User-agent: Googlebot-Image
Disallow: /

User-agent: *
Disallow: /homepage
Disallow: /index.php*
Disallow: /uncategorized*
Disallow: /tag/*
Disallow: *feed
Disallow: */page/*
Disallow: *author*
Disallow: *archive*
Disallow: */category*
Disallow: *tag=*
Disallow: /test*
Allow: /

และตัวอย่างของไฟล์ที่ถูกบล็อกในหนึ่งหน้าตัวอย่าง:

  • cdn1.example.com/wp-content/plugins/wp-forecast/wp-forecast-default.css

  • cdn9.example.com/wp-content/plugins/bwp-minify/min/?f=wp-content/themes/magazine/css/font-awesome.min.css,wp-content/themes/magazine/css/responsive .css

  • cdn5.example.com/wp-content/themes/magazine/images/nobg.png

  • cdn6.example.com/wp-content/plugins/floating-social-bar/images/fsb-sprite.png

  • cdn5.example.com/wp-content/uploads/2013/11/Design-Hotel-3-80x80.jpg

  • cdn5.example.com/wp-content/uploads/2013/11/Marta-Hotel-7-270x225.jpg

ฉันได้พยายามอนุญาตทุกอย่างใน robots.txt แล้ว แต่ฉันก็มีผลเหมือนกันเสมอ

ฉันได้ดูการตั้งค่า CloudFront ใน Amazon อย่างถี่ถ้วนแล้วและไม่เห็นสิ่งใดที่เกี่ยวข้อง (ฉันไม่ได้ใช้และไม่เคยใช้ตัวเลือก: "จำกัด การเข้าถึง Viewer (ใช้ URL ที่ลงชื่อหรือคุกกี้ที่ลงนามแล้ว)"

ตอนนี้ฉันใช้เวลามากมายในการพิจารณาเรื่องนี้และไม่มีความคิดเพิ่มเติม

บางคนสามารถนึกถึงเหตุผลที่ทำให้ Googlebot ถูกบล็อกจากการรวบรวมข้อมูลไฟล์ที่โฮสต์ใน Amazon CloudFront


คุณตรวจสอบส่วนหัวการตอบสนอง HTTP ของ "ทรัพยากรที่ถูกบล็อก" เหล่านี้หรือไม่? GWT รายงานข้อผิดพลาดอะไรบ้าง? หากพวกเขาถูกบล็อกโดย robots.txt ก็ควรรายงานเรื่องนี้
MrWhite

ความคิดเห็นเล็กน้อยเกี่ยวกับไฟล์ robots.txt ของคุณ ... URL จะมีการจับคู่คำนำหน้าตามค่าเริ่มต้นดังนั้นไม่จำเป็นต้องมี*ที่ส่วนท้ายของ URL "คำนำหน้า" เป็นเช่นเดียวกับ/test* /test
MrWhite

สวัสดีฉันไม่สามารถตรวจสอบส่วนหัวได้เพราะฉันไม่รู้ว่า googlebot ได้รับอะไร ฉันเพิ่งได้รับข้อความ: "Googlebot ไม่สามารถรับทรัพยากรทั้งหมดสำหรับหน้านี้นี่คือรายการ:" จากนั้นรายการของไฟล์โฮสต์ CDN ทั้งหมด (js, css และภาพ) ด้วย "เหตุผล": "ถูกบล็อก"
tonelot

เนื่องจากฉันขอให้ "ดึงข้อมูลและแสดงผล" ฉันก็เห็นว่าการแสดงผลไม่มีสไตล์และรูปภาพ ....
tonelot

นอกจากนี้ขอขอบคุณสำหรับหมายเหตุเกี่ยวกับไวยากรณ์ robots.txt
tonelot

คำตอบ:


7

ดังนั้นโซลูชันดูเหมือนว่า Amazon Cloudfront จะประเมินของฉันrobots.txtและใช้กฎไวยากรณ์ที่แตกต่างจาก google

เวอร์ชันการทำงานของฉันrobots.txtมีดังต่อไปนี้:

User-agent: Googlebot-Image
Disallow: /
User-agent: *
Disallow: /homepage
Disallow: /uncategorized
Disallow: /page
Disallow: /category
Disallow: /author
Disallow: /feed
Disallow: /tags
Disallow: /test

ข้อควรทราบที่สำคัญมากที่จะกล่าวว่าสิ่งนี้ไม่ได้ทำหน้าที่เหมือนกันทุกประการ ในความเป็นจริงฉันได้ลบบรรทัดว่างทั้งหมด wildcard และคำสั่ง "อนุญาต" หมายความว่าผลลัพธ์สุดท้ายไม่เหมือนกัน ... แต่ฉันคิดว่าใกล้พอสำหรับฉัน ตัวอย่างเช่นไม่รวมหน้าแท็กเมื่อส่งผ่านในสตริงข้อความค้นหา ...

หมายเหตุสำคัญสามประการ:

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

  2. ฉันไม่สามารถหาคำจำกัดความของrobot.txtไวยากรณ์ที่ amazon cloudfront เข้าใจได้ทุกที่ ดังนั้นมันจึงเป็นการทดลองและข้อผิดพลาด

  3. ในการทดสอบผลลัพธ์ให้ใช้เครื่องมือ "ดึงและแสดงผล" ของ Google เว็บมาสเตอร์และผู้ทดสอบที่เหมาะกับอุปกรณ์พกพา ( https://www.google.com/webmasters/tools/mobile-friendly/ )

ผมไม่เข้าใจว่าทำไม CloudFront robots.txtมีการตรวจสอบและประเมินผลของฉัน ไฟล์นี้เป็น "ข้อตกลง" กับฉันและซอฟต์แวร์รวบรวมข้อมูลที่มาถึงไซต์ของฉัน Amazon ไม่มีธุรกิจที่อยู่ตรงกลาง การล้อเล่นกับฉันนั้นช่างrobots.txtโง่เขลา

ฉันไม่เคยคิดมาก่อนเลยว่าคลาวด์ฟรอนท์อาจคาดเดาrobots.txtไวยากรณ์ของฉันได้เป็นครั้งที่สอง


2

สร้าง robots.txt ในที่เก็บข้อมูล

สร้างที่มาอื่นสำหรับการเผยแพร่แบบคลาวด์ฟร้อนท์ของคุณ

ตั้งค่าลำดับความสำคัญของที่เก็บข้อมูลของคุณให้สูงกว่าเว็บไซต์ของคุณ

ปรับแต่ง robots.txt ของเว็บไซต์ของคุณบน Cloudfront

หลังจากทำตามข้างต้น Google จะอ่านเว็บไซต์ robots.txt เมื่อรวบรวมข้อมูลเว็บไซต์ของคุณและจะได้เห็น robots.txt ที่แตกต่างกันเมื่อติดตามลิงก์จาก cdn ของคุณ


1

Google ไม่ได้บล็อกทรัพยากรภายนอกไม่ให้ทำดัชนีผ่านการใช้ robots.txt ในรูทของเว็บไซต์หลัก การใช้โดเมนย่อย cdn หรืออื่น ๆ ถูกจัดประเภทเป็นโดเมนภายนอกดังนั้นวิธีเดียวในการบล็อกเนื้อหาคือการใช้การตอบกลับส่วนหัวในไฟล์ที่ให้บริการโดย CDN เองหรือโดยใช้ robots.txt ในโดเมน cdn หรือโดเมนย่อย .

โดยใช้:

#Google images
User-agent: Googlebot-Image
Disallow: /

ควรบล็อกเฉพาะภาพที่อยู่ในท้องที่คุณจะต้องทำสิ่งเดียวกันใน CDN

โอกาสเป็นปัญหาการตอบสนองส่วนหัวและคุณควรทำ 'CURL' ในไฟล์ใดไฟล์หนึ่งใน CDN ควรมีลักษณะดังนี้:

HTTP/1.0 200 OK
Cache-Control: max-age=86400, public
Date: Thu, 10 May 2012 07:43:51 GMT
ETag: b784a8d162cd0b45fcb6d8933e8640b457392b46
Last-Modified: Tue, 08 May 2012 16:46:33 GMT
X-Powered-By: Express
Age: 7
Content-Length: 0
X-Cache: Hit from cloudfront
X-Amz-Cf-Id: V_da8LHRj269JyqkEO143FLpm8kS7xRh4Wa5acB6xa0Qz3rW3P7-Uw==,iFg6qa2KnhUTQ_xRjuhgUIhj8ubAiBrCs6TXJ_L66YJR583xXWAy-Q==
Via: 1.0 d2625240b33e8b85b3cbea9bb40abb10.cloudfront.net (CloudFront)
Connection: close

สิ่งที่ต้องระวังคือ:

HTTP/1.1 200 OK
Date: Tue, 25 May 2010 21:42:43 GMT
X-Robots-Tag: googlebot: noindex

สวัสดีขอบคุณสำหรับคำตอบของคุณ แต่ปัญหาของฉันไม่ใช่วิธีการป้องกันภาพจากการจัดทำดัชนี เพื่อหลีกเลี่ยงความสับสนฉันเอาสิ่งนั้นออกมาจาก robots.txt และผลลัพธ์ก็เหมือนกัน Googlebot ยังคงบ่นว่ามันถูกปิดกั้นในไฟล์ที่ฉันโฮสต์บน cloudfront และฉันไม่รู้ว่าทำไม มีแนวคิดอื่นอีกไหม? ขอบคุณสำหรับความสนใจของคุณ yoru, miguel
tonelot

คุณเข้าใจฉันรู้ว่าคุณไม่ต้องการให้ถูกบล็อก ... ดังนั้นทำไมฉันพูดที่ด้านล่างเพื่อให้แน่ใจว่าการตอบสนองส่วนหัวของคุณไม่ได้ทำแท็ก X-robots- คุณยังบอกว่าcheck the robots.txt on your CloudFront distributionฉันพูดแบบนี้ด้วย! วิธีเดียวที่จะบล็อกรูปภาพที่ถูกทำดัชนีบน CDN คือ x-robots-tag และ robots.txt บน CDN นั้นกล่าวถึงอีกครั้ง
Simon Hayter

1

พบปัญหา: CloudFront อ่าน robots.txt และป้องกันการแสดงเนื้อหา แต่ก็แยกวิเคราะห์ว่าหุ่นยนต์ควรจะแตกต่างกันอย่างไร

ตัวอย่างเช่นเนื้อหาต่อไปนี้ใน robots.txt:

Disallow: */wp-contents/ Allow: */wp-contents/themes/

เมื่อ Googlebot รับมาเองก็จะจัดทำดัชนี เมื่อ CloudFront อ่านมันก็ไม่ได้พิจารณาสั่ง 'อนุญาต' */wp-contents/themes/และห้ามที่จะให้บริการภายในอะไร

คำตอบสั้น ๆ : ตรวจสอบ robots.txt ในการจัดจำหน่าย CloudFront ของคุณอาจเป็นปัญหา ทำให้เป็นโมฆะและอัปเดตด้วยเวอร์ชันที่แก้ไขแล้วและควรใช้งานได้!


Cloudfront ไม่ต้อง "อ่าน" robots.txt หรือ "พิจารณา" เนื้อหาของมันหรือ "การป้องกัน" ของสิ่งใด ๆ โปรดจำไว้ว่าสิ่งที่คุณได้รับจาก Cloudfront เมื่อคุณดึงข้อมูลวัตถุจะบอกอะไรคุณเกี่ยวกับสิ่งที่มีคนรับใช้จากตำแหน่งขอบอื่นจะได้รับถ้าขอบของพวกเขาแคชก่อนหน้าหรือหลังหนึ่งกว่าสิ่งที่คุณทำ นอกจากนี้ไวลด์การ์ดชั้นนำอาจเป็นสูตรสำหรับพฤติกรรมที่ไม่คาดคิดเนื่องจากการยกเว้นหุ่นยนต์ "มาตรฐาน" ไม่ได้มาตรฐานอย่างดี
Michael - sqlbot

"CloudFront อ่าน robots.txt" - นี่เป็นไฟล์ robots.txt ที่โฮสต์บน CloudFront หรือไม่ "สัญลักษณ์ตัวแทนชั้นนำ" ก็ดูเหมือนจะไม่จำเป็นเช่นกันหาก URL นั้นเป็นอย่างที่ระบุไว้ในคำถาม
MrWhite

สวัสดี cloudfront ที่แน่นอนกำลังอ่าน robots.txt ของฉัน และแน่นอนไม่ยอมรับไวยากรณ์เดียวกันกับ google ฉันได้ทดสอบการใช้ robots.txt แล้วและไม่เห็นผลลัพธ์ใด ๆ เพราะฉันไม่ได้ร้องขอและทำให้ใช้งานไม่ได้ใน Cloudfront สมมติว่ามันไม่จำเป็นเพราะฉันถูกเสิร์ฟเวอร์ชั่นล่าสุด การทดสอบใช้เวลานานเนื่องจากการเปลี่ยนแปลงแต่ละครั้งต้องมีการร้องขอการทำให้ใช้ไม่ได้ซึ่งจะใช้เวลานานในการดำเนินการให้เสร็จสมบูรณ์ ฉันจะกลับมาในเวลาไม่กี่ชั่วโมงด้วยรุ่นที่ใช้งานได้ ฉันไม่รู้ว่าทำไม "ความฉลาด" แบบนี้ถึงต้องการ .. แต่มันอยู่ที่นั่นและฉันคิดว่ามันไม่ควร miguel
tonelot

robots.txt ที่เหมือนกันอยู่บน apache ของฉันคือ cloudfront เดียวที่ได้รับ ฉันคิดว่ามันประจักษ์
snagnever
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.