2010-09-12 24 views
10

Có tồn tại lý do để đưa phân tích google vào đầu chứ không phải ở phần cuối của nội dung không? (Tôi làm việc trên trang web lớn mà tác phẩm của mình theo cách này)Có lý do nào để đưa phân tích google vào đầu chứ không phải trong nội dung không?

Lựa chọn 1:

<head> 
<script src="http://www.google-analytics.com/ga.js"></script> 
</head> 

Lựa chọn 2 - ở phía dưới của cơ thể:

<body> 
//html code 

<script src="http://www.google-analytics.com/ga.js"></script> 
</body> 

Edit1: Ngoài ra cùng một câu hỏi với jquery ui

Edit2: thêm mã ga.js ở cuối kịch bản (sửa chữa)

Cảm ơn

+0

Xem [ mã Google Analytics: nó có thể đi trước trong tài liệu không? ] (http://stackoverflow.com/questions/1708771/) và [ Google Analytics có ảnh hưởng lớn đến thời gian tải xuống trang web tĩnh không? ] (http://stackoverflow.com/questions/374084/). Điểm mấu chốt là Google khuyên bạn nên đặt nó ở phần cuối của phần thân để nó không chặn phần còn lại của trang của bạn. Nhưng không sao để đặt nó vào đầu. Ngoài ra, GA hiện có phiên bản không đồng bộ (xem [câu hỏi này] (http://stackoverflow.com/questions/2191325/)), cho phép bạn đặt mã GA sớm hơn và tải nó song song trong các trình duyệt hiện đại. –

Trả lời

6

Tôi khuyên bạn nên sử dụng mã phân tích google không đồng bộ.

Asynchronous Google Analytics

Nếu bạn sử dụng mã không đồng bộ và đặt nó vào phần đầu, nó có thể ngăn chặn việc tải các trang web của bạn nếu mã ga sẽ chậm để tải, bởi vì nó chờ đợi cho đến khi kịch bản được nạp vào. Và bởi vì google phân tích là một kịch bản bên ngoài, bạn có thể không có ảnh hưởng đến hiệu suất tải (thông thường nó không quan trọng, nhưng nó có thể xảy ra mà ngay cả google có vấn đề máy chủ).

Vì vậy, tôi không thấy lý do thực sự nào để thực hiện theo cách đó.

+0

1. Tôi phải đưa vào trường hợp này: http://www.google-analytics.com/ga.jsin head? 2. Trình duyệt biết cách xử lý asyn = true như thế nào? Cảm ơn – Yosef

+0

Cách sử dụng của nó theo cách này giống như trong bài viết – Yosef

+0

Xin chào, async = true là thuộc tính HTML5. Bí quyết không chặn trang web trong khi tải javascript là do việc tạo năng động của thẻ tập lệnh. – enricog

2

Không có lý do chính đáng cho nó. Chính Google khuyên bạn nên đặt thẻ ở cuối phần thân để tránh tải nó sớm và làm chậm quá trình tải trang.

Nó có thể được thực hiện theo cách đó bởi vì ai đó được sử dụng để đặt <script> thẻ trong tiêu đề.

+0

Không, các l khác ngoại trừ ui + jquery bên trong cơ thể – Yosef

+2

Điều này không còn đúng nữa. Khi sử dụng mã không đồng bộ mới, Google khuyên bạn nên đặt mã đó ở cuối '', ngay trước thẻ mở ' '. – Yahel

0

Chúng tôi khuyên bạn nên đặt các đoạn mã như vậy càng thấp càng tốt trong html vì lý do hiệu suất. Các tập lệnh cần được tải bị gián đoạn các lượt tải xuống khác trong trình duyệt. Tôi đề nghị bạn hãy xem bài viết này: Best Practices for Speeding Up Your Web Site.

+0

Tôi biết rằng, bởi vì tôi trả lời.Trang web xây dựng bởi xuất khẩu tốt, soo mà biết article.Soo nên được một số lý do mà họ đặt trong tiêu đề vì hầu hết các js trong cơ thể. – Yosef

30

Nhúng mã ga.js theo cách bạn mô tả (với thẻđược mã cứng) thực sự đang chặn và nếu bạn tải tập lệnh như vậy, thực hành tốt nhất được coi là tải nó ngay trước thẻ </body> . Nhưng đây không phải là thực hành được khuyến nghị nếu bạn đang sử dụng mã không đồng bộ mới. Google explicitly recommends placing the new asynchronous code in the <head>.

Mã asynchoronous mới không bị chặn theo hai cách. Đầu tiên, nó xếp hàng các biến cho trang trong biến toàn cục _gaq. Bằng cách đó, dữ liệu được chuẩn bị theo một trong hai cách. Sau đó, như được mô tả trong này SO answer, bằng cách sử dụng javascript trực tiếp để viết ra các tập lệnh như trong mã async mới là không chặn (phương pháp tiêm trực tiếp này là cách để đạt được không đồng bộ-ness, ngay cả trong các trình duyệt mà don ' t trực tiếp quan sát các thuộc tính async). Phần còn lại của trang web có thể tiếp tục tải nếu vì một số lý do máy chủ của Google bị chậm hoặc chậm phản hồi. Và đó là chỉ khi người dùng chưa có ga.js được lưu trong bộ nhớ cache, như nhiều người làm, vì ga.js được sử dụng trên nhiều trang web phổ biến.

Lợi ích của tất cả điều này là tải ga.js trước đó và có thể truyền đối tượng _gaq cho Google, bạn càng có khả năng nắm bắt TẤT CẢ dữ liệu tiềm năng của mình, như dữ liệu của người dùng người nhấp rất nhanh trên trang của bạn. Điều này đặc biệt quan trọng đối với các trang web 'lớn' có xu hướng có nhiều người dùng thường xuyên theo dõi thói quen nhấp nhanh.

Nếu bạn hoài nghi, hãy thử nghiệm bằng cách sử dụng trình kiểm tra tải trang như công cụ dành cho nhà phát triển webkit. Tôi đã thử nghiệm nó rộng rãi và không tìm thấy bằng chứng về việc chặn đáng kể khi sử dụng mã async trong </head> như được mô tả.

+0

cảm ơn bạn rất nhiều vì đã giải thích tốt – Yosef

Các vấn đề liên quan