Google không thu thập dữ liệu tệp CDN


11

Tôi đã nhận thấy rằng Google Webmaster Tools đang báo cáo rất nhiều tài nguyên bị chặn trong trang web của tôi. Ngay bây giờ tất cả "tài nguyên bị chặn" là .css, .js và hình ảnh (.jpg, .png) mà tôi phục vụ từ Cloudfront CDN.

Tôi đã dành rất nhiều thời gian để thử nghiệm và cố gắng tìm hiểu tại sao google không thu thập dữ liệu các tệp này và báo cáo trạng thái "khối tài nguyên".

Hiện tại tôi phục vụ các tệp này từ một số tên máy chủ như: cdn1.example.com, cdn2.example.com, Ném

cdn1, cdn2 và các loại khác là CNAME cho tên phân phối trên nền tảng đám mây.

Kiểm tra: Tôi đã thử sử dụng trực tiếp bản phân phối trên nền tảng đám mây (không có CNAME) nhưng sự cố vẫn còn.

Hiện tại tệp robots.txt của tôi trông như thế này:

# 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: /

Và ví dụ về các tệp bị chặn trong một trang ví dụ:

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

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

  • cdn5.example.com/wp-content/theme/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

Tôi thậm chí đã cố gắng cho phép mọi thứ trong robot.txt nhưng tôi luôn có kết quả tương tự.

Tôi cũng đã xem xét kỹ các cài đặt CloudFront trong Amazon và không thấy gì có thể liên quan (Tôi không sử dụng và không bao giờ sử dụng tùy chọn: "Hạn chế quyền truy cập của người xem (Sử dụng URL đã ký hoặc Cookie đã ký)".

Ngay bây giờ tôi đã dành rất nhiều thời gian để xem xét điều này và không có thêm ý tưởng.

Ai đó có thể nghĩ ra lý do tại sao Googlebot sẽ bị chặn thu thập dữ liệu các tệp được lưu trữ trong Amazon CloudFront không?


Bạn đã kiểm tra các tiêu đề phản hồi HTTP của các "tài nguyên bị chặn" này chưa? Lỗi chính xác nào báo cáo GWT? Nếu chúng bị chặn bởi robots.txt thì nó sẽ báo cáo điều này.
MrWhite

Nhận xét nhỏ về tệp robot.txt của bạn ... URL là tiền tố được khớp theo mặc định, do đó không bao giờ cần phải có *ở cuối "tiền tố" URL. /test*cũng giống như /test.
MrWhite

Xin chào, tôi không thể kiểm tra các tiêu đề, vì tôi không biết googlebot đang nhận được gì. Tôi vừa nhận được thông báo: "Googlebot không thể lấy tất cả tài nguyên cho trang này. Đây là danh sách:" và sau đó là danh sách tất cả các tệp được lưu trữ CDN (js, css và hình ảnh) với "Lý do": "Bị chặn".
tonelot

Vì tôi đang yêu cầu "tìm nạp và kết xuất", tôi cũng thấy rằng kết xuất thiếu các kiểu và hình ảnh ....
tonelot

Ngoài ra, cảm ơn bạn đã lưu ý về cú pháp robot.txt.
tonelot

Câu trả lời:


7

Vì vậy, giải pháp có vẻ là Amazon cloudfront cũng đánh giá tôi robots.txtvà bằng cách nào đó sử dụng các quy tắc cú pháp khác nhau từ google.

Phiên bản làm việc của tôi robots.txtlà như sau:

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

Một lưu ý rất quan trọng để nói rằng điều này không thực hiện các chức năng chính xác như trước đây. Trong thực tế, tôi đã lấy ra tất cả các dòng trống, ký tự đại diện và chỉ thị "cho phép". Có nghĩa là kết quả cuối cùng không giống nhau ... nhưng tôi nghĩ là đủ gần với tôi. Ví dụ: nó không loại trừ các trang thẻ khi được truyền trong chuỗi truy vấn ...

Ba lưu ý quan trọng:

  1. Nếu bạn đang thử nghiệm điều này, đừng quên vô hiệu hóa robots.txttrong phân phối trên nền tảng đám mây cho mỗi lần lặp. Chỉ kiểm tra bạn đang được phục vụ phiên bản cuối cùng là không đủ.

  2. Tôi không thể tìm thấy bất cứ nơi nào một định nghĩa về robot.txtcú pháp được hiểu bởi amazon cloudfront. Vì vậy, nó đã được thử nghiệm và lỗi.

  3. Để kiểm tra kết quả, hãy sử dụng công cụ "tìm nạp và kết xuất" của quản trị trang web google và người kiểm tra thân thiện với thiết bị di động của họ ( https://www.google.com/webmasters/tools/mobile-friendly/ )

Tôi không hiểu tại sao cloudfront đang xác nhận và đánh giá của tôi robots.txt. Tập tin này là một "thỏa thuận" với tôi và các trình thu thập thông tin đến trang web của tôi. Amazon không có kinh doanh ở giữa. Lộn xộn với tôi robots.txtchỉ là ngu ngốc.

Tôi không bao giờ nghĩ rằng đám mây có thể đoán được robots.txtcú pháp của tôi .


2

Tạo một tệp robots.txt trong một thùng.

Tạo một nguồn gốc khác cho phân phối trên nền tảng đám mây của bạn.

Đặt mức độ ưu tiên của nhóm của bạn cao hơn trang web của bạn.

Vô hiệu hóa tệp robots.txt của trang web của bạn trên Cloudfront.

Sau khi thực hiện các thao tác trên, Google sẽ đọc các trang web robots.txt khi thu thập dữ liệu trang web của bạn và sẽ thấy các robot.txt khác nhau khi theo các liên kết từ cdn của bạn.


1

Google không chặn các tài nguyên bên ngoài được lập chỉ mục thông qua việc sử dụng robot.txt trong thư mục gốc của trang web chính. Sử dụng tên miền phụ, cdn hoặc loại khác được phân loại là tên miền bên ngoài, cách duy nhất để chặn nội dung là sử dụng phản hồi tiêu đề trên tệp do chính CDN cung cấp hoặc bằng cách sử dụng tệp robots.txt trên miền cdn hoặc tên miền phụ .

Sử dụng:

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

Chỉ nên chặn hình ảnh là cục bộ, bạn sẽ cần phải làm tương tự trên CDN.

Có khả năng đây là sự cố phản hồi tiêu đề và bạn nên thực hiện 'HIỆN TẠI' trên một trong các tệp trên CDN. Nó sẽ trông giống như:

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

Những điều cần chú ý là:

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

Chào, cảm ơn cho câu trả lời của bạn. Nhưng vấn đề của tôi không phải là làm thế nào để ngăn hình ảnh bị lập chỉ mục. Để tránh nhầm lẫn, tôi đã lấy nó ra khỏi tệp robots.txt và kết quả là như nhau. Googlebot tiếp tục phàn nàn rằng nó bị chặn trên các tệp tôi lưu trữ trên đám mây và tôi không biết tại sao. Còn ý tưởng nào nữa không? Cảm ơn sự quan tâm của yoru, người
di cư

Bạn đã hiểu, tôi biết rằng bạn không muốn nó bị chặn ... do đó tại sao tôi lại nói ở phía dưới để đảm bảo rằng phản hồi tiêu đề của bạn KHÔNG làm thẻ X-robot, bạn cũng nói check the robots.txt on your CloudFront distributiontôi cũng nói điều này! Cách duy nhất để chặn hình ảnh được lập chỉ mục trên CDN là thẻ x-robot và robot.txt trên chính CDN, một lần nữa được đề cập.
Simon Hayter

1

Phát hiện ra vấn đề: CloudFront đọc tệp robots.txt và ngăn việc phân phát nội dung, nhưng nó phân tích một số cách khác với những gì robot nên làm, tôi đoán vậy.

Chẳng hạn, nội dung sau trên robot.txt:

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

Khi Googlebot có được chính nó, nó sẽ lập chỉ mục cho nó; Khi CloudFront đọc nó, nó không xem xét chỉ thị 'Cho phép' và cấm phục vụ mọi thứ bên trong*/wp-contents/themes/ .

Câu trả lời ngắn: kiểm tra tệp robots.txt trên bản phân phối CloudFront của bạn, đây có thể là vấn đề. Vô hiệu hóa và cập nhật nó với một phiên bản sửa chữa và nó sẽ hoạt động!


Cloudfront không "đọc" robot.txt cũng như không "xem xét" nội dung của nó, cũng như không "ngăn chặn" bất cứ điều gì. Hãy nhớ rằng những gì bạn nhận được từ đám mây khi bạn tìm nạp một đối tượng sẽ không cho bạn biết gì về những gì ai đó được phục vụ từ một vị trí cạnh khác sẽ nhận được, nếu cạnh của họ lưu vào bộ nhớ cache sớm hơn hoặc muộn hơn so với những gì bạn đã làm. Ngoài ra, các ký tự đại diện hàng đầu có lẽ là một công thức cho hành vi bất ngờ, vì "tiêu chuẩn" loại trừ robot không được chuẩn hóa tốt.
Michael - sqlbot 28/03/2015

"CloudFront đọc tệp robots.txt" - Đây có phải là tệp robot.txt được lưu trữ trên chính CloudFront không? "Thẻ đại diện hàng đầu" dường như cũng không cần thiết, nếu các URL là bất cứ thứ gì giống như những gì được nêu trong câu hỏi.
MrWhite 28/03/2015

Chào. Chắc chắn Cloudfront đang đọc robot.txt của tôi. Và cũng chắc chắn là không chấp nhận cú pháp giống như google. Tôi đã thử nghiệm lấy ra tệp robots.txt và không thấy kết quả nào mà tôi không yêu cầu và vô hiệu trong đám mây. Giả sử nó không cần thiết bởi vì tôi đang được phục vụ phiên bản mới nhất. Việc kiểm tra mất nhiều thời gian để ngừng hoạt động, mỗi thay đổi đòi hỏi một yêu cầu vô hiệu hóa sẽ mất mãi mãi để hoàn thành. Tôi sẽ trở lại sau một vài giờ với phiên bản hoạt động. Tôi không biết tại sao loại "thông minh" này lại cần thiết..nhưng nó ở đó và tôi nghĩ nó không nên. di cư
tonelot 28/03/2015

Robot.txt tương tự hiện diện trên apache của tôi là một đám mây có. Tôi xác định nó theo kinh nghiệm.
snagnever 28/03/2015
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.