Chúng ta có nên sửa đổi Joomla robot.txt của mình sau khi thông báo của Google về thu thập dữ liệu CSS và JavaScript không?


8

Đã bắt gặp một thông báo từ Google: http://googlewebmastercentral.blogspot.in/2014/10/updating-our-technical-webmaster.html

Nó nói:

Để hiển thị và lập chỉ mục tối ưu, hướng dẫn mới của chúng tôi chỉ định rằng bạn nên cho phép Googlebot truy cập vào các tệp JavaScript, CSS và hình ảnh mà các trang của bạn sử dụng. Điều này cung cấp cho bạn kết xuất và lập chỉ mục tối ưu cho trang web của bạn. Không cho phép thu thập dữ liệu các tệp Javascript hoặc CSS trong tệp robots.txt của trang web của bạn gây hại trực tiếp đến mức độ thuật toán của chúng tôi hiển thị và lập chỉ mục nội dung của bạn và có thể dẫn đến xếp hạng dưới mức tối ưu.

Theo mặc định, tệp robot.txt của Joomla không được phép:

Disallow: /administrator/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /logs/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/

Xin tư vấn, chúng tôi có nên xóa các mục bên dưới khỏi tệp robot.txt dựa trên thông báo của Google không?

Disallow: /components/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/

Đây có phải là những gì được khuyến nghị theo thông báo cho các trang web dựa trên Joomla không?


Tại sao không bỏ đi robots.txtvì không có ai (ngay cả các công cụ tìm kiếm bây giờ mà Google đang đưa ra yêu cầu về những gì bạn không nên không cho phép) dù sao cũng sẽ đi theo nó?
Câu hỏi tràn

Liên quan (không phải là bản sao): Robots.txt - CSS cho phép hoặc không cho phép
hủy

Câu trả lời:


3

Thành thật mà nói, bạn tốt hơn hết là xóa mọi thứ khỏi tệp robots.txt của bạn. Theo như tôi có thể thấy, tất cả các tệp PHP trong Joomla đều chứa dòng

defined('_JEXEC') or die;

Điều đó có nghĩa là nếu bạn tải một tệp PHP trực tiếp trong trình duyệt, tất cả những gì bạn nhận được là một tệp trống, công cụ tìm kiếm sẽ bỏ qua. (Dù sao họ cũng không nên gặp những thứ này trừ khi bạn liên kết chúng trực tiếp.)

Vấn đề với việc để một số thư mục này bị chặn là một số thành phần và mô-đun giữ các tệp CSS / JS của chúng bên trong các thư mục tương ứng đó chứ không phải trong các thư mục phương tiện hoặc hình ảnh ưa thích.

Vì vậy, không có lý do gì để chặn bất kỳ tệp Joomla nào từ Google.


Cảm ơn. Tuy nhiên - tôi thực sự thấy - khi tìm nạp một trang thông qua Webmaster - nó rất tốt - mặc dù không cho phép tất cả các thư mục đó. Là loại bỏ không cho phép sẽ làm bất kỳ tốt cho các trang?
Gag

1
@Gagan Tôi không chắc nhưng công cụ tìm nạp trong Công cụ quản trị trang web có thể bỏ qua robot.txt.
DisgruntledGoat

1
GWMT làm cả hai. Khi bạn tìm nạp như google, nó sẽ cho bạn thấy Google thấy trang web của bạn như thế nào và cách người dùng nhìn thấy trang web của bạn. @DisgruntledGoat là đúng, không cần phải chặn bất cứ điều gì.
Brent Friar

2

Ngoài việc sử dụng / thiếu chung, robots.txttrong một trang web Joomla được quản lý tốt, với các tiện ích mở rộng của bên thứ ba "tốt" - những nơi duy nhất nên chứa CSS, JS hoặc hình ảnh là:

/images
/media
/templates

và tất nhiên thư mục con của họ .

Vì vậy, bạn chỉ có thể loại bỏ những người từ robots.txt.



1

Nếu bạn thấy các trang của mình không có lỗi khi tìm nạp như Google trong WMT, thì có lẽ bạn vẫn ổn. Nhưng, trong tương lai, bạn có thể nâng cấp một số nội dung trên trang web của mình, điều này sẽ yêu cầu một số tập lệnh / css từ một số thư mục bị chặn. Do đó, tôi nghĩ rằng bạn có thể tốt hơn khi cho phép các công cụ tìm kiếm thu thập dữ liệu tất cả các thư mục có chứa CSS / JavaScript.


1

Các phiên bản gần đây nhất của Joomla không còn chặn /media//templates/các thư mục:

User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

Không phải tất cả các tiện ích mở rộng đều tuân thủ các nguyên tắc về nơi đặt các tệp CSS và JS, v.v., vì vậy, một cách tốt là cho phép Google truy cập các tệp này bất kể chúng được tìm thấy ở đâu.

Bạn có thể đạt được điều này bằng cách chèn một vài dòng vào đầu robots.txttập tin của bạn như thế này:

#Googlebot
User-agent: Googlebot
Allow: *.css
Allow: *.js

User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

BIÊN TẬP:

Cảm ơn @ w3dk và @Stephen Ostermiller đã phản hồi! Bạn hoàn toàn đúng. Nó là tốt hơn để làm một cái gì đó như thế này:

User-agent: *
Allow: *.css
Allow: *.js
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

Thật không may, điều này dường như không hoạt động như dự định vì các quy tắc dài hơn (cụ thể hơn) ghi đè lên các quy tắc ngắn hơn và các dòng cho phép bị bỏ qua. Nó dường như không tạo ra bất kỳ sự khác biệt nào cho dù các dòng cho phép theo các dòng không được phép hay ngược lại.

Cách duy nhất tôi có thể giải quyết vấn đề này là làm một cái gì đó như thế này dường như hoạt động khi tôi kiểm tra nó trong Công cụ quản trị trang web:

User-agent: *
Allow: /************************************************************.css
Allow: /************************************************************.js
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /logs/
Disallow: /modules/
Disallow: /plugins/
Disallow: /tmp/

EDIT 2 - GIẢI PHÁP TỐT NHẤT:

OK, vì vậy tôi đã nghiên cứu thêm một chút và tìm thấy câu trả lời tại https://stackoverflow.com/a/30362942/1983389

Có vẻ là giải pháp đúng đắn nhất và hỗ trợ hầu hết trên tất cả các trình thu thập web là một cái gì đó như sau (cho phép truy cập vào *.css*.jstập tin trong /bin, /cache, /installation, /language, /logs, và /tmpcác thư mục và có thể một số các thư mục khác làm cho chút ý nghĩa):

User-agent: *
Allow: /administrator/*.css
Allow: /administrator/*.js
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Allow: /cli/*.css
Allow: /cli/*.js
Disallow: /cli/
Allow: /components/*.css
Allow: /components/*.js
Disallow: /components/
Allow: /includes/*.css
Allow: /includes/*.js
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Allow: /layouts/*.css
Allow: /layouts/*.js
Disallow: /layouts/
Allow: /libraries/*.css
Allow: /libraries/*.js
Disallow: /libraries/
Disallow: /logs/
Allow: /modules/*.css
Allow: /modules/*.js
Disallow: /modules/
Allow: /plugins/*.css
Allow: /plugins/*.js
Disallow: /plugins/
Disallow: /tmp/

2
Điều này sẽ cho phép Googlebot thu thập dữ liệu mọi thứ , khác hẳn với tệp robot.txt gốc - đó có phải là ý định không? (Tuy nhiên, điều này giống như chỉ đơn giản là bao gồm Disallow:trong User-agent: Googlebotnhóm, sẽ dễ đọc hơn.)
MrWhite

Có, ý định là cho phép Google truy cập vào tất cả các tệp CSS và JS trên trang web.
Neil Robertson

2
Không chỉ các tệp CSS và JS, mà tất cả các tệp trên trang web. (?)
MrWhite

1
w3dk là chính xác. Nếu bạn thêm một phần đặc biệt cho Googlebot, bạn phải sao chép tất cả các quy tắc hiện có trong phần đó. Tệp robot.txt được đề xuất của bạn sẽ cho phép Googlebot thu thập dữ liệu /logs/trong khi ngăn các bot khác làm như vậy.
Stephen Ostermiller
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.