2010-09-12 15 views
10

क्या Google Analytics को सिर में नहीं डालने का कारण मौजूद है और शरीर के अंत में नहीं? (मैं बड़ा वेबसाइट पर काम कर रहा है कि इस तरह से अपने काम करता है)क्या Google Analytics को सिर में नहीं डालने का कोई कारण है और शरीर में नहीं?

विकल्प 1:

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

विकल्प 2 - शरीर के तल में:

<body> 
//html code 

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

Edit1: jquery ui

के साथ भी वही प्रश्न

EDIT2: लिपि (फिक्स) के अंत में ga.js जोड़ने

धन्यवाद

+0

देखें [ Google Analytics कोड: क्या यह दस्तावेज़ में पहले जा सकता है? ] (http://stackoverflow.com/questions/1708771/) और [ क्या Google Analytics एक स्थिर वेब पेज डाउनलोड करने के लिए समय पर एक बड़ा प्रभाव डालता है? ] (http://stackoverflow.com/questions/374084/)। निचली पंक्ति यह है कि Google इसे शरीर के अंत में डालने की सिफारिश करता है ताकि यह आपके शेष पृष्ठ को अवरुद्ध न करे। लेकिन इसे सिर में रखना ठीक है। इसके अलावा, जीए में अब एसिंक संस्करण है (देखें [यह सवाल] (http://stackoverflow.com/questions/2191325/)), जो आपको पहले GA कोड डालने देता है और इसे आधुनिक ब्राउज़र में समानांतर में लोड करता है। –

उत्तर

6

मैं एसिंक्रोनस Google Analytics कोड का उपयोग करने का सुझाव देता हूं।

Asynchronous Google Analytics

आप गैर-एसिंक्रोनस कोड का उपयोग करें और यह सिर अनुभाग में डाल दिया है, यह अपनी वेबसाइट के लोड ब्लॉक कर सकते हैं, तो गा कोड को लोड करने में धीमी गति से हो सकता है, क्योंकि यह इंतजार कर रहा है जब तक स्क्रिप्ट हैं लदा हुआ। और क्योंकि Google Analytics एक बाहरी स्क्रिप्ट है जिसका भार लोड प्रदर्शन पर कोई प्रभाव नहीं पड़ता है (आमतौर पर इससे कोई फर्क नहीं पड़ता है, लेकिन ऐसा हो सकता है कि यहां तक ​​कि Google की सर्वर समस्याएं भी हैं)।

तो, मुझे इस तरह से ऐसा करने का वास्तविक कारण नहीं दिख रहा है।

+0

1. इसलिए मुझे इस मामले में रखना होगा: http://www.google-analytics.com/ga.jsin head? 2. ब्राउज़र को asyn = true को कैसे संभालना है? धन्यवाद – Yosef

+0

इस तरह से इसका उपयोग आलेख – Yosef

+0

में है हाय, async = true एक HTML5 विशेषता है। जावास्क्रिप्ट लोड करते समय वेबसाइट को अवरुद्ध न करने वाली चाल स्क्रिप्ट टैग की गतिशील रचना के कारण है। – enricog

2

वहाँ इसके लिए कोई अच्छा कारण है। Google स्वयं इसे लोड करने से बचने और पेज लोडिंग को धीमा करने से बचने के लिए शरीर के निचले हिस्से में टैग डालने की अनुशंसा करता है।

ऐसा संभवतः ऐसा किया गया था क्योंकि किसी को हेडर में <script> टैग डालने के लिए उपयोग किया जाता है।

+0

नहीं, शरीर के अंदर ui + jquery को छोड़कर अन्य ls – Yosef

+2

यह अब सत्य नहीं है। नए एसिंक्रोनस कोड का उपयोग करते समय, Google इसे '' के नीचे डालकर, '' टैग खोलने से ठीक पहले अनुशंसा करता है। – Yahel

0

प्रदर्शन कारणों से एचटीएमएल में जितना संभव हो सके इस तरह के स्क्रिप को रखने की अनुशंसा की जाती है। लिपियों को लोड करने की आवश्यकता वाले स्क्रिप्ट ब्राउज़र में अन्य डाउनलोड को बाधित करते हैं। मेरा सुझाव है कि आप इस आलेख को देखें: Best Practices for Speeding Up Your Web Site

+0

मुझे पता है, क्योंकि मैं इसका जवाब देता हूं। वेबसाइट अच्छे निर्यात द्वारा निर्मित है, इसलिए लेख को पता है। इसलिए कुछ कारण होना चाहिए कि वे हेडर में डाल दें क्योंकि शरीर में अधिकांश जेएस। – Yosef

30

ga.js कोड जिस तरह से आप (एक हार्डकोडेड <script> टैग के साथ) का वर्णन एम्बेड वास्तव में अवरुद्ध, और यदि आप उस तरह स्क्रिप्ट लोड करते हैं, सबसे अच्छा अभ्यास पर यह लोड हो रहा है माना जाता है है बस से पहले </body> टैग । लेकिन यदि आप नए एसिंक्रोनस कोड का उपयोग कर रहे हैं तो यह अनुशंसित अभ्यास नहीं है। Google explicitly recommends placing the new asynchronous code in the <head>.

नया एसिंचोरोनस कोड दो तरीकों से गैर-अवरुद्ध है। सबसे पहले, यह वैश्विक _gaq चर में पृष्ठ के चर को कतारबद्ध करता है। इस तरह, डेटा किसी भी तरह से तैयार किया जाता है।

फिर, जैसा कि SO answer में वर्णित है, जैसा कि नए एसिंक कोड में स्क्रिप्ट लिखने के लिए सीधे जावास्क्रिप्ट का उपयोग करना गैर-अवरुद्ध है (यह प्रत्यक्ष इंजेक्शन विधि एसिंक्रोनस-नेस को प्राप्त करने का तरीका है, यहां तक ​​कि उन ब्राउज़रों में भी जो ' टी async विशेषता का सीधे निरीक्षण करें)। शेष साइट लोड हो सकती है अगर किसी कारण से Google के सर्वर नीचे या प्रतिक्रिया देने में धीमे हैं। और यह केवल तभी होता है जब उपयोगकर्ता के पास ga.js पहले से ही कैश नहीं किया गया है, जितने लोग करते हैं, क्योंकि ga.js कई लोकप्रिय वेबसाइटों पर उपयोग किया जाता है।

यह सब का लाभ यह है कि पहले ga.js लोड होता है और _gaq ऑब्जेक्ट को Google को प्रेषित करने में सक्षम होता है, और अधिक संभावना है कि आप अपने सभी संभावित डेटा को कैप्चर करेंगे, जैसे उपयोगकर्ताओं के डेटा जो आपके पृष्ठ पर बहुत तेज़ी से क्लिक करते हैं। यह 'बड़ी' वेबसाइटों के लिए विशेष रूप से महत्वपूर्ण है, जिनमें बहुत से नियमित उपयोगकर्ता होते हैं जो त्वरित क्लिक करने वाली आदतों का पालन करते हैं।

यदि आप संदेहस्पद हैं, तो वेबकिट डेवलपर टूल जैसे पेज लोड इंस्पेक्टर का उपयोग करके इसका परीक्षण करें। मैंने इसे व्यापक रूप से परीक्षण किया है और वर्णित अनुसार </head> में एसिंक कोड का उपयोग करते समय महत्वपूर्ण अवरोधन का कोई सबूत नहीं मिला है।

+0

अच्छी स्पष्टीकरण के लिए बहुत बहुत धन्यवाद – Yosef

संबंधित मुद्दे